* { margin:0; padding:0; box-sizing:border-box; font-family:'Rajdhani','Orbitron',sans-serif; }

/* =========== LOGIN OVERLAY =========== */
#login-overlay {
  display:none;
  position:fixed;
  inset:0;
  z-index:9999;
  background:radial-gradient(ellipse at center, #1a0b2e 0%, #0a0118 100%);
  justify-content:center;
  align-items:center;
  padding:20px;
  padding-top:calc(20px + env(safe-area-inset-top));
  padding-bottom:calc(20px + env(safe-area-inset-bottom));
}
#login-overlay.show { display:flex; }
#login-form {
  background:rgba(10,1,24,0.9);
  border:1px solid #FF00FF;
  box-shadow:0 0 40px rgba(255,0,255,0.4), inset 0 0 30px rgba(0,255,255,0.05);
  padding:32px 28px;
  width:100%;
  max-width:360px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.login-logo {
  font-family:'Orbitron',sans-serif;
  font-size:34px;
  font-weight:900;
  color:#00FFFF;
  text-shadow:0 0 15px #00FFFF, 0 0 30px #00FFFF;
  letter-spacing:6px;
  text-align:center;
}
.login-sub {
  font-family:'Orbitron',sans-serif;
  font-size:10px;
  color:#FF00FF;
  text-shadow:0 0 6px #FF00FF;
  letter-spacing:3px;
  text-align:center;
  margin-bottom:10px;
}
#login-form input {
  background:rgba(0,0,0,0.4);
  border:1px solid rgba(0,255,255,0.4);
  color:#E0E0FF;
  padding:12px 14px;
  font-family:'Rajdhani',sans-serif;
  font-size:15px;
  letter-spacing:1px;
  outline:none;
  transition:all 0.2s;
}
#login-form input:focus {
  border-color:#00FFFF;
  box-shadow:0 0 12px rgba(0,255,255,0.4);
}
#login-form button {
  background:rgba(255,0,255,0.15);
  border:1px solid #FF00FF;
  color:#FF00FF;
  padding:12px;
  font-family:'Orbitron',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:3px;
  cursor:pointer;
  text-shadow:0 0 6px #FF00FF;
  box-shadow:0 0 15px rgba(255,0,255,0.3);
  transition:all 0.2s;
  margin-top:6px;
}
#login-form button:hover {
  background:rgba(255,0,255,0.3);
  box-shadow:0 0 25px rgba(255,0,255,0.6);
}
#login-error {
  color:#EF4444;
  font-size:12px;
  text-align:center;
  min-height:16px;
  text-shadow:0 0 5px rgba(239,68,68,0.5);
}
body {
  background:#0a0118 radial-gradient(ellipse at top,#1a0b2e 0%,#0a0118 100%) fixed;
  color:#E0E0FF;
  min-height:100vh;
  display:flex;
  overflow-x:hidden;
}
html { background:#0a0118; }
body::before {
  content:'';
  position:fixed;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,255,255,0.03) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,0,255,0.03) 1px, transparent 1px);
  background-size:40px 40px;
  pointer-events:none;
  z-index:0;
}

/* =========== SIDEBAR =========== */
.sidebar {
  width:240px;
  min-height:100vh;
  background:rgba(10,1,24,0.9);
  border-right:2px solid #FF00FF;
  padding:24px 16px;
  display:flex;
  flex-direction:column;
  position:relative;
  z-index:1;
  box-shadow:0 0 30px rgba(255,0,255,0.3);
}
.logo {
  font-family:'Orbitron',sans-serif;
  font-size:28px;
  font-weight:900;
  color:#00FFFF;
  text-shadow:0 0 10px #00FFFF,0 0 20px #00FFFF;
  letter-spacing:3px;
  margin-bottom:40px;
}
.logo-sub {
  font-size:10px;
  color:#FF00FF;
  text-shadow:0 0 5px #FF00FF;
  letter-spacing:3px;
  margin-bottom:32px;
}
.nav-list { flex:1; display:flex; flex-direction:column; gap:6px; }
.nav-item {
  display:block;
  padding:12px 14px;
  color:#A0A0C0;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:all 0.2s;
  text-transform:uppercase;
  letter-spacing:1px;
  border:1px solid transparent;
  text-decoration:none;
  user-select:none;
}
.nav-item:hover {
  color:#00FFFF;
  border-color:#00FFFF;
  background:rgba(0,255,255,0.05);
  box-shadow:0 0 15px rgba(0,255,255,0.3);
}
.nav-item.active {
  color:#FF00FF;
  border-color:#FF00FF;
  background:rgba(255,0,255,0.1);
  box-shadow:0 0 20px rgba(255,0,255,0.4);
  text-shadow:0 0 8px #FF00FF;
}
.logout-btn {
  margin:12px 0 10px;
  padding:10px;
  background:rgba(239,68,68,0.1);
  border:1px solid #EF4444;
  color:#EF4444;
  font-family:'Orbitron',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:2px;
  cursor:pointer;
  text-shadow:0 0 5px #EF4444;
  box-shadow:0 0 10px rgba(239,68,68,0.2);
  transition:all 0.2s;
}
.logout-btn:hover {
  background:rgba(239,68,68,0.25);
  box-shadow:0 0 20px rgba(239,68,68,0.5);
}
.version {
  font-size:10px;
  color:#FF00FF;
  text-align:center;
  letter-spacing:2px;
  opacity:0.5;
}

