:root{
  --bg:#000;--panel:#080808;--panel2:#0d0d0d;--line:#252525;--line2:#353535;
  --text:#f5f5f5;--muted:#8f8f8f;--green:#42dbab;--red:#ff6b72;--amber:#f4c55e;--blue:#74a7ff;
}
*{box-sizing:border-box}
html{background:#000;scroll-behavior:smooth}
body{margin:0;background:#000;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.35}
button{font:inherit;color:inherit}
.app-shell{width:100%;max-width:1920px;margin:0 auto;padding:0 8px 46px}
.app-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;background:rgba(0,0,0,.94);backdrop-filter:blur(14px);border-bottom:1px solid #171717}
.brand-row{display:flex;align-items:center;gap:9px}.brand-mark{width:35px;height:35px;border-radius:11px;background:var(--green);color:#001a12;display:grid;place-items:center;font-weight:950;letter-spacing:-.05em}.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy strong{font-size:13px;letter-spacing:.06em}.brand-copy span{font-size:10px;color:var(--muted);margin-top:4px}
.header-actions{display:flex;align-items:center;gap:7px}.icon-btn{width:34px;height:34px;border-radius:50%;border:1px solid #252525;background:#0b0b0b;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{border-color:#494949}.connection{height:34px;display:flex;align-items:center;gap:6px;border:1px solid #252525;border-radius:999px;padding:0 10px;color:var(--muted);font-size:10px;white-space:nowrap}.connection i{width:7px;height:7px;border-radius:50%;background:var(--amber)}.connection i.ok{background:var(--green)}.connection i.bad{background:var(--red)}
.update-meta{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;white-space:nowrap}.update-meta b{font-weight:700;border:1px solid #252525;border-radius:999px;padding:4px 7px;color:#cfcfcf}
.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));border-bottom:1px solid var(--line);padding:12px 0;max-width:520px}.summary-strip>div{display:flex;flex-direction:column;gap:1px;padding:0 13px;border-right:1px solid #1c1c1c}.summary-strip>div:first-child{padding-left:0}.summary-strip>div:last-child{border-right:0}.summary-strip span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.summary-strip strong{font-size:20px;font-weight:780}
.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:20px 0 14px}.eyebrow{font-size:9px;color:var(--green);font-weight:800;letter-spacing:.14em}.dashboard-head h1{font-size:22px;line-height:1.05;margin:5px 0 3px;letter-spacing:-.03em}.dashboard-head p{margin:0;color:var(--muted);font-size:11px}.status-legend{display:flex;align-items:center;gap:12px;color:#aaa;font-size:10px;flex-wrap:wrap;justify-content:flex-end}.status-legend span{display:flex;align-items:center;gap:5px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.hit{background:var(--green)}.dot.miss{background:var(--red)}.dot.live{background:#d4d4d4}.dot.pending{background:#555}
.ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.parlay-card{min-width:0;background:#030303;border:1px solid #252525;border-radius:16px;overflow:hidden;transition:border-color .2s ease}.parlay-card.lost{border-color:rgba(255,107,114,.5)}.parlay-card.won{border-color:rgba(66,219,171,.55)}
.card-head{padding:11px 12px 9px;background:#070707;border-bottom:1px solid #202020}.card-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.card-id{display:flex;align-items:flex-start;gap:8px;min-width:0}.card-number{flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid #343434;font-size:10px;font-weight:800}.card-title{min-width:0}.card-title h2{margin:0;font-size:13px;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-title p{margin:3px 0 0;color:var(--muted);font-size:9px}.card-state{text-align:right;flex:0 0 auto}.card-state strong{display:block;font-size:9px;letter-spacing:.05em}.card-state strong.live{color:#ddd}.card-state strong.won{color:var(--green)}.card-state strong.lost{color:var(--red)}.card-state span{display:block;margin-top:3px;color:var(--muted);font-size:8px}.card-progress{height:3px;background:#151515;margin-top:9px;border-radius:99px;overflow:hidden}.card-progress i{display:block;height:100%;background:var(--green);transition:width .3s ease}
.game-block{padding:9px 10px 10px;border-bottom:1px solid #1f1f1f}.game-block:last-child{border-bottom:0}.game-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px}.game-status{font-size:8px;color:#a8a8a8;text-transform:uppercase;letter-spacing:.05em}.game-status.live{color:var(--green)}.game-total{font-size:8px;color:#696969}.score-lines{display:grid;gap:3px}.score-row{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:6px}.team-badge{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#111;border:1px solid #2e2e2e;font-size:6.5px;font-weight:900;color:#e7e7e7;position:relative}.team-badge::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border-top:2px solid var(--team-color,#666)}.team-name{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score{font-size:12px;font-weight:800;text-align:right}.score-row.trailing .team-name{color:#939393}.score-row.leading .team-name,.score-row.leading .score{color:#fff}
.market-timeline{position:relative;margin:8px 0 0 7px;padding-left:15px}.market-timeline::before{content:"";position:absolute;left:2px;top:4px;bottom:5px;border-left:1px dashed #2a2a2a}.market-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 19px;gap:5px;align-items:start;padding:5px 0}.market-row::before{content:"";position:absolute;left:-16px;top:10px;width:6px;height:6px;border-radius:50%;border:1px solid #4a4a4a;background:#050505}.market-row.hit::before{border-color:var(--green)}.market-row.miss::before{border-color:var(--red)}.market-row.void::before{border-color:var(--blue)}.market-copy{min-width:0}.market-topline{display:flex;align-items:center;gap:5px;min-width:0}.market-type{font-size:7.5px;color:#a6a6a6;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inning-chip{font-size:6.5px;color:#aaa;background:#1c1c1c;border-radius:5px;padding:1px 4px}.market-pick{margin-top:1px;font-size:11.5px;font-weight:650;color:#dedede;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-row.hit .market-pick{color:var(--green)}.market-row.miss .market-pick{color:var(--red)}.market-detail{margin-top:1px;font-size:7.5px;color:#676767;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-result{display:flex;justify-content:flex-end}.result-icon{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:850;border:1px solid #303030;color:#8c8c8c}.result-icon.hit{background:var(--green);border-color:var(--green);color:#00150e}.result-icon.miss{background:var(--red);border-color:var(--red);color:#210002}.result-icon.void{border-color:var(--blue);color:var(--blue)}.result-icon.live{border-color:#5a5a5a;color:#ddd}.result-icon.pending{color:#666}.total-progress{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:4px;margin-top:4px}.total-track{height:4px;background:#1d1d1d;border-radius:99px;overflow:hidden}.total-fill{height:100%;background:var(--green);transition:width .3s ease}.market-row.miss .total-fill{background:var(--red)}.total-marker{font-size:7px;color:#aaa;text-align:right}
.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;background:#070707;border-top:1px solid #202020;color:#8e8e8e;font-size:8px}.card-footer strong{color:#d7d7d7;font-size:9px}
.source-note{margin:18px 0 0;color:#626262;font-size:9px;text-align:center}
@media(max-width:1120px){.ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-head{align-items:flex-start;flex-direction:column}.status-legend{justify-content:flex-start}.update-meta{display:none}}
@media(max-width:650px){.ticket-grid{grid-template-columns:1fr}}
@media(max-width:560px){.app-shell{padding:0 10px 30px}.app-header{align-items:flex-start}.brand-copy span{display:none}.connection{padding:0 8px}.connection span{display:none}.summary-strip{grid-template-columns:repeat(4,1fr);width:100%}.summary-strip>div{padding:0 8px}.summary-strip strong{font-size:17px}.ticket-grid{grid-template-columns:1fr}.dashboard-head h1{font-size:20px}.parlay-card{border-radius:14px}.team-name{font-size:12px}.market-pick{font-size:12px}.market-detail{font-size:8.5px}.market-type{font-size:8px}}


/* Escala ampliada para monitores Full HD (1920 px). Mantiene 3 cards por fila. */
@media(min-width:1500px){
  .app-shell{padding-left:8px;padding-right:8px}
  .app-header{padding:14px 0}
  .brand-mark{width:42px;height:42px;border-radius:13px;font-size:17px}
  .brand-copy strong{font-size:15px}.brand-copy span{font-size:12px;margin-top:5px}
  .icon-btn{width:40px;height:40px;font-size:17px}
  .connection{height:40px;padding:0 13px;font-size:12px}.connection i{width:8px;height:8px}
  .update-meta{font-size:12px}.update-meta b{padding:5px 9px}
  .summary-strip{max-width:650px;padding:15px 0}.summary-strip>div{padding:0 17px}.summary-strip span{font-size:11px}.summary-strip strong{font-size:26px}
  .dashboard-head{padding:24px 0 18px}.eyebrow{font-size:11px}.dashboard-head h1{font-size:29px;margin-top:6px}.dashboard-head p{font-size:13px}.status-legend{font-size:12px;gap:16px}.dot{width:8px;height:8px}
  .ticket-grid{gap:18px}
  .parlay-card{border-radius:18px}
  .card-head{padding:14px 15px 12px}.card-number{flex-basis:36px;width:36px;height:36px;font-size:12px}.card-id{gap:10px}.card-title h2{font-size:16px}.card-title p{font-size:11px;margin-top:4px}.card-state strong{font-size:11px}.card-state span{font-size:10px}.card-progress{height:4px;margin-top:11px}
  .game-block{padding:12px 13px 13px}.game-head{margin-bottom:9px}.game-status,.game-total{font-size:10px}
  .score-lines{gap:4px}.score-row{grid-template-columns:31px minmax(0,1fr) 26px;gap:8px}.team-badge{width:30px;height:30px;font-size:8px}.team-name{font-size:15px}.score{font-size:16px}
  .market-timeline{margin-top:10px;margin-left:9px;padding-left:19px}.market-timeline::before{left:3px}.market-row{grid-template-columns:minmax(0,1fr) 24px;gap:7px;padding:7px 0}.market-row::before{left:-20px;top:13px;width:8px;height:8px}
  .market-topline{gap:7px}.market-type{font-size:9.5px}.inning-chip{font-size:8.5px;padding:2px 5px}.market-pick{font-size:15px;margin-top:2px}.market-detail{font-size:10px;margin-top:2px}.result-icon{width:23px;height:23px;font-size:13px}
  .total-progress{grid-template-columns:minmax(0,1fr) 27px;gap:6px;margin-top:6px}.total-track{height:6px}.total-marker{font-size:9px}
  .card-footer{padding:10px 14px;font-size:10px}.card-footer strong{font-size:11px}
  .source-note{font-size:11px;margin-top:22px}
}
