:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-tertiary:#1a1f35;--accent:#06ffa5;--accent-dim:rgba(6,255,165,0.15);--accent-glow:rgba(6,255,165,0.3);--text-primary:#ffffff;--text-secondary:#94a3b8;--text-muted:#64748b;--profit:#10b981;--loss:#ef4444;--border:rgba(255,255,255,0.08);--radius:20px;--radius-sm:12px;--font:"JetBrains Mono","Fira Code","SF Mono",monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-size:13px;line-height:1.5;overflow-x:hidden}.bg-pattern{display:none}.container{max-width:1400px;margin:0 auto;padding:30px;position:relative;z-index:1}.header{padding:20px 0;margin-bottom:24px}.header-inner{display:flex;justify-content:space-between;align-items:center;padding:0}.header-logo{font-size:20px;font-weight:700;color:var(--accent);text-decoration:none;letter-spacing:4px;line-height:1;margin:0;padding:0}.header-nav{display:flex;gap:8px;align-items:center}.header-nav a{color:var(--text-secondary);text-decoration:none;padding:6px 12px;border-radius:8px;font-size:12px;transition:all .2s}.header-nav a.active,.header-nav a:hover{color:var(--accent);background:none}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.stat-value{font-size:24px;font-weight:700}.stat-value.profit{color:var(--profit)}.stat-value.loss{color:var(--loss)}.stat-value.accent{color:var(--accent)}.stat-sub{font-size:11px;color:var(--text-muted);margin-top:4px}.alert-banner{gap:10px;padding:10px 16px;margin-bottom:24px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);font-size:12px;color:var(--loss);font-weight:500}.alert-banner,.alert-icon{display:flex;align-items:center}.alert-icon{width:20px;height:20px;border-radius:50%;background:rgba(239,68,68,.15);justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.section{background:var(--bg-secondary);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:24px;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.section-title{font-size:14px;font-weight:600}.section-body{padding:20px}.trade-table{width:100%;border-collapse:collapse;font-size:12px}.trade-table th{text-align:left;color:var(--text-muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.trade-table td,.trade-table th{padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.trade-table tr:last-child td{border-bottom:none}.trade-table tr:hover{background:var(--bg-tertiary)}.badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-redeemed,.badge-won{background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.3)}.badge-lost{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.badge-unverified{background:rgba(251,191,36,.15);color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.badge-open{background:rgba(99,102,241,.15);color:#818cf8;border:1px solid rgba(99,102,241,.3)}.badge-pending{background:rgba(148,163,184,.15);color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.badge-up{background:rgba(16,185,129,.2);color:#10b981;border:1px solid rgba(16,185,129,.3)}.badge-down{background:rgba(239,68,68,.2);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.badge-strategy{background:var(--accent-dim);color:var(--accent)}.badge-fix{background:rgba(239,68,68,.15);color:#ef4444}.badge-feature{background:rgba(99,102,241,.15);color:#818cf8}.badge-config{background:rgba(249,115,22,.15);color:#f97316}.badge-deploy{background:rgba(168,85,247,.15);color:#a855f7}.pagination{display:flex;justify-content:center;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.pagination button{background:var(--bg-tertiary);color:var(--text-secondary);border:none;padding:6px 12px;border-radius:8px;font-family:var(--font);font-size:12px;cursor:pointer;transition:all .2s}.pagination button:hover{background:var(--accent-dim);color:var(--text-primary)}.pagination button.active{background:var(--accent);color:var(--bg-primary)}.pagination button:disabled{opacity:.3;cursor:default}input,select,textarea{font-family:var(--font);font-size:13px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid transparent;border-radius:8px;padding:10px 14px;width:100%;outline:none;transition:background .2s}input:hover,select:hover,textarea:hover{background:#222844}input:focus,select:focus,textarea:focus{background:#222844;border-color:var(--accent)}label{display:block;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}.btn{font-family:var(--font);font-size:12px;font-weight:600;padding:10px 20px;border:none;border-radius:8px;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.btn-primary{background:var(--accent);color:var(--bg-primary)}.btn-primary:hover{box-shadow:0 0 20px var(--accent-glow)}.btn-danger{color:#ef4444}.btn-danger,.btn-danger:hover{background:transparent}.btn-ghost{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-ghost:hover{color:var(--text-primary);background:#222844}.dropdown{position:relative}.dropdown-trigger{cursor:pointer;display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border-radius:8px;font-size:12px;color:var(--text-secondary);border:none;font-family:var(--font)}.dropdown-trigger:hover{background:#222844;color:var(--text-primary)}.dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px;min-width:140px;z-index:100;box-shadow:0 8px 24px rgba(0,0,0,.4)}.dropdown-item{display:block;width:100%;text-align:left;padding:8px 12px;font-size:12px;color:var(--text-secondary);background:none;border:none;border-radius:6px;cursor:pointer;font-family:var(--font)}.dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dropdown-item.active{color:var(--accent)}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:40px;width:100%;max-width:400px}.login-title{font-size:24px;font-weight:700;color:var(--accent);text-align:center;margin-bottom:8px;letter-spacing:2px}.login-subtitle{font-size:12px;color:var(--text-muted);text-align:center;margin-bottom:32px}.login-error{background:rgba(239,68,68,.1);color:#ef4444;padding:10px 14px;border-radius:8px;font-size:12px;margin-bottom:16px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.status-dot.running{background:var(--profit);box-shadow:0 0 8px rgba(16,185,129,.5)}.status-dot.stopped{background:var(--loss)}.status-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;overflow:hidden}.status-section-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.status-badge.live{background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-badge.sim{background:rgba(234,179,8,.15);color:#eab308;border:1px solid rgba(234,179,8,.3)}.status-label{font-size:13px;color:var(--text-secondary);font-weight:500}.status-table{width:100%;border-collapse:collapse}.status-table th{text-align:left;padding:10px 16px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);background:var(--bg-tertiary)}.status-table td,.status-table th{border-bottom:1px solid var(--border)}.status-table td{padding:12px 16px;font-size:12px;vertical-align:top}.status-table tr:last-child td{border-bottom:none}.strat-name{font-weight:600;font-size:13px;white-space:nowrap}.strat-name.active{color:var(--accent)}.strat-name.disabled{color:var(--text-muted)}.pairs,.timeframes{font-size:12px;color:var(--text-secondary)}.pairs.muted,.settings.muted,.timeframes.muted{color:var(--text-muted);opacity:.6}.settings{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-secondary)}.settings span{display:block}.tag{display:inline-block;background:var(--accent-dim);color:var(--accent);padding:1px 6px;border-radius:4px;font-size:10px;margin-left:4px}.disabled-row{opacity:.4}.status-footer{text-align:center;color:var(--text-muted);font-size:11px;padding:16px}.changelog-entry{padding:16px 0;border-bottom:1px solid var(--border)}.changelog-entry:last-child{border-bottom:none}.changelog-date{font-size:11px;color:var(--text-muted);margin-bottom:4px}.changelog-title{font-size:14px;font-weight:600;margin-bottom:4px}.changelog-desc{font-size:12px;color:var(--text-secondary);line-height:1.6}.text-profit{color:var(--profit)}.text-loss{color:var(--loss)}.text-accent{color:var(--accent)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-right{text-align:right}.text-center{text-align:center}.mono{font-family:var(--font)}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.gap-2{gap:8px}.gap-4{gap:16px}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-muted);font-size:12px}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-right:8px}@keyframes spin{to{transform:rotate(1turn)}}.toast{position:fixed;bottom:20px;right:20px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 20px;font-size:12px;z-index:1000;box-shadow:0 8px 24px rgba(0,0,0,.4);animation:slideUp .3s ease}.toast.success{border-color:var(--profit)}.toast.error{border-color:var(--loss)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.terminal-log{padding:12px 16px;font-size:11px;font-family:var(--font);background:var(--bg-primary);max-height:400px;overflow-y:auto}.terminal-line{display:flex;align-items:center;gap:10px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.03);white-space:nowrap}.terminal-line:last-child{border-bottom:none}.terminal-line:hover{background:rgba(255,255,255,.02)}.terminal-ts{color:var(--text-muted);font-size:10px;min-width:150px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.terminal-id{color:var(--text-muted);font-size:10px;min-width:32px}.chat-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--bg-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px var(--accent-glow);z-index:900;transition:all .2s}.chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(6,255,165,.4)}.chat-overlay{position:fixed;bottom:16px;right:16px;z-index:1000;pointer-events:none}.chat-overlay>*{pointer-events:auto}.chat-panel{width:400px;height:560px;max-height:calc(100vh - 32px);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;box-shadow:0 8px 40px rgba(0,0,0,.6);overflow:hidden}.chat-header{justify-content:space-between;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.chat-header,.chat-header-left{display:flex;align-items:center}.chat-header-left{gap:10px}.chat-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0}.chat-title{font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.2}.chat-subtitle{font-size:11px;color:var(--accent);line-height:1.2}.chat-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s}.chat-close:hover{color:var(--text-primary);background:rgba(255,255,255,.08)}.chat-messages{flex:1 1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.chat-empty,.chat-messages{display:flex;flex-direction:column;gap:8px}.chat-empty{align-items:center;padding:30px 10px}.chat-empty-icon{color:var(--text-muted);opacity:.4}.chat-empty-title{font-size:16px;font-weight:700;color:var(--text-primary)}.chat-empty-text{font-size:12px;color:var(--text-muted);margin-bottom:8px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.chat-suggestions button{font-family:var(--font);background:var(--accent-dim);border:1px solid rgba(6,255,165,.2);border-radius:20px;color:var(--accent);padding:8px 14px;font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap}.chat-suggestions button:hover{background:rgba(6,255,165,.15);border-color:rgba(6,255,165,.4)}.chat-msg{display:flex;gap:8px;max-width:88%;word-break:break-word;animation:msgIn .2s ease-out}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-msg-user{align-self:flex-end;flex-direction:row-reverse}.chat-msg-assistant{align-self:flex-start}.chat-msg-avatar{width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;flex-shrink:0;margin-top:2px}.chat-msg-bubble{padding:10px 14px;border-radius:18px;font-size:13px;line-height:1.5}.chat-msg-user .chat-msg-bubble{background:var(--accent);color:var(--bg-primary);border-bottom-right-radius:4px;font-weight:500}.chat-msg-assistant .chat-msg-bubble{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-typing{display:flex;gap:4px;align-items:center;padding:12px 16px!important}.chat-typing .dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typingBounce 1.2s ease-in-out infinite}.chat-typing .dot:nth-child(2){animation-delay:.15s}.chat-typing .dot:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.chat-input-area{display:flex;gap:8px;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0;align-items:center}.chat-input{flex:1 1;font-family:var(--font);font-size:13px;padding:10px 16px;border-radius:24px;border:1px solid transparent;background:var(--bg-tertiary);color:var(--text-primary);outline:none;transition:background .2s;min-width:0}.chat-input:focus,.chat-input:hover{background:rgba(255,255,255,.04)}.chat-input::placeholder{color:var(--text-muted);font-size:13px}.chat-send{width:40px;height:40px;border-radius:50%;border:none;background:var(--accent);color:var(--bg-primary);cursor:pointer;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0}.chat-send:hover:not(:disabled){background:#05e89a;transform:scale(1.05)}.chat-send:disabled{opacity:.3;cursor:not-allowed}@media (max-width:768px){.container{padding:20px}.header-inner{flex-direction:column;gap:12px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:14px}.stat-value{font-size:18px}.section-body{padding:12px}.trade-table{font-size:11px}.trade-table td,.trade-table th{padding:8px 6px}.form-row{grid-template-columns:1fr}.header-nav{flex-wrap:wrap;justify-content:center}.status-table td:nth-child(3),.status-table th:nth-child(3){display:none}.status-table td,.status-table th{padding:8px 10px}.status-section-header{padding:12px 14px}.trade-table-mobile .trade-card{background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:14px;margin-bottom:8px}.trade-card-header{align-items:center;margin-bottom:8px}.trade-card-header,.trade-card-row{display:flex;justify-content:space-between}.trade-card-row{font-size:11px;color:var(--text-secondary);padding:3px 0}.desktop-table{display:none}.mobile-cards{display:block}.chat-fab{bottom:16px;right:16px;width:50px;height:50px}.chat-overlay{inset:0;pointer-events:auto}.chat-panel{position:fixed;inset:0;width:100%;height:100dvh;max-height:none;border-radius:0;border:none;overscroll-behavior:contain}.chat-header{padding:max(14px,env(safe-area-inset-top)) 16px 14px}.chat-input,.chat-msg-bubble{font-size:14px}.chat-input::placeholder{font-size:14px}.chat-suggestions{flex-direction:column}.chat-suggestions button{text-align:center}}@media (min-width:769px){.mobile-cards{display:none}.desktop-table{display:block}}