/* ═══ K2 Dashboard — Dark + Gold ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:#080808;color:rgba(255,255,255,0.92);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} button,input,select{font:inherit}

.dash{display:grid;grid-template-rows:46px 1fr;height:100vh}
.dash-body{display:grid;grid-template-columns:130px 1fr 360px;min-height:0}

/* ── Top bar ── */
.dash-top{display:flex;align-items:center;gap:12px;padding:0 14px;background:rgba(255,255,255,0.02);border-bottom:1px solid rgba(201,147,58,0.15);z-index:20;position:relative}
.dash-top-left{display:flex;align-items:center;gap:8px;flex-shrink:0}
.dash-top-left svg{width:22px;height:22px;flex-shrink:0}
.dash-top-left span{font-weight:800;font-size:0.88rem;background:linear-gradient(135deg,#8B6914,#F5C842,#C9933A);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-0.02em}
.dash-top-sep{width:1px;height:20px;background:rgba(201,147,58,0.15);flex-shrink:0}
.dash-top-title{font-size:0.7rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.2);flex-shrink:0}
.dash-search-wrap{position:relative;margin-left:12px}
.dash-search{width:180px;padding:6px 10px 6px 30px;border-radius:6px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);color:#fff;font-family:'JetBrains Mono',monospace;font-size:0.75rem;font-weight:500;outline:none;transition:all 0.2s}
.dash-search::placeholder{color:rgba(255,255,255,0.18)}
.dash-search:focus{border-color:rgba(201,147,58,0.5);background:rgba(255,255,255,0.05);width:240px;box-shadow:0 0 0 3px rgba(201,147,58,0.1)}
.dash-search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:14px;height:14px;pointer-events:none}
.dash-search-icon svg{width:14px;height:14px;stroke:rgba(255,255,255,0.2);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.search-dropdown{position:absolute;top:100%;left:0;margin-top:4px;width:240px;max-height:220px;overflow-y:auto;background:#111;border:1px solid rgba(201,147,58,0.15);border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,0.6);z-index:60;display:none}
.search-dropdown.open{display:block}
.search-dropdown::-webkit-scrollbar{width:3px}.search-dropdown::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.06);border-radius:2px}
.search-item{padding:7px 12px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:0.75rem;color:rgba(255,255,255,0.5);transition:background 0.1s}
.search-item:hover,.search-item.focused{background:rgba(201,147,58,0.1);color:#C9933A}
.search-no-match{padding:8px 12px;font-size:0.72rem;color:rgba(255,255,255,0.2);font-style:italic}
.dash-top-spacer{flex:1}
.dash-top-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
.dash-user{font-size:0.75rem;color:rgba(255,255,255,0.3);font-family:'JetBrains Mono',monospace}
.dash-logout{padding:5px 14px;border-radius:6px;border:1px solid rgba(255,255,255,0.08);background:transparent;color:rgba(255,255,255,0.3);font-size:0.72rem;font-weight:600;cursor:pointer;transition:all 0.2s}
.dash-logout:hover{border-color:rgba(201,147,58,0.3);color:#C9933A}

/* ── Watchlist ── */
.dash-watchlist{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,0.04);background:rgba(255,255,255,0.01);overflow-y:auto;overflow-x:hidden}
.dash-watchlist::-webkit-scrollbar{width:0}
.wl-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.03);transition:background 0.15s;position:relative}
.wl-item:hover{background:rgba(255,255,255,0.03)}
.wl-item.active{background:rgba(201,147,58,0.05)}
.wl-item.active::before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:2px;background:#C9933A;border-radius:0 1px 1px 0}
.wl-sym{font-family:'JetBrains Mono',monospace;font-size:0.8rem;font-weight:800;letter-spacing:0.2px;color:rgba(255,255,255,0.6);display:block;line-height:1.1}
.wl-item.active .wl-sym{color:#C9933A}
.wl-price{font-family:'JetBrains Mono',monospace;font-size:0.62rem;font-weight:500;color:rgba(255,255,255,0.25);margin-top:4px;display:block}
.wl-price.up{color:rgba(74,222,128,0.7)}.wl-price.down{color:rgba(248,113,113,0.7)}
.wl-remove{position:absolute;top:6px;right:6px;width:16px;height:16px;border:none;border-radius:3px;background:transparent;color:rgba(255,255,255,0.15);cursor:pointer;font-size:0.65rem;display:none;align-items:center;justify-content:center;transition:all 0.15s;padding:0;line-height:1}
.wl-item:hover .wl-remove{display:flex}
.wl-remove:hover{background:rgba(248,113,113,0.1);color:#f87171}

/* ── Chart panel ── */
.dash-chart{display:flex;flex-direction:column;min-height:0;border-right:1px solid rgba(255,255,255,0.04)}
.chart-toolbar{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,0.04);flex-shrink:0}
.chart-ticker-label{font-family:'JetBrains Mono',monospace;font-size:0.92rem;font-weight:700;color:#fff;letter-spacing:-0.02em;padding-right:4px}
.chart-tf-group{display:flex;gap:2px}
.chart-tf-btn{padding:5px 12px;border-radius:4px;border:1px solid rgba(255,255,255,0.06);background:transparent;color:rgba(255,255,255,0.25);font-family:'JetBrains Mono',monospace;font-size:0.68rem;font-weight:600;cursor:pointer;transition:all 0.15s}
.chart-tf-btn:hover{color:rgba(255,255,255,0.5)}
.chart-tf-btn.active{background:rgba(201,147,58,0.12);color:#C9933A;border-color:rgba(201,147,58,0.25)}
.toolbar-sep{width:1px;height:18px;background:rgba(255,255,255,0.06);flex-shrink:0}
.date-picker-wrap{position:relative}
.date-picker-btn{padding:5px 12px;border-radius:4px;border:1px solid rgba(255,255,255,0.06);background:transparent;color:rgba(255,255,255,0.35);font-family:'JetBrains Mono',monospace;font-size:0.68rem;font-weight:500;cursor:pointer;transition:all 0.15s;white-space:nowrap}
.date-picker-btn:hover{color:rgba(255,255,255,0.6);border-color:rgba(255,255,255,0.1)}
.date-picker-btn.active{border-color:rgba(201,147,58,0.4);color:#C9933A}
.date-cal{position:absolute;top:100%;left:0;margin-top:4px;z-index:50;background:#111;border:1px solid rgba(201,147,58,0.15);border-radius:10px;padding:12px;box-shadow:0 12px 40px rgba(0,0,0,0.6);display:none;min-width:240px}
.date-cal.open{display:block}
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cal-nav{width:26px;height:26px;border:none;border-radius:4px;background:transparent;color:rgba(255,255,255,0.4);cursor:pointer;font-size:0.9rem;display:flex;align-items:center;justify-content:center;transition:color 0.15s}
.cal-nav:hover{color:#fff}
.cal-month{font-family:'JetBrains Mono',monospace;font-size:0.72rem;font-weight:600;color:rgba(255,255,255,0.7)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal-dow{font-family:'JetBrains Mono',monospace;font-size:0.52rem;font-weight:600;color:rgba(255,255,255,0.15);text-align:center;padding:4px 0}
.cal-day{width:30px;height:28px;border:none;border-radius:4px;background:transparent;color:rgba(255,255,255,0.4);font-family:'JetBrains Mono',monospace;font-size:0.65rem;font-weight:500;cursor:pointer;transition:all 0.12s;display:flex;align-items:center;justify-content:center}
.cal-day:hover{background:rgba(255,255,255,0.06);color:#fff}
.cal-day.today{color:#C9933A;font-weight:700}
.cal-day.selected{background:rgba(201,147,58,0.2);color:#C9933A;font-weight:700}
.cal-day.disabled{color:rgba(255,255,255,0.08);cursor:default;pointer-events:none}
.cal-day.other-month{color:rgba(255,255,255,0.1)}
.chart-spacer{flex:1}
.chart-change{font-family:'JetBrains Mono',monospace;font-size:0.75rem;font-weight:600;padding:4px 12px;border-radius:4px;white-space:nowrap}
.chart-change.up{color:#4ade80;background:rgba(74,222,128,0.06)}
.chart-change.down{color:#f87171;background:rgba(248,113,113,0.06)}
.chart-change.flat{color:rgba(255,255,255,0.4);background:rgba(255,255,255,0.03)}
.chart-area{flex:1;position:relative;min-height:0;cursor:crosshair;overflow:hidden}
.chart-area canvas{display:block;width:100%;height:100%}
.chart-status{position:absolute;bottom:8px;left:12px;font-family:'JetBrains Mono',monospace;font-size:0.6rem;color:rgba(255,255,255,0.12);letter-spacing:0.3px}

/* ── Right panel ── */
.dash-panel{display:flex;flex-direction:column;min-height:0;background:rgba(255,255,255,0.012)}
.panel-header{padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,0.04);flex-shrink:0}
.panel-header h2{font-size:0.85rem;font-weight:700;color:#fff;letter-spacing:-0.01em;margin:0 0 8px 0}
.panel-body{flex:1;overflow-y:auto;padding:0;display:flex;flex-direction:column}
.panel-body::-webkit-scrollbar{width:3px}.panel-body::-webkit-scrollbar-track{background:transparent}.panel-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.06);border-radius:2px}

.dash-loading{position:fixed;inset:0;z-index:100;background:#080808;display:flex;align-items:center;justify-content:center;transition:opacity 0.4s}
.dash-loading.hidden{opacity:0;pointer-events:none}
.dash-loading-dot{width:6px;height:6px;border-radius:50%;background:#C9933A;margin:0 3px;animation:k2dot 1.2s infinite}
.dash-loading-dot:nth-child(2){animation-delay:0.15s}.dash-loading-dot:nth-child(3){animation-delay:0.3s}
@keyframes k2dot{0%,80%,100%{opacity:0.2;transform:scale(0.8)}40%{opacity:1;transform:scale(1.2)}}

/* ═══ Test system ═══ */
.panel-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.panel-top-row h2{margin:0}
#test-btn{padding:5px 16px;border-radius:4px;border:1px solid rgba(201,147,58,0.3);background:rgba(201,147,58,0.1);color:#C9933A;font-family:'JetBrains Mono',monospace;font-size:0.68rem;font-weight:700;cursor:pointer;transition:all 0.15s}
#test-btn:hover:not(:disabled){background:rgba(201,147,58,0.2);border-color:rgba(201,147,58,0.5)}
#test-btn:disabled{opacity:0.3;cursor:default}

.spec-display{font-family:'JetBrains Mono',monospace}
.spec-hint{font-size:0.68rem;color:rgba(255,255,255,0.18);padding:4px 0}
.spec-section{margin-bottom:6px}
.spec-title{font-size:0.55rem;font-weight:700;color:rgba(255,255,255,0.18);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:1px}
.spec-line{font-size:0.65rem;color:rgba(255,255,255,0.5);line-height:1.6}
.spec-line.dim{color:rgba(255,255,255,0.2)}
.dir-label{font-weight:700;text-transform:uppercase}
.dir-label.long{color:#4ade80}
.dir-label.short{color:#f87171}
.dir-flip-btn{padding:1px 6px;border-radius:3px;border:1px solid rgba(255,255,255,0.1);background:transparent;color:rgba(255,255,255,0.3);font-family:'JetBrains Mono',monospace;font-size:0.55rem;font-weight:700;cursor:pointer;margin-left:6px;transition:all 0.15s}
.dir-flip-btn:hover{border-color:rgba(255,255,255,0.25);color:rgba(255,255,255,0.6)}
.tp-color{color:#4ade80}
.sl-color{color:#f87171}

.test-results{flex:1;overflow-y:auto;padding:0}
.test-results::-webkit-scrollbar{width:3px}.test-results::-webkit-scrollbar-track{background:transparent}.test-results::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.06);border-radius:2px}

.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;text-align:center}
.empty-state-title{font-size:0.82rem;font-weight:600;color:rgba(255,255,255,0.4);margin-bottom:6px}
.empty-state-sub{font-size:0.72rem;color:rgba(255,255,255,0.18);line-height:1.6;max-width:220px}

.back-bar{padding:8px 16px;border-bottom:1px solid rgba(255,255,255,0.04)}
.back-btn{padding:4px 12px;border-radius:4px;border:1px solid rgba(255,255,255,0.08);background:transparent;color:rgba(255,255,255,0.4);font-family:'JetBrains Mono',monospace;font-size:0.65rem;font-weight:600;cursor:pointer;transition:all 0.15s}
.back-btn:hover{border-color:rgba(201,147,58,0.3);color:#C9933A}

.grade-section{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,0.04)}
.grade-circle{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:1.4rem;font-weight:800;flex-shrink:0}
.grade-circle.grade-S,.grade-circle.grade-A{background:rgba(74,222,128,0.12);color:#4ade80;border:2px solid rgba(74,222,128,0.3)}
.grade-circle.grade-B{background:rgba(96,165,250,0.12);color:#60a5fa;border:2px solid rgba(96,165,250,0.3)}
.grade-circle.grade-C{background:rgba(251,191,36,0.12);color:#fbbf24;border:2px solid rgba(251,191,36,0.3)}
.grade-circle.grade-D{background:rgba(251,146,60,0.12);color:#fb923c;border:2px solid rgba(251,146,60,0.3)}
.grade-circle.grade-F{background:rgba(248,113,113,0.12);color:#f87171;border:2px solid rgba(248,113,113,0.3)}
.grade-info{flex:1;min-width:0}
.grade-label{font-size:0.65rem;font-weight:600;color:rgba(255,255,255,0.25);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}
.grade-stats{font-family:'JetBrains Mono',monospace;font-size:0.68rem;color:rgba(255,255,255,0.5);line-height:1.7}

.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:0;border-bottom:1px solid rgba(255,255,255,0.04)}
.stat-cell{padding:12px 16px}
.stat-label{font-size:0.58rem;font-weight:600;color:rgba(255,255,255,0.2);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:2px}
.stat-value{font-family:'JetBrains Mono',monospace;font-size:0.8rem;font-weight:700;color:rgba(255,255,255,0.7)}
.stat-value.positive{color:#4ade80}.stat-value.negative{color:#f87171}

.match-list-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 6px;font-size:0.65rem;font-weight:600;color:rgba(255,255,255,0.2);text-transform:uppercase;letter-spacing:1px}
.match-nav-arrows{display:flex;gap:2px}
.match-nav-btn{width:24px;height:22px;border:1px solid rgba(255,255,255,0.08);border-radius:3px;background:transparent;color:rgba(255,255,255,0.45);font-size:0.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.12s;padding:0;line-height:1}
.match-nav-btn:hover:not(:disabled){background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.7);border-color:rgba(255,255,255,0.15)}
.match-nav-btn:disabled{opacity:0.25;cursor:default}
.match-card{display:flex;flex-direction:column;gap:2px;padding:9px 16px;border-bottom:1px solid rgba(255,255,255,0.02);cursor:pointer;transition:background 0.12s}
.match-card:hover{background:rgba(255,255,255,0.025)}
.match-card.active{background:rgba(201,147,58,0.06);border-left:2px solid #C9933A}
.match-top-row{display:flex;align-items:center;gap:6px}
.match-bot-row{display:flex;align-items:center;gap:6px}
.match-date{font-family:'JetBrains Mono',monospace;font-size:0.68rem;font-weight:600;color:rgba(255,255,255,0.45)}
.match-time{font-family:'JetBrains Mono',monospace;font-size:0.58rem;color:rgba(255,255,255,0.2)}
.match-sim{font-family:'JetBrains Mono',monospace;font-size:0.65rem;font-weight:700;margin-left:auto}
.match-sim.high{color:#4ade80}.match-sim.mid{color:#fbbf24}.match-sim.low{color:#f87171}
.match-outcome{padding:2px 7px;border-radius:3px;font-family:'JetBrains Mono',monospace;font-size:0.58rem;font-weight:700;text-transform:uppercase;letter-spacing:0.3px}
.match-outcome.tp{background:rgba(74,222,128,0.1);color:#4ade80}
.match-outcome.sl{background:rgba(248,113,113,0.1);color:#f87171}
.match-outcome.timeout{background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.3)}
.match-outcome.open{background:rgba(96,165,250,0.1);color:#60a5fa}
.match-return{font-family:'JetBrains Mono',monospace;font-size:0.65rem;font-weight:600;margin-left:auto}
.match-return.positive{color:#4ade80}.match-return.negative{color:#f87171}
.match-badge{padding:1px 6px;border-radius:3px;font-family:'JetBrains Mono',monospace;font-size:0.52rem;font-weight:700;background:rgba(201,147,58,0.15);color:#C9933A;letter-spacing:0.3px}

.test-spinner{display:flex;align-items:center;justify-content:center;padding:40px;gap:4px}
.test-spinner .dash-loading-dot{width:5px;height:5px}
.test-error{padding:20px 16px;text-align:center;font-size:0.75rem;color:#f87171}
