:root {
  color-scheme: dark;
  --bg: #061018;
  --panel: #0c1721;
  --panel-2: #101e2a;
  --panel-3: #08131c;
  --line: #213342;
  --muted: #8191a1;
  --text: #f5f8fa;
  --accent: #ddff3f;
  --accent-soft: rgba(221, 255, 63, .11);
  --warn: #ffb65c;
  --good: #67e0a1;
  --bad: #ff7784;
  --blue: #6fb7ff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: var(--text); background: radial-gradient(circle at 12% -10%, #16334a 0, transparent 32%), radial-gradient(circle at 90% 0%, rgba(221,255,63,.045), transparent 26%), var(--bg); }
button, select, input { font: inherit; }
button { cursor: pointer; }
button:disabled { opacity: .58; cursor: wait; }
input, select { color: var(--text); background: #09141d; border: 1px solid var(--line); border-radius: 12px; padding: 12px; outline: none; }
input:focus, select:focus { border-color: rgba(221,255,63,.6); box-shadow: 0 0 0 3px rgba(221,255,63,.07); }
code { color: var(--accent); }
.hidden { display: none !important; }
.app-shell { width: min(1280px, calc(100% - 34px)); margin: 0 auto; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 38px 0 24px; }
.brand-block p, .section-copy { color: var(--muted); margin: 8px 0 0; }
.eyebrow, .kicker { font-size: 11px; font-weight: 950; letter-spacing: .17em; color: var(--accent); }
h1 { margin: 4px 0 0; font-size: clamp(34px, 5vw, 52px); line-height: 1; letter-spacing: -.045em; }
h1 span { color: var(--accent); }
h2 { margin: 4px 0 0; font-size: 23px; letter-spacing: -.025em; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.api-pill { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); background: rgba(13,23,33,.86); padding: 10px 14px; border-radius: 999px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.api-pill span { width: 9px; height: 9px; border-radius: 50%; background: var(--warn); box-shadow: 0 0 0 4px rgba(255,182,92,.12); }
.api-pill.ok { color: var(--good); }
.api-pill.ok span { background: var(--good); box-shadow: 0 0 0 4px rgba(103,224,161,.12); }
.api-pill.bad { color: var(--bad); }
.api-pill.bad span { background: var(--bad); }
.ghost-button { border: 1px solid var(--line); color: #b5c2cc; background: #0b1620; padding: 10px 13px; border-radius: 11px; font-weight: 800; font-size: 12px; }
.ghost-button:hover { border-color: #365167; color: white; }
.setup-banner { display: flex; justify-content: space-between; gap: 18px; align-items: center; border: 1px solid rgba(255,182,92,.35); background: rgba(255,182,92,.08); padding: 15px 17px; border-radius: 14px; margin-bottom: 18px; color: #ffd5a0; }
.setup-banner strong, .setup-banner span { display: block; }
.setup-banner span { margin-top: 4px; color: #bd9a72; font-size: 12px; }
.setup-tag { border: 1px solid rgba(255,182,92,.28); padding: 6px 8px; border-radius: 8px; font-size: 9px !important; font-weight: 950; letter-spacing: .08em; }
.overview-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.overview-card { background: linear-gradient(180deg, rgba(16,30,42,.94), rgba(9,19,28,.94)); border: 1px solid var(--line); border-radius: 16px; padding: 15px; }
.overview-card span { display: block; color: #8797a5; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.overview-card strong { display: block; margin-top: 8px; font-size: 24px; letter-spacing: -.03em; }
.overview-card small { display: block; color: #667887; margin-top: 3px; font-size: 10px; }
.hero-grid { display: grid; grid-template-columns: .95fr 1.25fr; gap: 18px; }
.panel { background: linear-gradient(180deg, rgba(16,30,42,.96), rgba(9,19,28,.96)); border: 1px solid var(--line); border-radius: 21px; padding: 21px; min-height: 372px; box-shadow: 0 24px 70px rgba(0,0,0,.17); }
.panel-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.mode-badge { color: var(--muted); border: 1px solid var(--line); background: #0a141e; padding: 6px 8px; border-radius: 8px; font-weight: 950; font-size: 9px; }
.mode-badge.real { color: var(--good); border-color: rgba(103,224,161,.28); background: rgba(103,224,161,.08); }
.mode-badge.demo { color: var(--warn); border-color: rgba(255,182,92,.28); background: rgba(255,182,92,.08); }
.mode-badge.missing { color: var(--bad); border-color: rgba(255,119,132,.28); background: rgba(255,119,132,.08); }
.field-group { margin-top: 20px; }
.field-group label { display: block; color: #aebac4; font-size: 11px; font-weight: 850; margin-bottom: 7px; }
.sport-selector { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.sport { border: 1px solid var(--line); color: #9aa8b5; background: #09141d; padding: 12px 9px; border-radius: 12px; font-weight: 850; }
.sport.active { color: #071019; background: var(--accent); border-color: var(--accent); }
.controls-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.controls-grid.three { grid-template-columns: .85fr 1fr 1.18fr; }
.controls-grid input, .controls-grid select { width: 100%; }
.primary-button { width: 100%; margin-top: 22px; border: 0; background: var(--accent); color: #071019; border-radius: 14px; padding: 15px 18px; font-weight: 950; letter-spacing: .02em; box-shadow: 0 13px 30px rgba(221,255,63,.11); }
.primary-button:hover { filter: brightness(1.02); transform: translateY(-1px); }
.helper { margin: 10px 0 0; color: #66798a; font-size: 10px; line-height: 1.55; }
.result-panel { display: flex; align-items: center; }
.empty-state { margin: auto; text-align: center; color: var(--muted); }
.empty-icon { width: 57px; height: 57px; display: grid; place-items: center; border-radius: 18px; margin: 0 auto 12px; font-size: 30px; color: var(--accent); background: var(--accent-soft); border: 1px solid rgba(221,255,63,.19); }
.empty-state h3 { color: var(--text); margin: 0; font-size: 20px; }
.empty-state p { margin: 7px 0 0; }
.parlay-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.parlay-head h3 { margin: 2px 0 0; font-size: 22px; }
.risk-chip { padding: 6px 9px; background: var(--accent-soft); border: 1px solid rgba(221,255,63,.25); border-radius: 8px; color: var(--accent); font-weight: 900; font-size: 9px; text-transform: uppercase; }
.leg-row { display: grid; grid-template-columns: 31px 1fr auto; gap: 10px; align-items: center; padding: 11px 0; border-bottom: 1px solid rgba(33,51,66,.68); }
.leg-num { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: #071019; font-weight: 950; }
.leg-name { font-weight: 850; }
.leg-event, .leg-market { color: var(--muted); font-size: 10px; margin-top: 3px; }
.leg-market { color: #728596; }
.leg-pct { text-align: right; font-weight: 900; }
.leg-pct small { display: block; color: var(--muted); font-weight: 600; font-size: 9px; margin-top: 2px; }
.weak { color: var(--warn); font-size: 9px; font-weight: 950; margin-top: 4px; }
.summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 14px; }
.summary-box { padding: 10px; border-radius: 11px; background: #07121a; border: 1px solid rgba(33,51,66,.75); }
.summary-box strong { display: block; font-size: 16px; }
.summary-box span { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.disclaimer { color: #637687; font-size: 9px; line-height: 1.5; margin-top: 11px; }
.section-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 34px 0 13px; }
.section-copy { font-size: 11px; }
.schedule-tools { display: flex; gap: 8px; align-items: center; }
.schedule-tools input { padding: 8px 10px; font-size: 12px; }
.filter-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.filter-tabs button { border: 1px solid var(--line); color: var(--muted); background: #0b1620; padding: 8px 11px; border-radius: 10px; font-size: 11px; font-weight: 850; }
.filter-tabs button.active { color: #071019; background: var(--accent); border-color: var(--accent); }
.schedule-list { display: grid; gap: 8px; }
.schedule-row { display: grid; grid-template-columns: 92px 1fr auto; gap: 16px; align-items: center; background: #0b1620; border: 1px solid var(--line); border-radius: 15px; padding: 13px 15px; }
.schedule-time { border-right: 1px solid var(--line); }
.schedule-time strong { display: block; font-size: 17px; }
.schedule-time span { display: block; color: var(--muted); font-size: 9px; margin-top: 2px; }
.schedule-league { color: var(--accent); font-size: 10px; font-weight: 900; }
.schedule-main h3 { margin: 4px 0 0; font-size: 16px; }
.schedule-main h3 span { color: #617687; font-weight: 500; font-size: 11px; margin: 0 5px; }
.schedule-side { text-align: right; }
.schedule-side small { display: block; color: var(--muted); font-size: 9px; margin-top: 5px; }
.status-chip { display: inline-flex; border-radius: 999px; padding: 5px 8px; font-size: 8px; font-weight: 950; letter-spacing: .06em; }
.status-chip.upcoming { color: var(--blue); background: rgba(111,183,255,.08); border: 1px solid rgba(111,183,255,.21); }
.status-chip.live { color: var(--warn); background: rgba(255,182,92,.08); border: 1px solid rgba(255,182,92,.21); }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.candidate-card, .loading-card { background: #0b1620; border: 1px solid var(--line); border-radius: 16px; padding: 16px; }
.candidate-card { transition: border-color .16s ease, transform .16s ease; }
.candidate-card:hover { transform: translateY(-2px); border-color: #345267; }
.sport-line { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 9px; }
.league { color: var(--accent); font-weight: 900; }
.event { color: var(--muted); font-size: 11px; margin-top: 10px; }
.candidate-card h3 { margin: 5px 0 13px; font-size: 17px; }
.price-row { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-bottom: 7px; }
.price-row > div { background: #07121a; border-radius: 10px; padding: 9px; }
.price-row span, .price-row small { display: block; color: var(--muted); font-size: 8px; }
.price-row strong { display: block; font-size: 16px; margin: 2px 0; }
.card-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.card-metric { background: #07121a; border-radius: 9px; padding: 8px; }
.card-metric strong { display: block; font-size: 14px; }
.card-metric span { display: block; color: var(--muted); font-size: 7px; margin-top: 2px; }
.edge-positive { color: var(--good); }
.edge-negative { color: var(--bad); }
.analysis-button { width: 100%; margin-top: 9px; padding: 9px; border-radius: 9px; border: 1px solid var(--line); background: transparent; color: #9eb0bd; font-size: 10px; font-weight: 800; }
.analysis-button:hover { color: var(--text); border-color: #3a566b; }
.loading-card { grid-column: 1 / -1; color: var(--muted); }
.error-card { color: var(--bad); border-color: rgba(255,119,132,.25); }
footer { display: flex; justify-content: space-between; gap: 20px; color: #657788; font-size: 10px; padding: 31px 2px 42px; }
footer strong { color: #9aabb7; }
.analysis-dialog { width: min(650px, calc(100% - 28px)); border: 1px solid #2a4052; border-radius: 20px; background: #0b1620; color: var(--text); padding: 20px; box-shadow: 0 30px 100px rgba(0,0,0,.6); }
.analysis-dialog::backdrop { background: rgba(1,7,11,.78); backdrop-filter: blur(5px); }
.dialog-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.dialog-head h3 { font-size: 22px; margin: 3px 0 0; }
.icon-button { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); background: #09131c; color: white; border-radius: 10px; font-size: 20px; }
.analysis-event { color: var(--muted); margin-top: 7px; font-size: 11px; }
.analysis-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 18px; }
.analysis-grid > div { background: #07121a; border: 1px solid rgba(33,51,66,.72); border-radius: 11px; padding: 11px; }
.analysis-grid span { display: block; color: var(--muted); font-size: 8px; }
.analysis-grid strong { display: block; margin-top: 4px; font-size: 17px; }
.analysis-note { margin-top: 13px; border: 1px solid rgba(221,255,63,.15); background: rgba(221,255,63,.05); border-radius: 12px; padding: 12px; }
.analysis-note.secondary { border-color: var(--line); background: #09141d; }
.analysis-note strong { font-size: 11px; }
.analysis-note p { color: #8799a8; font-size: 10px; line-height: 1.6; margin: 5px 0 0; }
@media (max-width: 950px) {
  .overview-grid { grid-template-columns: 1fr 1fr; }
  .hero-grid { grid-template-columns: 1fr; }
  .cards { grid-template-columns: 1fr 1fr; }
  .controls-grid.three { grid-template-columns: 1fr 1fr; }
  .schedule-header { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 650px) {
  .app-shell { width: min(100% - 20px, 1280px); }
  .topbar, .section-header, footer, .top-actions, .schedule-tools { align-items: flex-start; flex-direction: column; }
  .overview-grid, .cards, .sport-selector, .controls-grid, .controls-grid.three, .analysis-grid { grid-template-columns: 1fr; }
  .schedule-row { grid-template-columns: 70px 1fr; }
  .schedule-side { grid-column: 1 / -1; text-align: left; }
  .summary-grid { grid-template-columns: 1fr 1fr; }
  .panel { padding: 17px; border-radius: 17px; }
}
.learning-meta { color: #718595; font-size: 9px; max-width: 290px; text-align: right; }
.score-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:8px; }
.score-strip > div { background:#07121a; border:1px solid rgba(33,51,66,.55); border-radius:10px; padding:9px; }
.score-strip span { display:block; color:#6f8291; font-size:7px; }
.score-strip strong { display:block; font-size:15px; margin-top:3px; }
.detail-strip { display:flex; flex-wrap:wrap; gap:6px; color:#7d91a0; font-size:9px; }
.detail-strip span { padding:5px 7px; background:#08131c; border-radius:7px; border:1px solid rgba(33,51,66,.55); }
.detail-strip b { color:#b9c5ce; }
.venue-line { display:block; color:#607483; margin-top:4px; font-size:9px; }
.analysis-hero { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:16px; }
.analysis-hero > div { background:linear-gradient(180deg,rgba(221,255,63,.08),#07121a); border:1px solid rgba(221,255,63,.16); border-radius:12px; padding:12px; }
.analysis-hero span { color:#8193a1; font-size:8px; display:block; }
.analysis-hero strong { font-size:22px; display:block; margin-top:4px; }
.reason-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:13px; }
.reason-box { border-radius:12px; padding:12px; border:1px solid var(--line); background:#08131c; }
.reason-box.good { border-color:rgba(103,224,161,.22); background:rgba(103,224,161,.04); }
.reason-box.risk { border-color:rgba(255,182,92,.22); background:rgba(255,182,92,.04); }
.reason-box strong { font-size:11px; }
.reason-box p { color:#8da0ad; font-size:10px; line-height:1.5; margin:7px 0 0; }
.summary-grid.five { grid-template-columns:repeat(5,1fr); }
@media (max-width: 900px) { .summary-grid.five { grid-template-columns:repeat(3,1fr); } }
@media (max-width: 650px) { .score-strip,.analysis-hero,.reason-grid { grid-template-columns:1fr; } .summary-grid.five { grid-template-columns:1fr 1fr; } .learning-meta { text-align:left; } }
.persistent-header { margin-top: 26px; }
.db-badge { border:1px solid var(--line); background:#0b1620; color:var(--muted); padding:8px 11px; border-radius:999px; font-size:10px; font-weight:900; }
.db-badge.ok { color:var(--good); border-color:rgba(103,224,161,.28); background:rgba(103,224,161,.05); }
.db-badge.bad { color:var(--warn); border-color:rgba(255,182,92,.28); background:rgba(255,182,92,.05); }
.persistent-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:12px; }
.memory-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.memory-stats > div { background:#07121a; border:1px solid rgba(33,51,66,.65); border-radius:12px; padding:12px; }
.memory-stats span { display:block; color:var(--muted); font-size:8px; letter-spacing:.07em; font-weight:850; }
.memory-stats strong { display:block; margin-top:5px; font-size:20px; }
.auto-parlay-list { display:grid; gap:8px; }
.auto-parlay-card { display:grid; grid-template-columns:1fr auto; gap:12px; padding:11px 12px; border:1px solid var(--line); background:#08131c; border-radius:12px; }
.auto-parlay-card h4 { margin:0; font-size:13px; }
.auto-parlay-card p { margin:5px 0 0; color:var(--muted); font-size:9px; line-height:1.45; }
.auto-parlay-status { align-self:start; padding:5px 8px; border-radius:999px; font-size:8px; font-weight:950; border:1px solid var(--line); color:var(--muted); }
.auto-parlay-status.WIN { color:var(--good); border-color:rgba(103,224,161,.25); background:rgba(103,224,161,.05); }
.auto-parlay-status.LOSS { color:var(--bad); border-color:rgba(255,119,132,.25); background:rgba(255,119,132,.05); }
.auto-parlay-status.PENDING { color:var(--blue); border-color:rgba(111,183,255,.25); background:rgba(111,183,255,.05); }
@media (max-width: 950px) { .persistent-grid { grid-template-columns:1fr; } }
@media (max-width: 650px) { .memory-stats { grid-template-columns:1fr; } }
.controls-grid.four { grid-template-columns:.75fr .95fr 1.35fr 1.1fr; }
.market-memory { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:10px; }
.market-memory > div { background:#08131c; border:1px solid rgba(33,51,66,.6); border-radius:10px; padding:10px; }
.market-memory span { display:block; color:var(--muted); font-size:7px; font-weight:900; letter-spacing:.05em; }
.market-memory strong { display:block; margin-top:4px; font-size:15px; }
.recommended-badge { display:inline-flex; align-items:center; gap:4px; padding:4px 7px; border-radius:999px; background:rgba(221,255,63,.1); border:1px solid rgba(221,255,63,.26); color:var(--accent); font-size:8px; font-weight:950; letter-spacing:.05em; }
.market-tag { display:inline-flex; padding:4px 7px; border-radius:7px; background:#07121a; border:1px solid var(--line); color:#9db0be; font-size:8px; font-weight:900; }
.schedule-pick { margin-top:6px; color:#b8c5cf !important; }
@media (max-width: 1050px) { .controls-grid.four { grid-template-columns:1fr 1fr; } }
@media (max-width: 650px) { .controls-grid.four,.market-memory { grid-template-columns:1fr; } }
.auto-analysis-card { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; margin:12px 0 14px; padding:12px; border:1px solid rgba(221,255,63,.18); background:linear-gradient(180deg,rgba(221,255,63,.06),rgba(7,18,26,.55)); border-radius:12px; }
.auto-analysis-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:rgba(221,255,63,.10); border:1px solid rgba(221,255,63,.20); }
.auto-analysis-card strong { font-size:10px; color:var(--accent); letter-spacing:.05em; }
.auto-analysis-card p { margin:5px 0 0; color:#8da0ad; font-size:9px; line-height:1.55; }
.market-comparison { display:grid; gap:6px; margin-top:9px; }
.market-option { display:grid; grid-template-columns:1fr auto auto; gap:8px; align-items:center; padding:7px 9px; border-radius:9px; border:1px solid rgba(33,51,66,.55); background:#07121a; font-size:9px; }
.market-option.chosen { border-color:rgba(221,255,63,.30); background:rgba(221,255,63,.05); }
.market-option .choice-label { color:#aab9c4; }
.market-option.chosen .choice-label { color:var(--accent); font-weight:900; }
.market-option .choice-score { color:#8295a3; font-size:8px; }
.market-option strong { font-size:11px; }
.auto-decision-note { margin-top:8px; color:#8ea0ae; font-size:9px; line-height:1.45; }
.recommendation-watch { color:var(--warn); }
.recommendation-good { color:var(--good); }
.recommendation-strong { color:var(--accent); }
.market-memory { grid-template-columns:repeat(4,1fr); }
@media (max-width: 900px) { .market-memory { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 650px) { .auto-analysis-card { grid-template-columns:1fr; } .market-option { grid-template-columns:1fr auto; } .market-option .choice-score { grid-column:1 / -1; } .market-memory { grid-template-columns:1fr; } }

/* V0.5.6 — navegación por pestañas + ticker informativo */
.navigation-stack { position: sticky; top: 0; z-index: 40; margin: 0 0 18px; padding-top: 4px; background: linear-gradient(180deg, rgba(6,16,24,.98) 0%, rgba(6,16,24,.93) 78%, rgba(6,16,24,0) 100%); backdrop-filter: blur(14px); }
.info-ticker { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; min-height: 42px; border: 1px solid #263b4c; background: linear-gradient(90deg,#0b1823,#07131c 45%,#0b1823); border-radius: 13px 13px 0 0; overflow: hidden; box-shadow: 0 12px 34px rgba(0,0,0,.24); }
.ticker-label { height: 100%; display: flex; align-items: center; gap: 7px; padding: 0 13px; color: #eaf2f6; background: #0e202d; border-right: 1px solid #263b4c; font-size: 9px; font-weight: 950; letter-spacing: .08em; white-space: nowrap; }
.ticker-dot,.live-nav-dot { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #ff5967; box-shadow: 0 0 0 4px rgba(255,89,103,.10); animation: livePulse 1.25s ease-in-out infinite; }
.ticker-window { min-width: 0; overflow: hidden; mask-image: linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent); }
.ticker-track { display: flex; width: max-content; align-items: center; animation: tickerMove 96s linear infinite; will-change: transform; }
.ticker-track:hover { animation-play-state: paused; }
.ticker-set { display: flex; align-items: center; white-space: nowrap; }
.ticker-item { display: inline-flex; gap: 7px; align-items: center; padding: 0 14px; color: #a7b6c1; font-size: 10px; }
.ticker-item b { color: #eff6fa; font-size: 9px; letter-spacing: .03em; }
.ticker-item strong { color: var(--accent); }
.ticker-item em { color: #728a9a; font-style: normal; }
.ticker-item.live b { color: #ff7b86; }
.ticker-item.final b { color: var(--good); }
.ticker-item.signal b { color: var(--accent); }
.ticker-separator { color: #355166; opacity: .65; font-size: 7px; }
.ticker-time { padding: 0 12px; height: 100%; display: flex; align-items: center; color: #6f8290; border-left: 1px solid #263b4c; background: #091720; font-size: 8px; white-space: nowrap; }
.ticker-placeholder { color: var(--muted); padding: 0 16px; font-size: 10px; }
@keyframes tickerMove { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes livePulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.45; transform:scale(.78); } }

.main-tabs { display: flex; gap: 4px; padding: 6px; background: rgba(8,20,29,.97); border: 1px solid #263b4c; border-top: 0; border-radius: 0 0 13px 13px; overflow-x: auto; scrollbar-width: none; }
.main-tabs::-webkit-scrollbar { display:none; }
.main-tabs button { flex: 1 0 auto; min-width: 112px; border: 0; background: transparent; color: #7f92a1; padding: 10px 12px; border-radius: 9px; font-size: 10px; font-weight: 900; transition: .15s ease; }
.main-tabs button:hover { color:#dce5eb; background:#0d1d28; }
.main-tabs button.active { color:#071019; background:var(--accent); box-shadow:0 7px 20px rgba(221,255,63,.10); }
.main-tabs button.active .live-nav-dot { background:#071019; box-shadow:none; }

.tab-content { min-height: 650px; }
.tab-page { display: none; animation: tabIn .18s ease; }
.tab-page.active { display: block; }
@keyframes tabIn { from { opacity:.45; transform:translateY(4px); } to { opacity:1; transform:none; } }
.page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin: 8px 0 16px; }
.page-heading-inline { margin-top: 8px; }
.page-clock { color:#94a7b5; border:1px solid var(--line); background:#09161f; padding:9px 12px; border-radius:11px; font-size:10px; text-transform:capitalize; }
.clickable { cursor:pointer; transition:.15s ease; }
.clickable:hover { transform:translateY(-2px); border-color:#3a586e; }

.dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.dashboard-card { min-height:278px; background:linear-gradient(180deg,rgba(16,30,42,.95),rgba(8,18,27,.95)); border:1px solid var(--line); border-radius:18px; padding:17px; }
.dashboard-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding-bottom:11px; border-bottom:1px solid rgba(33,51,66,.65); }
.dashboard-card-head h3 { margin:3px 0 0; font-size:17px; }
.mini-link { border:0; background:transparent; color:#8ba0ae; font-size:9px; font-weight:850; padding:4px; }
.mini-link:hover { color:var(--accent); }
.dashboard-list { display:grid; gap:0; margin-top:3px; }
.compact-row { display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; padding:11px 2px; border-bottom:1px solid rgba(33,51,66,.52); }
.compact-row:last-child { border-bottom:0; }
.compact-row > div { min-width:0; }
.compact-row b { display:block; color:#e9eff3; margin-top:3px; font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.compact-row b i { color:#607685; font-style:normal; font-weight:500; padding:0 3px; }
.compact-row small { display:block; color:#6f8392; font-size:8px; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.compact-row > strong { color:#dce6ec; font-size:14px; }
.compact-score { font-size:20px !important; letter-spacing:-.03em; }
.compact-league { color:var(--accent); font-size:8px; font-weight:900; }
.signal-row > strong { color:var(--accent); }
.compact-empty { display:flex; flex-direction:column; justify-content:center; min-height:115px; color:#718593; font-size:10px; line-height:1.6; text-align:center; }
.compact-empty b { color:#aebbc4; }
.compact-empty span { color:#647887; }
.system-summary { padding-top:5px; }
.system-line { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 2px; border-bottom:1px solid rgba(33,51,66,.52); font-size:10px; }
.system-line span { color:#7e929f; }
.system-line b { color:#c9d4dc; text-align:right; }
.good-text { color:var(--good) !important; }
.warn-text { color:var(--warn) !important; }

.live-heading { align-items:flex-end; }
.live-tools { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.live-refresh-status { color:#718694; font-size:9px; }
.live-layout { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.live-column { min-width:0; }
.subsection-title { display:flex; align-items:center; gap:8px; margin:0 0 9px; color:#91a4b1; }
.subsection-title h3 { margin:0; color:#eef4f7; font-size:15px; }
.live-pulse { width:8px; height:8px; border-radius:50%; background:#ff5967; box-shadow:0 0 0 5px rgba(255,89,103,.09); animation:livePulse 1.25s infinite; }
.count-badge { margin-left:auto; min-width:24px; height:24px; display:grid; place-items:center; border-radius:999px; background:#102432; border:1px solid #2a4254; color:#b5c4cf; font-size:9px; font-weight:900; }
.live-list { display:grid; gap:9px; }
.live-game-card { background:linear-gradient(180deg,#0e1e29,#091720); border:1px solid #263a4a; border-radius:17px; padding:15px; }
.live-game-card.active-live { border-color:rgba(255,89,103,.27); box-shadow:inset 3px 0 0 rgba(255,89,103,.75); }
.live-game-card.final { opacity:.90; }
.live-game-top { display:flex; justify-content:space-between; align-items:center; gap:12px; color:#869aa8; font-size:9px; }
.live-chip,.final-chip { padding:4px 7px; border-radius:999px; font-size:8px; font-weight:950; }
.live-chip { color:#ff8590; border:1px solid rgba(255,89,103,.28); background:rgba(255,89,103,.07); }
.final-chip { color:var(--good); border:1px solid rgba(103,224,161,.24); background:rgba(103,224,161,.05); }
.score-board { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; margin:16px 0 10px; }
.score-board > div:not(.score-divider) { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px; padding:10px; border-radius:11px; background:#07131c; }
.score-board span { color:#bcc8d0; font-size:10px; }
.score-board strong { font-size:26px; letter-spacing:-.05em; }
.score-divider { color:#415b6d; font-weight:900; }
.leader-line { color:#ff9aa2; font-size:10px; font-weight:850; }
.live-game-card.final .leader-line { color:#7f939f; }
.pre-game-signal { display:flex; justify-content:space-between; gap:10px; margin-top:11px; padding-top:10px; border-top:1px solid rgba(33,51,66,.58); font-size:9px; }
.pre-game-signal span { color:#6f8391; }
.pre-game-signal b { color:var(--accent); text-align:right; }
.live-empty { display:grid; place-items:center; text-align:center; min-height:250px; border:1px dashed #2b4151; background:rgba(8,20,29,.5); border-radius:17px; color:#718694; padding:25px; }
.live-empty > div { font-size:34px; color:#425e70; }
.live-empty h3 { margin:8px 0 0; color:#aebcc6; }
.live-empty p { margin:5px 0 0; font-size:10px; }
.live-empty.small { min-height:160px; }

@media (max-width: 950px) {
  .dashboard-grid,.live-layout { grid-template-columns:1fr; }
  .navigation-stack { top:0; }
  .ticker-time { display:none; }
}
@media (max-width: 650px) {
  .topbar { padding-top:22px; }
  .info-ticker { grid-template-columns:auto minmax(0,1fr); }
  .ticker-label { padding:0 9px; font-size:8px; }
  .ticker-item { font-size:9px; padding:0 10px; }
  .main-tabs button { min-width:102px; padding:9px 10px; }
  .page-heading,.live-heading,.live-tools { align-items:flex-start; flex-direction:column; }
  .score-board { grid-template-columns:1fr; gap:5px; }
  .score-divider { display:none; }
}
@media (prefers-reduced-motion: reduce) {
  .ticker-track { animation:none; }
  .ticker-dot,.live-nav-dot,.live-pulse { animation:none; }
  .tab-page { animation:none; }
}


/* V0.5.7 persistence bootstrap */
.learning-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ghost-button.small{padding:9px 13px;font-size:12px}.sync-status{margin-top:14px;padding:11px 12px;border:1px solid #20394a;border-radius:10px;background:#091822;color:#9fb3c8;font-size:12px;line-height:1.5}.sync-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d7ff2f;margin-right:7px;box-shadow:0 0 0 4px rgba(215,255,47,.08);animation:syncPulse 1s infinite alternate}.good-text{color:#6ef2b0}.warn-text{color:#ffc36b}.bad-text{color:#ff7c8d}@keyframes syncPulse{from{opacity:.35}to{opacity:1}}

/* V0.5.8 · Parlay oficial inmutable */
.official-today-card{margin:16px 0 18px;border:1px solid rgba(215,255,47,.28);background:linear-gradient(135deg,rgba(215,255,47,.07),#0b1823 44%,#08131c);border-radius:18px;padding:18px 20px;box-shadow:0 18px 50px rgba(0,0,0,.15)}
.official-empty h3,.official-main h3{margin:5px 0;font-size:21px}.official-empty p,.official-main p{margin:5px 0;color:var(--muted);font-size:11px;line-height:1.55}
.official-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.official-lock{display:inline-flex;gap:6px;align-items:center;padding:6px 9px;border:1px solid rgba(215,255,47,.3);border-radius:999px;color:var(--accent);font-size:9px;font-weight:950}.official-status{padding:6px 9px;border-radius:999px;font-size:9px;font-weight:950;border:1px solid var(--line)}
.official-status.PENDING{color:var(--blue);border-color:rgba(111,183,255,.3)}.official-status.WIN{color:var(--good);border-color:rgba(103,224,161,.3)}.official-status.LOSS{color:var(--bad);border-color:rgba(255,119,132,.3)}.official-status.PUSH{color:var(--warn);border-color:rgba(255,182,92,.3)}
.official-legs{display:grid;gap:8px;margin:14px 0}.official-leg{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #203849;border-radius:12px;background:#07131c}.official-leg-index{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#071019;font-weight:950}.official-leg strong{font-size:12px}.official-leg small{display:block;color:var(--muted);margin-top:3px;font-size:9px}.official-leg-result{font-size:9px;font-weight:950}.official-leg-result.WIN{color:var(--good)}.official-leg-result.LOSS{color:var(--bad)}.official-leg-result.PUSH{color:var(--warn)}.official-leg-result.PENDING{color:var(--blue)}
.official-metrics{display:flex;gap:8px;flex-wrap:wrap}.official-metrics span{padding:7px 9px;border:1px solid #203849;border-radius:10px;background:#07131c;font-size:9px;color:var(--muted)}.official-metrics b{color:#fff}.official-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.played-badge{color:var(--good);font-weight:900;font-size:10px}.official-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#6f8495;font-size:8px;word-break:break-all}.integrity-ok{color:var(--good)}.integrity-fail{color:var(--bad)}
.auto-parlay-card.official-history{grid-template-columns:1fr auto}.auto-parlay-card .leg-history{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.auto-parlay-card .leg-history span{font-size:8px;padding:4px 6px;border:1px solid #203849;border-radius:8px}.auto-parlay-card .leg-history .WIN{color:var(--good)}.auto-parlay-card .leg-history .LOSS{color:var(--bad)}.auto-parlay-card .leg-history .PUSH{color:var(--warn)}
@media (max-width:700px){.official-head{flex-direction:column}.official-leg{grid-template-columns:28px 1fr}.official-leg-result{grid-column:2}.official-today-card{padding:14px}}

/* V0.5.9 — comparativas plegables para no saturar la vista */
.market-details { margin-top:9px; border:1px solid rgba(33,51,66,.62); border-radius:11px; background:rgba(5,15,23,.62); overflow:hidden; }
.market-details > summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:auto auto 1fr; gap:9px; align-items:center; padding:9px 11px; color:#93a6b3; font-size:9px; user-select:none; }
.market-details > summary::-webkit-details-marker { display:none; }
.market-details > summary span { color:#dce6ec; font-weight:900; }
.market-details > summary b { color:var(--accent); font-size:8px; border:1px solid rgba(221,255,63,.22); background:rgba(221,255,63,.06); border-radius:999px; padding:3px 6px; }
.market-details > summary em { justify-self:end; min-width:0; color:#718795; font-style:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.market-details[open] > summary { border-bottom:1px solid rgba(33,51,66,.58); background:rgba(12,28,39,.6); }
.market-details[open] > summary span::first-letter { color:var(--accent); }
.market-details .market-comparison { margin:0; padding:8px; }
@media (max-width:650px) { .market-details > summary { grid-template-columns:1fr auto; } .market-details > summary em { grid-column:1 / -1; justify-self:start; } }

/* V0.6.0 — acceso privado + administración + responsive móvil */
.auth-hidden{display:none!important}.hidden{display:none!important}
.auth-gate{min-height:100vh;position:relative;overflow:auto;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 15%,rgba(221,255,63,.10),transparent 30%),radial-gradient(circle at 85% 80%,rgba(54,167,255,.10),transparent 32%),#061018;color:#fff}
.auth-ambient{position:absolute;border-radius:999px;filter:blur(70px);opacity:.28;pointer-events:none}.auth-ambient-a{width:330px;height:330px;background:#dfff3f;left:-140px;top:-80px}.auth-ambient-b{width:380px;height:380px;background:#267fff;right:-190px;bottom:-140px}
.auth-public{position:relative;z-index:1;width:min(980px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);grid-template-areas:"brand login" "highlights login" "activity login" "hint login";gap:20px 50px;align-items:center}
.auth-brand{grid-area:brand;align-self:end}.auth-brand h1{font-size:clamp(48px,7vw,86px);line-height:.92;margin:8px 0 14px;letter-spacing:-.06em}.auth-brand h1 span{color:var(--accent,#ddff3f)}.auth-brand p{max-width:600px;color:#91a7b6;font-size:15px;line-height:1.7;margin:0}.auth-highlights{grid-area:highlights;display:flex;gap:8px;flex-wrap:wrap;align-self:start}.auth-highlights span{padding:8px 10px;border:1px solid #263d4d;background:rgba(9,24,34,.76);border-radius:999px;color:#aebdc7;font-size:10px;font-weight:850}
.login-card{grid-area:login;background:linear-gradient(180deg,rgba(17,35,47,.96),rgba(8,20,29,.98));border:1px solid #2b4355;border-radius:24px;padding:28px;box-shadow:0 28px 100px rgba(0,0,0,.42);backdrop-filter:blur(18px)}.login-lock{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(221,255,63,.10);border:1px solid rgba(221,255,63,.28);color:var(--accent);font-size:20px;margin-bottom:14px}.login-card h2{font-size:26px;margin:5px 0 7px}.login-card>p{color:#8398a7;font-size:11px;line-height:1.55;margin:0 0 17px}.login-card label{display:block;color:#aebcc7;font-size:10px;font-weight:900;margin:11px 0}.login-card input{width:100%;margin-top:7px;padding:13px 14px;border-radius:11px;border:1px solid #2b4050;background:#07131c;color:#fff;outline:none;font:inherit}.login-card input:focus{border-color:rgba(221,255,63,.55);box-shadow:0 0 0 3px rgba(221,255,63,.06)}.login-card .primary-button{width:100%;margin-top:8px}.login-card>small{display:block;color:#617786;font-size:8px;line-height:1.5;text-align:center;margin-top:12px}.login-message{min-height:20px;margin-top:9px;font-size:10px;color:#ff8c99}.login-message.ok{color:#6ef2b0}.auth-setup-hint{grid-area:hint;padding:12px 14px;border:1px solid rgba(255,182,92,.25);background:rgba(255,182,92,.05);border-radius:12px;color:#d6b37e;font-size:10px;line-height:1.55}
.session-strip{display:flex;gap:8px;align-items:center}.session-user{padding:7px 10px;border:1px solid #2b4050;background:#091720;border-radius:11px;min-width:120px}.session-user b{display:block;color:#eaf2f6;font-size:10px}.session-user span{display:block;color:#718795;font-size:8px;margin-top:2px}.ghost-button.compact{padding:8px 10px;font-size:9px}
.admin-grid{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr);gap:14px}.admin-form{display:grid;gap:4px}.admin-form input,.admin-form select{width:100%;padding:12px 13px;border-radius:10px;border:1px solid #2a4050;background:#07131c;color:#fff;outline:none}.master-badge,.single-session-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;border:1px solid rgba(221,255,63,.28);background:rgba(221,255,63,.07);color:var(--accent);font-size:8px;font-weight:950;white-space:nowrap}.admin-note{margin-top:14px;padding:12px;border:1px solid #233b4b;background:#081620;border-radius:12px}.admin-note b{display:block;color:#dce7ed;font-size:10px}.admin-note span{display:block;color:#7f93a1;font-size:9px;line-height:1.5;margin-top:5px}.form-message{min-height:18px;color:#ff8f9a;font-size:9px}.form-message.ok{color:#6ef2b0}
.users-list{display:grid;gap:8px}.user-row{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid #233b4b;background:#07131c;border-radius:13px}.user-identity b{display:flex;align-items:center;gap:7px;color:#eef5f8;font-size:12px}.user-identity small{display:block;color:#718696;font-size:8px;margin-top:4px}.status-dot{width:7px;height:7px;border-radius:50%;background:#596e7d;box-shadow:0 0 0 4px rgba(89,110,125,.08)}.status-dot.online{background:#65e8a4;box-shadow:0 0 0 4px rgba(101,232,164,.09)}.user-expiry{min-width:125px}.user-expiry strong{display:block;color:#c4d0d8;font-size:9px}.user-expiry span{display:block;color:#718695;font-size:8px;margin-top:3px}.user-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.user-action{border:1px solid #2a4152;background:#0b1a24;color:#9fb1bd;border-radius:8px;padding:6px 8px;font-size:8px;font-weight:850;cursor:pointer}.user-action:hover{color:#fff;border-color:#456276}.user-action.danger{color:#ff8f9a;border-color:rgba(255,119,132,.25)}.user-action.good{color:#6ef2b0;border-color:rgba(103,224,161,.25)}

@media (max-width:900px){.auth-public{grid-template-columns:1fr;grid-template-areas:"brand" "activity" "login" "highlights" "hint";max-width:600px}.auth-brand{text-align:center}.auth-brand p{margin-inline:auto}.auth-highlights{justify-content:center}.admin-grid{grid-template-columns:1fr}.top-actions{align-items:stretch}.session-strip{justify-content:flex-end}}
@media (max-width:680px){body{padding-bottom:74px}.auth-gate{padding:18px}.auth-public{gap:14px}.auth-brand h1{font-size:52px}.auth-brand p{font-size:12px}.auth-highlights{display:grid;grid-template-columns:1fr 1fr;width:100%}.auth-highlights span{text-align:center;font-size:8px;padding:7px}.login-card{padding:20px;border-radius:19px}.login-card h2{font-size:22px}.app-shell{width:100%;padding:0 12px}.topbar{gap:12px;align-items:flex-start}.brand-block h1{font-size:35px}.brand-block p{font-size:9px;max-width:280px}.top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px}.session-strip{grid-column:1/-1;justify-content:space-between}.session-user{flex:1}.learning-meta{grid-column:1/-1;text-align:left;max-width:none}.navigation-stack{position:sticky;top:0;margin-inline:-12px;padding-inline:12px}.info-ticker{border-radius:0;min-height:37px}.ticker-label{font-size:7px;padding:0 8px}.main-tabs{position:fixed;left:0;right:0;bottom:0;z-index:100;border:0;border-top:1px solid #294151;border-radius:0;padding:6px 8px max(6px,env(safe-area-inset-bottom));background:rgba(5,15,23,.97);backdrop-filter:blur(18px);box-shadow:0 -12px 35px rgba(0,0,0,.35)}.main-tabs button{min-width:72px;padding:9px 7px;font-size:8px;flex:1}.main-tabs button:nth-child(n+6){min-width:78px}.tab-content{padding-bottom:18px}.overview-grid{grid-template-columns:1fr 1fr}.overview-card{padding:12px}.overview-card strong{font-size:21px}.hero-grid,.dashboard-grid,.live-layout,.persistent-grid{grid-template-columns:1fr}.panel,.dashboard-card,.official-today-card{border-radius:15px;padding:13px}.controls-grid.three,.controls-grid.four{grid-template-columns:1fr 1fr}.sport-selector{grid-template-columns:1fr 1fr 1fr}.sport-selector .sport{padding:10px 5px;font-size:9px}.page-heading h2,.page-heading-inline h2{font-size:22px}.schedule-row{grid-template-columns:62px 1fr}.schedule-side{grid-column:1/-1}.cards{grid-template-columns:1fr}.candidate-card{padding:13px}.leg-row{grid-template-columns:28px 1fr}.leg-pct{grid-column:2;justify-self:start;text-align:left;margin-top:4px}.summary-grid.five{grid-template-columns:1fr 1fr}.memory-stats{grid-template-columns:1fr 1fr}.market-memory{grid-template-columns:1fr 1fr}.user-row{grid-template-columns:1fr}.user-expiry{min-width:0}.user-actions{justify-content:flex-start}.analysis-dialog{width:calc(100vw - 18px);max-height:88vh;border-radius:16px}.analysis-grid{grid-template-columns:1fr 1fr}.official-leg{grid-template-columns:26px 1fr}.official-leg-result{grid-column:2}.footer,footer{padding-bottom:12px}.top-actions .ghost-button:not(.compact){font-size:8px;padding:8px}.api-pill{font-size:8px;justify-content:center}}
@media (max-width:430px){.overview-grid{grid-template-columns:1fr}.controls-grid.three,.controls-grid.four,.memory-stats,.market-memory,.analysis-grid{grid-template-columns:1fr}.auth-highlights{grid-template-columns:1fr 1fr}.top-actions{grid-template-columns:1fr}.session-strip,.learning-meta{grid-column:auto}.main-tabs button{min-width:64px;font-size:7px}.main-tabs button[data-tab="learning"]{min-width:76px}.main-tabs button[data-tab="users"]{min-width:70px}.official-metrics{display:grid;grid-template-columns:1fr 1fr}.ticker-item{font-size:8px}.ticker-item b{font-size:8px}}

/* V0.6.1 — portada viva + ticker más pausado */
.public-activity{grid-area:activity;border:1px solid #284150;background:linear-gradient(180deg,rgba(10,27,38,.92),rgba(6,18,27,.94));border-radius:20px;padding:16px;box-shadow:0 18px 55px rgba(0,0,0,.22);overflow:hidden;position:relative}
.public-activity::after{content:"";position:absolute;inset:auto -90px -120px auto;width:230px;height:230px;border-radius:50%;background:rgba(221,255,63,.05);filter:blur(10px);pointer-events:none}
.public-activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.public-activity-head h3{font-size:16px;line-height:1.25;margin:5px 0 0;max-width:520px}.public-live-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--good);font-size:8px;font-weight:950;letter-spacing:.13em}.public-live-kicker i{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 5px rgba(103,224,161,.08);animation:publicPulse 1.8s ease-in-out infinite}.public-system-badge{flex:none;padding:6px 9px;border-radius:999px;border:1px solid rgba(103,224,161,.22);background:rgba(103,224,161,.06);color:var(--good);font-size:8px;font-weight:950;letter-spacing:.06em}.public-system-badge.warn{color:var(--warn);border-color:rgba(255,182,92,.22);background:rgba(255,182,92,.06)}
.public-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:13px}.public-stat{padding:10px;border:1px solid rgba(38,61,77,.82);background:#07141d;border-radius:11px;min-width:0}.public-stat span{display:block;color:#758c9b;font-size:7px;font-weight:950;letter-spacing:.1em;white-space:nowrap}.public-stat strong{display:block;color:#f4f8fa;font-size:20px;line-height:1;margin-top:6px;letter-spacing:-.04em;overflow:hidden;text-overflow:ellipsis}.public-stat small{display:block;color:#58707f;font-size:7px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-activity-feed{margin-top:9px;border:1px solid rgba(38,61,77,.75);border-radius:11px;background:rgba(5,15,23,.62);overflow:hidden}.public-feed-title{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid rgba(38,61,77,.55);color:#7f93a1;font-size:7px;font-weight:900;letter-spacing:.08em}.public-feed-title small{color:#526b7a;font-weight:700;letter-spacing:0}.public-feed-list{display:grid}.public-feed-row{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(33,51,66,.35);min-width:0}.public-feed-row:last-child{border-bottom:0}.public-feed-row>b{color:var(--accent);font-size:8px;text-align:center}.public-feed-row.live>b{color:#ff6572}.public-feed-row.final>b{color:var(--good)}.public-feed-row span{color:#a8bac5;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.public-feed-row em{font-style:normal;color:#647b8a;font-size:8px;white-space:nowrap}.public-feed-row.loading span{color:#6e8391}.public-feed-row.loading b{animation:publicPulse 1.8s ease-in-out infinite}
.public-engine-flow{display:flex;align-items:center;gap:5px;margin-top:10px;color:#58707f;font-size:6px;font-weight:950;letter-spacing:.08em;white-space:nowrap;overflow:hidden}.public-engine-flow span{padding:4px 6px;border-radius:999px;border:1px solid rgba(38,61,77,.62);background:rgba(8,22,31,.72);color:#748a98}.public-engine-flow i{font-style:normal;color:#3f5d70}
@keyframes publicPulse{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}

@media (max-width:900px){.public-activity{max-width:600px;width:100%;justify-self:center}.public-activity-head h3{font-size:15px}}
@media (max-width:680px){.public-activity{padding:13px;border-radius:16px}.public-stat-grid{grid-template-columns:1fr 1fr}.public-stat strong{font-size:18px}.public-activity-head{align-items:center}.public-activity-head h3{font-size:13px}.public-feed-row{grid-template-columns:16px 1fr}.public-feed-row em{grid-column:2}.public-engine-flow{overflow-x:auto;scrollbar-width:none}.public-engine-flow::-webkit-scrollbar{display:none}}
@media (max-width:430px){.public-system-badge{display:none}.public-stat-grid{grid-template-columns:1fr 1fr}.public-feed-row span{font-size:8px}}

/* V0.6.2 · Web Push */
.push-toggle.active{border-color:rgba(101,232,164,.45);color:#6ef2b0;background:rgba(101,232,164,.08);box-shadow:0 0 0 1px rgba(101,232,164,.05) inset}
.push-toggle:disabled{opacity:.62;cursor:not-allowed}.single-session-badge.bad{color:#ff8f9a;border-color:rgba(255,119,132,.28);background:rgba(255,119,132,.08)}
.push-admin-panel{grid-column:1/-1}.push-admin-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.push-admin-stats>div{padding:12px;border:1px solid #233b4b;background:#07131c;border-radius:12px}.push-admin-stats span{display:block;color:#718695;font-size:8px;font-weight:900;letter-spacing:.08em}.push-admin-stats strong{display:block;margin-top:5px;font-size:22px;color:#eff6f8}.push-test-form{grid-template-columns:minmax(150px,.7fr) minmax(190px,1fr) minmax(240px,1.4fr) auto;align-items:end;gap:8px}.push-test-form .field-group{min-width:0}.push-test-form .primary-button{height:43px;white-space:nowrap}.push-test-form .form-message{grid-column:1/-1}
@media (max-width:980px){.push-test-form{grid-template-columns:1fr 1fr}.push-test-form .field-group:nth-child(3){grid-column:1/-1}.push-test-form .primary-button{grid-column:1/-1}}
@media (max-width:680px){.push-test-form{grid-template-columns:1fr}.push-test-form .field-group:nth-child(3),.push-test-form .primary-button{grid-column:auto}.push-admin-stats{grid-template-columns:1fr 1fr}.push-toggle{font-size:8px!important;padding:8px!important}}

/* V0.6.3 · mobile install prompt + presence/push diagnostics */
.install-prompt{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:1000;width:min(720px,calc(100vw - 28px));display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 16px;background:linear-gradient(135deg,rgba(14,31,42,.98),rgba(8,20,29,.98));border:1px solid rgba(215,255,47,.38);border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 45px rgba(215,255,47,.07);backdrop-filter:blur(20px)}
.install-prompt.hidden{display:none}.install-icon{width:52px;height:52px;border-radius:15px;overflow:hidden;background:#d7ff2f;box-shadow:0 0 25px rgba(215,255,47,.15)}.install-icon img{width:100%;height:100%;object-fit:cover}.install-copy{min-width:0}.install-copy .kicker{font-size:8px}.install-copy h3{margin:3px 0 4px;font-size:18px;line-height:1.05}.install-copy p{margin:0;color:#91a6b5;font-size:10px;line-height:1.45}.install-button{width:auto!important;min-width:150px;margin:0!important;padding:12px 16px!important}.install-close{position:absolute;right:7px;top:5px;border:0;background:transparent;color:#7f93a2;font-size:20px;cursor:pointer;line-height:1;padding:4px 7px}.install-close:hover{color:#fff}
.push-device-diagnostics{margin:14px 0 16px;padding:12px;border:1px solid #20394a;border-radius:14px;background:rgba(5,15,23,.42)}.push-device-list{display:grid;gap:7px;margin-top:9px}.push-device-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);gap:12px;align-items:center;padding:9px 10px;border:1px solid #193242;border-radius:10px;background:#07141d}.push-device-row>div{display:grid;gap:3px}.push-device-row b{font-size:10px;color:#ecf4f8}.push-device-row span{font-size:8px;color:#6f8999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.push-device-row small{font-size:8px;color:#8ca2b0;line-height:1.4;text-align:right;overflow-wrap:anywhere}
@media(max-width:680px){.install-prompt{bottom:84px;grid-template-columns:46px 1fr;padding:13px 14px;border-radius:18px}.install-icon{width:44px;height:44px;border-radius:13px}.install-copy h3{font-size:16px}.install-copy p{font-size:9px;padding-right:8px}.install-button{grid-column:1/-1;width:100%!important;min-width:0}.push-device-row{grid-template-columns:1fr}.push-device-row small{text-align:left}.auth-gate{padding-bottom:150px}}