/* =========== MAIN =========== */
.main {
  flex:1;
  padding:28px 36px;
  overflow-y:auto;
  position:relative;
  z-index:1;
  min-height:100vh;
}
.header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:28px;
}
.header h1 {
  font-family:'Orbitron',sans-serif;
  font-size:32px;
  font-weight:900;
  color:#00FFFF;
  text-shadow:0 0 20px rgba(0,255,255,0.5);
  letter-spacing:3px;
  text-transform:uppercase;
}
.subtitle {
  font-size:12px;
  color:#FF00FF;
  margin-top:4px;
  letter-spacing:1px;
}
.clock { display:flex; gap:16px; align-items:center; }
.clock-time {
  font-family:'Orbitron',sans-serif;
  font-size:18px;
  color:#00FFFF;
  text-shadow:0 0 10px #00FFFF;
  font-variant-numeric:tabular-nums;
  letter-spacing:2px;
  padding:6px 14px;
  border:1px solid #00FFFF;
  background:rgba(0,255,255,0.05);
}
.status {
  padding:6px 14px;
  background:rgba(16,185,129,0.1);
  border:1px solid #10B981;
  color:#10B981;
  font-weight:700;
  letter-spacing:1px;
  text-shadow:0 0 8px #10B981;
  font-size:12px;
  text-transform:uppercase;
  animation:pulse 2s infinite;
}
.status.warn {
  background:rgba(251,191,36,0.1);
  border-color:#FBBF24;
  color:#FBBF24;
  text-shadow:0 0 8px #FBBF24;
}
.status.closed {
  background:rgba(239,68,68,0.1);
  border-color:#EF4444;
  color:#EF4444;
  text-shadow:0 0 8px #EF4444;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.7} }

/* =========== PAGES =========== */
.page { display:none; }
.page.active { display:block; }

/* =========== STATS BAR =========== */
.stats {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
  margin-bottom:36px;
}
.stat {
  background:rgba(255,0,255,0.05);
  border:1px solid #FF00FF;
  padding:18px;
  backdrop-filter:blur(10px);
  position:relative;
  box-shadow:0 0 20px rgba(255,0,255,0.15);
}
.stat::before {
  content:'';
  position:absolute;
  top:-1px; left:-1px; right:-1px;
  height:2px;
  background:linear-gradient(90deg,#00FFFF,#FF00FF);
}
.stat-label {
  font-size:10px;
  color:#A0A0C0;
  font-weight:700;
  letter-spacing:1.5px;
  margin-bottom:8px;
  text-transform:uppercase;
}
.stat-value {
  font-family:'Orbitron',sans-serif;
  font-size:24px;
  font-weight:900;
  color:#E0E0FF;
  letter-spacing:1px;
  text-shadow:0 0 10px rgba(224,224,255,0.5);
  font-variant-numeric:tabular-nums;
}
.stat-value.green { color:#10B981; text-shadow:0 0 10px #10B981; }
.stat-value.red { color:#EF4444; text-shadow:0 0 10px #EF4444; }
.stat-value.cyan { color:#00FFFF; text-shadow:0 0 10px #00FFFF; }

.section-title {
  font-family:'Orbitron',sans-serif;
  font-size:14px;
  font-weight:700;
  color:#00FFFF;
  margin-bottom:18px;
  text-shadow:0 0 8px #00FFFF;
  letter-spacing:3px;
  text-transform:uppercase;
}

/* =========== CARDS =========== */
.cards-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(360px,1fr));
  gap:20px;
}
.card {
  background:linear-gradient(135deg,rgba(26,11,46,0.9) 0%,rgba(10,1,24,0.9) 100%);
  border:1px solid #FF00FF;
  padding:22px;
  cursor:pointer;
  transition:all 0.3s;
  position:relative;
  overflow:hidden;
  box-shadow:0 0 20px rgba(255,0,255,0.2);
}
.card::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:2px;
  background:linear-gradient(90deg,#00FFFF 0%,#FF00FF 100%);
}
.card::after {
  content:'';
  position:absolute;
  bottom:0; left:0; right:0;
  height:2px;
  background:linear-gradient(90deg,#FF00FF 0%,#00FFFF 100%);
}
.card:hover {
  transform:translateY(-3px);
  border-color:#00FFFF;
  box-shadow:0 10px 40px rgba(0,255,255,0.4);
}
.card-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:14px;
}
.card-title {
  font-family:'Orbitron',sans-serif;
  font-size:18px;
  font-weight:900;
  color:#E0E0FF;
  letter-spacing:1px;
}
.card-subtitle {
  font-size:11px;
  color:#FF00FF;
  margin-top:4px;
  letter-spacing:2px;
  text-transform:uppercase;
}
.phase-badge {
  padding:5px 12px;
  background:rgba(0,255,255,0.1);
  color:#00FFFF;
  border:1px solid #00FFFF;
  font-size:10px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  text-shadow:0 0 5px #00FFFF;
}
.phase-badge.phase-2 {
  color:#FFFF00;
  border-color:#FFFF00;
  background:rgba(255,255,0,0.1);
  text-shadow:0 0 5px #FFFF00;
}
.phase-badge.funded {
  color:#10B981;
  border-color:#10B981;
  background:rgba(16,185,129,0.1);
  text-shadow:0 0 5px #10B981;
}
.card-main { margin:16px 0; }
.card-main-label {
  font-size:10px;
  color:#A0A0C0;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:2px;
}
.card-main-value {
  font-family:'Orbitron',sans-serif;
  font-size:36px;
  font-weight:900;
  color:#10B981;
  letter-spacing:-1px;
  margin-top:6px;
  text-shadow:0 0 20px rgba(16,185,129,0.6);
  font-variant-numeric:tabular-nums;
}
.card-main-value.red { color:#EF4444; text-shadow:0 0 20px rgba(239,68,68,0.6); }
.card-cost {
  font-size:12px;
  color:#A0A0C0;
  margin-top:4px;
  letter-spacing:1px;
}
.card-cost strong { color:#FFFF00; text-shadow:0 0 5px #FFFF00; }

.progress-container { margin:20px 0 14px; }
.progress-bar {
  height:6px;
  background:rgba(255,0,255,0.2);
  overflow:hidden;
  position:relative;
  border:1px solid rgba(255,0,255,0.4);
}
.progress-fill {
  height:100%;
  background:linear-gradient(90deg,#EF4444 0%,#FFFF00 50%,#10B981 100%);
  box-shadow:0 0 10px rgba(16,185,129,0.6);
  transition:width 0.3s;
}
.progress-labels {
  display:flex;
  justify-content:space-between;
  margin-top:8px;
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
}
.progress-labels .dd { color:#EF4444; text-shadow:0 0 5px #EF4444; }
.progress-labels .target { color:#10B981; text-shadow:0 0 5px #10B981; }

.metrics {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  padding-top:18px;
  border-top:1px solid rgba(255,0,255,0.3);
}
.metric-label {
  font-size:10px;
  color:#A0A0C0;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.5px;
}
.metric-value {
  font-family:'Orbitron',sans-serif;
  font-size:18px;
  font-weight:900;
  color:#00FFFF;
  margin-top:4px;
  text-shadow:0 0 8px rgba(0,255,255,0.5);
  font-variant-numeric:tabular-nums;
}
.metric-value.red { color:#EF4444; text-shadow:0 0 8px #EF4444; }
.metric-value.green { color:#10B981; text-shadow:0 0 8px #10B981; }

.empty-state {
  text-align:center;
  padding:60px 20px;
  color:#A0A0C0;
  font-size:14px;
  letter-spacing:1px;
}

/* =========== TABELLE NEON =========== */
.table-wrapper { overflow-x:auto; border:1px solid rgba(255,0,255,0.3); }
.neon-table { width:100%; border-collapse:collapse; background:rgba(10,1,24,0.5); }
.neon-table th {
  background:rgba(255,0,255,0.1);
  color:#00FFFF;
  text-shadow:0 0 5px #00FFFF;
  padding:10px 14px;
  text-align:left;
  font-size:11px;
  letter-spacing:1.5px;
  font-weight:700;
  border-bottom:1px solid #FF00FF;
}
.neon-table td {
  padding:10px 14px;
  font-size:13px;
  color:#E0E0FF;
  border-bottom:1px solid rgba(255,0,255,0.1);
  font-variant-numeric:tabular-nums;
}
.neon-table tr:hover td { background:rgba(255,0,255,0.05); }
.neon-table .pos { color:#10B981; text-shadow:0 0 5px #10B981; }
.neon-table .neg { color:#EF4444; text-shadow:0 0 5px #EF4444; }

/* =========== GUIDE TABS =========== */
.guide-tabs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:20px; }
.guide-tab {
  padding:10px 18px;
  background:rgba(255,0,255,0.05);
  border:1px solid rgba(255,0,255,0.3);
  color:#A0A0C0;
  font-family:'Rajdhani',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  cursor:pointer;
  transition:all 0.2s;
}
.guide-tab:hover { color:#00FFFF; border-color:#00FFFF; box-shadow:0 0 10px rgba(0,255,255,0.3); }
.guide-tab.active {
  background:rgba(255,0,255,0.15);
  color:#FF00FF;
  border-color:#FF00FF;
  box-shadow:0 0 15px rgba(255,0,255,0.4);
  text-shadow:0 0 5px #FF00FF;
}

.guide-section {
  background:rgba(10,1,24,0.6);
  border:1px solid rgba(255,0,255,0.3);
  padding:20px 24px;
  margin-bottom:16px;
}
.guide-title {
  font-family:'Orbitron',sans-serif;
  font-size:22px;
  color:#00FFFF;
  text-shadow:0 0 10px #00FFFF;
  letter-spacing:2px;
  margin-bottom:8px;
}
.guide-sub {
  font-family:'Orbitron',sans-serif;
  font-size:14px;
  color:#FF00FF;
  text-shadow:0 0 6px #FF00FF;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:12px;
}
.guide-desc { color:#CBD5E1; font-size:14px; line-height:1.6; margin-bottom:12px; }
.guide-features { display:flex; gap:8px; flex-wrap:wrap; }
.guide-feature {
  padding:4px 10px;
  background:rgba(0,255,255,0.1);
  border:1px solid rgba(0,255,255,0.4);
  color:#00FFFF;
  font-size:11px;
  font-weight:600;
  letter-spacing:1px;
}

.challenge-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px; }
.challenge-item { background:rgba(255,0,255,0.05); border:1px solid rgba(255,0,255,0.3); padding:12px; }
.challenge-label { font-size:10px; color:#A0A0C0; letter-spacing:1px; margin-bottom:4px; }
.challenge-value { font-family:'Orbitron',sans-serif; font-size:20px; color:#00FFFF; text-shadow:0 0 8px #00FFFF; font-weight:700; }

.guide-rule { margin-bottom:10px; padding:12px 16px; background:rgba(255,0,255,0.03); border-left:3px solid #FF00FF; }
.guide-rule-title { color:#FBBF24; font-weight:700; margin-bottom:4px; font-size:14px; }
.guide-rule-detail { color:#CBD5E1; font-size:13px; line-height:1.5; }

.guide-points { list-style:none; padding:0; }
.guide-points li { padding:6px 0 6px 20px; position:relative; color:#CBD5E1; font-size:13px; }
.guide-points li::before { content:'▸'; position:absolute; left:0; color:#00FFFF; text-shadow:0 0 5px #00FFFF; }

.scenario-card {
  background:rgba(255,0,255,0.03);
  border:1px solid rgba(255,0,255,0.3);
  padding:16px;
  margin-bottom:12px;
}
.scenario-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.scenario-header strong { color:#E0E0FF; font-size:14px; }
.scenario-type {
  padding:3px 10px;
  font-size:10px;
  font-weight:700;
  letter-spacing:1px;
  border:1px solid;
}
.scenario-type.hedge { color:#FBBF24; border-color:#FBBF24; background:rgba(251,191,36,0.1); }
.scenario-type.mixed { color:#3B82F6; border-color:#3B82F6; background:rgba(59,130,246,0.1); }
.scenario-type.profit { color:#10B981; border-color:#10B981; background:rgba(16,185,129,0.1); }

.scenario-params { display:flex; gap:16px; flex-wrap:wrap; padding:8px 12px; background:rgba(0,0,0,0.3); margin-bottom:10px; }
.scenario-params > div { display:flex; flex-direction:column; }
.param-label { font-size:9px; color:#A0A0C0; letter-spacing:1px; }
.param-value { font-family:'Orbitron',sans-serif; font-size:14px; color:#00FFFF; font-weight:700; }

.scenario-steps { font-size:12px; }
.scenario-step { padding:4px 0; color:#CBD5E1; }
.scenario-step.win { color:#10B981; }
.scenario-step.loss { color:#EF4444; }
.scenario-note { margin-top:10px; padding-top:10px; border-top:1px solid rgba(255,0,255,0.2); font-size:11px; color:#A0A0C0; font-style:italic; }

/* =========== TELEGRAM CONFIG BOX =========== */
.tg-config-box {
  background:rgba(10,1,24,0.7);
  border:1px solid rgba(0,255,255,0.3);
  padding:18px 20px;
  margin-bottom:20px;
}
.global-equity-box {
  background:rgba(10,1,24,0.7);
  border:1px solid rgba(0,255,255,0.3);
  padding:16px;
  margin-bottom:24px;
  box-shadow:0 0 20px rgba(0,255,255,0.1), inset 0 0 30px rgba(255,0,255,0.03);
}
.global-equity-box canvas {
  display:block;
  width:100%;
  height:auto;
  max-height:380px;
}
.global-equity-summary {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,0,255,0.15);
}
.ge-stat {
  text-align:center;
}
.ge-stat-label {
  font-size:10px;
  color:#A0A0C0;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:4px;
}
.ge-stat-value {
  font-family:'Orbitron',sans-serif;
  font-size:16px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
@media (max-width:700px) {
  .global-equity-summary { grid-template-columns:repeat(2, 1fr); }
}

/* =========== NEWS =========== */
.news-form { display:flex; gap:10px; margin-bottom:20px; }
.news-manual-form {
  display:flex; gap:10px; margin-bottom:20px; padding:16px;
  background:rgba(255,0,255,0.05); border:1px solid rgba(255,0,255,0.3);
}
.news-manual-form input, .news-manual-form select {
  background:rgba(0,0,0,0.5); border:1px solid rgba(0,255,255,0.3);
  color:#E0E0FF; padding:8px 12px; font-family:'Rajdhani',sans-serif; font-size:13px;
}

.news-list { display:flex; flex-direction:column; gap:4px; }
.news-row {
  display:grid;
  grid-template-columns:90px 70px 50px 1fr 80px 80px 120px;
  gap:10px;
  padding:10px 14px;
  background:rgba(10,1,24,0.5);
  border:1px solid rgba(255,0,255,0.2);
  font-size:13px;
  align-items:center;
}
.news-row:hover { border-color:rgba(0,255,255,0.5); }
.news-row.past { opacity:0.4; }
.news-row.speech { border-color:rgba(251,191,36,0.4); }
.news-row.manual { border-color:rgba(249,115,22,0.5); background:rgba(249,115,22,0.05); }
.news-day { color:#A0A0C0; font-size:11px; }
.news-time { font-family:'Orbitron',sans-serif; color:#FBBF24; font-weight:700; }
.news-cur { font-weight:700; text-align:center; letter-spacing:1px; font-size:12px; }
.cur-USD { color:#10B981; } .cur-EUR { color:#3B82F6; } .cur-GBP { color:#EF4444; }
.cur-AUD { color:#FBBF24; } .cur-CAD { color:#F97316; } .cur-JPY { color:#8B5CF6; }
.cur-NZD { color:#06B6D4; } .cur-CHF { color:#EC4899; }
.news-title { color:#E0E0FF; }
.news-row.speech .news-title { color:#FBBF24; }
.news-row.manual .news-title { color:#F97316; }
.news-fc, .news-pv { color:#A0A0C0; font-size:12px; font-variant-numeric:tabular-nums; }
.news-cd { font-family:'Orbitron',sans-serif; text-align:right; font-weight:700; font-size:12px; }

/* =========== FORM =========== */
.cycle-form { background:rgba(10,1,24,0.5); border:1px solid rgba(255,0,255,0.3); padding:24px; }
.form-section-title {
  font-family:'Orbitron',sans-serif;
  font-size:13px;
  color:#FF00FF;
  text-shadow:0 0 5px #FF00FF;
  letter-spacing:2px;
  margin:16px 0 12px;
  text-transform:uppercase;
}
.form-section-title:first-child { margin-top:0; }
.form-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; }
.form-field { display:flex; flex-direction:column; gap:4px; }
.form-field.form-wide { grid-column:span 2; }
.form-field label {
  font-size:11px; color:#A0A0C0; letter-spacing:1px;
  text-transform:uppercase; font-weight:700;
}
.form-field input, .form-field select {
  background:rgba(0,0,0,0.5);
  border:1px solid rgba(0,255,255,0.3);
  color:#E0E0FF;
  padding:10px 12px;
  font-family:'Rajdhani',sans-serif;
  font-size:14px;
  font-weight:600;
  transition:all 0.2s;
}
.form-field input:focus, .form-field select:focus {
  outline:none;
  border-color:#00FFFF;
  box-shadow:0 0 8px rgba(0,255,255,0.5);
}
.form-success { color:#10B981; text-shadow:0 0 5px #10B981; padding:10px; margin:10px 0; border:1px solid #10B981; background:rgba(16,185,129,0.1); }
.form-error { color:#EF4444; text-shadow:0 0 5px #EF4444; padding:10px; margin:10px 0; border:1px solid #EF4444; background:rgba(239,68,68,0.1); }

/* =========== BOTTONI =========== */
.neon-btn {
  background:rgba(0,255,255,0.1);
  border:1px solid #00FFFF;
  color:#00FFFF;
  padding:10px 20px;
  font-family:'Orbitron',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:1.5px;
  cursor:pointer;
  text-shadow:0 0 5px #00FFFF;
  transition:all 0.2s;
  text-transform:uppercase;
}
.neon-btn:hover { background:rgba(0,255,255,0.2); box-shadow:0 0 15px rgba(0,255,255,0.5); }
.neon-btn.big { padding:14px 32px; font-size:14px; margin-top:20px; }
.neon-btn.secondary {
  border-color:#FF00FF; color:#FF00FF;
  background:rgba(255,0,255,0.1); text-shadow:0 0 5px #FF00FF;
}
.neon-btn.secondary:hover { background:rgba(255,0,255,0.2); box-shadow:0 0 15px rgba(255,0,255,0.5); }
.neon-btn.danger {
  border-color:#EF4444; color:#EF4444;
  background:rgba(239,68,68,0.1); text-shadow:0 0 5px #EF4444;
}
.neon-btn.danger:hover { background:rgba(239,68,68,0.2); box-shadow:0 0 15px rgba(239,68,68,0.5); }

/* =========== MODAL =========== */
.modal-overlay {
  position:fixed; inset:0;
  background:rgba(0,0,0,0.85);
  backdrop-filter:blur(5px);
  z-index:100;
  display:flex; justify-content:center; align-items:flex-start;
  padding:40px 20px;
  overflow-y:auto;
}
.modal-content {
  background:#0a0118;
  border:2px solid #FF00FF;
  box-shadow:0 0 50px rgba(255,0,255,0.5);
  padding:32px;
  max-width:1000px;
  width:100%;
  position:relative;
}
.modal-close {
  position:absolute; top:16px; right:16px;
  background:transparent; border:1px solid #EF4444;
  color:#EF4444; width:36px; height:36px;
  font-size:18px; cursor:pointer; font-weight:700;
}
.modal-close:hover { background:rgba(239,68,68,0.2); box-shadow:0 0 10px #EF4444; }

/* Card-detail come pagina (non modale) */
#page-card-detail .modal-content.detail-view {
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
  max-width:none;
}
.back-btn {
  background:rgba(0,255,255,0.08);
  border:1px solid #00FFFF;
  color:#00FFFF;
  padding:8px 16px;
  font-family:'Orbitron',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
  cursor:pointer;
  text-shadow:0 0 5px #00FFFF;
  box-shadow:0 0 10px rgba(0,255,255,0.2);
  margin-bottom:20px;
  transition:all 0.2s;
}
.back-btn:hover {
  background:rgba(0,255,255,0.2);
  box-shadow:0 0 20px rgba(0,255,255,0.5);
}
.modal-title {
  font-family:'Orbitron',sans-serif;
  font-size:28px;
  color:#00FFFF;
  text-shadow:0 0 15px #00FFFF;
  letter-spacing:2px;
  margin-bottom:24px;
}
.modal-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.modal-panel {
  background:rgba(255,0,255,0.03);
  border:1px solid rgba(255,0,255,0.3);
  padding:20px;
}
.modal-panel h3 {
  font-family:'Orbitron',sans-serif;
  color:#FF00FF;
  font-size:14px;
  letter-spacing:2px;
  margin-bottom:16px;
  text-shadow:0 0 5px #FF00FF;
}
.kv { display:flex; justify-content:space-between; padding:6px 0; font-size:13px; border-bottom:1px solid rgba(255,0,255,0.1); }
.kv span { color:#A0A0C0; }
.kv strong { color:#E0E0FF; font-variant-numeric:tabular-nums; }
.kv .pos { color:#10B981; text-shadow:0 0 5px #10B981; }
.kv .neg { color:#EF4444; text-shadow:0 0 5px #EF4444; }

.trade-log { max-height:400px; overflow-y:auto; }
.trade-pair { margin-bottom:10px; border-left:2px solid rgba(0,255,255,0.4); padding-left:10px; }
.trade-row {
  display:grid; grid-template-columns:60px 100px 80px 60px 60px 1fr;
  gap:10px; padding:6px 10px; font-size:12px; align-items:center;
  font-variant-numeric:tabular-nums;
}
.trade-row.master { background:rgba(0,255,255,0.05); }
.trade-row.slave { background:rgba(255,0,255,0.05); }
.trade-side { font-weight:700; letter-spacing:1px; font-size:10px; }
.trade-row.master .trade-side { color:#00FFFF; }
.trade-row.slave .trade-side { color:#FF00FF; }
.trade-row .pos { color:#10B981; }
.trade-row .neg { color:#EF4444; }

/* =========== MODAL HEADER + PHASE SWITCHER =========== */
.modal-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:24px;
  padding-right:50px; /* spazio per il bottone close */
}
.phase-switcher {
  display:flex;
  gap:0;
  border:1px solid #FF00FF;
  background:rgba(0,0,0,0.3);
}
.phase-btn {
  padding:8px 18px;
  background:transparent;
  border:none;
  color:#A0A0C0;
  font-family:'Orbitron',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.5px;
  cursor:pointer;
  transition:all 0.2s;
  text-transform:uppercase;
  border-right:1px solid rgba(255,0,255,0.3);
}
.phase-btn:last-child { border-right:none; }
.phase-btn:hover { color:#00FFFF; text-shadow:0 0 5px #00FFFF; }
.phase-btn.active {
  background:rgba(255,0,255,0.2);
  color:#FF00FF;
  text-shadow:0 0 8px #FF00FF;
}

/* =========== CHECKBOX NEON =========== */
.check-row {
  display:flex;
  gap:20px;
  padding:12px;
  background:rgba(0,0,0,0.3);
  border:1px solid rgba(0,255,255,0.2);
  margin-top:14px;
}
.check-item {
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  color:#E0E0FF;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.5px;
}
.check-item input[type="checkbox"] {
  appearance:none;
  width:18px; height:18px;
  border:1px solid #00FFFF;
  background:rgba(0,0,0,0.5);
  cursor:pointer;
  position:relative;
  transition:all 0.15s;
}
.check-item input[type="checkbox"]:checked {
  background:#00FFFF;
  box-shadow:0 0 10px #00FFFF;
}
.check-item input[type="checkbox"]:checked::after {
  content:'✓';
  position:absolute;
  top:-2px; left:3px;
  color:#0A0118;
  font-weight:900;
  font-size:14px;
}

/* =========== SLIDER OTTIMIZZATORE =========== */
.slider-row {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:10px;
}
.slider-minmax { color:#A0A0C0; font-size:11px; font-weight:600; }
.slider-display {
  font-family:'Orbitron',sans-serif;
  font-size:32px;
  font-weight:900;
  color:#00FFFF;
  text-shadow:0 0 15px #00FFFF;
  font-variant-numeric:tabular-nums;
}
.neon-slider {
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:8px;
  background:linear-gradient(90deg, rgba(0,255,255,0.2) 0%, rgba(255,0,255,0.2) 100%);
  border:1px solid rgba(255,0,255,0.4);
  outline:none;
  margin:10px 0 16px;
}
.neon-slider::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  width:20px; height:20px;
  background:#00FFFF;
  border:2px solid #FF00FF;
  cursor:pointer;
  box-shadow:0 0 15px #00FFFF;
}
.neon-slider::-moz-range-thumb {
  width:20px; height:20px;
  background:#00FFFF;
  border:2px solid #FF00FF;
  cursor:pointer;
  box-shadow:0 0 15px #00FFFF;
}
.opt-preview-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(100px, 1fr));
  gap:10px;
  padding:12px;
  background:rgba(0,0,0,0.3);
  border:1px solid rgba(255,0,255,0.2);
}
.opt-preview-grid > div { text-align:center; }
.opt-preview-label {
  font-size:9px;
  color:#A0A0C0;
  letter-spacing:1px;
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:4px;
}
.opt-preview-value {
  font-family:'Orbitron',sans-serif;
  font-size:15px;
  font-weight:700;
  color:#E0E0FF;
  font-variant-numeric:tabular-nums;
}

/* =========== LIVE TRADE SECTION (Card) =========== */
.card.has-live {
  border-color:#10B981;
  box-shadow:0 0 25px rgba(16,185,129,0.4);
  animation:card-pulse 2s infinite;
}
@keyframes card-pulse {
  0%, 100% { box-shadow:0 0 25px rgba(16,185,129,0.4); }
  50% { box-shadow:0 0 40px rgba(16,185,129,0.7); }
}

.live-trade-banner {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:14px 0;
  padding:14px 20px;
  background:linear-gradient(90deg, rgba(239,68,68,0.15) 0%, rgba(16,185,129,0.1) 50%, rgba(239,68,68,0.15) 100%);
  background-size:200% 100%;
  border:1px solid #EF4444;
  position:relative;
  overflow:hidden;
  animation:banner-shimmer 3s ease-in-out infinite;
}
@keyframes banner-shimmer {
  0%, 100% { background-position:0% 50%; }
  50% { background-position:100% 50%; }
}
.live-text {
  font-family:'Orbitron',sans-serif;
  font-size:18px;
  font-weight:900;
  color:#EF4444;
  text-shadow:0 0 10px #EF4444, 0 0 20px #EF4444;
  letter-spacing:4px;
}
.live-dot {
  width:10px; height:10px;
  background:#EF4444;
  border-radius:50%;
  box-shadow:0 0 10px #EF4444;
  animation:live-blink 1s infinite;
}
@keyframes live-blink {
  0%, 100% { opacity:1; transform:scale(1); }
  50% { opacity:0.3; transform:scale(1.3); }
}
.live-label {
  font-family:'Orbitron',sans-serif;
  font-size:11px;
  font-weight:900;
  color:#EF4444;
  text-shadow:0 0 8px #EF4444;
  letter-spacing:2px;
}
/* =========== COPERTURA LIVE (Nuovo Ciclo) =========== */
.coverage-live {
  background:rgba(251,191,36,0.08);
  border:1px solid #FBBF24;
  padding:16px 20px;
  margin:18px 0;
  box-shadow:0 0 15px rgba(251,191,36,0.2);
}
.coverage-title {
  font-family:'Orbitron',sans-serif;
  font-size:12px;
  color:#FBBF24;
  text-shadow:0 0 6px #FBBF24;
  letter-spacing:2px;
  font-weight:700;
  margin-bottom:10px;
  text-transform:uppercase;
}
.coverage-values {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:14px;
}
.coverage-item {
  text-align:center;
  padding:10px 14px;
  background:rgba(0,0,0,0.3);
  border:1px solid rgba(251,191,36,0.3);
}
.coverage-item-label {
  font-size:10px;
  color:#A0A0C0;
  letter-spacing:1.5px;
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:4px;
}
.coverage-item-value {
  font-family:'Orbitron',sans-serif;
  font-size:22px;
  font-weight:900;
  color:#FBBF24;
  text-shadow:0 0 8px #FBBF24;
  font-variant-numeric:tabular-nums;
}

/* =========== SCENARI WHAT-IF =========== */
.whatif-row {
  padding:10px 12px;
  background:rgba(255,255,0,0.03);
  border-left:3px solid #FBBF24;
  margin-bottom:8px;
}
.whatif-row.burned {
  background:rgba(239,68,68,0.08);
  border-left-color:#EF4444;
}
.whatif-label {
  font-size:12px;
  font-weight:700;
  color:#E0E0FF;
  margin-bottom:6px;
  letter-spacing:0.5px;
}
.whatif-row.burned .whatif-label { color:#EF4444; text-shadow:0 0 5px #EF4444; }
.whatif-values {
  display:flex;
  gap:12px;
  font-size:11px;
  font-variant-numeric:tabular-nums;
  flex-wrap:wrap;
}
.whatif-values span { color:#CBD5E1; font-weight:600; }
.whatif-values .pos { color:#10B981; }
.whatif-values .neg { color:#EF4444; }
.whatif-netto { font-weight:900 !important; margin-left:auto; }

/* =========== TABELLA TRADE DETTAGLIATA =========== */
.trade-table {
  display:flex;
  flex-direction:column;
  gap:0;
  background:rgba(0,0,0,0.2);
}
.trade-table-header {
  display:grid;
  grid-template-columns:80px 70px 60px 80px 60px 70px 90px 80px;
  gap:4px;
  padding:8px 12px;
  background:rgba(255,0,255,0.1);
  border-bottom:1px solid #FF00FF;
  font-size:10px;
  font-weight:700;
  color:#00FFFF;
  text-shadow:0 0 5px #00FFFF;
  letter-spacing:1.5px;
  text-align:center;
}
.trade-table-header > div:nth-child(1) { text-align:left; }
.trade-table-header > div:nth-child(6),
.trade-table-header > div:nth-child(7),
.trade-table-header > div:nth-child(8) { text-align:right; }
.trade-table-body {
  max-height:500px;
  overflow-y:auto;
}
.trade-table-row {
  display:grid;
  grid-template-columns:80px 70px 60px 80px 60px 70px 90px 80px;
  gap:4px;
  padding:6px 12px;
  border-bottom:1px solid rgba(255,0,255,0.1);
  font-size:11px;
  align-items:center;
  font-variant-numeric:tabular-nums;
  text-align:center;
}
.trade-table-row.master { background:rgba(59,130,246,0.05); }
.trade-table-row.slave { background:rgba(16,185,129,0.05); }
.trade-table-row .trade-time { text-align:left; color:#94A3B8; }
.trade-table-row .pos { color:#10B981; text-shadow:0 0 3px #10B981; }
.trade-table-row .neg { color:#EF4444; text-shadow:0 0 3px #EF4444; }
.trade-side-badge {
  font-weight:900;
  font-size:10px;
  letter-spacing:1.5px;
  padding:2px 6px;
  border-radius:2px;
}
.trade-side-badge.master { background:rgba(59,130,246,0.2); color:#3B82F6; border:1px solid #3B82F6; }
.trade-side-badge.slave { background:rgba(16,185,129,0.2); color:#10B981; border:1px solid #10B981; }

.erosion-line {
  padding:3px 12px;
  text-align:right;
  font-size:10px;
  color:#A0A0C0;
  background:rgba(0,0,0,0.2);
  border-bottom:1px solid rgba(255,0,255,0.1);
  font-variant-numeric:tabular-nums;
}
.erosion-line .pos { color:#10B981; font-weight:700; }
.erosion-line .neg { color:#EF4444; font-weight:700; }

.trade-total-row {
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr;
  gap:12px;
  padding:12px 16px;
  background:rgba(255,255,0,0.1);
  border-top:2px solid #FFFF00;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.5px;
  font-variant-numeric:tabular-nums;
}
.trade-total-row .pos { color:#10B981; text-shadow:0 0 5px #10B981; }
.trade-total-row .neg { color:#EF4444; text-shadow:0 0 5px #EF4444; }

/* =========== HAMBURGER MENU MOBILE =========== */
.menu-toggle {
  display:none;
  position:fixed;
  top:calc(12px + env(safe-area-inset-top));
  left:calc(12px + env(safe-area-inset-left));
  z-index:200;
  background:rgba(10,1,24,0.95);
  border:1px solid #FF00FF;
  color:#00FFFF;
  width:44px; height:44px;
  font-size:22px;
  cursor:pointer;
  box-shadow:0 0 15px rgba(255,0,255,0.4);
}
.sidebar-backdrop {
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.6);
  backdrop-filter:blur(3px);
  z-index:150;
}
.sidebar-backdrop.show { display:block; }

@media (max-width:900px) {
  .menu-toggle { display:block; }
  body.sidebar-open .menu-toggle { display:none; }
  .sidebar {
    position:fixed;
    top:0; left:-260px;
    height:100vh;
    width:calc(240px + env(safe-area-inset-left));
    padding-top:calc(24px + env(safe-area-inset-top));
    padding-bottom:calc(24px + env(safe-area-inset-bottom));
    padding-left:calc(16px + env(safe-area-inset-left));
    z-index:160;
    transition:left 0.25s ease;
  }
  .sidebar.open { left:0; }
  .main {
    padding-top:calc(60px + env(safe-area-inset-top));
    padding-right:calc(16px + env(safe-area-inset-right));
    padding-bottom:calc(16px + env(safe-area-inset-bottom));
    padding-left:calc(16px + env(safe-area-inset-left));
  }

  .header { flex-wrap:wrap; gap:10px; }
  .header h1 { font-size:22px; letter-spacing:2px; }
  .subtitle { font-size:10px; }
  .clock { margin-left:auto; gap:8px; }
  .clock-time { font-size:14px; padding:4px 8px; }
  .status { padding:4px 8px; font-size:10px; }

  /* Stats: 2 colonne su mobile */
  .stats { grid-template-columns:repeat(2, 1fr); gap:8px; margin-bottom:20px; }
  .stat { padding:12px; }
  .stat-value { font-size:18px; }

  /* Cards: singola colonna */
  .cards-grid { grid-template-columns:1fr; gap:14px; }
  .card { padding:18px; }
  .card-title { font-size:16px; }
  .card-main-value { font-size:28px; }

  /* Modal: fullscreen su mobile */
  .modal-overlay {
    padding:0;
    align-items:flex-start;
    justify-content:stretch;
  }
  .modal-content {
    padding:18px 14px;
    max-width:100%;
    width:100%;
    min-height:100vh;
    border-width:0;
    border-top:2px solid #FF00FF;
    border-bottom:2px solid #FF00FF;
  }
  .modal-grid { grid-template-columns:1fr; gap:12px; }
  .modal-title { font-size:20px; letter-spacing:1px; padding-right:50px; }
  .modal-header { flex-direction:column; gap:10px; padding-right:40px; }
  .phase-switcher { width:100%; }
  .phase-btn { flex:1; padding:7px 4px; font-size:10px; letter-spacing:1px; }

  /* Form: 1 col */
  .form-grid { grid-template-columns:1fr 1fr; gap:10px; }
  .form-field.form-wide { grid-column:span 2; }

  /* Coperture: 1 col */
  .coverage-values { grid-template-columns:1fr; }

  /* Tabelle: scroll orizzontale */
  .trade-table-header,
  .trade-table-row {
    min-width:620px;
  }
  .trade-table-body { overflow-x:auto; }
  .trade-total-row { flex-wrap:wrap; }

  .news-row {
    grid-template-columns:60px 50px 35px 1fr 70px;
    font-size:11px;
  }
  .news-row .news-fc,
  .news-row .news-pv { display:none; }

  /* News form: stack */
  .news-manual-form { flex-direction:column; align-items:stretch; }
  .news-manual-form input, .news-manual-form select { width:100%; }

  /* Button groups: wrap */
  .btn-row, .form-row { flex-wrap:wrap; }
  .neon-btn { flex:1 1 auto; min-width:120px; }

  /* Sim results chart: scroll */
  #sim-chart, #equity-chart { max-width:100%; }

  /* Guide tabs wrapable */
  .guide-tabs { overflow-x:auto; flex-wrap:nowrap; }
  .guide-tab { white-space:nowrap; }

  /* Hide background image grid for perf on mobile */
  body::before { display:none; }
}

@media (max-width:480px) {
  .stats { grid-template-columns:repeat(2, 1fr); }
  .form-grid { grid-template-columns:1fr; }
  .trade-total-row { flex-direction:column; gap:4px; }
}

@media (max-width:768px) {
  .modal-grid { grid-template-columns:1fr; }
}
