/* Pulso 2 · adapters for the existing application. Shared anatomy: pulso-data.css. */
.ob-app { font-size:14px; }
/* A team opens on its profile shell, with readable history if JS is unavailable. */
.p-team-pending { display:none; }
.p-js:not(.p-app-failed) .p-team-pending { display:block; }
.p-js:not(.p-app-failed) .p-team-fallback { display:none; }
.p-team-pending> :not(:last-child) { margin-bottom:12px; }
.p-team-loading-form { display:flex; gap:6px; margin-top:28px; }
.p-team-loading-form .p-skeleton { width:24px; height:24px; }
.p-team-loading-track.p-skeleton { min-height:8px; height:8px; }
.p-team-loading-balance { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:13px; }
.p-team-loading-balance .p-skeleton { width:60%; max-width:144px; height:22px; justify-self:center; }
.p-team-loading-metric { display:flex; align-items:center; gap:16px; min-height:46px; }
.p-team-loading-metric .p-skeleton:first-child { width:70px; flex:none; height:12px; min-height:12px; }
.p-team-loading-metric .p-skeleton:last-child { flex:1; height:6px; min-height:6px; }
/* National flags: preserve the PNG proportions without a frame or backing,
   including the server-rendered cards shown before app initialization. */
:root .ob-app img:is(.bandera-sm,.bandera-xl,.bc-flag,.hs-flag,.escudo,.op-flag,.opt-flag)[src^="https://flagcdn.com/"] {
  object-fit:contain; background:transparent; border:0; border-radius:0; box-shadow:none;
}
:root .ob-app>header { background:var(--p-surface); backdrop-filter:none; }
.ob-app .sk { border:0; }
.ob-app main.wrap { padding-left:20px; padding-right:20px; }
.ob-app header { background:var(--p-surface); border-bottom:0; }
:root .ob-app>header.p-app-header { margin-left:0; z-index:var(--p-layer-dropdown); box-shadow:var(--p-elevation-header); }
.ob-app>header.p-app-header>.wrap { height:var(--p-app-header-height); }
.ob-app .breadcrumb { z-index:1; }
.ob-app #sidebar { background:var(--p-surface); border-right:0; }
.ob-app :is(.sb-item,.sb-torneo,.sb-mini,.home-filter,.tab) { border:0; }
.ob-app :is(.sb-item,.sb-torneo,.sb-mini,.home-filter,.tab):hover { background:var(--p-highlight); color:var(--p-highlight-ink); }
.ob-app .sb-item.on { background:var(--p-highlight); color:var(--p-highlight-ink); box-shadow:none; border-radius:12px; }
.ob-app .sb-item.on svg { color:inherit; }
.ob-app .header-cupon { display:inline-flex; align-items:center; gap:8px; background:var(--p-surface-raised); color:var(--p-text); border:0; border-radius:12px; min-height:44px; padding:8px 12px; }
.ob-app .header-cupon:hover { background:var(--p-highlight); color:var(--p-highlight-ink); }
.ob-app .header-cupon>svg { width:18px; }
.ob-app .pro-chip { border:0; background:var(--p-text); color:var(--p-surface); }
.ob-app .topsearch { box-shadow:none; background:var(--p-bg); border-color:transparent; }
.ob-app :is(.home-live-link,.hdr-ingresar,.cupon-guardar,.mp-pay-auto,.mp-pay-card,.btn:not(.ghost)) { background:var(--p-action); color:var(--p-action-ink); border:0; box-shadow:none; }
.ob-app :is(.home-live-link,.hdr-ingresar,.cupon-guardar,.btn:not(.ghost)):hover { background:var(--p-highlight); color:var(--p-highlight-ink); }
.dashboard-heading { padding:16px 0 8px; }
.dashboard-heading h2 { font-size:26px; line-height:32px; font-weight:750; }
.dashboard-scope { margin-bottom:10px; }
#vistaHome .dashboard-overview { gap:10px; margin-bottom:18px; }
#vistaHome .dashboard-stat { position:relative; border:0; padding:14px 16px; border-radius:16px; grid-template-columns:1fr auto; gap:4px 12px; box-shadow:var(--p-elevation-card); }
#vistaHome .dashboard-stat>span { grid-column:1; font-size:12px; }
#vistaHome .dashboard-stat>strong { grid-column:2; grid-row:1/3; align-self:center; font-size:30px; }
#vistaHome .dashboard-stat>small { grid-column:1; font-size:10px; }
#vistaHome .home-featured { margin-bottom:14px; }
.home-featured-label { font-size:14px; letter-spacing:-.015em; text-transform:none; color:var(--p-text); margin-bottom:10px; }
.ob-feature-strip { gap:12px; }
.home-featured .ob-feature.p-feature { border:0; padding:18px 20px; min-height:204px; }
.p-feature .ob-feature-head { color:#E4E8F0; font-size:11px; gap:8px; }
.p-feature .ob-feature-team { color:white; gap:8px; font-size:14px; }
.p-feature .ob-feature-team img { width:42px; filter:drop-shadow(0 4px 7px #0004); }
.p-feature .ob-feature-time strong { color:white; font-weight:700; font-size:30px; letter-spacing:-.045em; }
.p-feature .ob-feature-time small { color:#D8DEE8; font-size:11px; }
.p-feature .ob-feature-foot { margin-top:auto; padding-top:10px; border-top:1px solid #ffffff1a; color:#D8DEE8; font-size:11px; }
.p-feature .ob-feature-foot b { padding:7px 10px; border-radius:8px; color:var(--p-highlight); background:#ffffff0c; }
.featured-nav { margin-top:8px; gap:8px; }
.home-tools { margin-bottom:12px; gap:8px; }
.home-filter { min-height:38px; border:0; padding:8px 14px; background:var(--p-surface); border-radius:10px; }
.home-filter[aria-pressed="true"] { color:var(--p-highlight-ink); background:var(--p-highlight); border:0; }
.ob-app main.wrap .seccion { margin:20px 0 10px; font-size:18px; }
#partidos { gap:10px; }
.ob-app .partido-card { padding:14px 16px; border:0; border-radius:16px; background:var(--p-surface); box-shadow:var(--p-elevation-card); }
.ob-app .partido-card:hover { background:var(--p-surface-hover); color:var(--p-text); box-shadow:none; transform:none; }
.partido-card:hover :is(.pf-cuota,.pf-fav,.hora,.pctv) { color:var(--p-text); }
.partido-card:hover :is(.pc-source,.liga-tag,.pc-foot,.ir) { color:var(--p-text-muted); }

.ob-app .pc-main { padding:0; }
.ob-app .pc-foot { padding-top:8px; margin-top:8px; border-top:1px solid color-mix(in srgb,var(--p-border) 55%,transparent); }
.ob-app .pc-source { font-size:10px; }
.ob-app .pc-team { font-size:13px; }
.ob-app .pc-time .hora { font-size:20px; }
.ob-app .pk-star { border:0; background:#151C24; box-shadow:none; margin:0; cursor:default; }
.ob-app .pk-star-tag { color:var(--p-highlight); letter-spacing:.06em; font-size:10px; margin-bottom:12px; }
.ob-app .pk-star-body { gap:16px; align-items:center; }
.ob-app .pk-star-match { color:#BDC7D5; font-size:12px; }
.ob-app .pk-star-sel { color:white; font-size:17px; font-weight:650; }
.ob-app .pk-star-min { color:#BDC7D5; font-size:12px; }
.ob-app .pk-star-min b { color:var(--p-highlight); font-size:20px; }
.ob-app .pk-ring { width:68px; height:68px; flex:none; }
.ob-app .pk-ring-n { fill:white; }
.ob-app .pk-star-body .p-button { margin-left:auto; white-space:nowrap; }
.ob-app .intel-strip { margin:0; padding:8px 0; border:0; background:transparent; font-size:12px; }
.ob-app .intel-strip .pos { color:var(--p-text); }
.ob-app :is(.picks-panel,.pick-item,.mj-card,.fav-bet,.acc,.h2h-wrap) { border:0; box-shadow:var(--p-elevation-card); }
.ob-app .picks-panel { border-radius:18px; padding:16px; }
.ob-app .picks-filtro { margin-block:var(--p-space-12) var(--p-space-16); }
.ob-app .p-pick-copy .sug-merc { margin:0; font-size:11px; line-height:18px; }
.ob-app .p-pick-copy .sug-sel { line-height:22px; }
.ob-app .p-pick-copy .pick-min { font-size:11px; line-height:18px; }
.ob-app .p-pick-alternatives .pick-alt-l { padding:2px var(--p-space-8); }
.ob-app .pro-teaser { background:var(--p-surface-raised); color:var(--p-text); border:0; box-shadow:none; }
.ob-app .pro-teaser:hover { background:var(--p-highlight); color:var(--p-highlight-ink); transform:none; }
.ob-app .pro-lock { background:var(--p-highlight); color:var(--p-highlight-ink); }
.ob-app .pro-teaser-cta { color:inherit; }
.ob-app .pro-teaser:hover .pro-teaser-tx p { color:var(--p-highlight-ink); }
.ob-app .fav-bet { background:var(--p-surface-raised); border-radius:12px; min-height:72px; padding:12px; }
.ob-app .fav-bet:hover { background:var(--p-highlight); color:var(--p-highlight-ink); }
.ob-app .fav-bet.top { border:0; }
.ob-app .fav-bets { gap:8px; }
.ob-app .fav-bets[style] { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.ob-app .mj-card { background:var(--p-surface); border:0; padding:16px; border-radius:18px; }
.ob-app .mj-card .addleg { align-self:center; }
.ob-app .det-headline { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:12px; align-items:start; }
.ob-app .det-headline>* { min-width:0; margin:0; }
.ob-app .det-headline>.aviso,.ob-app .det-headline>.mc-aviso { grid-column:1/-1; }
.ob-app .det-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; align-items:start; }
#resultado .det-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.det-grid>.p-markets-grid { grid-column:1/-1; }
.ob-app .acc { border-radius:18px; margin:0; background:var(--p-surface); }
.ob-app .acc-head { padding:16px; }
.ob-app .acc-head:hover { background:var(--p-surface-hover); }
.ob-app .acc-titles h3 { font-size:15px; }
.ob-app .acc-titles .sub { font-size:11px; }
.p-market-card .acc { box-shadow:none; border-radius:16px; }
.p-market-card .acc-head { padding:12px; }
.p-market-card .acc-head .ico { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; color:var(--p-icon-accent); background:var(--p-surface-raised); }
.p-market-card .acc.open .acc-head { border-bottom:0; }
.p-market-card .acc-inner { padding:0; }
.ob-app .addleg.p-selection { width:36px; height:36px; min-width:36px; min-height:36px; border:0; border-radius:10px; color:var(--p-text); background:var(--p-surface-raised); box-shadow:none; }
.ob-app .addleg.p-selection.in { color:var(--p-highlight-ink); background:var(--p-highlight); box-shadow:none; }
.ob-app .addleg.p-selection:not(:disabled):not([aria-disabled="true"]):hover,
.ob-app .fav-bet:hover .addleg.p-selection:not(:disabled):not([aria-disabled="true"]) { color:var(--p-selection-hover-ink); background:var(--p-selection-hover-fill); box-shadow:none; }
.ob-app .cc-add:is(:hover,.in) { background:var(--p-highlight); color:var(--p-highlight-ink); }
.ob-app .aviso:not(.p-notice) { padding:12px 14px; border:0; border-radius:12px; background:var(--p-surface-raised); font-size:12px; }
.ob-app .p-theme-dark { --bg:var(--p-bg); --bg2:var(--p-surface-raised); --card:var(--p-surface); --card2:var(--p-surface-raised); --text:var(--p-text); --muted:var(--p-text-muted); --border:var(--p-border); --border-strong:var(--p-border-control); --accent:var(--p-highlight); --accent-dim:#D8FF3E12; --gold:var(--p-warning); --red:var(--p-danger); --neutral:var(--p-text-muted); }
#vistaVivo { padding:20px; border-radius:24px; margin-top:16px; min-height:calc(100vh - 120px); }
#vistaVivo .seccion { margin:0 0 8px; color:var(--p-text); }
#vistaVivo .live-feed-status { margin:12px 0 16px; font-size:11px; justify-content:flex-start; }
#vistaVivo .vivo-liga { margin:18px 0 8px; color:#DDE4ED; font-size:11px; letter-spacing:.07em; }
.p-live-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#vistaVivo .vivo-match { border:0; background:var(--p-surface-raised); border-radius:16px; margin:0; }
#vistaVivo .vivo-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) 12px; gap:10px; padding:14px 12px 10px; background:transparent; }
#vistaVivo .vivo-row:hover { background:var(--p-surface-hover); }
#vistaVivo .vr-min { font-size:10px; padding:4px 7px; }
#vistaVivo .vr-nom { white-space:normal; font-size:12px; line-height:18px; }
#vistaVivo .vr-eq { gap:6px; }
#vistaVivo .vr-score { font-size:20px; font-weight:750; white-space:nowrap; }
#vistaVivo .vr-reading { font-size:11px; line-height:17px; padding:0 12px 12px; }
#vistaVivo .vr-eq img { width:22px; height:22px; }
.ob-app #cuponFab.on { display:flex !important; align-items:center; gap:10px; width:auto; height:48px; padding:0 16px; bottom:24px; right:24px; border:0; border-radius:14px; background:var(--p-highlight); color:var(--p-highlight-ink); box-shadow:0 8px 28px #16200030; }
#cuponFab .cnt { position:static; background:#223000; color:#D8FF3E; border:0; font-size:12px; min-width:24px; height:24px; display:grid; place-items:center; border-radius:8px; }
.p-ticket-label { font-size:13px; font-weight:750; }
.p-ticket-status { position:fixed; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#cuponModal.open~#cuponFab { display:none !important; }
#cuponModal .cupon-sheet { background:var(--p-surface); border:0; box-shadow:var(--p-elevation-float); }
#cuponModal .cupon-head { padding:16px; border-bottom:1px solid var(--p-border); }
#cuponModal .cupon-head h3 { font-size:20px; }
#cuponModal .cupon-legs { padding:12px 16px; }
#cuponModal .leg { background:var(--p-bg); border:0; border-radius:14px; padding:12px; margin-bottom:10px; }
#cuponModal .leg-quitar { min-width:44px; min-height:44px; border:0; background:var(--p-surface); border-radius:8px; }
#cuponModal .cupon-foot { background:var(--p-surface); }
#cuponModal .p-price-origin { color:var(--p-text-muted); font-size:10px; text-align:right; }
#cuponModal .cupon-x { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; }
.ob-app footer { border:0; margin-top:20px; }
@media(min-width:1024px) {
  :root { --sidebar-w:var(--p-app-sidebar-width); }
  .ob-app>header.p-app-header>.wrap { display:grid; grid-template-columns:calc(var(--sidebar-w) - 20px) minmax(180px,620px) minmax(max-content,1fr); gap:20px; padding-inline:20px; max-width:none; }
  .ob-app>header .brand { display:flex; min-width:0; gap:10px; }
  .ob-app>header .brand h1 { display:block; font-size:20px; }
  .ob-app>header .brand-iso { width:32px; height:32px; }
  .ob-app>header .topsearch { width:100%; min-width:0; }
  .ob-app>header .header-right { justify-self:end; }
  .ob-app #sidebar { top:var(--p-app-header-height); z-index:var(--p-layer-sticky); padding:12px 10px; }
  .ob-app main.wrap { max-width:none; }
}
@media(min-width:1450px) { #partidos { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1023px) {
  .ob-app #menuModal .cupon-sheet { border-bottom-left-radius:0; border-bottom-right-radius:0; }
}
@media(max-width:1200px) { .p-live-grid { grid-template-columns:minmax(0,1fr); }.ob-app .det-headline,#resultado .det-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:680px) {
  .ob-app main.wrap { padding-left:12px; padding-right:12px; }
  .ob-app header .wrap { padding-left:12px; padding-right:12px; }
  .header-cupon>svg,.header-cupon>span:not(.p-ticket-count) { display:none; }
  .ob-app .header-cupon { padding:6px; min-width:38px; }
  .ob-app .header-right { gap:4px; }
  .dashboard-heading { padding-top:14px; }.dashboard-heading h2 { font-size:24px; }
  #vistaHome .dashboard-stat { padding:12px; gap:4px 8px; }
  #vistaHome .dashboard-stat>strong { font-size:25px; }
  #vistaHome .dashboard-stat>span { font-size:11px; }
  #vistaHome .dashboard-stat>small { font-size:9px; }
  .home-featured .ob-feature.p-feature { padding:16px; min-height:204px; }
  .p-feature .ob-feature-time strong { font-size:26px; }
  .p-feature .ob-feature-team { font-size:12px; }
  .ob-app .pk-star-body { flex-wrap:wrap; gap:12px; }
  .ob-app .pk-star-info { flex:1; min-width:170px; }
  .ob-app .pk-star-body .p-button { margin-left:0; width:100%; }
  .ob-app .pk-star-sel { font-size:15px; }
  #vistaVivo { padding:14px 10px; border-radius:18px; }
  #vistaVivo .vivo-row { gap:6px; grid-template-columns:1fr auto 1fr 12px; }
  #vistaVivo .vr-min { grid-column:1/-1; margin-bottom:2px; }
  #vistaVivo .vr-eq { flex-wrap:wrap; }.vr-eq.der { justify-content:flex-end; }
  .ob-app #cuponFab.on { bottom:80px; right:14px; }
  .ob-app .fav-bets[style] { grid-template-columns:minmax(0,1fr) !important; }
  .ob-app .fav-bet { padding:10px; }
}
@media(pointer:coarse) { .ob-app .addleg.p-selection { min-width:44px; min-height:44px; width:44px; height:44px; } }
@media(prefers-reduced-motion:reduce) { .p-feature,.p-selection { transition:none; } }
/* Migration fixes: beat former light-theme selectors without a second component. */
:root .ob-app header .pro-chip { background:var(--p-emphasis-fill); color:var(--p-emphasis-ink); }
:root .ob-app header .pro-chip:hover { background:var(--p-emphasis-hover); color:var(--p-emphasis-ink); box-shadow:0 3px 12px #0002; }
.ob-app .sb-todos.on { background:var(--p-surface-raised); color:var(--p-text); }
.ob-app .sb-item:hover svg,.ob-app .sb-todos.on svg { color:inherit; }
.ob-app .pc-top { padding:8px 0; gap:12px; }
.ob-app .pc-teams { gap:10px; }
.ob-app .pc-foot { margin-top:4px; padding-top:8px; }
.ob-app .home-tools { border:0; border-radius:12px; padding:4px; }
.ob-app .det-headline { grid-template-columns:minmax(0,1fr); }
.ob-app .p-outcome-grid { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:24px; padding:16px; }
.p-outcome-summary { min-width:0; align-self:center; }
.p-outcome-choices { min-width:0; }
.ob-app .p-outcome-choices .fav-bets { margin-top:0; }
.p-outcome-grid .fav-nota { margin-top:8px; font-size:10px; }
.ob-app .p-match-context { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.p-match-context>* { margin:0; min-width:0; }
.p-match-context>#miniTabla { display:flex; min-width:0; }
.p-match-context>#miniTabla:empty { display:none; }
.ob-app .p-match-context>.mj-card { margin:0; align-self:stretch; }
.p-match-context .acc { align-self:start; }
.ob-app .match-header { padding:16px; min-height:0; }
#vivoModal.p-theme-dark .cupon-sheet { background:var(--p-bg); color:var(--p-text); }
#vivoModal.p-theme-dark :is(.live-reading,.live-stat-grid,.live-opportunity,.live-empty) { border:0; background:var(--p-surface-raised); }
@media(max-width:780px) { .ob-app .p-outcome-grid,.ob-app .p-match-context { grid-template-columns:minmax(0,1fr); gap:12px; }.ob-app .p-outcome-grid { padding:12px; } }
#cuponModal .cupon-x { font-size:26px; }
#cuponModal .cupon-pago { background:var(--p-surface-raised); color:var(--p-text); border:0; border-radius:12px; }
#cuponModal .cupon-pago .v { color:var(--p-text); }
#cuponModal .leg-tag.nuestro { background:var(--p-highlight); color:var(--p-highlight-ink); }
#cuponModal.rail-desktop .cupon-sheet { background:var(--p-surface); border:0; }
#cuponModal.rail-desktop .cupon-legs { background:var(--p-surface); }
.p-market-choice>.p-muted { font-size:11px; line-height:17px; }
@media(max-width:680px) {
  .ob-app .header-cupon { min-height:44px; min-width:44px; padding:8px; gap:6px; }
  .ob-app .header-cupon>svg { display:inline-block; }
  .dashboard-heading-tools { flex-direction:row; align-items:center; }
  .dashboard-heading time { font-size:10px; }
  .dashboard-heading .p-button { padding:8px; gap:6px; }
}
@media(max-width:360px) {
  .ob-app .hdr-ingresar { display:none; }
  .ob-app header .brand h1 { font-size:16px; }
  .dashboard-heading-tools { gap:6px; }.dashboard-heading h2 { font-size:22px; }
}

/* Pulso 2.1: contextual emphasis, neutral card interaction, connected editors. */
.ob-app [hidden] { display:none !important; }
.ob-app :is(.partido-card,.ver-mas,.pro-chip,.leg-edit,.leg-quitar,.cupon-x,.cupon-vaciar) { transition:background-color var(--p-motion-fast) var(--p-motion-standard),color var(--p-motion-fast) var(--p-motion-standard),box-shadow var(--p-motion-fast) var(--p-motion-standard); }
.ob-app .ver-mas { border:0; background:var(--p-surface); color:var(--p-text); box-shadow:none; }
.ob-app .ver-mas:hover { background:var(--p-surface-hover); border:0; box-shadow:none; }
.home-featured .ob-feature.p-feature:hover { box-shadow:inset 0 0 0 1px #ffffff4d; border-color:transparent; transform:none; }

#vistaHome .dashboard-stat>span { display:flex; gap:8px; align-items:center; }
.p-stat-icon { display:inline-flex; color:var(--p-emphasis); font-style:normal; }
.p-stat-icon svg { display:block; }
.ob-app .p-market-card { align-self:start; }
.ob-app .p-market-card .acc:not(.open) .acc-inner { border:0; }
.ob-app .p-market-choice strong { font-size:16px; line-height:22px; color:var(--p-emphasis); }
#cuponModal .cupon-head .acciones { display:flex; align-items:center; gap:4px; }
#cuponModal :is(.cupon-vaciar,.cupon-x) { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; padding:0; border:0; border-radius:12px; color:var(--p-icon-accent); background:transparent; }
#cuponModal .cupon-x:hover { background:var(--p-surface-hover); color:var(--p-icon-accent); }
#cuponModal :is(.cupon-vaciar,.leg-quitar):hover { background:var(--p-live-fill); color:var(--p-live-ink); }
#cuponModal .p-ticket-leg { margin-bottom:10px; border-radius:14px; overflow:hidden; background:var(--p-bg); }
#cuponModal .p-ticket-leg.editing { box-shadow:inset 0 0 0 1px var(--p-emphasis); }
#cuponModal .p-ticket-leg .leg { background:transparent; margin:0; }
#cuponModal .leg-right { flex-shrink:0; }
#cuponModal .leg-editor { display:grid; grid-template-rows:1fr; margin:0; padding:0; border:0; border-radius:0; background:transparent; transform:none; animation:p-editor-open var(--p-motion-enter) var(--p-ease-enter) both; }
#cuponModal .leg-editor.saliendo { animation:p-editor-close var(--p-motion-exit) var(--p-ease-exit) both; pointer-events:none; }
#cuponModal .ed-row { margin-bottom:12px; }
#cuponModal .ed-num { min-height:44px; width:112px; background:var(--p-surface); font-size:16px; }
#cuponModal .ed-num:focus-visible { outline:2px solid var(--p-emphasis); outline-offset:2px; box-shadow:none; }
#cuponModal .ed-opt { min-height:36px; }
#cuponModal .ed-opt.on { background:var(--p-emphasis-fill); color:var(--p-emphasis-ink); }
#cuponModal .ed-nota { border:0; padding:0; line-height:1.6; font-size:11px; }
/* The contextual theme must not paint the full-screen overlay opaque. */
#vivoModal.p-theme-dark { background:transparent; }
#vivoModal .cupon-scrim { background:var(--p-live-overlay); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
#vivoModal .cupon-sheet { width:min(1100px,calc(100vw - 40px)); max-width:1100px; border-radius:24px; box-shadow:0 24px 100px #0006; }
#vivoModal.p-theme-dark .cupon-sheet { background:var(--p-live-canvas); }
#vivoModal .cupon-head { padding:16px 20px; border:0; gap:12px; background:var(--p-live-header); border-radius:24px 24px 0 0; }
#vivoModal .cupon-head h3 { font-size:15px; }
#vivoModal .cupon-x { display:grid; place-items:center; min-width:44px; height:44px; border-radius:12px; background:var(--p-surface-raised); color:var(--p-icon-accent); }
#vivoModal .cupon-x:hover { background:var(--p-surface-hover); }
#vivoModal .cupon-legs { padding:20px; }
#vivoModal .p-live-hero { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; border:0; border-radius:18px; padding:22px; background:radial-gradient(ellipse at top,#39465766,transparent 70%),var(--p-live-hero); }
#vivoModal .vd-team { gap:8px; }
#vivoModal .vd-team .nombre { font-size:14px; }
#vivoModal .vd-team img { width:48px; height:48px; }
#vivoModal .vd-score { font-size:40px; line-height:1.2; color:var(--p-text); font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
#vivoModal .vd-min { margin-top:10px; }
#vivoModal .live-feed-status { margin:14px 0; font-size:11px; }
#vivoModal .live-feed-status button { border:0; background:var(--p-live-control); border-radius:10px; }
#vivoModal .live-feed-status button:hover { background:var(--p-live-control-hover); }
#vivoModal .live-reading { padding:18px; border-radius:18px; background:var(--p-live-panel); }
#vivoModal .live-reading h4,#vivoModal .p-live-stats-panel h4 { display:flex; align-items:center; gap:8px; margin:0 0 16px; font-size:15px; text-transform:none; }
#vivoModal .live-reading h4 svg,#vivoModal .p-live-stats-panel h4 svg { color:var(--p-highlight); }
#vivoModal .live-reading ul { list-style:none; padding:0; font-size:13px; line-height:1.65; }
#vivoModal .live-reading li { padding:10px 0; border-top:1px solid #ffffff0a; }
#vivoModal .live-reading li:first-child { padding-top:0; border:0; }
#vivoModal .live-reading li+li { margin:0; }
#vivoModal .p-live-stats-panel { background:var(--p-live-panel); border-radius:18px; padding:24px; }
#vivoModal .p-live-stats-panel .live-stat-grid { background:transparent; border:0; padding:8px 0 0; }
#vivoModal .live-projections tbody td b { color:var(--p-highlight); }
@media(min-width:1500px) { .p-live-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:780px) {
  #vivoModal .cupon-sheet { width:100%; max-width:none; border-radius:20px 20px 0 0; }
  #vivoModal .cupon-legs { padding:12px; }
  #vivoModal .p-live-stats-panel { padding:20px; }
  .p-live-detail-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  #vivoModal .p-live-hero { gap:8px; padding:18px 10px; }
  #vivoModal .vd-team .nombre { font-size:12px; }
  #vivoModal .vd-score { font-size:30px; }
  #vivoModal .vd-team img { width:36px; height:36px; }
}
@media(max-width:400px) {
  .ob-app .p-market-choice strong { font-size:14px; line-height:19px; }
  .p-stat-icon { display:none; }
}
@media(prefers-reduced-motion:reduce) { #cuponModal .leg-editor,#cuponModal .leg-editor.saliendo { animation:none; }.ob-app :is(.partido-card,.ver-mas,.pro-chip,.leg-edit,.leg-quitar,.cupon-x,.cupon-vaciar) { transition:none; } }

/* Legacy adapters consume Pulso detail roles. */
.ob-app :is(.acc-head .ico,.acc-head .arrow,.seccion>svg,.mj-aviso>svg) { color:var(--p-icon-accent); }
.ob-app .bc-drop.p-button { padding:10px 14px; gap:10px; font-size:14px; font-weight:650; }
.ob-app .bc-drop .bc-txt { white-space:normal; text-align:left; }
.ob-app .bc-drop .bc-chev { color:inherit; }
.ob-app .det-top.p-detail-nav .breadcrumb { margin:0; }
@media(max-width:600px) { .ob-app .det-top.p-detail-nav .breadcrumb { flex:1 0 100%; } }

/* Product composition only; control appearance and behavior belong to Pulso. */
.ob-app .auth-heading {display:flex;align-items:flex-start;gap:var(--p-space-12)}
.ob-app .auth-heading h2 {flex:1;min-width:0;margin:0;padding:0;line-height:1.3}
.ob-app .auth-heading .mp-x {position:static;flex:none;align-self:flex-start;width:44px;height:44px;min-width:44px;margin:0;transform:none}
.ob-app .auth-news {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.ob-app .auth-news .p-error {grid-column:1/-1;grid-row:2}
.ob-app #tsDrop.p-ui-combo-list {max-width:none;min-width:0;width:100%;top:calc(100% + 8px)}
.ob-app #tsDrop.p-ui-combo-list[hidden] {display:none}
.ob-app .ts-item.p-ui-nav-item,.ob-app .equipo-item.p-ui-nav-item {width:100%}
.ob-app .ts-item[aria-selected=true] {background:var(--p-accent-3);color:var(--p-accent-11)}
.ob-app .p-ui-panel .p-button.icon {flex:none}
.ob-app .p-ui-disclosure-head .acc-titles {flex:1;min-width:0}
.ob-app .p-ui-disclosure-head>h3 {flex:1;text-align:left}
.ob-app .p-ui-disclosure-head .arrow {margin-left:auto}
.ob-app .p-ui-disclosure-head {justify-content:flex-start}
.ob-app .rm-row>.p-error {grid-column:1/-1}
.ob-app #guiaX::before {content:none}
.ob-app #guiaX:empty::before {content:'×';font-size:24px}
.ob-app .p-ui-panel header {position:static;height:auto;box-shadow:none}
.ob-app .p-ui-dialog footer {border:0;padding:0;color:var(--p-text)}
.ob-app .p-ui-dialog .p-field {display:grid;margin-top:16px}

/* Footer follows the same content gutter as the rest of the app. */
.ob-app main.wrap > footer {margin-inline:0}

/* Match tabs consume the catalog component; the app only places the group. */
.ob-app .p-match-tabs {margin:var(--p-space-12) 0}

/* Audited semantic adapters: positive outcomes never inherit the action color. */
.ob-app .calib-box .v.buena { color:var(--p-success); }
.ob-app .balance-row .bl-vals .v { color:var(--p-success); }
.ob-app .bal-box .v.V { color:var(--p-success); }
.ob-app .leg-estado.ganada, .ob-app .leg-estado.ganando { color:var(--p-success); }
.ob-app .tk-right .pnl.pos { color:var(--p-success); }
.ob-app .tk-leg .est.ganada, .ob-app .tk-leg .est.ganando { color:var(--p-success); }
.ob-app .h2h-fila .win { color:var(--p-success); }
.ob-app .ap-box.pos { border-color:var(--p-success); background:var(--p-success-bg); }
.ob-app .ap-box.neg { border-color:var(--p-danger); background:var(--p-danger-bg); }
.ob-app .ap-box .v.pos { color:var(--p-success); }
.ob-app .ap-bet .est.ganada, .ob-app .ap-bet .est.ganando { color:var(--p-success); }
.ob-app .ap-bet .pnl.pos { color:var(--p-success); }
.ob-app .rm-bar i.pos { background:var(--p-success); }
.ob-app .rm-pct.pos { color:var(--p-success); }
.ob-app .cm-v.pos { color:var(--p-success); }
.ob-app .cm-v.neg { color:var(--p-danger); }
.ob-app .mp-msg.ok { color:var(--p-success); }
.ob-app .mp-msg.err { color:var(--p-danger); }
.ob-app .adm-chip.ok { background:var(--p-success-bg); color:var(--p-success); }
.ob-app .adm-chip.warn { background:var(--p-warning-bg); color:var(--p-warning); }
.ob-app .adm-chip.bad { background:var(--p-danger-bg); color:var(--p-danger); }
.ob-app .sug-conf.alta { background:var(--p-brand-soft); color:var(--p-emphasis); }
.ob-app .sug-conf.media { background:var(--p-surface-raised); color:var(--p-text-muted); }
.ob-app .cc-val.pos { background:var(--p-brand-soft); color:var(--p-emphasis); }
.ob-app .cc-odd.pos { color:var(--p-emphasis); }
.ob-app .pad .out .pos { color:var(--p-emphasis); }
.ob-app .es-ok { color:var(--p-success); }
.ob-app .coach-fix { color:var(--p-emphasis); }
.ob-app .stat-bar .l { background:var(--p-chart-home); }
.ob-app .stat-bar .r { background:var(--p-chart-away); }
.ob-app .stat-comp-fila .lado-l { color:var(--p-chart-home); }
.ob-app .stat-comp-fila .lado-r { color:var(--p-chart-away); }
.ob-app .probbar .pl { background:var(--p-chart-home); }
.ob-app .probbar .pv { background:var(--p-chart-away); }
.ob-app .probbar .pe { background:var(--p-text-muted); }
.ob-app .problabels span:first-child::before { background:var(--p-chart-home); }
.ob-app .problabels span:nth-child(2)::before { background:var(--p-text-muted); }
.ob-app .problabels span:last-child::before { background:var(--p-chart-away); }
.ob-app :is(.cm-v,.pnl,.ap-box .v).neutral { color:var(--p-text-muted); }
.ob-app .forma-item { width:100%; font-family:inherit; color:var(--p-text); background:transparent; border:0; border-bottom:1px solid var(--p-border); text-align:left; }
.ob-app .forma-item:hover { background:var(--p-surface-hover); }
.ob-app .forma-item:focus-visible { outline:3px solid var(--p-focus); outline-offset:-3px; border-radius:8px; }
.ob-app .forma-item .mk-line { flex-wrap:wrap; }
.ob-app .ficha-head .p-form { margin-top:16px; }
.ob-app .p-dominance .pv,.ob-app .problabels .dominance-high::before { background:var(--p-chart-home); }
.ob-app .p-dominance .pl,.ob-app .problabels .dominance-low::before { background:var(--p-chart-away); }

/* Informational Pro icons use emphasis; filled actions inherit their readable ink. */
.ob-app :is(.mp-bene,.mp-foot-secure) svg { color:var(--p-icon-accent); }
.ob-app .mp-badge { border:0; }
