* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#0d1117; --bg2:#161b22; --bg3:#21262d; --border:#30363d;
  --text:#e6edf3; --muted:#8892b0;
  --green:#00FF94; --red:#EF4444; --amber:#F59E0B; --cyan:#22D3EE; --purple:#A855F7;
}
body { background:var(--bg); color:var(--text); font-family:'Courier New',monospace; min-height:100vh; }

.header { background:var(--bg2); border-bottom:1px solid var(--border); padding:14px 24px; display:flex; justify-content:space-between; align-items:center; }
.header-logo { display:flex; align-items:center; gap:12px; }
.header-logo a { color:var(--muted); text-decoration:none; font-size:11px; letter-spacing:1px; }
.header-logo a:hover { color:var(--text); }
.logo-text { font-size:20px; font-weight:bold; letter-spacing:3px; }
.logo-text span { color:var(--green); }
.header-sub { font-size:11px; color:var(--muted); letter-spacing:1px; margin-top:2px; }

.scan-btn { background:var(--green); color:#000; border:none; padding:8px 20px; border-radius:6px; font-family:'Courier New',monospace; font-size:12px; font-weight:bold; letter-spacing:1px; cursor:pointer; transition:opacity .2s; }
.scan-btn:hover { opacity:.85; }
.scan-btn:disabled { opacity:.5; cursor:not-allowed; }
.last-scan { font-size:10px; color:var(--muted); text-align:right; margin-top:3px; }

.settings-bar { background:var(--bg2); border-bottom:1px solid var(--border); padding:10px 24px; display:flex; gap:20px; align-items:center; font-size:12px; flex-wrap:wrap; }
.settings-bar label { color:var(--muted); }
.settings-bar input, .settings-bar select { background:var(--bg3); border:1px solid var(--border); color:var(--text); border-radius:4px; padding:4px 8px; font-family:'Courier New',monospace; font-size:12px; }
.settings-bar input { width:90px; }

.main { padding:24px; max-width:1400px; margin:0 auto; }

.section-title { font-size:11px; letter-spacing:2px; color:var(--muted); margin:24px 0 12px; display:flex; align-items:center; gap:8px; }
.section-title::after { content:''; flex:1; height:1px; background:var(--border); }

.legend { display:flex; gap:16px; flex-wrap:wrap; font-size:11px; color:var(--muted); margin-bottom:16px; align-items:center; }
.legend-item { display:flex; align-items:center; gap:5px; }
.legend-dot { width:8px; height:8px; border-radius:50%; }

.asset-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:16px; margin-bottom:8px; }

.asset-card { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:16px; }
.asset-card.bullish  { border-left:3px solid var(--green); }
.asset-card.bearish  { border-left:3px solid var(--red); }
.asset-card.watching { border-left:3px solid var(--amber); }
.asset-card.neutral  { border-left:3px solid var(--border); }

.card-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:10px; }
.card-name { font-size:16px; font-weight:bold; }
.card-typ { font-size:10px; color:var(--muted); margin-top:2px; letter-spacing:1px; }
.card-kurs-val { font-size:15px; font-weight:bold; text-align:right; }
.card-kurs-chg { font-size:11px; text-align:right; margin-top:2px; }

.badge { display:inline-block; padding:2px 8px; border-radius:4px; font-size:10px; font-weight:bold; letter-spacing:1px; }
.badge-bullish  { background:rgba(0,255,148,.15);  color:var(--green);  border:1px solid rgba(0,255,148,.3); }
.badge-bearish  { background:rgba(239,68,68,.15);  color:var(--red);    border:1px solid rgba(239,68,68,.3); }
.badge-neutral  { background:rgba(136,146,176,.15);color:var(--muted);  border:1px solid rgba(136,146,176,.3); }
.badge-long     { background:rgba(0,255,148,.2);   color:var(--green);  border:1px solid rgba(0,255,148,.4); }
.badge-short    { background:rgba(239,68,68,.2);   color:var(--red);    border:1px solid rgba(239,68,68,.4); }
.badge-faktor   { background:rgba(168,85,247,.15); color:var(--purple); border:1px solid rgba(168,85,247,.3); }
.badge-ko       { background:rgba(34,211,238,.15); color:var(--cyan);   border:1px solid rgba(34,211,238,.3); }

.card-metrics { display:flex; gap:12px; margin:8px 0; font-size:11px; color:var(--muted); flex-wrap:wrap; align-items:center; }
.metric-val { color:var(--text); font-weight:bold; }

.rec-box { background:var(--bg3); border-radius:8px; padding:12px; margin:10px 0; }
.rec-header { display:flex; align-items:center; gap:8px; margin-bottom:10px; }

