:root {
  --black: #05070a;
  --black-2: #0b1016;
  --panel: #111821;
  --panel-2: #0d141c;
  --petrol: #0e5a64;
  --petrol-2: #0a3d45;
  --gold: #d6a84f;
  --gold-soft: #f1d58c;
  --white: #f5f7f8;
  --muted: #8d9aa8;
  --danger: #d85d5d;
  --success: #69c589;
  --border: rgba(255, 255, 255, 0.09);
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(14, 90, 100, 0.35), transparent 36rem),
    radial-gradient(circle at bottom right, rgba(214, 168, 79, 0.12), transparent 32rem),
    var(--black);
  color: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.auth-screen, .loading-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1.5rem;
}

.auth-card {
  width: min(460px, 100%);
  background: linear-gradient(145deg, rgba(17,24,33,0.98), rgba(5,7,10,0.96));
  border: 1px solid var(--border);
  border-radius: 28px;
  padding: 2rem;
  box-shadow: var(--shadow);
}

.auth-card h1 { margin: 0.75rem 0 0.25rem; }
.auth-card p { color: var(--muted); line-height: 1.5; }
.auth-card form { display: grid; gap: 0.85rem; margin-top: 1.5rem; }

.brand-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--gold), var(--petrol));
  color: var(--black);
  font-weight: 900;
  letter-spacing: -0.04em;
}

input, textarea, select {
  width: 100%;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.045);
  color: var(--white);
  border-radius: 14px;
  padding: 0.8rem 0.9rem;
  outline: none;
}
textarea { min-height: 92px; resize: vertical; }
select option { background: var(--black-2); color: var(--white); }
label { color: var(--gold-soft); font-size: 0.86rem; }

.primary {
  background: linear-gradient(135deg, var(--gold), var(--gold-soft));
  color: #090909;
  border: 0;
  border-radius: 14px;
  padding: 0.9rem 1rem;
  font-weight: 800;
  box-shadow: 0 12px 30px rgba(214, 168, 79, 0.18);
}
.primary:disabled { opacity: 0.7; cursor: not-allowed; }
.link-button, .logout {
  border: 0;
  background: transparent;
  color: var(--gold-soft);
  margin-top: 1rem;
}
.message { color: var(--gold-soft); }

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 290px 1fr;
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.25rem;
  background: rgba(5, 7, 10, 0.82);
  backdrop-filter: blur(20px);
  border-right: 1px solid var(--border);
}

.logo-wrap {
  display: flex;
  gap: 0.9rem;
  align-items: center;
  padding: 0.7rem;
}
.logo-wrap small { display: block; color: var(--muted); margin-top: 0.2rem; }

.sidebar nav { display: grid; gap: 0.5rem; }
.sidebar nav button, .logout {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.9rem 1rem;
  border-radius: 16px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--white);
  text-align: left;
}
.sidebar nav button:hover, .sidebar nav .nav-active {
  background: rgba(14, 90, 100, 0.28);
  border-color: rgba(214, 168, 79, 0.22);
}
.sidebar-footer { margin-top: auto; display: grid; gap: 0.75rem; }
.user-card {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--muted);
  padding: 0.8rem;
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow-wrap: anywhere;
}

