/* Referencia: Fundrbot Windows, ui/styles.css; ecosistema Fundermaster. */
:root {
  --bg:#05080c; --surface:#0b141e; --raised:#101c28;
  --ink:#e6edf3; --muted:#9fb0c0; --line:#1c2a38;
  --accent:#74b0ff; --primary:#0267f0; --primary-hover:#026efe; --primary-active:#025bd4;
  --c-win:#2fd67b; --c-loss:#ff6b78; --c-prep:#f0b65a; --c-call:#74c7ff; --c-put:#f0b65a;
  --win:var(--c-win); --mg1:var(--c-call); --mg2:var(--c-prep); --hit:var(--c-loss);
  --fs-12:13px; --fs-13:14px; --fs-15:16px; --fs-18:18px; --fs-24:24px; --fs-30:30px;
  --control-line:#52667a; --mono:"Segoe UI Variable","Segoe UI",system-ui,sans-serif; /* Ya no es monoespaciada: las cifras alinean con tabular-nums. */
  font-family:"Segoe UI Variable","Segoe UI",system-ui,sans-serif;
}
body {font-variant-numeric:tabular-nums}
html {scrollbar-color:var(--control-line) var(--bg)}
button,a,select,summary {transition:background-color .15s,color .15s,border-color .15s}
button:hover {filter:none}
button:active {transform:translateY(1px)}
.brand {letter-spacing:0;font-weight:700;font-size:var(--fs-18);gap:10px}
.brand img {object-fit:contain;flex-shrink:0}
.brand small {display:block;font-size:var(--fs-12);letter-spacing:.02em;color:var(--muted);font-weight:400;margin-top:2px}
.app-header {background:#070c12;border-color:#16222e;height:64px;gap:24px}
.workspace-caption {display:none;color:var(--muted);font-size:var(--fs-13)}
.workspace-caption span {color:var(--control-line);margin:0 10px}
.connection {padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:var(--fs-12)}
.connection.online {display:none} /* Solo se muestra cuando los datos se detienen. */
.connection.online i {background:var(--win)}
.fundr-rail {display:none}
.intro h1 {font-size:var(--fs-24);font-weight:600;letter-spacing:-.02em}
.source {font-size:var(--fs-12)}
.source>span {padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.filters {border:1px solid var(--line);border-radius:14px}
.filters select,.sheet-heading button {background:#070c12;border-color:var(--control-line)}
.segments {background:#070c12;border:1px solid var(--line);border-radius:8px}
.segments button {padding-inline:8px}
.segments button[aria-pressed=true] {background:var(--primary);color:#fff}
.segments button:hover:not([aria-pressed=true]) {background:var(--raised);color:var(--ink)}
.advanced-content {background:var(--surface);border-color:var(--line)}
.candle-clock {background:#0b1828;border-color:#23425f;box-shadow:0 4px 16px #0003;border-radius:10px}
.clock-symbol {color:var(--accent)}
.candle-counter time,.timer,.sample b,.score-row strong {font-family:var(--mono)}
.candle-counter time {color:var(--accent);font-size:var(--fs-30);letter-spacing:-1px}
.strategy-card {background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:none}
.strategy-card:hover {border-color:#2a3b4c}
.strategy-card h3 {font-size:var(--fs-18);font-weight:600;letter-spacing:-.02em}
.asset-badge {background:rgba(116,176,255,.1);color:var(--accent);border-radius:6px;font-family:var(--mono);font-size:var(--fs-12)}
.timeframe {font-family:var(--mono);color:var(--muted)}
.score-row strong {font-size:var(--fs-30);font-weight:600;letter-spacing:-1.8px;color:var(--ink)}
.result-tile {border-radius:3px;font:600 11px var(--mono)}
.result-tile.win {background:var(--c-win);color:#03140a}
.result-tile.mg1 {background:rgba(47,214,123,.55);color:#03140a}
.result-tile.mg2 {background:transparent;box-shadow:inset 0 0 0 1px var(--c-win);color:var(--c-win)}
.result-tile.hit {background:var(--c-loss);color:#2a0509}
.signal-window {background:#0b1c30;border-color:#234768;border-radius:10px}
.signal-window[data-phase=paused] {background:#101820}
.timer-track {background:#20354a}
.timer-track i {background:var(--primary)}
.card-foot {border-color:#16222e}
.refresh-message {background:rgba(240,182,90,.1);border:1px solid #5b4524;color:#f6cd8b}
.empty {border:1px solid var(--line);border-radius:14px}
.empty button,.apply {background:var(--primary);color:#fff}
.filter-dialog {background:var(--surface);box-shadow:0 24px 80px #0008}
.filter-dialog::backdrop {background:#020509bb}
.sheet-actions #filter-clear {background:transparent;border-color:var(--control-line);color:var(--ink)}
.sheet-actions #filter-apply {background:var(--primary);border-color:var(--primary);color:#fff}
.sheet-actions #filter-apply:hover,.empty button:hover {background:var(--primary-hover)}
.sheet-actions #filter-apply:active,.empty button:active,.apply:active,.row-follow:active,.auth-card button:active,.bar-primary:active {background:var(--primary-active)}
@media(min-width:1200px) {
  body {padding-left:216px}
  .fundr-rail {position:fixed;inset:0 auto 0 0;z-index:4;display:flex;flex-direction:column;width:216px;background:#080e15;padding:24px 14px 16px}
  .fundr-rail .brand {padding:0 8px 26px;font-size:var(--fs-15)}
  .rail-label {padding:0 12px 10px;color:#7f94a8;font-size:var(--fs-12);font-weight:600}
  .fundr-rail>nav {display:grid;gap:4px}
  .fundr-rail>nav a {display:flex;gap:12px;align-items:center;min-height:46px;padding:0 12px;color:var(--muted);font-size:var(--fs-13);border-radius:10px}
  .fundr-rail>nav a:hover {background:#16222e;color:var(--ink)}
  .fundr-rail>nav a[aria-current] {background:rgba(2,110,254,.24);color:#fff}
  .fundr-rail>nav svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .app-header>.brand,.app-header>nav {display:none}
  .workspace-caption {display:block}
  main {max-width:1500px;padding:30px 32px 20px}
  .catalog-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1800px) {.catalog-grid {grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px) {
  .mobile-enhanced .app-header {padding:10px 14px;gap:8px;flex-wrap:nowrap}
  .app-header .brand {font-size:var(--fs-13);gap:7px}
  .app-header .brand small {font-size:var(--fs-12)}
  .connection {font-size:var(--fs-12);padding:6px 7px;gap:5px}
  .mobile-enhanced .intro h1 {font-size:var(--fs-24)}
  .mobile-enhanced .mobile-navigation {background:#070c12;border-color:var(--line)}
  .mobile-navigation [aria-current=page] {background:rgba(2,110,254,.18);color:var(--accent)}
  .score-row strong {font-size:var(--fs-30)}
  .signal-window .timer {font-size:var(--fs-30)}
  .sheet-heading h2 {font-size:var(--fs-18)}
  #sheet-filter-slot .filters {border:0}
}
.payout {margin:0 10px 0 auto;font:var(--fs-12) var(--mono);color:var(--muted);white-space:nowrap}
.payout b {color:var(--win);font-weight:600}

/* Reglas comunes para catálogo y señales: foco, modo oscuro y zonas seguras. */
html {color-scheme:dark}
button,a,select,summary {touch-action:manipulation;-webkit-tap-highlight-color:rgba(116,176,255,.2)}
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible {outline:3px solid var(--accent);outline-offset:3px}
select {background-color:#070c12;color:var(--ink)}
.brand:hover,.help summary:hover,.reset:hover,footer a:hover {color:var(--accent)}
.brand:active,.mobile-navigation a:active {background-color:var(--raised)}
.mobile-navigation a:hover,.mobile-navigation button:hover {color:var(--accent);background-color:var(--raised)}
.filters select:hover {border-color:var(--accent)}
.sheet-heading button:hover,.sheet-actions #filter-clear:hover {background-color:var(--raised);border-color:var(--accent)}
.payout {overflow-wrap:anywhere}
@media(max-width:620px) {
  .mobile-enhanced .app-header {padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .mobile-enhanced .mobile-navigation {padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
}
@media(prefers-reduced-motion:reduce) {
  button,a,select,summary,.strategy-card {transition:none}
  button:active {transform:none}
}
@media(max-width:380px) {
  .mobile-enhanced .app-header {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) auto;gap:6px}
  .mobile-enhanced .app-header>.brand {margin:0;font-size:var(--fs-12);gap:5px}
  .mobile-enhanced .app-header>.brand img {width:39px;height:26px}
  .mobile-enhanced .app-header>.connection {margin:0;min-width:0;white-space:normal;line-height:1.3}
  .mobile-enhanced .app-header>.locale-switch {justify-self:end}
}

/* Navegación de análisis horario */
@media(max-width:620px){.mobile-enhanced .mobile-navigation{grid-template-columns:repeat(5,minmax(0,1fr))}}
