:root{--bg:#0a0b10;--sidebar-bg:#0c0d14;--card:#11131a;--card-hover:#161822;--border:#ffffff0f;--card-border:#ffffff14;--input-bg:#0e0f18;--foreground:#e4e4e7;--muted:#6b7280;--neon:#0f8;--loss:#ff3d3d;--warn:#f59e0b;--accent:#6366f1}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--foreground);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}.layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;width:240px;min-width:240px;display:flex;overflow-y:auto}.sidebar .logo-section{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px;display:flex}.sidebar .logo-section h1{font-size:14px;font-weight:600}.sidebar .nav-section{flex:1;padding:8px}.sidebar .nav-item{cursor:pointer;color:var(--muted);border-radius:6px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.sidebar .nav-item:hover{color:var(--foreground);background:#ffffff0a}.sidebar .nav-item.active{color:var(--neon);background:#00ff881a}.sidebar .nav-item svg{flex-shrink:0;width:16px;height:16px}.sidebar .user-section{border-top:1px solid var(--border);color:var(--muted);padding:12px 16px;font-size:11px}.sidebar .user-section .email{font-family:JetBrains Mono,monospace;font-size:10px}.sidebar .user-section .plan-badge{color:var(--neon);text-transform:uppercase;letter-spacing:.1em;background:#00ff881a;border:1px solid #0f83;border-radius:4px;margin-top:6px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:9px;display:inline-block}.sidebar .logout-btn{cursor:pointer;color:var(--loss);text-transform:uppercase;letter-spacing:.1em;margin-top:8px;font-family:JetBrains Mono,monospace;font-size:10px}.sidebar .logout-btn:hover{opacity:.8}.sidebar .admin-nav-item{border-top:1px solid var(--card-border);margin-top:4px;padding-top:8px}.sidebar .admin-nav-item svg{color:#ffb800}.main-content{flex:1;padding:24px 32px;overflow-y:auto}.page-title{font-size:22px;font-weight:700}.hidden{display:none!important}.card{background:var(--card);border:1px solid var(--card-border);border-radius:10px;padding:16px;transition:border-color .15s}.card:hover{border-color:#ffffff1f}.card h3{margin-bottom:2px;font-size:14px;font-weight:600}.card p{color:var(--muted);font-size:11px}.grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;display:grid}.badge{text-transform:uppercase;letter-spacing:.08em;border-radius:4px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;display:inline-block}.badge-running{color:var(--neon);background:#00ff881f;border:1px solid #00ff884d;animation:2s ease-in-out infinite neon-pulse}.badge-stopped{color:var(--loss);background:#ff3d3d1a;border:1px solid #ff3d3d4d}.badge-idle{color:var(--muted);background:#6b72801a;border:1px solid #6b72804d}.badge-paper{color:var(--neon);background:#00ff8814;border:1px solid #00ff8826}.badge-ind{color:var(--foreground);border:1px solid var(--card-border);background:#ffffff0d}.badge-market-closed{text-transform:uppercase;letter-spacing:.08em;color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf244d;border-radius:4px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;animation:1.5s ease-in-out infinite blink-market;display:inline-block}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-neon{color:var(--neon);background:#00ff881a;border-color:#0f83}.btn-neon:hover{background:#00ff882e}.btn-loss{color:var(--loss);background:#ff3d3d1a;border-color:#ff3d3d33}.btn-loss:hover{background:#ff3d3d2e}.btn-muted{color:var(--muted);border-color:var(--card-border);background:#ffffff0a}.btn-muted:hover{color:var(--foreground);background:#ffffff14}.btn-sm{padding:4px 10px;font-size:10px}.btn-xs{padding:3px 8px;font-size:9px}.btn:disabled{opacity:.35;cursor:not-allowed}.btn:disabled:hover{background:inherit;color:inherit}.kpi-row{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.kpi-card{background:var(--card);border:1px solid var(--card-border);border-radius:8px;flex:1;min-width:120px;padding:14px}.kpi-value{font-family:JetBrains Mono,monospace;font-size:22px;font-weight:700}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:10px;font-weight:500}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);padding:8px 12px;font-size:10px;font-weight:600}td{border-bottom:1px solid var(--border);padding:10px 12px}.mono{font-family:JetBrains Mono,monospace;font-size:11px}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.show{display:flex}.modal{background:var(--card);border:1px solid var(--card-border);border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{font-size:16px;font-weight:600}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:24px}.modal-close:hover{color:var(--foreground)}.modal-body{padding:20px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.empty-state{text-align:center;padding:60px 20px}.empty-state h3{margin-bottom:6px;font-size:18px}.empty-state p{color:var(--muted);font-size:13px}.ticker-bar{background:var(--card);border:1px solid var(--card-border);border-radius:8px;width:100%;margin-bottom:16px;padding:8px 0;position:relative;overflow:hidden}.ticker-track{white-space:nowrap;gap:24px;animation:10s linear infinite ticker-scroll;display:flex;position:relative;left:0}.ticker-track:hover{animation-play-state:paused}.ticker-item{align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:12px;display:inline-flex}.ticker-sym{color:var(--neon);font-size:11px;font-weight:700}.ticker-p{color:var(--foreground);font-weight:500}.ticker-chg{font-weight:700}.ticker-chg.up{color:var(--neon)}.ticker-chg.down{color:var(--loss)}.ticker-pnl{font-weight:700}.ticker-pnl.up{color:var(--neon)}.ticker-pnl.down{color:var(--loss)}.ticker-balance{color:var(--muted)}.ticker-sep{color:var(--muted);opacity:.3}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.mi-report-card{background:var(--card);border:1px solid var(--card-border);border-radius:8px;margin-bottom:10px;padding:14px;transition:border-color .15s}.mi-report-card:hover{border-color:#ffffff1f}.mi-report-hdr{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.mi-session-badge{text-transform:uppercase;letter-spacing:.1em;border-radius:4px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600}.session-ny,.mi-session-ny_open{color:#818cf8;background:#6366f11f;border:1px solid #6366f133}.session-london{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf2433}.session-asia{color:var(--neon);background:#00ff881a;border:1px solid #00ff8826}.session-general{color:var(--muted);border:1px solid var(--card-border);background:#ffffff0d}.mi-date{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:10px}.mi-title{margin-bottom:6px;font-size:15px;font-weight:600;line-height:1.3}.mi-preview{color:var(--muted);cursor:pointer;margin-bottom:8px;font-size:12px;line-height:1.5}.mi-actions{border-top:1px solid var(--border);gap:10px;padding-top:8px;display:flex}.mi-action-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;display:inline-flex}.mi-action-btn:hover{color:var(--foreground);background:#ffffff0a}.mi-action-icon{font-size:13px}.mi-locked-msg h2{margin-bottom:8px;font-size:22px}.mi-lock-icon{margin-bottom:16px;font-size:48px}.mi-filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.mi-filter-chip{text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--card-border);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;border-radius:6px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .15s}.mi-filter-chip:hover{color:var(--foreground);background:#ffffff0f;border-color:#ffffff26}.mi-filter-chip.active{border-color:var(--neon);color:var(--neon);background:#00ff881a;box-shadow:0 0 8px #00ff881f}.mi-report-card.session-ny_open{border-left:3px solid #6366f166}.mi-report-card.session-london{border-left:3px solid #fbbf2466}.mi-report-card.session-asia{border-left:3px solid #0f86}.mi-report-card.session-general{border-left:3px solid var(--card-border)}.mi-report-card.mi-highlighted{background:#00ff880a;box-shadow:0 0 14px #00ff882e,inset 0 0 24px #00ff880a}.mi-report-card.mi-dimmed{opacity:.45;transition:opacity .2s}.mi-report-card.mi-dimmed:hover{opacity:.7}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:0 auto;display:grid}.pricing-card{background:var(--card);border:1px solid var(--card-border);border-radius:12px;flex-direction:column;padding:24px;transition:all .2s;display:flex;position:relative}.pricing-card:hover{border-color:#0f83;transform:translateY(-2px)}.pricing-card.featured{border-color:#00ff884d;transform:scale(1.02)}.pricing-card.featured:hover{transform:scale(1.03)translateY(-3px)}.pricing-badge{color:var(--neon);text-transform:uppercase;letter-spacing:.1em;background:#00ff881a;border:1px solid #0f83;border-radius:4px;align-self:flex-start;margin-bottom:12px;padding:2px 10px;font-family:JetBrains Mono,monospace;font-size:9px;display:inline-block}.pricing-card h3{margin-bottom:4px;font-size:18px;font-weight:700}.pricing-price{margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:32px;font-weight:700}.pricing-price span{color:var(--muted);font-family:Inter,sans-serif;font-size:14px;font-weight:400}.pricing-desc{color:var(--muted);margin-bottom:16px;font-size:12px;line-height:1.6}.pricing-features{flex:1;margin:0 0 20px;padding:0;list-style:none}.pricing-features li{color:var(--foreground);padding:6px 0;font-size:12px}.pricing-features li.muted{color:var(--muted)}.btn-pricing{text-align:center;cursor:pointer;border:1px solid var(--card-border);width:100%;color:var(--foreground);background:#ffffff0a;border-radius:8px;padding:10px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:block}.btn-pricing:hover{background:#ffffff14}.btn-pricing.primary{color:var(--neon);background:#00ff881f;border-color:#00ff884d}.btn-pricing.primary:hover{background:#0f83}.btn-pricing:disabled{opacity:.5;cursor:not-allowed}.d-card{background:var(--card);border:1px solid var(--card-border);border-radius:10px;margin-bottom:16px;padding:16px}.d-card-hdr{align-items:center;gap:8px;margin-bottom:8px;display:flex}.d-label{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.d-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;display:inline-block}.d-badge-running{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e33}@keyframes neon-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes blink-market{0%,to{opacity:1}50%{opacity:.4}}.form-errors{color:var(--loss);margin-bottom:8px;font-size:11px}input,select,textarea{font-family:inherit}.j-tabs{border-bottom:1px solid var(--border);display:flex}.j-tab{text-transform:uppercase;letter-spacing:.08em;cursor:pointer;color:var(--muted);border-bottom:2px solid #0000;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .15s}.j-tab.active{color:var(--neon);border-bottom-color:var(--neon)}.j-tab:hover{color:var(--foreground)}.j-tabs{border-bottom:1px solid var(--border);gap:0;display:flex}@media (width<=768px){.sidebar{width:200px;min-width:200px}.main-content{padding:16px}.grid{grid-template-columns:1fr}.kpi-row{flex-direction:column}.kpi-card{min-width:100%}.pricing-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.pricing-card.featured{transform:none}.pricing-card.featured:hover{transform:translateY(-3px)}}.mi-locked-msg{text-align:center;padding:60px 20px}#chart-sidebar{flex-direction:column;gap:3px;display:flex}.modal-builder{background:var(--card);border:1px solid var(--card-border);border-radius:9px;width:95vw;max-width:1100px;max-height:92vh;padding:28px;overflow-y:auto}.modal-builder h2{margin-bottom:4px;font-size:16px;font-weight:600}.modal-builder .subtitle{color:var(--muted);margin-bottom:20px;font-size:12px}.section-title{color:var(--foreground);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);margin:20px 0 10px;padding-bottom:6px;font-size:12px;font-weight:600}.form-row{margin-bottom:12px}.form-row label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:10px;display:block}.form-row input,.form-row textarea,.form-row select{border:1px solid var(--card-border);background:var(--input-bg);width:100%;color:var(--foreground);border-radius:6px;outline:none;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:13px}.form-row input:focus,.form-row select:focus{border-color:var(--neon)}.form-row textarea{resize:vertical;min-height:40px}.builder-split{gap:20px;margin-top:4px;display:flex}.builder-left{flex:1;min-width:0}.builder-right{flex-shrink:0;width:320px}@media (width<=900px){.builder-split{flex-direction:column}.builder-right{width:100%}}.template-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:16px;display:grid}.template-card{background:var(--input-bg);border:1px solid var(--card-border);cursor:pointer;border-radius:6px;padding:12px;transition:all .15s}.template-card:hover{border-color:var(--neon)}.template-card.active{border-color:var(--neon);background:#00ff880d}.template-card h4{margin-bottom:2px;font-size:12px;font-weight:600}.template-card p{color:var(--muted);font-size:10px}.sp-container{margin-top:4px}.sp-tabs{gap:4px;margin-bottom:8px;display:flex}.sp-tab{background:var(--input-bg);border:1px solid var(--card-border);cursor:pointer;color:var(--muted);border-radius:4px;padding:4px 12px;font-family:JetBrains Mono,monospace;font-size:10px}.sp-tab.active{border-color:var(--neon);color:var(--neon);background:#00ff880d}.sp-grid{flex-wrap:wrap;gap:4px;display:flex}.sp-chip{background:var(--input-bg);border:1px solid var(--card-border);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.sp-chip:hover{border-color:var(--neon)}.sp-chip.selected{border-color:var(--neon);color:var(--neon);background:#00ff8814}.sp-check{text-align:center;width:12px;font-size:8px}.v-card{background:var(--input-bg);border:1px solid var(--card-border);border-radius:6px;margin-bottom:8px;overflow:hidden}.v-card-hdr{border-bottom:1px solid var(--card-border);background:#ffffff05;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.v-card-hdr .v-card-title{color:var(--neon);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.v-card-body{flex-wrap:wrap;gap:8px;padding:10px 12px;display:flex}.v-card-body .p-field{flex:1;min-width:80px}.v-card-body .p-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px;font-family:JetBrains Mono,monospace;font-size:8px;display:block}.v-card-body .p-field input,.v-card-body .p-field select{border:1px solid var(--card-border);background:var(--card);width:100%;color:var(--foreground);border-radius:4px;outline:none;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:11px}.v-card-body .p-field input:focus,.v-card-body .p-field select:focus{border-color:var(--neon)}.cond-sentence{background:var(--input-bg);border:1px solid var(--card-border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:10px 12px;display:flex}.cond-sentence .cs-label{color:var(--warn);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.cond-sentence select,.cond-sentence input{border:1px solid var(--card-border);background:var(--card);color:var(--foreground);border-radius:4px;outline:none;min-width:90px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:11px}.cond-sentence select:focus,.cond-sentence input:focus{border-color:var(--neon)}.cond-sentence .cs-arrow{color:var(--neon);font-size:14px;font-weight:700}.cond-sentence .cs-value{min-width:70px}.session-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.session-chip{background:var(--input-bg);border:1px solid var(--card-border);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.session-chip.active{border-color:var(--neon);background:#00ff880d}.session-chip .sc-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.session-chip .sc-label{flex:1}.session-chip .sc-time{color:var(--muted);font-size:9px}.json-preview{border:1px solid var(--card-border);color:#e8eaed;white-space:pre-wrap;background:#0a0b10;border-radius:6px;max-height:500px;padding:12px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.6;overflow-y:auto}.json-preview .key{color:#7dd3fc}.json-preview .str{color:#a5d6a7}.json-preview .num{color:#ffcc80}.json-preview .bool{color:#ce93d8}.json-preview .null{color:#ef9a9a}.json-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:4px 0;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-block}.json-toggle:hover{color:var(--foreground)}.btn-icon{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:14px;line-height:1}.btn-icon:hover{color:var(--foreground);background:#ffffff0d}.live-pnl-bar{background:#00ff880d;border:1px solid #00ff8826;border-radius:6px;align-items:center;gap:8px;margin:4px 0 8px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.live-pnl-bar .live-pnl-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.live-pnl-bar .live-pnl-value{font-variant-numeric:tabular-nums;font-weight:600}.live-pnl-bar .live-pnl-value.pos{color:#22c55e}.live-pnl-bar .live-pnl-value.neg{color:#ef4444}.detail-panel{background:#0003;border-radius:6px;margin-top:6px;padding:12px;display:none}.detail-panel.open{display:block}.detail-stats{flex-wrap:wrap;gap:8px;display:flex}.detail-stat{background:#0003;border-radius:6px;padding:6px 10px}.detail-stat .v{font-family:JetBrains Mono,monospace;font-size:12px}.detail-stat .l{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.trade-open{border-left:2px solid var(--neon)}.trade-closed{border-left:2px solid #0000}.pnl-pos{color:var(--neon)}.pnl-neg{color:var(--loss)}tr:hover{background:#ffffff05}.validation-badge{cursor:pointer;letter-spacing:.02em;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;transition:all .2s;display:inline-flex}.validation-error{color:#ff3d3d;background:#ff3d3d26;border:1px solid #ff3d3d4d}.validation-warn{color:orange;background:#ffa5001f;border:1px solid #ffa50040}.validation-error:hover{background:#ff3d3d40}.validation-warn:hover{background:#ffa50033}.validation-detail{animation:.2s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
