@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&display=swap");

:root {
  --bg0: #07090c;
  --bg1: #0e1412;
  --panel: #121a17;
  --panel2: #18211d;
  --line: #2a3a33;
  --text: #e8f0ea;
  --muted: #8fa396;
  --accent: #d4e04a;
  --accent2: #9ccf4c;
  --good: #3dce7a;
  --bad: #ff6b7a;
  --warn: #f0c14a;
  --call: #3dce7a;
  --font: "IBM Plex Sans", "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --display: "Fraunces", Georgia, serif;
  --topbar-bg: rgba(7,9,12,.88);
  --pill-bg: #1d2a22;
  --input-bg: #0b100e;
  --grid-line: rgba(212,224,74,.06);
  --brand-ink: #10140c;
}

/* Paletas por usuario (estilo Melasur) */
body[data-theme="clasico"] {
  --bg0: #f0f2f5;
  --bg1: #e8ebef;
  --panel: #ffffff;
  --panel2: #eef1f5;
  --line: #c5ccd6;
  --text: #1a1a1a;
  --muted: #5f6368;
  --accent: #0078d4;
  --accent2: #005a9e;
  --good: #107c10;
  --bad: #d13438;
  --warn: #ca5010;
  --call: #107c10;
  --topbar-bg: rgba(255,255,255,.92);
  --pill-bg: #e8f1fb;
  --input-bg: #ffffff;
  --grid-line: rgba(0,120,212,.08);
  --brand-ink: #ffffff;
}

body[data-theme="minimalista"] {
  --bg0: #ffffff;
  --bg1: #f8f9fa;
  --panel: #f8f9fa;
  --panel2: #eef0f3;
  --line: #dadce0;
  --text: #202124;
  --muted: #5f6368;
  --accent: #1a73e8;
  --accent2: #1557b0;
  --good: #188038;
  --bad: #d93025;
  --warn: #e37400;
  --call: #188038;
  --topbar-bg: rgba(255,255,255,.94);
  --pill-bg: #e8f0fe;
  --input-bg: #ffffff;
  --grid-line: rgba(26,115,232,.07);
  --brand-ink: #ffffff;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font);
  color: var(--text);
  background: radial-gradient(1200px 600px at 10% -10%, color-mix(in srgb, var(--accent) 18%, transparent) 0%, transparent 55%),
              radial-gradient(900px 500px at 90% 0%, color-mix(in srgb, var(--accent2) 14%, transparent) 0%, transparent 50%),
              var(--bg0);
  min-height: 100vh;
}
.bg-grid {
  position: fixed; inset: 0; pointer-events: none; opacity: 0.18;
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
}
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