.hebel-table { width:100%; margin-bottom:10px; }
.hebel-row { display:flex; justify-content:space-between; align-items:center; padding:3px 0; border-bottom:1px solid rgba(255,255,255,.04); font-size:11px; }
.hebel-row:last-child { border:none; }
.hebel-label { color:var(--muted); }
.hebel-val { font-weight:bold; font-size:13px; }
.hebel-row.active .hebel-val, .hebel-row.active .hebel-label { color:var(--cyan); }

.levels-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; margin:8px 0; }
.level-box { background:rgba(255,255,255,.04); border-radius:5px; padding:6px 8px; text-align:center; }
.level-lbl { font-size:9px; color:var(--muted); letter-spacing:1px; display:block; }
.level-val { font-size:12px; font-weight:bold; margin-top:2px; display:block; }
.level-pct { font-size:9px; color:var(--muted); }

.pos-rechner { background:rgba(34,211,238,.05); border:1px solid rgba(34,211,238,.2); border-radius:6px; padding:8px 10px; font-size:11px; margin-top:8px; line-height:1.7; }
.pos-rechner-title { color:var(--cyan); font-size:9px; letter-spacing:1px; margin-bottom:3px; }

.ko-info { font-size:10px; color:var(--muted); margin-top:6px; }

.tr-link { display:block; text-align:center; margin-top:10px; padding:7px; background:rgba(255,255,255,.04); border:1px solid var(--border); border-radius:6px; color:var(--muted); text-decoration:none; font-size:10px; letter-spacing:.5px; transition:all .2s; }
.tr-link:hover { background:rgba(255,255,255,.08); color:var(--text); border-color:#555; }

.warten-box { text-align:center; padding:16px 0 8px; }
.warten-icon { font-size:28px; margin-bottom:6px; }
.warten-box p { color:var(--muted); font-size:12px; }
.warten-box small { font-size:10px; color:var(--border); }

.watch-box { background:rgba(245,158,11,.07); border:1px solid rgba(245,158,11,.25); border-radius:8px; padding:12px; margin:10px 0; text-align:center; }
.watch-icon { font-size:22px; margin-bottom:6px; }
.watch-title { font-size:12px; font-weight:bold; letter-spacing:1px; margin-bottom:6px; }
.watch-grund { font-size:11px; color:var(--text); margin-bottom:6px; }
.watch-trigger { font-size:10px; color:var(--muted); font-style:italic; }

.w52-bar { display:flex; gap:8px; font-size:10px; margin:6px 0 2px; flex-wrap:wrap; align-items:center; }

.badge-phase-strong { background:rgba(0,255,148,.2);   color:var(--green);  border:1px solid rgba(0,255,148,.4); }
.badge-phase-trend  { background:rgba(0,255,148,.1);   color:var(--green);  border:1px solid rgba(0,255,148,.2); }
.badge-phase-os     { background:rgba(34,211,238,.1);  color:var(--cyan);   border:1px solid rgba(34,211,238,.3); }
.badge-phase-ob     { background:rgba(239,68,68,.1);   color:var(--red);    border:1px solid rgba(239,68,68,.3); }
.badge-phase-cons   { background:rgba(136,146,176,.1); color:var(--muted);  border:1px solid rgba(136,146,176,.3); }

.empty-placeholder { text-align:center; padding:30px; color:var(--muted); font-size:12px; }

/* ── SIM DASHBOARD ─────────────────────────────────────────────────────── */
.sim-dashboard { background:var(--bg2); border-bottom:2px solid var(--amber); padding:16px 24px; }
.sim-dash-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; flex-wrap:wrap; gap:8px; }
.sim-dash-title { font-size:13px; font-weight:bold; letter-spacing:2px; color:var(--amber); }
.sim-dash-summary { font-size:11px; color:var(--muted); }
.sim-empty { font-size:11px; color:var(--border); padding:8px 0; }

.sim-pos { background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:10px 14px; margin-bottom:8px; }
.sim-pos-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.sim-pos-name { font-size:12px; font-weight:bold; }
.sim-pos-pnl { font-size:14px; font-weight:bold; }
.sim-pos-details { display:flex; gap:16px; font-size:11px; color:var(--muted); margin-bottom:8px; flex-wrap:wrap; }
.sim-pos-details strong { color:var(--text); }
.sim-stop-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.sim-stop-input { background:var(--bg); border:1px solid var(--border); color:var(--text); border-radius:4px; padding:4px 8px; font-family:'Courier New',monospace; font-size:11px; width:110px; }
.sim-stop-btn { background:rgba(0,255,148,.15); border:1px solid rgba(0,255,148,.3); color:var(--green); padding:4px 10px; border-radius:4px; cursor:pointer; font-size:11px; }
.sim-close-btn { background:rgba(239,68,68,.15); border:1px solid rgba(239,68,68,.3); color:var(--red); padding:4px 10px; border-radius:4px; cursor:pointer; font-size:11px; margin-left:auto; }