.content { padding: 1.25rem; }
.page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 1.25rem;
  align-items: start;
}
.page-grid.single { grid-template-columns: 1fr; }
.panel {
  background: rgba(17, 24, 33, 0.84);
  border: 1px solid var(--border);
  border-radius: 26px;
  padding: 1.25rem;
  box-shadow: var(--shadow);
}
.sticky-panel { position: sticky; top: 1.25rem; }
.panel-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}
h2, h3, h4 { margin-top: 0; }
.eyebrow {
  margin: 0 0 0.35rem;
  color: var(--gold);
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  font-weight: 800;
}
.date-field { min-width: 175px; }
.section-title {
  margin: 1.5rem 0 0.8rem;
  padding-left: 0.75rem;
  border-left: 4px solid var(--gold);
  color: var(--gold-soft);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
}
.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}
.reading-card, .accordion-block, .mini-table-card {
  background: rgba(5, 7, 10, 0.34);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 1rem;
}
.reading-card h4, .mini-table-card h4 { color: var(--gold-soft); margin-bottom: 0.8rem; }
.reading-grid { display: grid; gap: 0.7rem; }
.reading-row, .mini-direction {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.7rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.reading-row:last-child, .mini-direction:last-child { border-bottom: 0; padding-bottom: 0; }
.reading-row span, .mini-direction span { color: var(--muted); }
.toggle {
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem;
  background: rgba(255,255,255,0.045);
  padding: 0.25rem;
  border-radius: 14px;
}
.toggle button {
  border: 0;
  background: transparent;
  color: var(--muted);
  border-radius: 10px;
  padding: 0.6rem 0.85rem;
  font-weight: 800;
}
.toggle-compact button { padding: 0.45rem 0.65rem; font-size: 0.84rem; }
.toggle .active-up { background: rgba(105, 197, 137, 0.2); color: #a9f2c0; }
.toggle .active-down { background: rgba(216, 93, 93, 0.2); color: #ffb8b8; }
.ema-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}
.ema-options button {
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.045);
  color: var(--white);
  border-radius: 16px;
  padding: 0.8rem;
  text-align: left;
}
.ema-options small { display: block; color: var(--muted); margin-top: 0.25rem; }
.ema-options .active-ema {
  border-color: rgba(214, 168, 79, 0.55);
  background: rgba(214, 168, 79, 0.12);
}
.result-box {
  display: grid;
  gap: 0.75rem;
  background: rgba(5, 7, 10, 0.4);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 1rem;
  margin: 0.85rem 0;
}
.result-box small, .result-detail p { color: var(--muted); }
.result-detail p { margin: 0.35rem 0; line-height: 1.4; }
.pill {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.45rem 0.75rem;
  font-size: 0.84rem;
  border: 1px solid var(--border);
}
.pill.bullish { color: #a9f2c0; background: rgba(105, 197, 137, 0.12); border-color: rgba(105, 197, 137, 0.3); }
.pill.bearish { color: #ffb8b8; background: rgba(216, 93, 93, 0.12); border-color: rgba(216, 93, 93, 0.3); }
.pill.danger { color: #ffc0c0; background: rgba(216, 93, 93, 0.22); border-color: rgba(216, 93, 93, 0.4); }
.pill.muted, .pill.neutral { color: var(--gold-soft); background: rgba(214, 168, 79, 0.1); }
.mini-table-card table { width: 100%; border-collapse: collapse; }
.mini-table-card td { padding: 0.55rem 0; border-bottom: 1px solid rgba(255,255,255,0.06); color: var(--muted); }
.mini-table-card tr:last-child td { border-bottom: 0; }
.accordion-block { margin: 1rem 0; }
.journal-fields { display: grid; gap: 0.75rem; margin: 1rem 0; }
.history-list { display: grid; gap: 0.85rem; }
.history-card {
  display: grid;
  gap: 0.4rem;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(5,7,10,0.32);
}
.history-card p { color: var(--muted); margin: 0.15rem 0; }
.history-card a { color: var(--gold-soft); }
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.stat-card {
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 1.1rem;
  background: linear-gradient(145deg, rgba(14, 90, 100, 0.16), rgba(5,7,10,0.2));
}
.stat-card span { color: var(--muted); display: block; margin-bottom: 0.5rem; }
.stat-card strong { font-size: 1.7rem; color: var(--gold-soft); }
pre {
  background: rgba(0,0,0,0.35);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 1rem;
  overflow: auto;
}

@media (max-width: 1180px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; }
  .sidebar nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .page-grid { grid-template-columns: 1fr; }
  .sticky-panel { position: static; }
}
@media (max-width: 760px) {
  .grid-2, .ema-options, .stats-grid { grid-template-columns: 1fr; }
  .panel-header { flex-direction: column; }
  .sidebar nav { grid-template-columns: 1fr 1fr; }
}

.section-note {
  margin: 0.25rem 0 1rem;
  color: var(--muted);
  line-height: 1.5;
  border: 1px solid rgba(214, 168, 79, 0.18);
  background: rgba(214, 168, 79, 0.06);
  padding: 0.85rem 1rem;
  border-radius: 18px;
}
.card-subtitle {
  margin: -0.35rem 0 0.8rem;
  color: var(--muted);
  font-size: 0.82rem;
}
.mini-direction span small {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  margin-top: 0.15rem;
}

/* Wizard premercado */
.wizard-panel { max-width: 980px; margin: 0 auto; }
.wizard-progress {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.07);
  overflow: hidden;
  margin: 1rem 0 1.25rem;
  border: 1px solid var(--border);
}
.wizard-progress div {
  height: 100%;
  background: linear-gradient(90deg, var(--petrol), var(--gold));
  transition: width 0.2s ease;
}
.wizard-step-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1rem 0 1.25rem;
  padding: 1rem;
  border: 1px solid rgba(214, 168, 79, 0.18);
  background: rgba(5, 7, 10, 0.3);
  border-radius: 22px;
}
.wizard-step-header > span {
  min-width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--gold), var(--gold-soft));
  color: var(--black);
  font-weight: 900;
  font-size: 1.2rem;
}
.wizard-step-header h3 { margin: 0; }
.wizard-step-header p { color: var(--muted); margin: 0.25rem 0 0; }
.wizard-step-content .reading-card { margin: 0; }
.wizard-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.secondary {
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.045);
  color: var(--white);
  border-radius: 14px;
  padding: 0.85rem 1rem;
  font-weight: 800;
}
.secondary:disabled { opacity: 0.4; cursor: not-allowed; }
.wizard-dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem;
}
.wizard-dots button {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.045);
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}
.wizard-dots .dot-active {
  color: #090909;
  background: var(--gold-soft);
  border-color: var(--gold-soft);
}
.result-fullscreen { max-width: 1180px; margin: 0 auto; }
.result-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.hero-result {
  padding: 1.4rem;
  border-radius: 28px;
  border: 1px solid var(--border);
  margin: 1rem 0;
  background: linear-gradient(135deg, rgba(14, 90, 100, 0.24), rgba(214, 168, 79, 0.10));
}
.hero-result span { display: block; color: var(--muted); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.75rem; font-weight: 800; }
.hero-result strong { display: block; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1; margin: 0.45rem 0; }
.hero-result p { margin: 0; color: var(--gold-soft); font-weight: 800; }
.hero-result.bullish { border-color: rgba(105, 197, 137, 0.35); }
.hero-result.bearish, .hero-result.danger { border-color: rgba(216, 93, 93, 0.35); }
.result-grid-full {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.result-grid-full .result-box { margin: 0; }
.result-detail-panel {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.result-detail-panel > div,
.single-detail {
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 1rem;
  background: rgba(5, 7, 10, 0.34);
}
.result-detail-panel h3 { color: var(--gold-soft); margin: 0 0 0.45rem; font-size: 0.95rem; }
.result-detail-panel p { color: var(--muted); margin: 0; line-height: 1.45; }
.single-detail { display: block; }
.component-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}
.component-list span {
  color: var(--muted);
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
  padding: 0.7rem;
  line-height: 1.35;
}
.component-list strong { color: var(--gold-soft); }

@media (max-width: 980px) {
  .result-grid-full, .result-detail-panel, .component-list { grid-template-columns: 1fr; }
  .wizard-actions { flex-direction: column; align-items: stretch; }
  .wizard-dots { order: -1; }
}

/* Visual upgrade v5: watermark, premium motion and professional trading UI */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.095;
  background-image: url("data:image/svg+xml,%3Csvg width='520' height='300' viewBox='0 0 520 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke-linecap='round' stroke-width='3'%3E%3Cpath d='M52 38v116M52 82v44' stroke='%23d6a84f'/%3E%3Crect x='42' y='72' width='20' height='56' rx='5' fill='%230e5a64' stroke='%23d6a84f'/%3E%3Cpath d='M116 88v142M116 132v68' stroke='%23d6a84f'/%3E%3Crect x='106' y='124' width='20' height='86' rx='5' fill='%2305070a' stroke='%23d85d5d'/%3E%3Cpath d='M184 54v168M184 92v84' stroke='%23d6a84f'/%3E%3Crect x='174' y='88' width='20' height='96' rx='5' fill='%230e5a64' stroke='%2369c589'/%3E%3Cpath d='M252 40v116M252 68v58' stroke='%23d6a84f'/%3E%3Crect x='242' y='66' width='20' height='58' rx='5' fill='%2305070a' stroke='%23d85d5d'/%3E%3Cpath d='M320 76v156M320 116v72' stroke='%23d6a84f'/%3E%3Crect x='310' y='110' width='20' height='82' rx='5' fill='%230e5a64' stroke='%2369c589'/%3E%3Cpath d='M388 34v118M388 70v52' stroke='%23d6a84f'/%3E%3Crect x='378' y='68' width='20' height='58' rx='5' fill='%2305070a' stroke='%23d85d5d'/%3E%3Cpath d='M456 92v148M456 128v74' stroke='%23d6a84f'/%3E%3Crect x='446' y='122' width='20' height='88' rx='5' fill='%230e5a64' stroke='%2369c589'/%3E%3Cpath d='M20 242C90 214 138 238 206 204S328 178 500 132' stroke='%23f1d58c' stroke-width='2' opacity='.5'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 520px 300px;
  animation: candleDrift 38s linear infinite;
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(120deg, transparent 0%, rgba(214,168,79,0.035) 42%, transparent 62%),
    radial-gradient(circle at 70% 18%, rgba(14,90,100,0.18), transparent 18rem);
  mix-blend-mode: screen;
}
#app, .auth-screen, .app-shell { position: relative; z-index: 1; }
@keyframes candleDrift {
  from { background-position: 0 0; }
  to { background-position: 520px -300px; }
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes softPulse {
  0%, 100% { box-shadow: 0 0 0 rgba(214,168,79,0); }
  50% { box-shadow: 0 0 34px rgba(214,168,79,0.16); }
}
@keyframes goldSweep {
  0% { transform: translateX(-120%) skewX(-16deg); }
  100% { transform: translateX(220%) skewX(-16deg); }
}
@keyframes progressGlow {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}
.panel, .auth-card, .result-box, .reading-card, .stat-card, .history-card {
  animation: fadeInUp 0.34s ease both;
}
.panel {
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(18px);
}
.panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(135deg, rgba(214,168,79,0.10), transparent 18%, transparent 82%, rgba(14,90,100,0.14));
  opacity: 0.72;
}
.panel > * { position: relative; z-index: 1; }
.auth-card, .sidebar, .panel {
  box-shadow: 0 28px 90px rgba(0,0,0,0.42), inset 0 1px 0 rgba(255,255,255,0.045);
}
.brand-mark {
  position: relative;
  overflow: hidden;
  animation: softPulse 3.8s ease-in-out infinite;
}
.brand-mark::after, .primary::after {
  content: "";
  position: absolute;
  inset: -25%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.36), transparent);
  transform: translateX(-120%) skewX(-16deg);
  animation: goldSweep 4.8s ease-in-out infinite;
}
.primary {
  position: relative;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.primary:hover { transform: translateY(-2px); filter: brightness(1.03); box-shadow: 0 18px 42px rgba(214,168,79,0.26); }
.secondary, .toggle button, .ema-options button, .sidebar nav button {
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
.secondary:hover, .ema-options button:hover, .sidebar nav button:hover { transform: translateY(-1px); }
.toggle button:hover { transform: scale(1.03); }
.wizard-progress div {
  background: linear-gradient(90deg, var(--petrol), var(--gold), var(--gold-soft), var(--petrol));
  background-size: 220% 100%;
  animation: progressGlow 3.5s linear infinite;
}
.wizard-step-content { animation: fadeInUp .28s ease both; }
.wizard-step-header {
  background:
    linear-gradient(135deg, rgba(14,90,100,0.24), rgba(5,7,10,0.34)),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 24px);
}
.reading-card, .result-box, .decision-card {
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.reading-card:hover, .result-box:hover, .decision-card:hover {
  transform: translateY(-2px);
  border-color: rgba(214,168,79,0.22);
  background: rgba(5, 7, 10, 0.46);
}
.hero-result {
  position: relative;
  overflow: hidden;
  min-height: 170px;
  display: grid;
  align-content: center;
}
.hero-result::before {
  content: "";
  position: absolute;
  right: -60px;
  top: -50px;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(214,168,79,.22), transparent 62%);
  filter: blur(2px);
}
.hero-result::after {
  content: "";
  position: absolute;
  inset: auto 1.4rem 1.1rem 1.4rem;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--petrol), var(--gold-soft), transparent);
  opacity: .85;
}
.result-grid-full .result-box {
  min-height: 150px;
}
.decision-panel {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.decision-card {
  border: 1px solid rgba(214,168,79,0.16);
  border-radius: 22px;
  padding: 1.05rem;
  background:
    radial-gradient(circle at top right, rgba(214,168,79,0.10), transparent 9rem),
    rgba(5,7,10,0.38);
}
.decision-card span {
  display: block;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: .72rem;
  font-weight: 900;
  margin-bottom: .5rem;
}
.decision-card strong {
  display: block;
  color: var(--gold-soft);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.05;
  margin-bottom: .5rem;
}
.decision-card small {
  color: var(--muted);
  line-height: 1.4;
}
.result-fullscreen .journal-fields {
  margin-top: 1.2rem;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 22px;
  padding: 1rem;
  background: rgba(5,7,10,0.28);
}
input:focus, textarea:focus, select:focus {
  border-color: rgba(214,168,79,.55);
  box-shadow: 0 0 0 3px rgba(214,168,79,.10);
}
.pill {
  font-weight: 800;
  letter-spacing: .015em;
}
.market-watermark { position: relative; }
.market-watermark::before {
  content: "";
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  width: min(320px, 34vw);
  height: min(200px, 24vw);
  opacity: .075;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg width='360' height='220' viewBox='0 0 360 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23f1d58c' stroke-width='5' stroke-linecap='round'%3E%3Cpath d='M30 172C76 132 106 156 146 118s72-66 118-34 52 0 72-30'/%3E%3C/g%3E%3Cg stroke-width='3'%3E%3Cpath d='M65 62v92' stroke='%23d6a84f'/%3E%3Crect x='54' y='88' width='22' height='42' rx='4' fill='%230e5a64' stroke='%2369c589'/%3E%3Cpath d='M132 36v124' stroke='%23d6a84f'/%3E%3Crect x='121' y='72' width='22' height='64' rx='4' fill='%2305070a' stroke='%23d85d5d'/%3E%3Cpath d='M202 58v104' stroke='%23d6a84f'/%3E%3Crect x='191' y='82' width='22' height='54' rx='4' fill='%230e5a64' stroke='%2369c589'/%3E%3Cpath d='M280 38v126' stroke='%23d6a84f'/%3E%3Crect x='269' y='70' width='22' height='76' rx='4' fill='%2305070a' stroke='%23d85d5d'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 980px) {
  .decision-panel { grid-template-columns: 1fr; }
  body::before { opacity: 0.065; }
}

/* Visual clean-up v6: less repetition, no selection flicker, grey/petrol premium layout */
:root {
  --black: #2c3338;
  --black-2: #252d32;
  --panel: #334047;
  --panel-2: #123f48;
  --petrol: #0e5a64;
  --petrol-2: #0b3f48;
  --gold: #d6a84f;
  --gold-soft: #f1d58c;
  --white: #f7f8f8;
  --muted: #c3ccd1;
  --danger: #d85d5d;
  --success: #69c589;
  --border: rgba(255, 255, 255, 0.14);
  --shadow: 0 20px 54px rgba(0, 0, 0, 0.22);
}

body {
  background:
    radial-gradient(circle at top left, rgba(14, 90, 100, 0.24), transparent 34rem),
    radial-gradient(circle at bottom right, rgba(214, 168, 79, 0.12), transparent 30rem),
    linear-gradient(135deg, #353d42 0%, #2f373c 45%, #293137 100%);
}

/* Stop the visible disappearing/reappearing effect when selecting Sube/Baja */
.panel, .auth-card, .result-box, .reading-card, .stat-card, .history-card, .wizard-step-content {
  animation: none !important;
}
.toggle button:hover, .secondary:hover, .ema-options button:hover, .sidebar nav button:hover,
.reading-card:hover, .result-box:hover, .decision-card:hover, .primary:hover {
  transform: none !important;
}
.brand-mark, .brand-mark::after, .primary::after, .wizard-progress div {
  animation: none !important;
}
.primary::after, .brand-mark::after { display: none !important; }

.sidebar {
  background: rgba(37, 45, 50, 0.92);
}
.panel {
  background: linear-gradient(145deg, rgba(58, 70, 76, 0.94), rgba(36, 47, 53, 0.94));
  border-color: rgba(255,255,255,0.13);
}
.panel::before {
  background: linear-gradient(135deg, rgba(14,90,100,0.12), transparent 38%, transparent 76%, rgba(214,168,79,0.08));
}
.reading-card, .accordion-block, .mini-table-card {
  background: linear-gradient(145deg, rgba(14, 90, 100, 0.18), rgba(30, 43, 49, 0.76));
  border-color: rgba(255,255,255,0.14);
}
.reading-card h4, .mini-table-card h4 { color: #fff3c5; }
.reading-row span, .mini-direction span { color: #d4dde1; }

.toggle {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.08);
}
.toggle button {
  min-width: 72px;
  transition: background .12s ease, color .12s ease, border-color .12s ease !important;
}
.toggle .active-up {
  background: linear-gradient(135deg, rgba(105, 197, 137, 0.35), rgba(14, 90, 100, 0.30));
  color: #dcffe7;
  box-shadow: inset 0 0 0 1px rgba(105,197,137,0.35);
}
.toggle .active-down {
  background: linear-gradient(135deg, rgba(216, 93, 93, 0.34), rgba(80, 41, 46, 0.35));
  color: #ffe0e0;
  box-shadow: inset 0 0 0 1px rgba(216,93,93,0.34);
}

.wizard-step-header {
  background: linear-gradient(135deg, rgba(14,90,100,0.34), rgba(47,57,63,0.72));
  border-color: rgba(214,168,79,0.22);
}
.section-note {
  background: rgba(14, 90, 100, 0.16);
  border-color: rgba(214, 168, 79, 0.20);
}

.decision-panel-top {
  margin: 0.4rem 0 1.2rem;
}
.decision-main {
  min-height: 138px;
  background: linear-gradient(145deg, rgba(8, 54, 62, 0.92), rgba(14, 90, 100, 0.72));
  border-color: rgba(214,168,79,0.32);
  box-shadow: 0 16px 44px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.07);
}
.decision-main.bullish { border-color: rgba(105,197,137,0.46); }
.decision-main.bearish, .decision-main.danger { border-color: rgba(216,93,93,0.46); }
.decision-card span { color: #e5eef2; }
.decision-card strong { color: #fff2bd; }
.decision-card small { color: #d1dce0; }

.result-grid-clean {
  margin-top: 0.4rem;
}
.result-box {
  background: linear-gradient(145deg, rgba(243, 246, 247, 0.10), rgba(14, 90, 100, 0.28));
  border-color: rgba(255,255,255,0.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}
.result-box small {
  color: #fff3c5;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.result-detail p { color: #d9e2e6; }
.result-detail-panel > div, .single-detail {
  background: linear-gradient(145deg, rgba(14, 90, 100, 0.20), rgba(37, 49, 56, 0.74));
  border-color: rgba(255,255,255,0.14);
}

.postmarket-result-panel {
  border-color: rgba(214,168,79,0.24);
  background: linear-gradient(145deg, rgba(50,62,68,0.96), rgba(10,63,72,0.72));
}
.postmarket-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}
.postmarket-cards .result-box {
  min-height: 145px;
  background: linear-gradient(145deg, rgba(14,90,100,0.48), rgba(47,57,63,0.82));
}

.auth-card, input, textarea, select {
  background-color: rgba(38, 48, 54, 0.94);
}

@media (max-width: 980px) {
  .postmarket-cards { grid-template-columns: 1fr; }
}

/* Visual v8 · Opción 1: Gris perla + Azul petróleo */
:root {
  --black: #0f172a;
  --black-2: #e8eef0;
  --panel: #ffffff;
  --panel-2: #ecf1f1;
  --petrol: #0f766e;
  --petrol-2: #0b5f59;
  --gold: #d6a84f;
  --gold-soft: #9b6f17;
  --white: #0f172a;
  --muted: #64727c;
  --danger: #c94b4b;
  --success: #16875d;
  --border: rgba(15, 23, 42, 0.11);
  --shadow: 0 18px 48px rgba(15, 23, 42, 0.10);
}

body {
  background:
    radial-gradient(circle at top left, rgba(15, 118, 110, 0.10), transparent 34rem),
    radial-gradient(circle at bottom right, rgba(214, 168, 79, 0.10), transparent 32rem),
    linear-gradient(135deg, #f5f7f8 0%, #eef3f3 45%, #e8eef0 100%);
  color: var(--white);
}

body::before {
  opacity: 0.16;
  filter: none;
  background-image: url("data:image/svg+xml,%3Csvg width='520' height='300' viewBox='0 0 520 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke-linecap='round' stroke-width='3'%3E%3Cpath d='M52 38v116M52 82v44' stroke='%23BFC8CD'/%3E%3Crect x='42' y='72' width='20' height='56' rx='5' fill='%23FFFFFF' stroke='%23AAB5BB'/%3E%3Cpath d='M116 88v142M116 132v68' stroke='%23BFC8CD'/%3E%3Crect x='106' y='124' width='20' height='86' rx='5' fill='%23D6DEE2' stroke='%239AA7AE'/%3E%3Cpath d='M184 54v168M184 92v84' stroke='%23BFC8CD'/%3E%3Crect x='174' y='88' width='20' height='96' rx='5' fill='%23FFFFFF' stroke='%23AAB5BB'/%3E%3Cpath d='M252 40v116M252 68v58' stroke='%23BFC8CD'/%3E%3Crect x='242' y='66' width='20' height='58' rx='5' fill='%23D6DEE2' stroke='%239AA7AE'/%3E%3Cpath d='M320 76v156M320 116v72' stroke='%23BFC8CD'/%3E%3Crect x='310' y='110' width='20' height='82' rx='5' fill='%23FFFFFF' stroke='%23AAB5BB'/%3E%3Cpath d='M388 34v118M388 70v52' stroke='%23BFC8CD'/%3E%3Crect x='378' y='68' width='20' height='58' rx='5' fill='%23D6DEE2' stroke='%239AA7AE'/%3E%3Cpath d='M456 92v148M456 128v74' stroke='%23BFC8CD'/%3E%3Crect x='446' y='122' width='20' height='88' rx='5' fill='%23FFFFFF' stroke='%23AAB5BB'/%3E%3Cpath d='M20 242C90 214 138 238 206 204S328 178 500 132' stroke='%23C8D1D6' stroke-width='2' opacity='.65'/%3E%3C/g%3E%3C/svg%3E");
}
body::after {
  background:
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.30) 44%, transparent 62%),
    radial-gradient(circle at 72% 18%, rgba(15,118,110,0.09), transparent 18rem);
  mix-blend-mode: normal;
}

.auth-card,
.panel {
  background: rgba(255, 255, 255, 0.90);
  border-color: var(--border);
  box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,0.75);
  color: var(--white);
}
.panel::before {
  background: linear-gradient(135deg, rgba(15,118,110,0.035), transparent 38%, transparent 72%, rgba(214,168,79,0.05));
}

.sidebar {
  background: rgba(236, 241, 241, 0.94);
  border-right: 1px solid rgba(15, 23, 42, 0.10);
  color: var(--white);
  box-shadow: 18px 0 50px rgba(15,23,42,0.08);
}
.sidebar nav button,
.logout { color: #22313d; }
.sidebar nav button:hover,
.sidebar nav .nav-active {
  background: var(--petrol);
  color: #ffffff;
  border-color: rgba(15, 118, 110, 0.20);
}
.logo-wrap small,
.user-card,
.auth-card p,
.section-note,
.card-subtitle,
.wizard-step-header p,
.result-detail p,
.history-card p,
.stat-card span,
.reading-row span,
.mini-direction span,
.ema-options small,
.decision-card small,
.result-detail-panel p {
  color: var(--muted);
}

.brand-mark {
  background: linear-gradient(135deg, var(--petrol), #8db8b4);
  color: #ffffff;
}

input, textarea, select,
.auth-card input,
.auth-card textarea,
.auth-card select {
  background: #ffffff;
  color: #0f172a;
  border-color: rgba(15,23,42,0.14);
}
select option { background: #ffffff; color: #0f172a; }
label { color: var(--gold-soft); }

.reading-card,
.accordion-block,
.mini-table-card,
.result-detail-panel > div,
.single-detail,
.history-card,
.journal-result-card {
  background: #ecf1f1;
  border: 1px solid rgba(15,23,42,0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.70);
}
.reading-card h4,
.mini-table-card h4,
.result-detail-panel h3,
.journal-result-card h3 { color: #14333a; }

.wizard-step-header,
.section-note {
  background: #f0f5f5;
  border-color: rgba(15,118,110,0.14);
}
.wizard-step-header > span,
.wizard-dots .dot-active,
.primary {
  background: linear-gradient(135deg, var(--gold), #f2d98b);
  color: #111827;
}
.wizard-progress { background: #dfe8e9; border-color: rgba(15,23,42,0.08); }
.wizard-progress div { background: linear-gradient(90deg, var(--petrol), var(--gold)); }
.secondary,
.wizard-dots button {
  background: #ffffff;
  color: #1f2937;
  border-color: rgba(15,23,42,0.12);
}

.toggle {
  background: #ffffff;
  border-color: rgba(15,23,42,0.10);
}
.toggle button { color: #667085; }
.toggle .active-up {
  background: rgba(22, 135, 93, 0.12);
  color: #087047;
  box-shadow: inset 0 0 0 1px rgba(22,135,93,0.26);
}
.toggle .active-down {
  background: rgba(201, 75, 75, 0.12);
  color: #ad3030;
  box-shadow: inset 0 0 0 1px rgba(201,75,75,0.24);
}

.ema-options button {
  background: #ffffff;
  color: #0f172a;
  border-color: rgba(15,23,42,0.12);
}
.ema-options .active-ema {
  border-color: rgba(15,118,110,0.36);
  background: rgba(15,118,110,0.08);
}

.decision-main,
.postmarket-result-panel .decision-main {
  background: linear-gradient(145deg, #0f766e, #0b5f59);
  border-color: rgba(214,168,79,0.34);
  color: #ffffff;
  box-shadow: 0 18px 42px rgba(15,118,110,0.20), inset 0 1px 0 rgba(255,255,255,0.16);
}
.decision-card span,
.decision-card small { color: rgba(255,255,255,0.78); }
.decision-card strong { color: #fff2bd; }

.result-box {
  background: #ffffff;
  border-color: rgba(15,23,42,0.10);
  box-shadow: 0 10px 28px rgba(15,23,42,0.08), inset 0 1px 0 rgba(255,255,255,0.9);
}
.result-box small {
  color: #0b5f59;
}
.postmarket-result-panel,
.result-fullscreen {
  background: rgba(255,255,255,0.92);
}
.postmarket-cards .result-box,
.result-grid-clean .result-box {
  background: linear-gradient(145deg, #ffffff, #f4f8f8);
  border-color: rgba(15,118,110,0.14);
}

.pill.bullish { color: #087047; background: rgba(22,135,93,0.10); border-color: rgba(22,135,93,0.24); }
.pill.bearish { color: #ad3030; background: rgba(201,75,75,0.10); border-color: rgba(201,75,75,0.24); }
.pill.danger { color: #ad3030; background: rgba(201,75,75,0.14); border-color: rgba(201,75,75,0.30); }
.pill.neutral, .pill.muted { color: #8a6415; background: rgba(214,168,79,0.13); border-color: rgba(214,168,79,0.20); }
.message { color: #0b5f59; font-weight: 800; }

.market-watermark::before {
  opacity: .12;
  background-image: url("data:image/svg+xml,%3Csvg width='360' height='220' viewBox='0 0 360 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23BFC8CD' stroke-width='5' stroke-linecap='round'%3E%3Cpath d='M30 172C76 132 106 156 146 118s72-66 118-34 52 0 72-30'/%3E%3C/g%3E%3Cg stroke-width='3'%3E%3Cpath d='M65 62v92' stroke='%23BFC8CD'/%3E%3Crect x='54' y='88' width='22' height='42' rx='4' fill='%23FFFFFF' stroke='%23AAB5BB'/%3E%3Cpath d='M132 36v124' stroke='%23BFC8CD'/%3E%3Crect x='121' y='72' width='22' height='64' rx='4' fill='%23D6DEE2' stroke='%239AA7AE'/%3E%3Cpath d='M202 58v104' stroke='%23BFC8CD'/%3E%3Crect x='191' y='82' width='22' height='54' rx='4' fill='%23FFFFFF' stroke='%23AAB5BB'/%3E%3Cpath d='M280 38v126' stroke='%23BFC8CD'/%3E%3Crect x='269' y='70' width='22' height='76' rx='4' fill='%23D6DEE2' stroke='%239AA7AE'/%3E%3C/g%3E%3C/svg%3E");
}

.compact-note {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  padding: 0.75rem 0.9rem;
}
.journal-result-card {
  margin-top: 1.1rem;
  padding: 1rem;
  border-radius: 22px;
}
.journal-result-card .journal-fields {
  grid-template-columns: 1fr;
}

@media (max-width: 980px) {
  body::before { opacity: .11; }
}

/* v9 · acceso, prueba y administración */
.access-mini {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  padding: 12px;
  display: grid;
  gap: 4px;
  background: rgba(255,255,255,.08);
}
.access-mini span { font-weight: 900; letter-spacing: .02em; }
.access-mini small { color: rgba(255,255,255,.74); line-height: 1.35; }
.access-mini.access-ok { box-shadow: inset 4px 0 0 rgba(29, 154, 124, .95); }
.access-mini.access-danger { box-shadow: inset 4px 0 0 rgba(198, 65, 65, .95); }
.blocked-card { max-width: 560px; }
.blocked-box {
  margin: 18px 0;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(7, 118, 110, .18);
  background: rgba(7, 118, 110, .08);
  display: grid;
  gap: 6px;
}
.blocked-box strong { color: var(--petrol, #07766e); }
.blocked-box span { color: var(--muted, #5d6b78); }
.whatsapp-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  margin-top: 8px;
}
.admin-panel { overflow: hidden; }
.admin-table-wrap {
  overflow-x: auto;
  border-radius: 20px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(255,255,255,.62);
}
.admin-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
}
.admin-table th,
.admin-table td {
  padding: 14px 12px;
  text-align: left;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  vertical-align: middle;
}
.admin-table th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted, #5d6b78);
  background: rgba(236, 239, 241, .85);
}
.admin-table td strong { display: block; color: var(--text, #0f172a); }
.admin-table td small { display: block; max-width: 220px; overflow: hidden; text-overflow: ellipsis; color: var(--muted, #5d6b78); }
.admin-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.small-btn { min-height: 34px; padding: 8px 10px; font-size: 12px; border-radius: 12px; }

/* v10 · corrección visual de estados de acceso y administración */
.access-mini {
  background: linear-gradient(145deg, #0b5f59, #0f766e) !important;
  border: 1px solid rgba(214, 168, 79, 0.28) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 26px rgba(15, 118, 110, 0.18), inset 4px 0 0 rgba(214, 168, 79, 0.95) !important;
}
.access-mini span {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  width: fit-content;
  padding: 0.26rem 0.62rem;
  line-height: 1;
}
.access-mini small {
  color: #eaf7f5 !important;
  font-weight: 700;
}
.access-mini.access-danger {
  background: linear-gradient(145deg, #8f2f35, #c94b4b) !important;
  box-shadow: 0 10px 26px rgba(201, 75, 75, 0.16), inset 4px 0 0 rgba(255, 226, 160, 0.98) !important;
}
.access-mini.access-danger span {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff !important;
}
.access-mini.access-danger small { color: #fff0f0 !important; }

/* Que el bloque del usuario no compita visualmente con el estado de acceso */
.user-card {
  background: rgba(255,255,255,0.58) !important;
  color: #334155 !important;
  border-color: rgba(15,23,42,0.10) !important;
}

/* Admin: títulos y etiqueta perfectamente legibles */
.admin-panel .eyebrow {
  display: inline-flex;
  width: fit-content;
  background: rgba(15, 118, 110, 0.10);
  color: #0b5f59 !important;
  border: 1px solid rgba(15, 118, 110, 0.18);
  padding: 0.34rem 0.65rem;
  border-radius: 999px;
  letter-spacing: 0.12em;
}
.admin-panel h2 {
  color: #0f172a !important;
  font-weight: 950;
}
.admin-panel .section-note {
  color: #364955 !important;
  background: #e6f0ef !important;
  border-color: rgba(15, 118, 110, 0.18) !important;
  font-weight: 650;
}
.admin-table td:nth-child(5) {
  color: #0b5f59 !important;
  font-weight: 900;
  background: rgba(15,118,110,0.06);
  border-radius: 12px;
}
.admin-table .pill {
  font-weight: 950;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.55);
}

/* Mejor contraste de la sección de navegación activa */
.sidebar nav .nav-active {
  box-shadow: 0 10px 24px rgba(15,118,110,0.18);
  font-weight: 900;
}

/* v11 · capacitación y Post-mercado */
.admin-stack { gap: 1.25rem; }
.training-panel, .training-admin, .postmarket-result-panel, .result-fullscreen {
  background: linear-gradient(145deg, rgba(246, 248, 249, 0.96), rgba(232, 239, 241, 0.96));
  border-color: rgba(16, 86, 96, 0.16);
}
.training-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  margin-top: 1.2rem;
}
.training-card {
  overflow: hidden;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid rgba(16, 86, 96, 0.14);
  box-shadow: 0 18px 45px rgba(31, 48, 56, 0.11);
}
.video-frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, #dfe7ea, #f7f9fa);
  display: grid;
  place-items: center;
  border-bottom: 1px solid rgba(16, 86, 96, 0.12);
}
.video-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.video-placeholder {
  color: #62717c;
  font-weight: 800;
}
.training-card-body {
  padding: 1rem;
}
.training-card-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  color: var(--petrol);
  font-weight: 900;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.training-card-body h3 {
  margin: 0.65rem 0 0.45rem;
  color: #10222b;
}
.training-card-body p {
  margin: 0;
  color: #5f6f78;
  line-height: 1.55;
}
.training-locked {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}
.training-lock-icon {
  width: 76px;
  height: 76px;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(14, 90, 100, 0.16), rgba(214, 168, 79, 0.22));
  font-size: 2rem;
}
.training-form-card, .training-edit-card, .range-card {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(16, 86, 96, 0.14);
  border-radius: 22px;
  padding: 1rem;
  box-shadow: 0 14px 38px rgba(31, 48, 56, 0.08);
}
.training-form-card { margin: 1rem 0; }
.training-admin-list {
  display: grid;
  gap: 1rem;
}
.training-edit-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.9rem;
}
.training-form-grid textarea { min-height: 74px; }
.empty-state {
  padding: 1.25rem;
  border: 1px dashed rgba(16, 86, 96, 0.25);
  border-radius: 20px;
  color: #62717c;
  background: rgba(255, 255, 255, 0.52);
}
.range-card {
  margin: 1rem 0;
}
.range-card h3 { margin-bottom: 0.25rem; }
.range-card p, .range-card small { color: #63747d; }
.compact-grid { margin-bottom: 0.65rem; }
.post-decision-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
@media (max-width: 760px) {
  .training-grid { grid-template-columns: 1fr; }
  .training-edit-head { align-items: flex-start; flex-direction: column; }
}

/* PRO v3 · Journals separados y ciclo de vida del trade */
.journal-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 1rem;
  align-items: start;
}
.strategy-journal h3 {
  color: var(--gold-soft);
  margin: 0.5rem 0 0.75rem;
}
.compact-history {
  gap: 0.65rem;
}
.pro-calc-card,
.trade-card {
  border-color: rgba(214, 168, 79, 0.16);
}
.trade-open {
  background: linear-gradient(135deg, rgba(214, 168, 79, 0.12), rgba(5,7,10,0.34));
}
.trade-closed {
  opacity: 0.92;
}
.trade-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.4rem;
}
.small-btn {
  padding: 0.55rem 0.72rem;
  border-radius: 12px;
  font-size: 0.82rem;
}
.closed-title {
  margin-top: 1.25rem !important;
}
@media (max-width: 980px) {
  .journal-columns { grid-template-columns: 1fr; }
}

/* PRO v4 · Interfaz Opción 2: Pizarra clara + Oro suave */
:root {
  --black: #FAF7F2;
  --black-2: #F4EFE7;
  --panel: #FFFFFF;
  --panel-2: #FFFDFC;
  --petrol: #0D3866;
  --petrol-2: #0F172A;
  --gold: #D6A84F;
  --gold-soft: #EBC878;
  --white: #0F172A;
  --muted: #64748B;
  --danger: #B42318;
  --success: #047857;
  --border: rgba(15, 23, 42, 0.10);
  --shadow: 0 18px 46px rgba(15, 23, 42, 0.09);
}
body {
  background:
    radial-gradient(circle at top left, rgba(214, 168, 79, 0.13), transparent 34rem),
    radial-gradient(circle at bottom right, rgba(13, 56, 102, 0.08), transparent 32rem),
    #FAF7F2;
  color: #0F172A;
}
body::before { opacity: 0.04; }
body::after {
  background:
    linear-gradient(120deg, transparent 0%, rgba(214,168,79,0.06) 44%, transparent 66%),
    radial-gradient(circle at 70% 18%, rgba(13,56,102,0.08), transparent 18rem);
}
.sidebar {
  background: linear-gradient(180deg, #0F172A, #101D2F);
  border-right: 1px solid rgba(255,255,255,0.09);
  color: #FFFFFF;
}
.logo-wrap, .sidebar nav button, .logout { color: #FFFFFF; }
.logo-wrap small, .sidebar-footer .user-card, .access-mini small { color: rgba(255,255,255,0.72); }
.sidebar nav button:hover, .sidebar nav .nav-active {
  background: linear-gradient(135deg, rgba(214,168,79,0.92), rgba(235,200,120,0.92));
  color: #0F172A;
  border-color: rgba(214,168,79,0.52);
}
.sidebar nav .nav-active { font-weight: 900; }
.user-card, .access-mini {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.10);
}
.brand-mark {
  background: linear-gradient(135deg, #D6A84F, #EBC878);
  color: #0F172A;
  box-shadow: 0 12px 28px rgba(214,168,79,0.22);
}
.auth-card, .panel, .reading-card, .accordion-block, .mini-table-card, .result-box, .history-card, .stat-card, .training-form-card, .training-edit-card, .range-card {
  background: rgba(255,255,255,0.88);
  color: #0F172A;
  border-color: rgba(15,23,42,0.09);
  box-shadow: var(--shadow);
}
.panel::before {
  background: linear-gradient(135deg, rgba(214,168,79,0.08), transparent 28%, transparent 78%, rgba(13,56,102,0.07));
}
h1, h2, h3, h4, .reading-card h4, .mini-table-card h4, .strategy-journal h3 {
  color: #0F172A;
}
.eyebrow, label, .section-title {
  color: #B88919;
}
.section-note {
  color: #516174;
  background: rgba(214,168,79,0.10);
  border-color: rgba(214,168,79,0.24);
}
input, textarea, select {
  background: #FFFFFF;
  color: #0F172A;
  border-color: rgba(15,23,42,0.14);
}
select option { background: #FFFFFF; color: #0F172A; }
input:focus, textarea:focus, select:focus {
  border-color: rgba(214,168,79,.70);
  box-shadow: 0 0 0 4px rgba(214,168,79,0.15);
}
.primary {
  background: linear-gradient(135deg, #D6A84F, #F0D38B);
  color: #0F172A;
  box-shadow: 0 12px 30px rgba(214,168,79,0.24);
}
.secondary {
  background: #FFFFFF;
  color: #0F172A;
  border-color: rgba(15,23,42,0.14);
}
.danger-btn {
  color: #B42318 !important;
  border-color: rgba(180,35,24,0.25) !important;
  background: rgba(180,35,24,0.05) !important;
}
.toggle {
  background: #F8FAFC;
  border: 1px solid rgba(15,23,42,0.08);
}
.toggle .active-up { background: rgba(4,120,87,0.12); color: #047857; }
.toggle .active-down { background: rgba(180,35,24,0.10); color: #B42318; }
.ema-options button {
  background: #FFFFFF;
  color: #0F172A;
  border-color: rgba(15,23,42,0.10);
}
.ema-options .active-ema {
  border-color: rgba(214,168,79,0.68);
  background: rgba(214,168,79,0.11);
}
.pill.bullish { color: #047857; background: rgba(4,120,87,0.10); border-color: rgba(4,120,87,0.24); }
.pill.bearish, .pill.danger { color: #B42318; background: rgba(180,35,24,0.08); border-color: rgba(180,35,24,0.22); }
.pill.muted, .pill.neutral { color: #B88919; background: rgba(214,168,79,0.13); border-color: rgba(214,168,79,0.25); }
.hero-result, .result-card, .trade-open {
  background: linear-gradient(135deg, #0D3866, #0F172A);
  color: #FFFFFF;
  border-color: rgba(214,168,79,0.20);
}
.hero-result span, .hero-result p, .trade-open p, .trade-open small, .trade-open strong { color: rgba(255,255,255,0.86); }
.hero-result strong { color: #FFFFFF; }
.result-detail p, .history-card p, .mini-table-card td, .reading-row span, .mini-direction span, .card-subtitle, .ema-options small, .auth-card p, .training-card-body p {
  color: #64748B;
}
.stat-card {
  background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(250,247,242,0.92));
}
.stat-card span { color: #64748B; }
.stat-card strong { color: #0D3866; }
.trade-card .trade-actions { justify-content: flex-start; }
.strategy-analytics { margin-top: 1rem; }
.strategy-stats { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
@media (max-width: 1180px) {
  .sidebar nav button, .logout { color: #FFFFFF; }
}


/* PRO v5 - historial de cálculos por fecha */
.calc-history-tools {
  display: flex;
  align-items: end;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,0.035);
}
.calc-history-tools > div:first-child { min-width: 220px; }
.calculation-detail-panel {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(214,168,79,0.32);
  border-radius: 22px;
  background: rgba(214,168,79,0.08);
}
.calculation-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}
.calculation-detail-grid > div {
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,0.045);
}
.calculation-detail-panel details {
  margin-top: 0.75rem;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 0.8rem;
  background: rgba(0,0,0,0.12);
}
.calculation-detail-panel summary { cursor: pointer; color: var(--gold-soft); font-weight: 800; }
.calculation-detail-panel pre { max-height: 360px; }
@media (max-width: 760px) { .calculation-detail-grid { grid-template-columns: 1fr; } }

.automation-card {
  display: grid;
  gap: 1rem;
  margin: 1rem 0 1.25rem;
  padding: 1rem;
  border: 1px solid rgba(214, 168, 79, 0.22);
  border-radius: 20px;
  background: rgba(14, 90, 100, 0.18);
}
.json-loader-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0.8rem;
  align-items: end;
}
.file-loader {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 45px;
  margin: 0;
  color: var(--gold-soft);
}
.file-loader input { display: none; }
@media (max-width: 900px) {
  .json-loader-grid { grid-template-columns: 1fr; }
}

/* Fix resultado matriz de transición: mostrar Sistemático, Racional y decisión EMA */
.transition-breakdown {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0.75rem 0;
}
.transition-mini-result {
  border: 1px solid rgba(15, 118, 110, 0.18);
  background: rgba(15, 118, 110, 0.08);
  border-radius: 16px;
  padding: 0.75rem;
}
.transition-mini-result span {
  display: block;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--petrol-2);
  margin-bottom: 0.28rem;
}
.transition-mini-result strong {
  display: block;
  font-size: 1.05rem;
  color: var(--white);
  margin-bottom: 0.22rem;
}
.transition-mini-result small {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
}
@media (max-width: 720px) {
  .transition-breakdown { grid-template-columns: 1fr; }
}


/* =========================
   VOLKOV PREMIUM UI
   Capa visual v2 — no altera lógica de cálculo
   ========================= */
:root{
  --vk-bg:#070b12;
  --vk-surface:#0d1420;
  --vk-surface-2:#111b2a;
  --vk-border:rgba(154,173,204,.14);
  --vk-text:#f4f7fb;
  --vk-muted:#8f9db2;
  --vk-accent:#b7ff4a;
  --vk-accent-soft:rgba(183,255,74,.12);
  --vk-positive:#42d392;
  --vk-negative:#ff6b7d;
  --vk-warning:#ffc857;
  --vk-radius:18px;
  --vk-shadow:0 24px 70px rgba(0,0,0,.28);
}
body{
  background:
    radial-gradient(circle at 85% -10%,rgba(61,108,168,.18),transparent 34rem),
    linear-gradient(180deg,#080d15 0%,#060910 100%);
  color:var(--vk-text);
}
.app-shell{background:transparent}
.sidebar{
  background:rgba(8,13,21,.94);
  border-right:1px solid var(--vk-border);
  backdrop-filter:blur(18px);
}
.logo-wrap{padding-bottom:24px;border-bottom:1px solid var(--vk-border)}
.logo-wrap strong{font-size:18px;letter-spacing:.02em}
.logo-wrap small{color:var(--vk-muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px}
.brand-mark{
  background:linear-gradient(145deg,var(--vk-accent),#6fe7c8);
  color:#071009;
  box-shadow:0 10px 30px rgba(183,255,74,.18);
  border-radius:14px;
  font-weight:900;
}
.brand-mark.large{width:62px;height:62px;font-size:28px}
.sidebar nav button{
  border:1px solid transparent;
  border-radius:12px;
  color:#9da9ba;
  font-weight:650;
  letter-spacing:.01em;
}
.sidebar nav button:hover{background:rgba(255,255,255,.035);color:#fff}
.sidebar nav .nav-active{
  background:var(--vk-accent-soft);
  color:var(--vk-accent);
  border-color:rgba(183,255,74,.18);
  box-shadow:inset 3px 0 0 var(--vk-accent);
}
.content{max-width:1680px;padding:34px 40px 56px}
.panel,.reading-card,.history-card,.stat-card,.analytics-card,.calculation-detail-panel{
  background:linear-gradient(180deg,rgba(17,27,42,.94),rgba(12,19,30,.94));
  border:1px solid var(--vk-border);
  border-radius:var(--vk-radius);
  box-shadow:none;
}
.panel{padding:28px}
.panel h2{letter-spacing:-.03em}
.eyebrow{color:var(--vk-accent);letter-spacing:.14em;font-weight:800}
.section-note,.panel p,.history-card p{color:var(--vk-muted)}
.primary{
  background:var(--vk-accent);
  color:#071009;
  border:none;
  box-shadow:0 10px 28px rgba(183,255,74,.14);
  font-weight:800;
}
.primary:hover{transform:translateY(-1px);filter:brightness(1.04)}
.secondary{border-color:var(--vk-border);background:rgba(255,255,255,.025);color:#dbe3ef}
input,select,textarea{
  background:#090f18;
  border:1px solid rgba(154,173,204,.18);
  color:var(--vk-text);
  border-radius:11px;
}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{
  outline:2px solid var(--vk-accent);
  outline-offset:2px;
}
.pill{border:1px solid var(--vk-border)}
.pill.bullish{background:rgba(66,211,146,.12);color:#69e6ab}
.pill.danger,.pill.bearish{background:rgba(255,107,125,.12);color:#ff8997}
.pill.neutral{background:rgba(143,157,178,.1);color:#c3ccda}

/* Acceso y onboarding */
.volkov-auth{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.75fr);
  gap:26px;
  max-width:1120px;
  margin:auto;
  padding:28px;
  align-items:stretch;
}
.auth-brand-panel,.auth-card{
  border:1px solid var(--vk-border);
  border-radius:24px;
  box-shadow:var(--vk-shadow);
}
.auth-brand-panel{
  padding:56px;
  background:
    linear-gradient(145deg,rgba(183,255,74,.08),transparent 45%),
    linear-gradient(180deg,#101a29,#0a1019);
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:600px;
}
.auth-brand-panel h1{font-size:clamp(40px,5vw,68px);line-height:1.02;letter-spacing:-.055em;margin:18px 0}
.auth-brand-panel>p:not(.eyebrow){max-width:600px;color:#aab5c5;font-size:18px;line-height:1.65}
.auth-proof{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.auth-proof span{border:1px solid var(--vk-border);padding:10px 14px;border-radius:999px;color:#ccd5e2;font-size:12px}
.auth-card{background:#0c131e;padding:38px}
.auth-card h2{font-size:30px;letter-spacing:-.035em}
.trial-overlay{
  position:fixed;inset:0;z-index:9999;
  display:grid;place-items:center;padding:22px;
  background:rgba(2,5,9,.82);backdrop-filter:blur(14px);
}
.trial-modal{
  width:min(540px,100%);padding:38px;
  background:linear-gradient(160deg,#131f2e,#0b111b 68%);
  border:1px solid rgba(183,255,74,.28);
  border-radius:26px;box-shadow:0 35px 100px rgba(0,0,0,.55);
  text-align:center;
}
.trial-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:var(--vk-accent);color:#061008;font-size:28px;font-weight:900}
.trial-modal h2{font-size:36px;letter-spacing:-.04em;margin:8px 0 14px}
.trial-modal p{color:#aeb9c8;line-height:1.65}
.trial-value{display:flex;align-items:center;justify-content:space-between;margin:24px 0;padding:16px 18px;background:var(--vk-accent-soft);border:1px solid rgba(183,255,74,.18);border-radius:14px}
.trial-value strong{font-size:22px;color:var(--vk-accent)}
.trial-continue{width:100%;margin-top:10px}
.blocked-card{max-width:600px;text-align:center}
.blocked-box{background:rgba(183,255,74,.07);border-color:rgba(183,255,74,.18)}

/* Journal tipo plataforma profesional */
.journal-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px}
.journal-hero-metric{min-width:150px;padding:18px 22px;border:1px solid var(--vk-border);border-radius:16px;background:rgba(255,255,255,.02)}
.journal-hero-metric span{display:block;color:var(--vk-muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.journal-hero-metric strong{font-size:36px;letter-spacing:-.04em}
.strategy-journal{overflow:hidden}
.calc-history-tools{background:rgba(7,11,18,.38);padding:16px;border-radius:14px;border:1px solid var(--vk-border)}
.journal-columns{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:20px}
.history-card{
  transition:border-color .2s ease,transform .2s ease;
  padding:18px;
}
.history-card:hover{border-color:rgba(183,255,74,.24);transform:translateY(-1px)}
.trade-card{position:relative}
.trade-card:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--vk-muted)}
.trade-card.trade-open:before{background:var(--vk-warning)}
.trade-card.trade-closed:before{background:var(--vk-positive)}
.trade-actions{gap:8px;flex-wrap:wrap}

/* Estadísticas */
.analytics-hero{
  background:
    radial-gradient(circle at 90% 10%,rgba(183,255,74,.1),transparent 24rem),
    linear-gradient(180deg,rgba(17,27,42,.96),rgba(12,19,30,.96));
}
.professional-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat-card{padding:20px;min-height:130px;display:flex;flex-direction:column;justify-content:space-between}
.stat-card span{color:var(--vk-muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.stat-card strong{font-size:30px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.stat-card small{color:#738198}
.stat-card.stat-featured{border-color:rgba(183,255,74,.18);background:linear-gradient(160deg,rgba(183,255,74,.07),rgba(17,27,42,.95) 48%)}
.analytics-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;margin-top:18px}
.analytics-card{padding:22px}
.analytics-card h3{margin-top:0}
.distribution-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:#090e16;margin:26px 0 14px}
.distribution-bar i{display:block;min-width:0}
.dist-tp{background:var(--vk-positive)}
.dist-sl{background:var(--vk-negative)}
.dist-be{background:var(--vk-warning)}
.dist-skip{background:#536074}
.legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--vk-muted);font-size:12px}
.score-ring{
  width:150px;height:150px;border-radius:50%;margin:16px auto 0;
  display:grid;place-items:center;text-align:center;
  background:conic-gradient(var(--vk-accent) calc(var(--score)*1%),rgba(255,255,255,.06) 0);
  position:relative;
}
.score-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#0d1521}
.score-ring strong,.score-ring span{position:relative;z-index:1}
.score-ring strong{font-size:28px}
.score-ring span{display:block;width:90px;color:var(--vk-muted);font-size:11px}

/* Resultados guardados en tarjetas */
.saved-result-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.saved-result-cards article{padding:16px;background:#090f18;border:1px solid var(--vk-border);border-radius:13px}
.saved-result-cards span{display:block;color:var(--vk-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.saved-result-cards strong{font-size:18px;font-variant-numeric:tabular-nums}
.calculation-detail-panel details{background:#090f18;border-color:var(--vk-border)}
.calculation-detail-panel pre{white-space:pre-wrap;word-break:break-word;color:#b8c4d5}

@media (max-width:980px){
  .volkov-auth{grid-template-columns:1fr;max-width:680px}
  .auth-brand-panel{min-height:auto;padding:38px}
  .professional-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-grid,.journal-columns{grid-template-columns:1fr}
}
@media (max-width:700px){
  .content{padding:20px 14px 90px}
  .panel{padding:20px}
  .professional-stats,.saved-result-cards{grid-template-columns:1fr}
  .journal-hero{grid-template-columns:1fr}
  .journal-hero-metric{min-width:0}
  .volkov-auth{padding:14px}
  .auth-brand-panel{padding:28px;min-height:360px}
  .auth-brand-panel h1{font-size:40px}
  .auth-card{padding:26px 22px}
  .trial-modal{padding:28px 22px}
  .trial-modal h2{font-size:30px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* =========================================================
   VOLKOV REBUILD — PREMIUM FRONTEND LAYER
   Visual-only overrides. Strategy and calculation logic unchanged.
   ========================================================= */
:root{
  --ink:#07090d;--ink-2:#0b0f15;--surface:#10151d;--surface-2:#151b24;
  --surface-3:#1b222d;--line:rgba(255,255,255,.08);--line-strong:rgba(255,255,255,.14);
  --text:#f7f9fc;--text-2:#c8d0db;--muted:#8691a1;--accent:#93a4ff;
  --accent-2:#6777ff;--bull:#45d6a0;--bear:#ff667d;--warning:#efc56c;
  --shadow-lg:0 36px 90px rgba(0,0,0,.44);--shadow-md:0 18px 50px rgba(0,0,0,.28);
  --radius-xl:30px;--radius-lg:22px;--radius-md:16px;
}
html{background:var(--ink);scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 76% -10%,rgba(103,119,255,.12),transparent 28rem),
    linear-gradient(180deg,#080b10 0%,#07090d 100%);
  color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:-.01em;
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 85%)}
h1,h2,h3,h4,p{margin-top:0} h1,h2,h3{letter-spacing:-.045em} h2{font-size:clamp(1.85rem,3vw,3rem);line-height:1.02} h3{font-size:1.15rem}
button,input,textarea,select{font:inherit}button{transition:transform .22s ease,border-color .22s ease,background .22s ease,opacity .22s ease}
button:hover:not(:disabled){transform:translateY(-1px)}
input,textarea,select{background:#0b1017;border:1px solid var(--line-strong);color:var(--text);border-radius:14px;padding:.9rem 1rem}
input:focus,textarea:focus,select:focus{border-color:rgba(147,164,255,.75);box-shadow:0 0 0 4px rgba(103,119,255,.12)}
label{color:var(--text-2);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.primary{background:linear-gradient(135deg,#a7b3ff,#6e7cff);color:#070913;border:0;border-radius:14px;padding:.92rem 1.1rem;font-weight:850;box-shadow:0 14px 34px rgba(103,119,255,.22)}
.primary:hover{box-shadow:0 18px 44px rgba(103,119,255,.32)}
.secondary,.ghost-action{background:rgba(255,255,255,.035);color:var(--text);border:1px solid var(--line-strong);border-radius:14px;padding:.82rem 1rem;font-weight:700}
.secondary:hover,.ghost-action:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.23)}
.eyebrow{color:#9eabbb;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:850}
.section-note{color:var(--muted);line-height:1.7;max-width:72ch}
.panel{background:linear-gradient(180deg,rgba(18,24,33,.92),rgba(12,16,23,.94));border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.35rem}
.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.message{background:rgba(147,164,255,.08);border:1px solid rgba(147,164,255,.2);color:#d9deff;border-radius:14px;padding:.85rem 1rem}

/* shell */
.premium-shell{grid-template-columns:258px minmax(0,1fr)}
.sidebar{background:rgba(8,11,16,.92);border-right:1px solid var(--line);padding:1.15rem;height:100vh;backdrop-filter:blur(24px)}
.logo-wrap{padding:.55rem .45rem 1.1rem;border-bottom:1px solid var(--line);gap:.8rem}
.logo-wrap strong{font-size:.98rem;letter-spacing:.18em}.logo-wrap small{font-size:.67rem;color:var(--muted);letter-spacing:.04em}
.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#b8c1ff,#6574ff 58%,#3843a7);color:#070913;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 12px 26px rgba(75,89,220,.25);font-weight:950}
.sidebar nav{gap:.32rem;margin-top:.4rem}.sidebar nav button{border-radius:13px;padding:.78rem .82rem;color:#aeb8c6;font-weight:680}
.sidebar nav button:hover,.sidebar nav .nav-active{background:linear-gradient(90deg,rgba(103,119,255,.14),rgba(103,119,255,.04));border-color:rgba(147,164,255,.15);color:white}
.nav-icon{width:24px;color:#8d9bff;font-size:1.05rem;text-align:center}
.sidebar-footer{gap:.55rem}.access-mini,.user-card{background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:14px;padding:.8rem}
.user-avatar{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#1e2633;color:#cbd3ff;font-weight:900;flex:0 0 auto}
.logout{margin:0;color:#9da7b5}
.content{padding:0 2rem 2rem;max-width:1680px;width:100%;margin:0 auto}
.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:1.5rem}
.topbar h1{font-size:1.35rem;margin:.18rem 0 0}.topbar-kicker{color:#707b8c;font-size:.63rem;letter-spacing:.18em;font-weight:850}
.market-status{display:flex;align-items:center;gap:.55rem;color:#aeb7c5;font-size:.78rem}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--bull);box-shadow:0 0 0 5px rgba(69,214,160,.08),0 0 18px rgba(69,214,160,.55)}

/* dashboard */
.dashboard-stack{display:grid;gap:1rem}
.hero-dashboard{min-height:330px;position:relative;overflow:hidden;border:1px solid rgba(147,164,255,.14);border-radius:var(--radius-xl);padding:clamp(1.6rem,4vw,3.2rem);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;background:radial-gradient(circle at 78% 42%,rgba(95,109,255,.18),transparent 24rem),linear-gradient(135deg,#111722,#090d13);box-shadow:var(--shadow-lg)}
.hero-dashboard:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.025),transparent 40%);pointer-events:none}
.hero-copy{position:relative;z-index:2;max-width:700px}.hero-copy h2{font-size:clamp(2.5rem,5vw,5rem);max-width:780px;margin:.8rem 0 1rem}.hero-copy p{color:#aeb7c4;font-size:1.04rem;line-height:1.7;max-width:610px}.hero-actions{display:flex;gap:.7rem;margin-top:1.7rem}
.orbital-visual,.auth-orb{position:relative;width:min(320px,70vw);aspect-ratio:1;justify-self:center;display:grid;place-items:center;perspective:900px}
.orbital-core{width:88px;aspect-ratio:1;display:grid;place-items:center;border-radius:28px;background:linear-gradient(145deg,#c3caff,#6a78ff);color:#090b16;font-size:2.1rem;font-weight:950;box-shadow:0 0 75px rgba(103,119,255,.48),inset 0 1px 0 white;animation:coreFloat 6s ease-in-out infinite}
.orbit{position:absolute;border:1px solid rgba(171,181,255,.28);border-radius:50%;box-shadow:inset 0 0 38px rgba(103,119,255,.04)}
.orbit-a{inset:14%;animation:spin3d 15s linear infinite}.orbit-b{inset:4%;transform:rotateX(68deg);animation:spinReverse 20s linear infinite}.orbit-c{inset:25%;transform:rotateY(66deg);animation:spin3d 11s linear infinite}
.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.metric-strip article{padding:1.25rem;border-radius:20px;background:#0e131b;border:1px solid var(--line)}.metric-strip span,.metric-strip small{display:block;color:var(--muted)}.metric-strip span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.metric-strip strong{display:block;font-size:1.85rem;margin:.45rem 0}.metric-strip small{font-size:.74rem}
.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem}.compact-signal{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}.compact-signal>div{padding:1rem;border-radius:16px;background:#0b1017;border:1px solid var(--line)}.compact-signal span,.compact-signal strong{display:block}.compact-signal span{color:var(--muted);font-size:.72rem}.compact-signal strong{margin-top:.35rem;font-size:1.15rem}.focus-steps{display:grid;gap:.65rem;margin-top:1rem}.focus-steps>div{display:flex;gap:.8rem;align-items:center;padding:.8rem;border-radius:14px;background:#0b1017;border:1px solid var(--line)}.focus-steps b{color:#8f9cff}.focus-steps span,.focus-steps small{display:block}.focus-steps small{color:var(--muted);margin-top:.15rem}

/* premarket wizard */
.premarket-workspace{display:grid;gap:1rem}.premarket-header{display:flex;justify-content:space-between;gap:1rem;align-items:end;padding:1.55rem}.premarket-header h2{margin:.35rem 0 .7rem}.date-field{min-width:170px}
.premium-wizard{padding:0;overflow:hidden}.premium-wizard .automation-box{margin:1.2rem}.wizard-meta{display:flex;justify-content:space-between;padding:1.25rem 1.5rem .7rem;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.wizard-meta strong{color:#c7ceff}.wizard-progress{height:3px;background:#1b2330;margin:0 1.5rem}.wizard-progress div{height:100%;background:linear-gradient(90deg,#6675ff,#b0b9ff);box-shadow:0 0 16px rgba(103,119,255,.8)}
.wizard-step-header{padding:2rem 1.5rem 1rem;display:flex;gap:1rem;align-items:center}.wizard-step-header>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(103,119,255,.12);border:1px solid rgba(147,164,255,.2);color:#a9b2ff;font-weight:900}.wizard-step-header h3{font-size:1.35rem;margin:0 0 .25rem}.wizard-step-header p{margin:0;color:var(--muted)}
.wizard-step-content{padding:0 1.5rem 1.5rem}.wizard-actions{border-top:1px solid var(--line);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(0,0,0,.12)}.wizard-dots{display:flex;gap:.35rem}.wizard-dots button{width:30px;height:30px;border-radius:10px;border:1px solid var(--line);background:#0a0f15;color:#697486;font-size:.72rem}.wizard-dots .dot-active{background:#6f7dff;color:#080a13;border-color:#8e99ff;font-weight:900}.calculate-cta{min-width:180px}

/* result */
.result-experience{display:grid;gap:1rem;--signal:#93a4ff;--signal-rgb:147,164,255}
.result-experience.signal-bull{--signal:var(--bull);--signal-rgb:69,214,160}.result-experience.signal-bear{--signal:var(--bear);--signal-rgb:255,102,125}
.signal-hero{position:relative;overflow:hidden;border-radius:30px;padding:1.5rem;border:1px solid rgba(var(--signal-rgb),.25);background:radial-gradient(circle at 16% 0%,rgba(var(--signal-rgb),.19),transparent 28rem),linear-gradient(135deg,#111822,#090d13);box-shadow:0 30px 80px rgba(0,0,0,.4)}
.signal-glow{position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(var(--signal-rgb),.18);filter:blur(70px);right:-50px;top:-80px;animation:pulseGlow 4s ease-in-out infinite}
.signal-topline{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center}.signal-main{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;align-items:end;padding-top:2rem}
.signal-direction span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.signal-direction strong{display:block;color:var(--signal);font-size:clamp(4rem,10vw,8.5rem);line-height:.86;letter-spacing:-.075em;text-transform:uppercase;text-shadow:0 0 42px rgba(var(--signal-rgb),.18)}.signal-direction p{color:#b7c0cd;margin:1rem 0 0}
.signal-kpis{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.signal-kpis article{background:rgba(7,10,15,.58);border:1px solid rgba(var(--signal-rgb),.17);border-radius:18px;padding:1rem}.signal-kpis span,.signal-kpis small{display:block}.signal-kpis span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.signal-kpis strong{font-size:1.65rem;margin:.5rem 0}.signal-kpis small{color:#929dac;line-height:1.45}
.result-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.transition-card,.confirmations-card,.save-calculation-card{min-height:100%}.transition-content{margin-top:1rem;padding:1rem;border-radius:17px;background:#0a0f15;border:1px solid var(--line)}.confirmation-count{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(var(--signal-rgb),.1);color:var(--signal);border:1px solid rgba(var(--signal-rgb),.18)}
.confirmation-list{display:grid;gap:.55rem;margin-top:1rem}.confirmation-list>div{display:grid;grid-template-columns:38px 1fr auto;gap:.75rem;align-items:center;padding:.78rem;border-radius:14px;background:#0a0f15;border:1px solid var(--line)}.confirmation-list span{color:#788396;font-size:.7rem}.confirmation-list b{color:var(--bull);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.conflict-note{margin-top:.8rem;padding:.85rem;border-radius:14px;background:rgba(255,102,125,.06);border:1px solid rgba(255,102,125,.16)}.conflict-note span,.conflict-note strong{display:block}.conflict-note span{font-size:.68rem;color:#d9939e;text-transform:uppercase}.conflict-note strong{margin-top:.3rem}
.save-calculation-card{display:grid;grid-template-columns:.8fr 1.2fr auto;gap:1.2rem;align-items:end}.journal-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.journal-fields label{grid-column:auto}.journal-fields input,.journal-fields textarea{min-height:48px}.save-calculation-card .result-actions{display:flex;flex-direction:column}

/* auth */
.volkov-auth{padding:0;grid-template-columns:1.1fr .9fr;display:grid;background:#07090d}.auth-brand-panel{min-height:100vh;position:relative;overflow:hidden;padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 70% 35%,rgba(103,119,255,.18),transparent 25rem),linear-gradient(145deg,#101620,#080b10);border-right:1px solid var(--line)}
.auth-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(black,transparent)}
.brand-lockup{position:relative;z-index:2;display:flex;align-items:center;gap:.85rem;letter-spacing:.2em}.brand-mark.large{width:54px;height:54px;border-radius:17px}.auth-copy{position:relative;z-index:2;max-width:760px}.auth-copy h1{font-size:clamp(3rem,6vw,6.6rem);line-height:.9;margin:.8rem 0 1.2rem}.auth-copy>p:last-child{color:#aeb7c5;font-size:1.02rem;line-height:1.7;max-width:620px}.auth-proof{position:relative;z-index:2;display:flex;gap:1.4rem;color:#a8b1c0}.auth-proof b{color:#8e9aff;margin-right:.35rem}.auth-orb{position:absolute;right:-4%;top:8%;opacity:.58;width:360px}
.auth-form-panel{display:grid;place-items:center;padding:2rem}.auth-card{width:min(440px,100%);background:transparent;border:0;box-shadow:none;padding:0}.auth-card h2{font-size:2.15rem;margin:.5rem 0}.auth-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}.auth-card form{gap:.75rem}.link-button{color:#aab4ff;margin-top:1rem}

/* generic legacy readability */
.card,.result-box,.stat-card,.analytics-card,.journal-card,.calculation-card,.training-card{background:#0d131b!important;border-color:var(--line)!important;color:var(--text)!important}
p,small,.section-note,.muted{color:var(--muted)}strong,h1,h2,h3,h4{color:var(--text)}
.pill{border:1px solid var(--line-strong);background:#111722}.pill.bullish,.bullish{color:var(--bull)!important}.pill.bearish,.bearish,.danger{color:var(--bear)!important}
.empty-premium{padding:1rem;border-radius:15px;background:#0a0f15;border:1px dashed var(--line-strong)}.empty-premium span{font-weight:800}.empty-premium p{margin:.35rem 0 0;color:var(--muted)}
.analytics-hero,.journal-hero{background:radial-gradient(circle at 90% 0%,rgba(103,119,255,.12),transparent 20rem),linear-gradient(135deg,#111722,#0b1017)}
table{color:var(--text)}th{color:#929dad}td{border-color:var(--line)}
@keyframes coreFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}@keyframes spin3d{to{transform:rotate(360deg) rotateX(58deg)}}@keyframes spinReverse{to{transform:rotate(-360deg) rotateX(68deg)}}@keyframes pulseGlow{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}
@media(max-width:1100px){.premium-shell{grid-template-columns:86px 1fr}.logo-wrap>div:last-child,.sidebar nav button span:last-child,.sidebar-footer .access-mini,.user-card span:last-child{display:none}.sidebar{padding:.8rem}.sidebar nav button{justify-content:center}.content{padding:0 1rem 1rem}.hero-dashboard,.signal-main{grid-template-columns:1fr}.orbital-visual{position:absolute;right:-80px;opacity:.35}.metric-strip{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.result-layout{grid-template-columns:1fr}.save-calculation-card{grid-template-columns:1fr}.save-calculation-card .result-actions{flex-direction:row}}
@media(max-width:760px){.premium-shell{display:block}.sidebar{position:fixed;z-index:50;left:0;right:0;bottom:0;top:auto;width:auto;height:70px;padding:.45rem;background:rgba(8,11,16,.96);border-top:1px solid var(--line);border-right:0}.logo-wrap,.sidebar-footer{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(5,1fr);margin:0;gap:.2rem}.sidebar nav button{padding:.65rem}.nav-icon{font-size:1rem}.content{padding:0 .75rem 84px}.topbar{height:72px}.market-status{display:none}.hero-dashboard{min-height:440px;padding:1.25rem}.hero-copy h2{font-size:2.7rem}.hero-actions{flex-direction:column}.orbital-visual{right:-120px;bottom:-120px;top:auto}.metric-strip{grid-template-columns:1fr 1fr;gap:.65rem}.dashboard-grid{grid-template-columns:1fr}.compact-signal{grid-template-columns:1fr}.premarket-header{display:block}.date-field{margin-top:1rem}.wizard-dots{display:none}.wizard-actions{gap:.5rem}.signal-direction strong{font-size:3.6rem}.signal-kpis{grid-template-columns:1fr}.signal-topline{align-items:flex-start}.signal-topline .result-actions{display:grid}.journal-fields{grid-template-columns:1fr}.volkov-auth{grid-template-columns:1fr}.auth-brand-panel{min-height:42vh;padding:1.4rem}.auth-copy h1{font-size:3rem}.auth-proof,.auth-orb{display:none}.auth-form-panel{padding:1.5rem}.confirmation-list>div{grid-template-columns:30px 1fr}.confirmation-list b{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* =========================================================
   VOLKOV · Readability & account controls patch
   Visual-only corrections. No strategy/calculation changes.
   ========================================================= */

/* Subscription / access card */
.sidebar-footer{gap:.75rem}
.access-mini{
  position:relative;
  overflow:hidden;
  padding:14px!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,#111a2a,#0c1320)!important;
  border:1px solid rgba(148,163,184,.22)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.28)!important;
  color:#f8fafc!important;
}
.access-mini::after{
  content:"";
  position:absolute;
  inset:auto -35% -75% 20%;
  height:90px;
  background:radial-gradient(circle,rgba(103,119,255,.22),transparent 68%);
  pointer-events:none;
}
.access-mini.access-ok{box-shadow:0 14px 34px rgba(0,0,0,.28),inset 3px 0 0 #8e9aff!important}
.access-mini.access-danger{box-shadow:0 14px 34px rgba(0,0,0,.28),inset 3px 0 0 #ff667d!important}
.access-eyebrow{
  position:relative;
  z-index:1;
  display:block;
  color:#aeb8ca!important;
  font-size:.62rem!important;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.access-countdown{
  position:relative;
  z-index:1;
  display:block;
  margin:.28rem 0 .18rem;
  color:#fff!important;
  font-size:1.28rem;
  line-height:1.1;
  letter-spacing:-.02em;
}
.access-detail{
  position:relative;
  z-index:1;
  display:block;
  color:#c8d0dd!important;
  font-size:.7rem;
  line-height:1.4;
}

/* Account identity and logout */
.user-card{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr);
  gap:.65rem;
  align-items:center;
  padding:.7rem!important;
  border:1px solid rgba(148,163,184,.15)!important;
  border-radius:14px!important;
  background:#0c121c!important;
  color:#f8fafc!important;
}
.user-card-admin{
  background:linear-gradient(145deg,rgba(103,119,255,.13),#0c121c)!important;
  border-color:rgba(142,154,255,.28)!important;
}
.user-identity{min-width:0;display:block!important}
.user-identity small{
  display:block;
  margin-bottom:.12rem;
  color:#a7b2c4!important;
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.user-identity strong{
  display:block;
  overflow:hidden;
  color:#fff!important;
  font-size:.69rem;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.user-avatar{
  background:linear-gradient(145deg,#8e9aff,#6f7be8)!important;
  color:#080b12!important;
  box-shadow:0 8px 22px rgba(103,119,255,.25);
}
.logout-button{
  width:100%;
  min-height:42px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:12px!important;
  background:#151d2a!important;
  color:#f8fafc!important;
  font-weight:800!important;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
}
.logout-button:hover{
  background:#202a3a!important;
  border-color:rgba(255,255,255,.3)!important;
  transform:translateY(-1px);
}
.logout-button:focus-visible{outline:3px solid rgba(142,154,255,.42);outline-offset:2px}

/* Transition matrix labels */
.transition-mini-result{
  background:linear-gradient(145deg,#14223a,#101927)!important;
  border-color:rgba(142,154,255,.28)!important;
}
.transition-mini-result span{
  color:#f8fafc!important;
  opacity:1!important;
}
.transition-mini-result strong{color:#fff!important}
.transition-mini-result small{color:#c5cedb!important}
.transition-content,
.transition-card,
.transition-breakdown{color:#f8fafc}
.transition-content p,
.transition-content small,
.transition-card p,
.transition-card small{color:#bdc7d6!important}

/* Global dark/blue surface contrast */
[style*="background: blue"],
[style*="background-color: blue"]{color:#fff!important}
.panel,
.card,
.result-box,
.stat-card,
.analytics-card,
.journal-card,
.calculation-card,
.command-card,
.signal-main,
.reading-card{
  color:#f8fafc;
}
.panel p,.panel small,.panel label,
.card p,.card small,.card label,
.reading-card p,.reading-card small,.reading-card label{
  color:#b8c2d1;
}
.panel h1,.panel h2,.panel h3,.panel h4,
.card h1,.card h2,.card h3,.card h4{color:#fff}

/* Admin readability */
.admin-panel,.training-admin{
  background:linear-gradient(145deg,#101722,#0b1018)!important;
  border-color:rgba(148,163,184,.17)!important;
}
.admin-panel .section-note,
.training-admin .section-note{color:#c1cad7!important}
.admin-table-wrap{
  border:1px solid rgba(148,163,184,.18);
  border-radius:16px;
  overflow:auto;
  background:#090e16;
}
.admin-table{background:#090e16!important;color:#f8fafc!important}
.admin-table thead{background:#151d2a!important}
.admin-table th{
  color:#dce3ed!important;
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-table td{
  color:#e6ebf2!important;
  border-color:rgba(148,163,184,.13)!important;
}
.admin-table td strong{color:#fff!important}
.admin-table td small{
  display:block;
  margin-top:.25rem;
  color:#9eabbc!important;
}
.admin-table tbody tr:hover{background:#111927!important}
.admin-actions .secondary{
  background:#151e2c!important;
  color:#edf2f8!important;
  border-color:rgba(148,163,184,.23)!important;
}
.admin-actions .secondary:hover{background:#202b3c!important}

/* Training cards and admin video forms */
.training-card,
.training-form-card,
.training-edit-card,
.range-card{
  background:linear-gradient(145deg,#111923,#0c121b)!important;
  border-color:rgba(148,163,184,.18)!important;
  color:#f8fafc!important;
  box-shadow:0 18px 44px rgba(0,0,0,.22)!important;
}
.video-frame{
  background:linear-gradient(135deg,#172235,#0c121c)!important;
  border-color:rgba(148,163,184,.16)!important;
}
.video-placeholder{color:#d5dce7!important}
.training-card-head{color:#cdd5e1!important}
.training-card-head small{color:#9faabd!important}
.training-card-body h3,
.training-form-card h3,
.training-edit-card strong,
.range-card h3{color:#fff!important}
.training-card-body p,
.training-form-card p,
.training-edit-card p,
.range-card p,
.range-card small{color:#b7c1cf!important}
.training-form-card label,
.training-edit-card label{
  color:#d9e0e9!important;
  font-weight:750;
}
.training-form-card input,
.training-form-card textarea,
.training-form-card select,
.training-edit-card input,
.training-edit-card textarea,
.training-edit-card select{
  background:#080d14!important;
  border-color:rgba(148,163,184,.22)!important;
  color:#fff!important;
}
.training-form-card input::placeholder,
.training-form-card textarea::placeholder,
.training-edit-card input::placeholder,
.training-edit-card textarea::placeholder{color:#748196!important}
.training-form-card select option,
.training-edit-card select option{background:#0b111a;color:#fff}
.empty-state{
  background:#0b111a!important;
  color:#b8c2d1!important;
  border-color:rgba(148,163,184,.25)!important;
}

/* Pills and blue status blocks */
.pill.neutral{color:#d6deea!important;background:#182131!important}
.pill.bullish{background:rgba(66,211,146,.1)!important}
.pill.danger,.pill.bearish{background:rgba(255,107,125,.1)!important}
.message{
  color:#eef2f7!important;
  background:#162133!important;
  border-color:rgba(142,154,255,.25)!important;
}

/* Journal wording area */
.journal-hero .section-note{max-width:760px;color:#c0c9d6!important}
.journal-hero-metric span{color:#aeb9c9!important}
.journal-hero-metric strong{color:#fff!important}

@media(max-width:1100px){
  .sidebar-footer .access-mini{display:none!important}
}


/* =========================================================
   VOLKOV · Final contrast + 24h admin visibility patch
   ========================================================= */

/* Light wizard headers must use dark text */
.wizard-step-header{
  background:#edf3f7!important;
  border-color:#cbd7e2!important;
}
.wizard-step-header > span{
  background:#dfe7ff!important;
  color:#6677f5!important;
  border:1px solid #c7d2fe!important;
}
.wizard-step-header h3{
  color:#132033!important;
  text-shadow:none!important;
}
.wizard-step-header p{
  color:#607086!important;
}

/* Choices: never render pale text over pale cards */
.ema-options button{
  background:#121b28!important;
  border-color:#304055!important;
  color:#f8fafc!important;
}
.ema-options button strong{
  color:#f8fafc!important;
  opacity:1!important;
}
.ema-options button small{
  color:#b8c4d4!important;
  opacity:1!important;
}
.ema-options button:hover{
  background:#192537!important;
  border-color:#61708a!important;
}
.ema-options .active-ema{
  background:#222720!important;
  border-color:#b79439!important;
  box-shadow:inset 0 0 0 1px rgba(214,168,79,.16)!important;
}
.ema-options .active-ema strong{color:#fff!important}
.ema-options .active-ema small{color:#cbd5e1!important}

/* Admin hero and notes */
.admin-panel .panel-header h2,
.admin-panel .panel-header h1{
  color:#f8fafc!important;
}
.admin-panel .eyebrow{
  color:#59d7c8!important;
}
.admin-panel .section-note{
  background:#13202a!important;
  border:1px solid #2a4652!important;
  color:#e6edf5!important;
  box-shadow:none!important;
}
.admin-panel .section-note strong{color:#fff!important}

/* Table: dark header rather than unreadable gray-on-gray */
.admin-table thead,
.admin-table thead tr{
  background:#182231!important;
}
.admin-table th{
  background:#182231!important;
  color:#f1f5f9!important;
  opacity:1!important;
}
.admin-table td{
  background:#09111b!important;
  color:#f1f5f9!important;
}
.admin-table tbody tr:nth-child(even) td{
  background:#0c1520!important;
}
.admin-table td:nth-child(5){
  background:#0b1b24!important;
}
.admin-time-value{
  color:#5eead4!important;
  font-weight:900!important;
  white-space:nowrap;
}

/* Buttons must stay readable */
.admin-actions .primary{
  background:linear-gradient(135deg,#8793ff,#6977ef)!important;
  color:#070b12!important;
  border-color:transparent!important;
  text-shadow:none!important;
}
.admin-actions .primary:hover{filter:brightness(1.08)}
.admin-actions .secondary{
  background:#172234!important;
  color:#f8fafc!important;
}
.admin-panel .secondary[data-action="admin-refresh"]{
  background:#17202c!important;
  color:#fff!important;
  border-color:#39485b!important;
}

/* Any accidental light surface gets dark typography */
.panel [style*="background:#fff"],
.panel [style*="background: #fff"],
.panel [style*="background:white"],
.panel [style*="background: white"]{
  color:#142033!important;
}


/* === VOLKOV JOURNAL & ANALYTICS PRO UPGRADE === */
.journal-workspace{display:grid;gap:22px}
.journal-command{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 28px;background:linear-gradient(135deg,rgba(13,23,38,.98),rgba(8,15,25,.98));border:1px solid rgba(125,147,181,.18)}
.journal-command h2{max-width:760px;margin:.25rem 0 .5rem;font-size:clamp(1.65rem,2.4vw,2.55rem);letter-spacing:-.04em}
.journal-month-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.journal-month-control strong{text-transform:capitalize;min-width:160px;text-align:center;color:#f4f7fb}
.icon-btn{width:42px;height:42px;border-radius:12px;border:1px solid rgba(150,170,200,.22);background:#111c2c;color:#fff;font-size:1.1rem;cursor:pointer}
.icon-btn:hover{transform:translateY(-1px);border-color:rgba(142,156,255,.65)}
.journal-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.journal-kpi{position:relative;overflow:hidden;padding:20px 22px;border:1px solid rgba(139,158,190,.16);border-radius:18px;background:linear-gradient(180deg,rgba(17,28,44,.96),rgba(10,18,30,.96));box-shadow:0 16px 42px rgba(0,0,0,.18)}
.journal-kpi:after{content:"";position:absolute;inset:auto -20% -60% 40%;height:120px;background:radial-gradient(circle,rgba(91,118,255,.18),transparent 68%);pointer-events:none}
.journal-kpi span,.journal-kpi small{display:block;color:#aab8cc}
.journal-kpi strong{display:block;margin:7px 0 6px;font-size:clamp(1.65rem,2.5vw,2.35rem);letter-spacing:-.04em;color:#f7f9fc}
.journal-kpi-featured{border-color:rgba(80,220,161,.35);background:linear-gradient(145deg,rgba(14,45,40,.92),rgba(10,20,31,.96))}
.journal-chart-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.journal-chart-card,.analytics-chart-grid .analytics-card{min-height:330px}
.journal-chart{width:100%;height:235px;color:#49d99e;overflow:visible}
.chart-axis{stroke:rgba(173,190,214,.17);stroke-width:1}
.chart-line-positive,.chart-line-negative{stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 6px 12px rgba(58,217,151,.18))}
.chart-line-positive{stroke:#45d49a}.chart-line-negative{stroke:#ff6d75}
.chart-positive{color:#45d49a}.chart-negative{color:#ff6d75}
.chart-empty{min-height:210px;display:grid;place-items:center;text-align:center;color:#8291a8;border:1px dashed rgba(137,158,190,.18);border-radius:16px;background:rgba(5,11,19,.32)}
.daily-bars{height:230px;display:flex;align-items:flex-end;gap:10px;overflow-x:auto;padding:16px 4px 4px}
.daily-bar-item{appearance:none;border:0;background:transparent;color:#eaf0f7;display:grid;grid-template-rows:140px auto auto;gap:5px;min-width:54px;cursor:pointer;text-align:center}
.daily-bar-item:hover{transform:translateY(-2px)}
.daily-bar-track{height:140px;display:flex;align-items:flex-end;justify-content:center;border-radius:11px;background:rgba(124,145,176,.07);overflow:hidden}
.daily-bar-track i{display:block;width:24px;border-radius:7px 7px 2px 2px;box-shadow:0 0 24px currentColor}
.bar-win{background:#44d197;color:#44d197}.bar-loss{background:#ff6871;color:#ff6871}
.daily-bar-item strong{font-size:.78rem}.daily-bar-item small{color:#7f8da4;font-size:.68rem}
.journal-calendar-shell{padding:24px}
.calendar-detail-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:18px;align-items:start}
.journal-calendar{min-width:0}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;color:#8190a7;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.calendar-cell{min-height:112px;border-radius:14px;border:1px solid rgba(126,146,177,.14);padding:11px;text-align:left;display:flex;flex-direction:column;gap:7px;background:#0c1624;color:#eef3f9;cursor:pointer;transition:.2s ease}
.calendar-cell:hover{transform:translateY(-2px);border-color:rgba(139,156,255,.48)}
.calendar-cell.is-selected{outline:2px solid rgba(139,156,255,.85);outline-offset:1px}
.calendar-cell strong{font-size:1rem}.calendar-cell small{color:#9ba9bc;line-height:1.35}.calendar-day{font-size:.76rem;color:#7d8ba1;font-weight:800}
.calendar-win{background:linear-gradient(145deg,rgba(15,68,52,.92),rgba(10,31,31,.96));border-color:rgba(69,211,151,.3)}
.calendar-loss{background:linear-gradient(145deg,rgba(80,28,35,.92),rgba(31,16,23,.96));border-color:rgba(255,104,113,.3)}
.calendar-flat{background:linear-gradient(145deg,rgba(27,43,78,.95),rgba(15,24,42,.96));border-color:rgba(108,135,255,.25)}
.calendar-neutral{opacity:.78}.calendar-empty{background:transparent;border-style:dashed;cursor:default}
.calendar-legend{display:flex;gap:14px;flex-wrap:wrap}.calendar-legend span{display:flex;align-items:center;gap:6px;color:#aab7c8;font-size:.78rem}.calendar-legend i{width:8px;height:8px;border-radius:50%}
.legend-win{background:#44d197}.legend-loss{background:#ff6871}.legend-flat{background:#7892ff}
.journal-day-panel{position:sticky;top:20px;border:1px solid rgba(139,158,190,.16);border-radius:18px;background:linear-gradient(180deg,#111b2a,#0a131f);padding:18px;max-height:760px;overflow:auto}
.day-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.day-summary-grid>div{padding:11px;border-radius:12px;background:rgba(122,144,175,.07);border:1px solid rgba(122,144,175,.11)}
.day-summary-grid span{display:block;color:#8392a8;font-size:.68rem}.day-summary-grid strong{display:block;color:#fff;margin-top:3px}
.day-detail-list{display:grid;gap:10px}.day-trade-card{display:flex;justify-content:space-between;gap:12px;padding:13px;border-radius:14px;background:#0b1522;border:1px solid rgba(133,153,184,.14)}
.day-trade-card>div:first-child{display:grid;gap:5px}.day-trade-card strong{color:#f5f8fc}.day-trade-card small{color:#9ba9bc}
.linked-calculations{border-top:1px solid rgba(126,146,177,.14);margin-top:18px;padding-top:16px}.linked-calculations h4{margin:0 0 12px}
.calculation-library{padding:24px}.calculation-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.result-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 11px;border-radius:999px;font-weight:800;font-size:.82rem}
.result-chip.positive{background:rgba(66,211,151,.14);color:#66e7af;border:1px solid rgba(66,211,151,.28)}
.result-chip.negative{background:rgba(255,104,113,.14);color:#ff8a91;border:1px solid rgba(255,104,113,.28)}
.analytics-filter-bar{display:grid;grid-template-columns:1.1fr 1fr 1fr auto;gap:12px;align-items:end;margin:20px 0;padding:15px;border-radius:16px;background:#0b1522;border:1px solid rgba(131,151,182,.14)}
.analytics-filter-bar label{display:block;margin:0 0 7px;color:#a8b5c7;font-size:.78rem;font-weight:700}
.analytics-filter-bar select,.analytics-filter-bar input{width:100%;min-height:44px;border-radius:11px;border:1px solid rgba(137,157,189,.2);background:#111d2c;color:#f4f7fb;padding:0 12px}
.analytics-chart-grid{margin-top:18px}.analytics-chart-grid .analytics-card{padding:20px}
.empty-copy,.muted{color:#8796aa}

@media (max-width:1100px){
  .journal-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journal-chart-grid,.calendar-detail-layout{grid-template-columns:1fr}
  .journal-day-panel{position:relative;top:auto;max-height:none}
  .analytics-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .journal-command{align-items:flex-start;flex-direction:column}
  .journal-month-control{justify-content:flex-start}
  .journal-kpi-grid,.calculation-library-grid,.analytics-filter-bar{grid-template-columns:1fr}
  .journal-calendar{overflow-x:auto;padding-bottom:6px}
  .calendar-weekdays,.calendar-grid{min-width:760px}
  .calendar-cell{min-height:100px}
  .journal-chart-grid{grid-template-columns:1fr}
  .day-trade-card{flex-direction:column}
}


/* Journal trade lifecycle */
.open-trades-desk{padding:24px;border-color:rgba(139,156,255,.28);background:linear-gradient(145deg,rgba(19,30,48,.98),rgba(8,16,28,.98))}
.open-trade-count{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border-radius:999px;background:rgba(139,156,255,.14);border:1px solid rgba(139,156,255,.3);color:#dfe4ff;font-weight:800}
.open-trades-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.trade-card{display:grid;gap:13px}
.trade-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.trade-card-heading p,.trade-card-result p{margin:4px 0 0}
.trade-close-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;background:#08131f;border:1px solid rgba(135,155,187,.18)}
.trade-close-label{color:#d7dfeb;font-size:.78rem;font-weight:800;letter-spacing:.03em}
.trade-outcome-actions{display:flex;gap:8px}
.outcome-btn{min-width:54px;min-height:40px;padding:8px 13px;border-radius:11px;border:1px solid transparent;color:#fff;font-weight:900;letter-spacing:.04em;cursor:pointer;transition:transform .18s ease,filter .18s ease,border-color .18s ease}
.outcome-btn:hover{transform:translateY(-1px);filter:brightness(1.12)}
.outcome-btn:focus-visible{outline:3px solid rgba(255,255,255,.3);outline-offset:2px}
.outcome-tp{background:rgba(41,164,111,.22);border-color:rgba(72,221,155,.45);color:#7af0b8}
.outcome-be{background:rgba(82,107,161,.22);border-color:rgba(130,157,219,.42);color:#dbe5ff}
.outcome-sl{background:rgba(190,54,67,.22);border-color:rgba(255,104,113,.45);color:#ff9ba1}
.trade-close-box.is-compact{display:grid;gap:8px;padding:10px}
.trade-close-box.is-compact .trade-outcome-actions{width:100%}
.trade-close-box.is-compact .outcome-btn{flex:1;min-width:0}
.day-trade-controls{display:grid;gap:9px;min-width:210px}
.trade-open{box-shadow:inset 3px 0 0 rgba(139,156,255,.7)}
.trade-closed{opacity:.96}

@media (max-width:900px){
  .open-trades-grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .trade-close-box{align-items:stretch;flex-direction:column}
  .trade-outcome-actions{width:100%}
  .outcome-btn{flex:1}
  .day-trade-controls{min-width:0}
}


/* Journal: cierre único y biblioteca plegable */
.day-trade-pending-note {
  display: inline-flex;
  align-items: center;
  max-width: 18rem;
  color: var(--text-secondary, #b8c2d9);
  font-size: .78rem;
  line-height: 1.45;
}

.calculation-library {
  overflow: hidden;
}

.calculation-library-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.calculation-library-toggle > span:first-child {
  display: grid;
  gap: .3rem;
}

.calculation-library-toggle strong {
  color: #f8fafc;
  font-size: 1rem;
}

.calculation-library-toggle small {
  color: #aeb9ce;
  line-height: 1.45;
}

.library-chevron {
  width: 2.45rem;
  height: 2.45rem;
  flex: 0 0 2.45rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: .8rem;
  background: rgba(15, 23, 42, .72);
  color: #f8fafc;
  font-size: 1.2rem;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.calculation-library-toggle:hover .library-chevron,
.calculation-library-toggle:focus-visible .library-chevron {
  border-color: rgba(129, 140, 248, .72);
  background: rgba(79, 70, 229, .18);
}

.calculation-library-content {
  margin-top: 1.15rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(148, 163, 184, .14);
  animation: libraryReveal .22s ease both;
}

@keyframes libraryReveal {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .calculation-library-content { animation: none; }
  .library-chevron { transition: none; }
}


/* Journal record management */
.journal-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}
.journal-reset-btn {
  min-height: 42px;
  border-color: rgba(239, 68, 68, .38) !important;
  color: #fecaca !important;
  background: rgba(127, 29, 29, .18) !important;
}
.journal-reset-btn:hover,
.journal-reset-btn:focus-visible {
  border-color: rgba(248, 113, 113, .75) !important;
  background: rgba(153, 27, 27, .30) !important;
  color: #fff !important;
}
.day-trade-card .trade-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media (max-width: 760px) {
  .journal-header-actions,
  .journal-month-control {
    width: 100%;
  }
  .journal-reset-btn {
    width: 100%;
  }
}

/* Administración · eliminación segura de usuarios */
.admin-delete-btn {
  color: #ffe7e7;
  background: rgba(185, 28, 28, 0.18);
  border: 1px solid rgba(248, 113, 113, 0.48);
  box-shadow: none;
}
.admin-delete-btn:hover,
.admin-delete-btn:focus-visible {
  color: #ffffff;
  background: rgba(220, 38, 38, 0.34);
  border-color: rgba(252, 165, 165, 0.9);
  transform: translateY(-1px);
}


/* Volkov Playbook + Comunidad privada */
.community-panel,
.community-admin,
.community-locked {
  overflow: hidden;
}

.community-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 32px;
  align-items: center;
  min-height: 250px;
  padding: 36px;
  border: 1px solid rgba(108, 127, 255, 0.22);
  border-radius: 24px;
  background:
    radial-gradient(circle at 85% 50%, rgba(105, 124, 255, 0.18), transparent 30%),
    linear-gradient(145deg, rgba(17, 28, 47, 0.98), rgba(8, 16, 29, 0.98));
}

.community-hero h2 {
  max-width: 700px;
  margin: 8px 0 14px;
  color: #f6f8ff;
  font-size: clamp(2rem, 4vw, 3.55rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.community-hero p {
  max-width: 720px;
  color: #b7c1d6;
  line-height: 1.75;
}

.community-orbit {
  position: relative;
  display: grid;
  width: 145px;
  height: 145px;
  place-items: center;
  margin: auto;
  border: 1px solid rgba(125, 143, 255, 0.45);
  border-radius: 50%;
  box-shadow: inset 0 0 45px rgba(84, 105, 255, 0.18), 0 0 55px rgba(67, 89, 255, 0.15);
  animation: communityFloat 5s ease-in-out infinite;
}

.community-orbit::before,
.community-orbit::after {
  position: absolute;
  content: "";
  border: 1px solid rgba(85, 226, 190, 0.25);
  border-radius: 50%;
  inset: -18px;
  transform: rotateX(68deg);
}

.community-orbit::after {
  inset: 18px -25px;
  border-color: rgba(125, 143, 255, 0.28);
  transform: rotateY(68deg);
}

.community-orbit span {
  color: #ffffff;
  font-size: 3rem;
  font-weight: 900;
  text-shadow: 0 0 24px rgba(113, 131, 255, 0.8);
}

.community-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.community-principles article {
  min-height: 160px;
  padding: 22px;
  border: 1px solid #26354c;
  border-radius: 18px;
  background: #0d1726;
}

.community-principles article > span {
  display: inline-flex;
  margin-bottom: 25px;
  color: #7f91ff;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.community-principles strong {
  display: block;
  color: #f5f7ff;
  font-size: 1.05rem;
}

.community-principles p,
.community-access-card p,
.community-disclaimer {
  color: #aab6cc;
  line-height: 1.6;
}

.community-access-card {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  border: 1px solid rgba(57, 211, 162, 0.3);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(20, 58, 58, 0.58), rgba(12, 24, 39, 0.95));
}

.community-access-card small {
  display: block;
  margin-bottom: 5px;
  color: #65e3bd;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.community-access-card strong {
  color: #ffffff;
  font-size: 1.35rem;
}

.community-join {
  flex: 0 0 auto;
  text-decoration: none;
}

.community-disclaimer {
  margin: 18px 4px 0;
  font-size: 0.82rem;
}

.community-admin-form {
  display: grid;
  gap: 12px;
  padding: 22px;
  border: 1px solid #2a3850;
  border-radius: 18px;
  background: #0b1523;
}

.community-admin-form label {
  color: #edf2ff;
  font-weight: 750;
}

.community-admin-form input {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid #34445f;
  border-radius: 12px;
  outline: none;
  background: #101d2f;
  color: #ffffff;
}

.community-admin-form input::placeholder {
  color: #78879f;
}

.community-admin-form input:focus {
  border-color: #7a8cff;
  box-shadow: 0 0 0 3px rgba(122, 140, 255, 0.14);
}

.community-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.community-icon {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  margin-bottom: 18px;
  border: 1px solid rgba(122, 140, 255, 0.35);
  border-radius: 20px;
  background: rgba(122, 140, 255, 0.12);
  color: #aab5ff;
  font-size: 1.8rem;
}

.community-locked h2 {
  color: #ffffff;
}

@keyframes communityFloat {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-9px) rotate(2deg); }
}

@media (max-width: 820px) {
  .community-hero {
    grid-template-columns: 1fr;
    padding: 26px;
  }
  .community-orbit {
    display: none;
  }
  .community-principles {
    grid-template-columns: 1fr;
  }
  .community-access-card {
    align-items: stretch;
    flex-direction: column;
  }
  .community-join {
    width: 100%;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .community-orbit { animation: none; }
}