.topbar {
  position: sticky; top: 0; z-index: 20;
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
  padding: .85rem 1.25rem;
  background: var(--topbar-bg);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(10px);
}
.brand { display: flex; align-items: center; gap: .55rem; color: var(--text); text-decoration: none; }
.brand-mark {
  width: 2rem; height: 2rem; border-radius: .55rem;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color: var(--brand-ink); font-weight: 700; font-family: var(--display);
}
.brand-text { font-family: var(--display); font-weight: 700; letter-spacing: .02em; }
.nav { display: flex; gap: .35rem; flex: 1; flex-wrap: wrap; }
.nav a {
  color: var(--muted); padding: .4rem .7rem; border-radius: .5rem; text-decoration: none; font-size: .92rem;
}
.nav a:hover, .nav a.active { color: var(--text); background: var(--panel2); }
.top-meta { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.pill {
  font-size: .78rem; padding: .28rem .55rem; border-radius: .45rem;
  background: var(--pill-bg); border: 1px solid var(--line); color: var(--accent);
}
.pill.muted { color: var(--muted); }
.link-quiet { color: var(--muted); font-size: .85rem; }

.wrap { width: min(1180px, calc(100% - 2rem)); margin: 1.25rem auto 3rem; position: relative; }
.footer {
  text-align: center; color: var(--muted); font-size: .8rem;
  padding: 1rem; border-top: 1px solid var(--line);
}

.hero {
  display: grid; gap: 1.25rem;
  grid-template-columns: 1.3fr .9fr;
  align-items: end;
  margin-bottom: 1.5rem;
  padding: 1.5rem 0 1rem;
}
.hero h1 {
  font-family: var(--display); font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.05; margin: 0 0 .6rem; font-weight: 700;
}
.hero p { margin: 0; color: var(--muted); max-width: 36rem; font-size: 1.05rem; }
.hero-actions { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: 1.1rem; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  border: 0; border-radius: .55rem; padding: .7rem 1rem; font-weight: 600;
  cursor: pointer; font-family: inherit; font-size: .95rem; text-decoration: none;
}
.btn-primary { background: var(--accent); color: #12160c; }
.btn-primary:hover { filter: brightness(1.05); text-decoration: none; }
.btn-ghost { background: transparent; color: var(--text); border: 1px solid var(--line); }
.btn-ghost:hover { background: var(--panel2); text-decoration: none; }
.btn-danger { background: #3a1a20; color: var(--bad); border: 1px solid #5a2832; }
.btn-sm { padding: .35rem .6rem; font-size: .8rem; }

.grid-2 { display: grid; grid-template-columns: 1.35fr .9fr; gap: 1rem; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.panel {
  background: linear-gradient(180deg, var(--panel), var(--bg1));
  border: 1px solid var(--line);
  border-radius: .9rem;
  padding: 1rem 1.1rem;
}
.panel h2, .panel h3 { margin: 0 0 .75rem; font-family: var(--display); font-weight: 600; }
.panel h2 { font-size: 1.15rem; color: var(--accent); letter-spacing: .04em; text-transform: uppercase; }
.muted { color: var(--muted); }
.stat {
  background: var(--panel2); border: 1px solid var(--line); border-radius: .7rem; padding: .85rem;
}
.stat .label { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.stat .value { font-family: var(--mono); font-size: 1.4rem; margin-top: .25rem; }

.form-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem .8rem;
}
label.field { display: flex; flex-direction: column; gap: .28rem; font-size: .8rem; color: var(--muted); }
label.field span { display: flex; align-items: center; gap: .3rem; }
input, select, textarea {
  background: var(--input-bg); color: var(--text); border: 1px solid var(--line);
  border-radius: .5rem; padding: .55rem .65rem; font: inherit;
}
input:focus, select:focus, textarea:focus { outline: 1px solid var(--accent); border-color: var(--accent); }
textarea { min-height: 4.5rem; resize: vertical; }
.check-row { display: flex; gap: 1rem; flex-wrap: wrap; margin: .8rem 0; }
.check-row label { display: flex; align-items: center; gap: .4rem; color: var(--text); font-size: .9rem; }
.form-actions { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; margin-top: 1rem; }
.status-line { color: var(--muted); font-size: .85rem; }

.decision {
  border-radius: .9rem; padding: 1rem 1.1rem; border: 1px solid var(--line);
  background: var(--panel2); color: var(--text);
}
.decision.trade { border-color: #2f6b45; background: linear-gradient(180deg, #12261b, #0d1511); color: var(--text); }
.decision.notrade { border-color: #6b2f3a; background: linear-gradient(180deg, #261217, #120d0e); color: var(--text); }
.decision .eyebrow {
  font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600;
}
.decision.trade .eyebrow { color: var(--good); }
.decision.notrade .eyebrow { color: var(--bad); }
.decision h3 { margin: .25rem 0 .5rem; font-size: 1.35rem; font-family: var(--display); }
.occ { font-family: var(--mono); color: var(--accent); font-size: 1.05rem; margin-bottom: .7rem; word-break: break-all; }
.chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .85rem; }
.chip {
  font-size: .78rem; padding: .28rem .5rem; border-radius: .4rem;
  background: var(--panel); border: 1px solid var(--line); color: var(--text); font-family: var(--mono);
}
.chip.call { color: var(--call); }
.steps { margin: 0; padding-left: 1.15rem; color: var(--text); }
.steps li { margin: .35rem 0; }
.checklist { list-style: none; padding: 0; margin: .9rem 0 0; }
.checklist li {
  display: flex; gap: .5rem; align-items: flex-start;
  padding: .35rem 0; border-top: 1px solid rgba(42,58,51,.6); font-size: .9rem;
}
.checklist .mark { font-family: var(--mono); width: 1.1rem; flex: none; }
.checklist .ok { color: var(--good); }
.checklist .bad { color: var(--bad); }
.disclaimer { color: var(--muted); font-size: .78rem; margin-top: .8rem; }

.report-box {
  background: var(--input-bg); border: 1px solid var(--line); border-radius: .6rem;
  padding: .75rem; font-family: var(--mono); font-size: .78rem; white-space: pre-wrap;
  max-height: 220px; overflow: auto; color: var(--text);
}
.table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.table th, .table td { text-align: left; padding: .55rem .4rem; border-bottom: 1px solid var(--line); }
.table th { color: var(--muted); font-weight: 500; font-size: .75rem; text-transform: uppercase; }
.badge {
  display: inline-block; padding: .15rem .4rem; border-radius: .35rem; font-size: .75rem; font-weight: 600;
}
.badge.call { background: #163524; color: var(--call); }
.badge.put { background: #351820; color: var(--bad); }
.badge.trade { background: #163524; color: var(--good); }
.badge.notrade { background: #351820; color: var(--bad); }

.lesson-list { display: grid; gap: .7rem; }
.lesson-card {
  display: flex; justify-content: space-between; gap: 1rem; align-items: center;
  padding: .9rem 1rem; border: 1px solid var(--line); border-radius: .7rem; background: var(--panel2);
  color: inherit; text-decoration: none; transition: border-color .15s ease, transform .15s ease;
}
.lesson-card:hover { border-color: var(--accent); transform: translateY(-1px); }
.lesson-card.is-done { border-color: #2f6b45; }
.lesson-card h3 { margin: 0 0 .25rem; font-size: 1rem; }
.lesson-card-main { display: flex; gap: .75rem; align-items: flex-start; min-width: 0; }
.lesson-num {
  flex: 0 0 auto; width: 1.75rem; height: 1.75rem; border-radius: .45rem;
  display: grid; place-items: center; font-family: var(--mono); font-size: .8rem;
  background: var(--input-bg); border: 1px solid var(--line); color: var(--muted);
}
.lesson-title {
  text-transform: none; letter-spacing: 0; color: var(--text);
  font-size: clamp(1.45rem, 3vw, 1.85rem); margin: .35rem 0 .75rem;
}
.lesson-body { line-height: 1.6; margin-top: .25rem; }
.lesson-body ul { margin: .5rem 0 1rem; padding-left: 1.15rem; }
.lesson-body .lesson-h3 {
  margin: 1.1rem 0 .35rem;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: .01em;
}
.lesson-key {
  margin: 1.1rem 0 0; padding: .85rem 1rem; border-radius: .65rem;
  background: var(--panel2); border: 1px solid var(--good); color: var(--text); font-size: .95rem;
}
.lesson-key .tag {
  display: inline-block; margin-right: .45rem; font-size: .7rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--good);
}
.lesson-actions { margin-top: 1.1rem; flex-wrap: wrap; }
.progress-track {
  height: .45rem; border-radius: 999px; background: var(--input-bg); border: 1px solid var(--line);
  overflow: hidden; margin: 0 0 1rem;
}
.progress-fill {
  height: 100%; width: 0; background: linear-gradient(90deg, #2f6b45, var(--accent2));
  transition: width .35s ease;
}

.auth-box {
  width: min(420px, 100%); margin: 4rem auto; padding: 1.5rem;
  background: var(--panel); border: 1px solid var(--line); border-radius: 1rem;
}
.auth-box h1 { font-family: var(--display); margin: 0 0 .4rem; }
.flash { padding: .65rem .8rem; border-radius: .5rem; margin-bottom: .8rem; }
.flash.error { background: #2a1418; color: var(--bad); border: 1px solid #5a2832; }
.flash.ok { background: #142a1c; color: var(--good); border: 1px solid #2f6b45; }
.ai-box {
  margin-top: .8rem; padding: .75rem; border-radius: .6rem; background: var(--panel2);
  border: 1px dashed var(--line); white-space: pre-wrap; font-size: .9rem; color: var(--text);
}

/* —— Radar / semáforo —— */
.radar-hero {
  display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  align-items: end; margin-bottom: 1rem;
}
.radar-hero h1 { font-family: var(--display); font-size: clamp(1.7rem, 3vw, 2.4rem); margin: 0 0 .35rem; }
.radar-hero p { margin: 0; color: var(--muted); max-width: 36rem; }
.radar-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.legend-row {
  display: flex; flex-wrap: wrap; gap: .85rem; align-items: center;
  margin-bottom: .9rem; font-size: .88rem; color: var(--muted);
}
.legend-row .dot { margin-right: .25rem; }
.dot {
  display: inline-block; width: .65rem; height: .65rem; border-radius: 50%;
  background: #556; vertical-align: middle;
}
.dot-green { background: var(--good); box-shadow: 0 0 8px rgba(61,206,122,.45); }
.dot-yellow { background: var(--warn); box-shadow: 0 0 8px rgba(240,193,74,.4); }
.dot-red { background: var(--bad); box-shadow: 0 0 8px rgba(255,107,122,.4); }
.dot-gray { background: #5a6560; }

.watchlist-bar {
  display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem;
}
.wl-chip {
  display: inline-flex; align-items: center; gap: .35rem;
  background: var(--panel2); border: 1px solid var(--line); color: var(--text);
  border-radius: .5rem; padding: .4rem .65rem; font-family: var(--mono);
  font-size: .82rem; cursor: pointer;
}
.wl-chip:hover { border-color: var(--accent); }

.best-now .card-grid {
  margin-top: .65rem;
}
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr));
  gap: .85rem;
  width: 100%;
  align-items: stretch;
}
.sig-card {
  min-width: 0;
  border: 1px solid var(--line); border-radius: .85rem; padding: .9rem 1rem;
  background: linear-gradient(165deg, var(--panel), var(--panel2)); cursor: pointer;
  color: var(--text);
  transition: transform .15s ease, border-color .15s ease;
}
.sig-card:hover { transform: translateY(-2px); }
.sig-card.sig-enter { border-color: #2f6b45; }
.sig-card.sig-wait { border-color: #6b5a2f; }
.sig-card.sig-stop { border-color: #6b2f3a; }
.sig-card.sig-none { opacity: .75; }
.sig-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .55rem; }
.sig-badge { font-size: .78rem; font-weight: 600; letter-spacing: .04em; }
.sig-ticker { font-family: var(--display); font-size: 1.25rem; }
.sig-contract {
  display: flex; flex-wrap: wrap; gap: .45rem .7rem; margin-bottom: .35rem;
}
.sig-contract .big { font-size: 1.15rem; font-weight: 700; }
.sig-contract .gold { color: var(--accent); font-family: var(--mono); }
.sig-meta { color: var(--muted); font-size: .8rem; font-family: var(--mono); margin-bottom: .55rem; }
.sig-buy {
  font-size: .82rem; color: var(--muted); margin-bottom: .55rem;
}
.sig-buy strong { color: var(--good); font-size: 1.05rem; font-family: var(--mono); }
.sig-targets { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: .4rem; margin-bottom: .55rem; }
.sig-targets .t {
  background: var(--input-bg); border: 1px solid var(--line); border-radius: .45rem;
  padding: .4rem .45rem; font-size: .72rem;
}
.sig-targets .t span { display: block; color: var(--muted); margin-bottom: .15rem; }
.sig-targets .t b { font-family: var(--mono); font-size: .82rem; }
.sig-targets .t1 b { color: #7eb8ff; }
.sig-targets .t2 b { color: #7eb8ff; }
.sig-targets .stop b { color: var(--bad); }
.sig-foot {
  display: flex; flex-direction: column; gap: .15rem;
  font-size: .75rem; color: var(--muted); border-top: 1px solid rgba(42,58,51,.5); padding-top: .45rem;
}
.focus-panel { margin-top: 1rem; }
.focus-head { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.details-box { margin: .8rem 0; color: var(--muted); }
.details-box summary { cursor: pointer; color: var(--accent); margin-bottom: .5rem; }
.capital-banner {
  display: flex; flex-wrap: wrap; gap: .5rem .85rem; align-items: baseline;
  margin: 0 0 .9rem; padding: .65rem .85rem; border-radius: .65rem;
  font-size: .88rem; border: 1px solid var(--line); background: var(--panel2); color: var(--text);
}
.capital-banner[data-regime="seco"] { border-color: var(--warn); background: color-mix(in srgb, var(--warn) 18%, var(--panel2)); color: var(--text); }
.capital-banner[data-regime="verdoso"],
.capital-banner[data-regime="reverdecido"] { border-color: var(--good); background: color-mix(in srgb, var(--good) 16%, var(--panel2)); color: var(--text); }
.capital-banner strong { letter-spacing: .04em; }

.jornada-panel { margin: 0 0 1rem; }
.jornada-head {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .35rem .75rem;
  margin-bottom: .65rem;
}
.jornada-head h2 { margin: 0; font-size: 1.05rem; }
.jornada-kpis {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin-bottom: .75rem;
}
.jornada-kpis .jk {
  padding: .55rem .65rem; border-radius: .5rem; border: 1px solid var(--line);
  background: var(--panel); color: var(--text);
  display: flex; flex-direction: column; gap: .2rem;
  min-height: 3.1rem;
}
.jornada-kpis .jk span { font-size: .7rem; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.jornada-kpis .jk b { font-family: var(--mono); font-size: 1.05rem; color: var(--text); font-weight: 600; }
.jornada-kpis .jk-ef.ok b { color: var(--good); }
.jornada-kpis .jk-ef.mid b { color: var(--warn); }
.jornada-kpis .jk-ef.low b { color: var(--bad); }
.jornada-table-wrap { overflow-x: auto; }
.jornada-table {
  width: 100%; border-collapse: collapse; font-size: .8rem;
}
.jornada-table th, .jornada-table td {
  text-align: left; padding: .35rem .45rem; border-bottom: 1px solid rgba(42,58,51,.45);
}
.jornada-table th { color: var(--muted); font-weight: 500; font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; }
.jornada-table td.yes { color: var(--good); }
.jornada-table td.no { color: var(--muted); }
.jornada-note { font-size: .75rem; margin: .55rem 0 0; }
@media (max-width: 700px) {
  .jornada-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.sig-rank { font-size: .78rem; margin-bottom: .4rem; color: var(--accent2); }
.life-row { margin: .35rem 0 .55rem; }
.life-bar {
  height: .35rem; border-radius: 999px; background: var(--input-bg); border: 1px solid var(--line);
  overflow: hidden; margin-bottom: .25rem;
}
.life-bar i {
  display: block; height: 100%; width: 0;
  background: linear-gradient(90deg, var(--bad), var(--warn), var(--good));
}
.life-label { font-size: .72rem; color: var(--muted); }
.life-dead .life-bar i { background: #555; }
.life-dead .life-label { color: var(--bad); }
.sim-line { display: block; margin-top: .25rem; color: #7eb8ff; font-family: var(--mono); font-size: .72rem; }
.sim-line.muted { color: var(--muted); }

.outlook-box {
  margin: .35rem 0 .55rem; padding: .45rem .55rem;
  border-radius: .5rem; border: 1px solid var(--line); background: var(--panel2); color: var(--text);
}
.outlook-meters { display: grid; gap: .3rem; margin-bottom: .4rem; }
.outlook-meters .om { display: grid; grid-template-columns: 2.4rem 1fr; gap: .35rem; align-items: center; font-size: .7rem; color: var(--muted); }
.outlook-meters .om-bar {
  height: .28rem; border-radius: 999px; background: var(--input-bg); border: 1px solid var(--line); overflow: hidden;
}
.outlook-meters .om-bar i {
  display: block; height: 100%; width: 0;
  background: linear-gradient(90deg, #3d7a52, var(--good));
}
.outlook-meters .om-bar.t2 i { background: linear-gradient(90deg, #3a6b9a, #7eb8ff); }
.outlook-txt { font-size: .78rem; line-height: 1.35; color: var(--text); }
.outlook-pnl { font-family: var(--mono); font-size: .72rem; margin-top: .3rem; }
.outlook-pnl.up { color: var(--good); }
.outlook-pnl.down { color: var(--bad); }

.path-panel { margin: .85rem 0 0; padding-top: .75rem; border-top: 1px solid rgba(42,58,51,.55); }
.path-title { margin: 0 0 .35rem; font-size: 1rem; font-family: var(--display); font-weight: 600; }
.path-chart-wrap { margin: .55rem 0 .35rem; }
.path-chart-wrap svg { width: 100%; max-width: 420px; height: auto; display: block; }
.path-chart-wrap .chart-bg { fill: var(--input-bg); }
.path-chart-wrap .ref { stroke-dasharray: 4 3; stroke-width: 1; }
.path-chart-wrap .ref.t2 { stroke: #7eb8ff; opacity: .85; }
.path-chart-wrap .ref.t1 { stroke: #9ccf4c; opacity: .7; }
.path-chart-wrap .ref.zero { stroke: #5a6b62; opacity: .5; stroke-dasharray: 2 3; }
.path-chart-wrap .ref.stop { stroke: var(--bad); opacity: .7; }
.path-chart-wrap .path-line { stroke: var(--accent); stroke-width: 2; }
.path-chart-wrap .path-dot { fill: var(--accent); }
.path-chart-wrap .axis { fill: var(--muted); font-size: 9px; font-family: var(--mono); }
.path-legend {
  display: flex; flex-wrap: wrap; gap: .45rem .85rem; margin-top: .4rem;
  font-size: .72rem; color: var(--muted);
}
.path-legend .lg {
  display: inline-block; width: .65rem; height: .15rem; margin-right: .25rem; vertical-align: middle; border-radius: 1px;
}
.path-legend .lg.t1 { background: #9ccf4c; }
.path-legend .lg.t2 { background: #7eb8ff; }
.path-legend .lg.stop { background: var(--bad); }
.path-legend .lg.path { background: var(--accent); height: .2rem; }
.path-adv { font-size: .75rem; margin: .35rem 0 0; }

.price-line { font-size: 1.05rem; margin: .75rem 0; }
.nav a.active { color: var(--accent); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-bottom: .75rem; }
.form-grid label, .panel > label { display: block; font-size: .85rem; color: var(--muted); margin-bottom: .65rem; }
.form-grid input, .panel textarea, .panel input[type="number"] {
  display: block; width: 100%; margin-top: .3rem; padding: .5rem .6rem;
  border-radius: .45rem; border: 1px solid var(--line); background: var(--input-bg); color: var(--text); font: inherit;
}
.form-grid select, .panel select {
  display: block; width: 100%; margin-top: .3rem; padding: .5rem .6rem;
  border-radius: .45rem; border: 1px solid var(--line); background: var(--input-bg); color: var(--text); font: inherit;
}
.users-table { width: 100%; border-collapse: collapse; font-size: .88rem; margin-top: .5rem; }
.users-table th, .users-table td { text-align: left; padding: .55rem .4rem; border-bottom: 1px solid var(--line); vertical-align: middle; }
.users-table th { color: var(--muted); font-weight: 500; font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.users-actions { display: flex; flex-wrap: wrap; gap: .35rem; }
.check-row { display: flex !important; align-items: center; gap: .5rem; color: var(--text) !important; margin: .4rem 0; }
.mono-block { font-family: var(--mono); font-size: .78rem; word-break: break-all; }
@media (max-width: 900px) {
  .form-grid { grid-template-columns: 1fr; }
}


.event-list { list-style: none; padding: 0; margin: 0; font-size: .88rem; }
.event-list li { padding: .4rem 0; border-bottom: 1px solid rgba(42,58,51,.45); }
.events-panel .events-head {
  display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; flex-wrap: wrap;
  margin-bottom: .5rem;
}
.events-panel .events-head h2 { margin-bottom: 0; }
.events-panel .event-list {
  max-height: min(42vh, 320px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: .35rem;
  border: 1px solid rgba(42,58,51,.55);
  border-radius: .55rem;
  padding: .35rem .65rem;
  background: var(--input-bg);
  scrollbar-gutter: stable;
}
.events-panel .event-list:focus-visible {
  outline: 1px solid var(--accent);
  outline-offset: 2px;
}

@media (max-width: 900px) {
  .hero, .grid-2, .form-grid, .grid-3 { grid-template-columns: 1fr; }
  .topbar { align-items: flex-start; }
  .sig-targets { grid-template-columns: 1fr; }
}

.theme-swatches { display: flex; gap: .5rem; margin-top: .85rem; }
.theme-swatches .swatch {
  width: 2.2rem; height: 1.35rem; border-radius: .35rem; border: 1px solid var(--line);
}
.theme-swatches .swatch-alto {
  background: linear-gradient(90deg, #07090c 40%, #d4e04a 40% 55%, #121a17 55%);
}
.theme-swatches .swatch-clasico {
  background: linear-gradient(90deg, #f0f2f5 40%, #0078d4 40% 55%, #ffffff 55%);
}
.theme-swatches .swatch-min {
  background: linear-gradient(90deg, #ffffff 40%, #1a73e8 40% 55%, #f8f9fa 55%);
}

/* ===== Temas claros (clasico + minimalista): legibilidad ===== */
body[data-theme="clasico"] .btn-primary,
body[data-theme="minimalista"] .btn-primary { color: #fff; }

body[data-theme="clasico"] .nav a.active,
body[data-theme="minimalista"] .nav a.active {
  color: var(--accent); background: var(--pill-bg);
}

body[data-theme="clasico"] .btn-danger,
body[data-theme="minimalista"] .btn-danger {
  background: #fde7e9; color: var(--bad); border-color: #f3b4bb;
}

body[data-theme="clasico"] .decision,
body[data-theme="minimalista"] .decision {
  background: var(--panel2); color: var(--text);
}
body[data-theme="clasico"] .decision.trade,
body[data-theme="minimalista"] .decision.trade {
  background: #e8f5e9; border-color: #81c784; color: var(--text);
}
body[data-theme="clasico"] .decision.notrade,
body[data-theme="minimalista"] .decision.notrade {
  background: #fdecea; border-color: #ef9a9a; color: var(--text);
}
body[data-theme="clasico"] .decision h3,
body[data-theme="minimalista"] .decision h3,
body[data-theme="clasico"] .decision .steps,
body[data-theme="minimalista"] .decision .steps,
body[data-theme="clasico"] .decision .steps li,
body[data-theme="minimalista"] .decision .steps li {
  color: var(--text);
}

body[data-theme="clasico"] .chip,
body[data-theme="minimalista"] .chip {
  background: var(--panel); color: var(--text); border-color: var(--line);
}

body[data-theme="clasico"] .report-box,
body[data-theme="minimalista"] .report-box {
  background: var(--panel); color: var(--text);
}

body[data-theme="clasico"] .badge.call,
body[data-theme="clasico"] .badge.trade,
body[data-theme="minimalista"] .badge.call,
body[data-theme="minimalista"] .badge.trade {
  background: #e6f4ea; color: #137333;
}
body[data-theme="clasico"] .badge.put,
body[data-theme="clasico"] .badge.notrade,
body[data-theme="minimalista"] .badge.put,
body[data-theme="minimalista"] .badge.notrade {
  background: #fce8e6; color: #c5221f;
}

body[data-theme="clasico"] .lesson-key,
body[data-theme="minimalista"] .lesson-key,
body[data-theme="clasico"] .ai-box,
body[data-theme="minimalista"] .ai-box {
  background: #e8f0fe; border-color: #aecbfa; color: var(--text);
}

body[data-theme="clasico"] .flash.error,
body[data-theme="minimalista"] .flash.error {
  background: #fce8e6; color: #c5221f; border-color: #f6aea9;
}
body[data-theme="clasico"] .flash.ok,
body[data-theme="minimalista"] .flash.ok {
  background: #e6f4ea; color: #137333; border-color: #a8dab5;
}

body[data-theme="clasico"] .sig-card,
body[data-theme="minimalista"] .sig-card {
  background: linear-gradient(165deg, var(--panel), var(--panel2));
  color: var(--text);
}
body[data-theme="clasico"] .sig-card .sig-contract,
body[data-theme="minimalista"] .sig-card .sig-contract,
body[data-theme="clasico"] .sig-card .sig-meta,
body[data-theme="minimalista"] .sig-card .sig-meta,
body[data-theme="clasico"] .sig-card .sig-foot,
body[data-theme="minimalista"] .sig-card .sig-foot,
body[data-theme="clasico"] .sig-card .outlook-txt,
body[data-theme="minimalista"] .sig-card .outlook-txt {
  color: var(--text);
}
body[data-theme="clasico"] .sig-card .muted,
body[data-theme="minimalista"] .sig-card .muted {
  color: var(--muted);
}
body[data-theme="clasico"] .sig-card.sig-enter,
body[data-theme="minimalista"] .sig-card.sig-enter { border-color: #34a853; }
body[data-theme="clasico"] .sig-card.sig-wait,
body[data-theme="minimalista"] .sig-card.sig-wait { border-color: #f9ab00; }
body[data-theme="clasico"] .sig-card.sig-stop,
body[data-theme="minimalista"] .sig-card.sig-stop { border-color: #ea4335; }

body[data-theme="clasico"] .capital-banner,
body[data-theme="minimalista"] .capital-banner {
  background: var(--panel2); color: var(--text); border-color: var(--line);
}
body[data-theme="clasico"] .capital-banner[data-regime="seco"],
body[data-theme="minimalista"] .capital-banner[data-regime="seco"] {
  background: #fef7e0; border-color: #f9ab00; color: #7a5c00;
}
body[data-theme="clasico"] .capital-banner[data-regime="reverdecido"],
body[data-theme="minimalista"] .capital-banner[data-regime="reverdecido"] {
  background: #e6f4ea; border-color: #34a853; color: #137333;
}
body[data-theme="clasico"] .capital-banner[data-regime="normal"],
body[data-theme="minimalista"] .capital-banner[data-regime="normal"] {
  background: #e8f0fe; border-color: #8ab4f8; color: #174ea6;
}

body[data-theme="clasico"] .note-banner,
body[data-theme="minimalista"] .note-banner {
  background: #fff;
  border-color: var(--line);
  color: var(--text);
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
body[data-theme="clasico"] .jornada-kpis .jk,
body[data-theme="minimalista"] .jornada-kpis .jk {
  background: #ffffff !important;
  border-color: var(--line) !important;
  color: var(--text) !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
body[data-theme="clasico"] .jornada-kpis .jk span,
body[data-theme="minimalista"] .jornada-kpis .jk span {
  color: var(--muted) !important;
}
body[data-theme="clasico"] .jornada-kpis .jk b,
body[data-theme="minimalista"] .jornada-kpis .jk b {
  color: var(--text) !important;
}
body[data-theme="clasico"] .jornada-kpis .jk-ef.ok b,
body[data-theme="minimalista"] .jornada-kpis .jk-ef.ok b { color: var(--good) !important; }
body[data-theme="clasico"] .jornada-kpis .jk-ef.mid b,
body[data-theme="minimalista"] .jornada-kpis .jk-ef.mid b { color: var(--warn) !important; }
body[data-theme="clasico"] .jornada-kpis .jk-ef.low b,
body[data-theme="minimalista"] .jornada-kpis .jk-ef.low b { color: var(--bad) !important; }
body[data-theme="clasico"] .jornada-table th,
body[data-theme="clasico"] .jornada-table td,
body[data-theme="minimalista"] .jornada-table th,
body[data-theme="minimalista"] .jornada-table td {
  border-bottom-color: var(--line);
  color: var(--text);
}

body[data-theme="clasico"] .decision.trade,
body[data-theme="minimalista"] .decision.trade {
  background: #e8f5e9; border-color: #81c784; color: var(--text);
}
body[data-theme="clasico"] .decision.notrade,
body[data-theme="minimalista"] .decision.notrade {
  background: #fdecea; border-color: #ef9a9a; color: var(--text);
}

body[data-theme="clasico"] .capital-banner[data-regime="seco"],
body[data-theme="minimalista"] .capital-banner[data-regime="seco"] {
  background: #fef7e0; border-color: #f9ab00; color: #7a5c00;
}
body[data-theme="clasico"] .capital-banner[data-regime="verdoso"],
body[data-theme="clasico"] .capital-banner[data-regime="reverdecido"],
body[data-theme="minimalista"] .capital-banner[data-regime="verdoso"],
body[data-theme="minimalista"] .capital-banner[data-regime="reverdecido"] {
  background: #e6f4ea; border-color: #34a853; color: #137333;
}

body[data-theme="clasico"] .life-track,
body[data-theme="minimalista"] .life-track,
body[data-theme="clasico"] .outlook-meters .om-bar,
body[data-theme="minimalista"] .outlook-meters .om-bar {
  background: #e8eaed; border-color: var(--line);
}

body[data-theme="clasico"] .checklist li,
body[data-theme="minimalista"] .checklist li {
  border-top-color: var(--line); color: var(--text);
}

body[data-theme="clasico"] .event-list li,
body[data-theme="minimalista"] .event-list li {
  border-bottom-color: var(--line); color: var(--text);
}

body[data-theme="clasico"] .sim-line,
body[data-theme="minimalista"] .sim-line { color: var(--accent); }

body[data-theme="clasico"] .path-chart-wrap .chart-bg,
body[data-theme="minimalista"] .path-chart-wrap .chart-bg { fill: var(--panel2); }

body[data-theme="clasico"] .sig-targets .t,
body[data-theme="minimalista"] .sig-targets .t {
  background: var(--panel); border-color: var(--line); color: var(--text);
}
body[data-theme="clasico"] .sig-buy,
body[data-theme="minimalista"] .sig-buy {
  background: var(--panel); color: var(--text); border-color: var(--line);
}

body[data-theme="clasico"] .focus-panel,
body[data-theme="minimalista"] .focus-panel,
body[data-theme="clasico"] .waiting-box,
body[data-theme="minimalista"] .waiting-box,
body[data-theme="clasico"] .panel .waiting,
body[data-theme="minimalista"] .panel .waiting {
  background: var(--panel2); color: var(--text);
}