.sim-history-title { font-size:9px; color:var(--muted); letter-spacing:1px; margin:12px 0 6px; }
.sim-hist-row { display:flex; justify-content:space-between; font-size:11px; padding:4px 0; border-bottom:1px solid rgba(255,255,255,.04); color:var(--muted); }
.sim-hist-row:last-child { border:none; }

.sim-open-btn { width:100%; margin-top:8px; background:rgba(245,158,11,.12); border:1px solid rgba(245,158,11,.3); color:var(--amber); padding:8px; border-radius:6px; font-family:'Courier New',monospace; font-size:11px; font-weight:bold; letter-spacing:1px; cursor:pointer; transition:all .2s; }
.sim-open-btn:hover { background:rgba(245,158,11,.22); }

.sim-form { background:var(--bg3); border:1px solid var(--amber); border-radius:8px; padding:12px; margin-top:8px; }
.sim-form-title { font-size:10px; color:var(--amber); letter-spacing:1px; margin-bottom:10px; }
.sim-form-row { display:flex; align-items:center; gap:8px; margin-bottom:8px; font-size:11px; flex-wrap:wrap; }
.sim-form-row label { color:var(--muted); min-width:140px; }
.sim-form-row input { background:var(--bg); border:1px solid var(--border); color:var(--text); border-radius:4px; padding:5px 8px; font-family:'Courier New',monospace; font-size:12px; width:120px; }
.sim-confirm-btn { background:var(--green); color:#000; border:none; padding:7px 16px; border-radius:6px; font-family:'Courier New',monospace; font-size:11px; font-weight:bold; cursor:pointer; }
.sim-cancel-btn { background:rgba(255,255,255,.06); border:1px solid var(--border); color:var(--muted); padding:7px 14px; border-radius:6px; font-family:'Courier New',monospace; font-size:11px; cursor:pointer; }

.timing-box { background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:8px; padding:10px 12px; margin:10px 0; }
.timing-title { font-size:9px; color:var(--muted); letter-spacing:1px; margin-bottom:6px; }
.timing-status { font-size:13px; font-weight:bold; letter-spacing:.5px; margin-bottom:4px; }
.timing-hint { font-size:10px; color:var(--muted); margin-bottom:6px; }
.timing-meta { font-size:10px; color:var(--muted); border-top:1px solid rgba(255,255,255,.06); padding-top:6px; }

.trade-anweisung { background:rgba(34,211,238,.05); border:1px solid rgba(34,211,238,.2); border-radius:8px; padding:10px 12px; margin:10px 0; }
.trade-anweisung-title { font-size:9px; color:var(--cyan); letter-spacing:1px; font-weight:bold; margin-bottom:8px; }
.trade-zeile { display:flex; justify-content:space-between; align-items:baseline; padding:3px 0; border-bottom:1px solid rgba(255,255,255,.04); font-size:11px; }
.trade-zeile:last-of-type { border:none; }
.trade-lbl { color:var(--muted); font-size:10px; min-width:60px; }
.trade-val { font-weight:bold; text-align:right; }
.trade-hinweis { margin-top:6px; font-size:10px; color:var(--muted); font-style:italic; }

.ki-section { margin-top:10px; }
.ki-btn { width:100%; background:rgba(168,85,247,.12); border:1px solid rgba(168,85,247,.3); color:var(--purple); padding:7px; border-radius:6px; font-family:'Courier New',monospace; font-size:11px; font-weight:bold; letter-spacing:1px; cursor:pointer; transition:all .2s; }
.ki-btn:hover { background:rgba(168,85,247,.22); border-color:rgba(168,85,247,.5); }
.ki-btn:disabled { opacity:.5; cursor:not-allowed; }
.ki-box { margin-top:8px; min-height:20px; }
.ki-placeholder { font-size:10px; color:var(--border); text-align:center; padding:4px 0; }
.ki-loading { font-size:11px; color:var(--muted); text-align:center; padding:8px; animation:pulse 1.5s infinite; }
@keyframes pulse { 0%,100%{opacity:.5} 50%{opacity:1} }
.ki-text { font-size:11px; color:var(--text); line-height:1.6; background:rgba(168,85,247,.06); border:1px solid rgba(168,85,247,.2); border-radius:6px; padding:10px 12px; }
.ki-ts { font-size:9px; color:var(--border); text-align:right; margin-top:4px; }
.ki-error { font-size:10px; color:var(--red); padding:4px; }

@media(max-width:700px) {
  .asset-grid { grid-template-columns:1fr; }
  .settings-bar { gap:10px; }
}
