/* Sports odds desk v2 — scope .sov on the shared .crx base (crash-tracker.css). Issue #246.
   The board reads like a sportsbook: a view row, a sport strip, league groups, and one card per
   match with the best price for every outcome in a fixed column so the eye scans a column of
   prices. The signature is the spread strip in every comparison: each book is a tick between the
   lowest and highest price, so the gap between the best price and the field is visible before
   the table is read. Quiet everywhere else; house tokens only. */
.crx.sov { --sov-slip-width:380px;font-variant-numeric:tabular-nums;min-width:0; }
/* Keep the closed board's left gutter; only its overlapping right edge gives way.
   Resolve against the full main column, never a root narrowed by the rail. */
@media (min-width:1080px) {
 .cds-sports-odds-v2 { --sov-slip-width:380px;--sov-slip-top:var(--top-h); }
 /* The measured header bottom includes its actual height, safe area and admin bar.
    Layer the rail below the header so the account menu can extend over it. */
 #cdSportsOddsV2 .slip { top:var(--sov-slip-top);z-index:69; }
 #cdSportsOddsV2 .slip:not(.collapsed) { height:calc(100dvh - var(--sov-slip-top)); }
 #cdSportsOddsV2.sov-slip-open:not(.sov-slip-collapsed) .crx-wrap,
 .cds-sports-odds-v2:has(#cdSportsOddsV2.sov-slip-open:not(.sov-slip-collapsed)) .cds-bc-wrap {
  --sov-left-gutter:max(0px,calc((100% - var(--wrap,1420px)) / 2));
  margin-left:var(--sov-left-gutter);margin-right:0;
  width:min(var(--wrap,1420px),calc(100% - var(--sov-left-gutter) - var(--sov-slip-width)));
 }
}
.crx.sov .crx-ident-text, .crx.sov .crx-wrap { min-width:0; }
/* Delayed / failed states are for the owner's ops view only (script: opsView); visitors see the pill when prices are current. */
.crx.sov .sov-live[hidden] { display:none; }
.crx.sov .crx-mark { display:grid;place-items:center;background:var(--grad-soft,linear-gradient(115deg,rgba(79,199,234,.14),rgba(123,77,242,.14)));color:var(--mid); }
.crx.sov .crx-mark svg { width:28px;height:28px; }
.crx.sov .crx-facts li { white-space:normal; }
.crx.sov .crx-facts b { color:#fff; }
.crx.sov .crx-facts time { color:var(--ink-2);font-weight:600; }
.crx.sov button, .crx.sov input, .crx.sov select, .crx.sov summary { min-height:40px; }
.crx.sov button { cursor:pointer; }
.crx.sov :focus-visible { outline:2px solid var(--mid);outline-offset:3px; }
.crx.sov .sov-muted { color:var(--ink-3);font-size:12.5px;line-height:1.6;margin:0; }
.crx.sov .sov-eyebrow { display:block;color:var(--mid);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
.crx.sov .sov-chev { display:inline-block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s;flex:0 0 auto; }
.crx.sov details[open]>summary .sov-chev { transform:rotate(225deg) translateY(-1px); }
.crx.sov summary::-webkit-details-marker { display:none; }
.crx.sov .sov-live.is-part { background:rgba(245,196,81,.1);color:var(--max,#F5C451);border-color:rgba(245,196,81,.3); }
.crx.sov .sov-live.is-no { background:rgba(255,92,122,.1);color:var(--lo,#FF5C7A);border-color:rgba(255,92,122,.3); }
.crx.sov .sov-live.is-part i, .crx.sov .sov-live.is-no i { animation:none;background:currentColor; }

/* ---------- view row (bordered tabs: the desk's primary navigation) ---------- */
.crx.sov .sov-views { display:flex;gap:2px;margin:0 0 14px;border-bottom:1px solid var(--hair);overflow-x:auto;scrollbar-width:none; }
.crx.sov .sov-views::-webkit-scrollbar { display:none; }
.crx.sov .sov-views button { flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:10px 16px 12px;border:1px solid transparent;margin-bottom:0;border-radius:10px;background:none;color:var(--ink-3);font-family:var(--font-display,"Sora","Inter",sans-serif);font-size:14.5px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;transition:color .16s,border-color .16s; }
.crx.sov .sov-views button:hover { color:#fff; }
.crx.sov .sov-views [aria-selected=true] { color:#fff;border-color:var(--hi,#A78BFA);background:rgba(123,77,242,.16); }
.crx.sov .sov-views button:focus-visible { outline:2px solid var(--mid);outline-offset:-3px; }
.crx.sov .sov-views b { display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(46,212,127,.14);color:var(--up,#2ED47F);font-size:11px;font-weight:800;line-height:1; }
.crx.sov .sov-views b[hidden] { display:none; }

/* ---------- toolbar ---------- */
.crx.sov .sov-toolbar { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px; }
.crx.sov .sov-search { flex:1 1 240px;display:flex;min-width:0; }
.crx.sov input, .crx.sov select { font:inherit;color:#fff;background:var(--card-2);border:1px solid var(--hair-2);max-width:100%; }
.crx.sov input:focus, .crx.sov select:focus { border-color:rgba(79,199,234,.5);outline:0; }
.crx.sov .sov-search input { width:100%;height:40px;padding:0 16px;border-radius:999px;font-size:13.5px; }
.crx.sov .sov-search input::placeholder { color:var(--ink-4); }
.crx.sov .sov-select select { height:40px;border-radius:999px;padding:0 34px 0 16px;font-size:13px;font-weight:600;color:var(--ink-2);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23A9AFC4' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;max-width:220px; }
.crx.sov .sov-tool-btn { display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;background:var(--card-2);border:1px solid var(--hair-2);color:var(--ink-2);font-size:13px;font-weight:600;white-space:nowrap;transition:color .16s,border-color .16s; }
.crx.sov .sov-tool-btn:hover { color:#fff;border-color:rgba(79,199,234,.5); }
.crx.sov .sov-tool-btn b { display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:11.5px;font-weight:700; }
.crx.sov .sov-tool-btn.is-filtered b { background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2)); }

/* ---------- sport strip ---------- */
.crx.sov .sov-strip { position:relative;margin:0 0 4px; }
.crx.sov .sov-sports { display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:2px 0 10px;margin:0;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent); }
.crx.sov .sov-strip.is-start .sov-sports { -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent); }
.crx.sov .sov-strip.is-end .sov-sports { -webkit-mask-image:linear-gradient(90deg,transparent,#000 40px);mask-image:linear-gradient(90deg,transparent,#000 40px); }
.crx.sov .sov-strip.is-start.is-end .sov-sports { -webkit-mask-image:none;mask-image:none; }
.crx.sov .sov-sports.is-dragging { cursor:grabbing;scroll-snap-type:none;user-select:none; }
.crx.sov .sov-sports button { scroll-snap-align:start; }
.crx.sov .sov-strip-arrow { position:absolute;top:2px;z-index:2;width:32px;height:36px;min-height:0;padding:0 0 2px;border-radius:999px;border:1px solid var(--hair-2);background:var(--card);color:var(--ink-2);font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 20px -10px rgba(0,0,0,.9);transition:opacity .15s,color .15s; }
.crx.sov .sov-strip-arrow.is-prev { left:0; }
.crx.sov .sov-strip-arrow.is-next { right:0; }
.crx.sov .sov-strip-arrow:hover { color:#fff;background:var(--card-2); }
.crx.sov .sov-strip.is-start .sov-strip-arrow.is-prev, .crx.sov .sov-strip.is-end .sov-strip-arrow.is-next { opacity:0;pointer-events:none; }
@media (hover:none) { .crx.sov .sov-strip-arrow { display:none; } .crx.sov .sov-sports { cursor:auto; } }
.crx.sov .sov-sports::-webkit-scrollbar { display:none; }
.crx.sov .sov-sports button { flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;height:36px;min-height:0;padding:0 13px;border-radius:999px;border:1px solid var(--hair);background:var(--card);color:var(--ink-2);font-size:13px;font-weight:600;white-space:nowrap;transition:color .16s,border-color .16s,background .16s; }
.crx.sov .sov-sports button span { font-size:11.5px;font-weight:500;color:var(--ink-4); }
.crx.sov .sov-sports button:hover { color:#fff;border-color:var(--hair-2); }
.crx.sov .sov-sports [aria-selected=true] { background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2));border-color:transparent;color:#fff;box-shadow:0 6px 16px -10px rgba(79,150,242,.8); }
.crx.sov .sov-sports [aria-selected=true] span { color:rgba(255,255,255,.8); }
.crx.sov .sov-sport-live { display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:11px;font-weight:700;color:var(--up,#2ED47F); }
.crx.sov .sov-sport-live::before { content:'';width:6px;height:6px;border-radius:50%;background:currentColor;animation:crxPulse 1.8s infinite; }
.crx.sov [aria-selected=true] .sov-sport-live { color:#fff; }
.crx.sov .sov-status { margin:0 0 12px;font-size:12.5px;color:var(--ink-3); }

/* ---------- league groups ---------- */
.crx.sov .sov-day { font-family:var(--font-display,"Sora","Inter",sans-serif);font-size:15px;font-weight:700;letter-spacing:-.01em;color:#fff;margin:22px 0 10px; }
.crx.sov .sov-day:first-child { margin-top:2px; }
.crx.sov .sov-group { margin-bottom:10px;border:1px solid var(--hair);border-radius:var(--rad,14px);background:var(--card-2);overflow:hidden; }
.crx.sov .sov-group>summary { display:flex;align-items:center;gap:12px;padding:0 16px;height:46px;min-height:0;cursor:pointer;list-style:none;color:var(--ink-2);font-size:13.5px;transition:color .16s; }
.crx.sov .sov-group>summary:hover, .crx.sov .sov-group[open]>summary { color:#fff; }
.crx.sov .sov-group-name { display:flex;align-items:baseline;gap:8px;min-width:0;flex:1 1 auto; }
.crx.sov .sov-group-name b { font-weight:700;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.crx.sov .sov-group-name span { font-size:12px;color:var(--ink-4);white-space:nowrap; }
.crx.sov .sov-group.tier-0>summary .sov-group-name::before { content:'';flex:0 0 auto;width:8px;height:8px;border-radius:2px;background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2));align-self:center; }
.crx.sov .sov-group-n { font-size:12px;color:var(--ink-4);white-space:nowrap; }
.crx.sov .sov-group-more { display:block;width:calc(100% - 12px);margin:0 6px 6px;height:38px;min-height:0;border-radius:10px;border:1px dashed var(--hair-2);background:none;color:var(--mid);font-size:12.5px;font-weight:600; }
.crx.sov .sov-group-more:hover { color:#fff;border-style:solid; }

/* ---------- a match: when · teams · best prices · foot ---------- */
.crx.sov .sov-state { font-size:11px;color:var(--ink-4); }
.crx.sov .is-live .sov-state { display:inline-flex;align-items:center;gap:5px;color:var(--up,#2ED47F);font-weight:700;text-transform:uppercase;letter-spacing:.06em; }
.crx.sov .is-live .sov-state::before { content:'';width:6px;height:6px;border-radius:50%;background:currentColor;animation:crxPulse 1.8s infinite; }
.crx.sov .sov-boost-tag { display:inline-grid;place-items:center;height:20px;padding:0 7px;border-radius:6px;background:rgba(245,196,81,.12);color:var(--max,#F5C451);font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap; }
.crx.sov .sov-open-btn { border-color:transparent;background:none;color:var(--mid); }

/* ---------- comparison: spread strips + every book ---------- */
.crx.sov .sov-arb { margin-top:12px;background:rgba(46,212,127,.08);border:1px solid rgba(46,212,127,.3);border-radius:12px;padding:12px 16px;color:var(--up,#2ED47F);font-size:12.5px;line-height:1.6; }
.crx.sov .sov-arb strong { font-size:14px; }
.crx.sov .sov-arb p { color:var(--ink-2);margin:4px 0 6px; }
.crx.sov .sov-arb ol { margin:0;padding-left:18px;color:var(--ink-2); }
.crx.sov .sov-more { display:block;width:100%;height:44px;margin-top:8px;border-radius:999px;background:var(--card-2);border:1px solid var(--hair-2);color:var(--ink-2);font-size:13.5px;font-weight:600; }
.crx.sov .sov-more:hover { color:#fff; }
.crx.sov .sov-more[hidden], .crx.sov .sov-panel[hidden], .crx.sov .sov-event[hidden] { display:none; }
.crx.sov .sov-empty-view { padding:26px 24px; }
.crx.sov .sov-empty-view h2 { font-size:20px;margin:0 0 8px; }
.crx.sov .sov-empty-view p { margin:0;color:var(--ink-3);font-size:14px;line-height:1.7;max-width:60ch; }

/* ---------- event page (in place) ---------- */

/* ---------- boosts ---------- */
.crx.sov .sov-boosts { margin-top:22px;padding:18px 20px; }
.crx.sov .sov-sec-head { display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-bottom:12px; }
.crx.sov .sov-sec-head h2 { font-size:18px;margin:4px 0 0; }
.crx.sov .sov-link { font-size:13px;font-weight:600;color:var(--mid);text-decoration:none;white-space:nowrap; }
.crx.sov .sov-link:hover { text-decoration:underline; }
.crx.sov .sov-boost-list { list-style:none;margin:0;padding:0;display:grid;gap:6px; }
.crx.sov .sov-boost { display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--card-2);border:1px solid var(--hair); }
.crx.sov .sov-boost-up { display:inline-grid;place-items:center;height:32px;border-radius:8px;background:rgba(245,196,81,.12);border:1px solid rgba(245,196,81,.3);color:var(--max,#F5C451);font-weight:800;font-size:13px; }
.crx.sov .sov-boost-main { display:grid;gap:2px;min-width:0;font-size:13px; }
.crx.sov .sov-boost-main b { color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.crx.sov .sov-boost-main>span { color:var(--ink-2);font-size:12.5px;line-height:1.45; }
.crx.sov .sov-boost-main small { color:var(--ink-4);font-size:11.5px; }
.crx.sov .sov-boost-main small time { font-weight:500; }
.crx.sov .sov-boost-odds { display:grid;justify-items:end;gap:2px;text-align:right;font-size:12px;color:var(--ink-4); }
.crx.sov .sov-boost-odds b { font-size:17px;font-weight:700;color:var(--max,#F5C451);letter-spacing:-.01em; }
.crx.sov .sov-boost-odds a { font-size:12px;font-weight:600;color:var(--mid);text-decoration:none;white-space:nowrap; }
.crx.sov .sov-boost-odds a:hover { text-decoration:underline; }

/* ---------- coverage, FAQ, note, dialog ---------- */
.crx.sov .sov-source-panel { margin-top:22px;font-size:12.5px;color:var(--ink-3); }
.crx.sov .sov-source-panel>summary { cursor:pointer;padding:10px 0;color:var(--ink-2);font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:10px; }
.crx.sov .sov-source-panel>summary::after { content:'';display:inline-block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px); }
.crx.sov .sov-source-panel[open]>summary::after { transform:rotate(225deg) translateY(-1px); }
.crx.sov .sov-source-panel ul { list-style:none;margin:6px 0 0;padding:0; }
.crx.sov .sov-source-panel li { display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;border-bottom:1px solid var(--hair);padding:10px 0; }
.crx.sov .sov-source-panel b { min-width:100px;color:var(--ink-2); }
.crx.sov .sov-faq { margin-top:36px; }
.crx.sov .sov-faq .ct-section-head { display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:16px; }
.crx.sov .sov-faq h2 { font-size:21px;margin:0; }
.crx.sov .sov-faq .ct-fq-meta { display:flex;gap:15px;font-size:11px;color:var(--ink-3); }
.crx.sov .crx-note { margin-top:24px;line-height:1.8; }
.crx.sov .sov-dialog { width:min(560px,calc(100vw - 32px));max-height:min(88vh,760px);padding:0;border:1px solid var(--hair-2);border-radius:16px;background:var(--card);color:var(--ink);box-shadow:0 30px 80px -30px rgba(0,0,0,.9); }
.crx.sov .sov-dialog::backdrop { background:rgba(9,11,18,.72); }
.crx.sov .sov-dialog form { display:grid;gap:18px;padding:18px 20px 20px; }
.crx.sov .sov-dialog-head { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.crx.sov .sov-dialog-head h2 { font-size:19px;margin:0; }
.crx.sov .sov-dialog-x { min-height:0;width:36px;height:36px;border-radius:50%;border:1px solid var(--hair);background:var(--card-2);color:var(--ink-2);font-size:20px;line-height:1; }
.crx.sov .sov-set { margin:0;padding:0;border:0;display:grid;gap:8px; }
.crx.sov .sov-set legend { display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0;margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3); }
.crx.sov .sov-set-tools { display:inline-flex;gap:4px; }
.crx.sov .sov-set-tools button { min-height:0;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--hair);background:none;color:var(--ink-3);font-size:11px;font-weight:600;letter-spacing:0;text-transform:none; }
.crx.sov .sov-set-tools button:hover { color:#fff; }
.crx.sov .sov-set label { display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink);cursor:pointer;min-height:0; }
.crx.sov .sov-set label small { color:var(--ink-4);font-size:12px;margin-left:auto; }
.crx.sov .sov-set input[type=radio], .crx.sov .sov-set input[type=checkbox] { width:18px;height:18px;min-height:0;margin:0;accent-color:var(--hi,#A78BFA); }
.crx.sov .sov-set img { width:16px;height:16px;object-fit:contain; }
.crx.sov .sov-book-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 12px; }
.crx.sov .sov-book-grid label { font-size:13px; }
.crx.sov .sov-set-inline { display:flex;gap:10px; }
.crx.sov .sov-set-inline span { color:var(--ink-3);font-size:12px;font-weight:600; }
.crx.sov .sov-set-inline input { width:140px;height:40px;padding:0 12px;border-radius:10px;font-size:14px; }
.crx.sov .sov-dialog-foot { display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding-top:4px; }

/* ---------- responsive ---------- */
@media(max-width:1240px) {
}
@media(max-width:1040px) {
}
@media(max-width:760px) {
 .crx.sov button, .crx.sov input, .crx.sov select, .crx.sov summary { min-height:48px; }
 .crx.sov .sov-views button, .crx.sov .sov-sports button, .crx.sov .sov-cmp-btn, .crx.sov .sov-open-btn, .crx.sov .sov-group>summary, .crx.sov .sov-source-panel>summary, .crx.sov .sov-fx-teams, .crx.sov .sov-set label, .crx.sov .sov-set input, .crx.sov .sov-dialog-x, .crx.sov .sov-set-tools button, .crx.sov .sov-back { min-height:0; }
 .crx.sov .sov-views button, .crx.sov .sov-sports button { min-height:44px; }
 .crx.sov .sov-group>summary { height:48px; }
 .crx.sov .crx-head { margin-bottom:8px; }
 .crx.sov .crx-facts { line-height:1.6; }
 .crx.sov .sov-views { margin-bottom:12px; }
 .crx.sov .sov-views button { padding:10px 12px 12px;font-size:14px; }
 .crx.sov .sov-toolbar { gap:8px; }
 .crx.sov .sov-search { flex-basis:100%; }
 .crx.sov .sov-search input, .crx.sov .sov-select select, .crx.sov .sov-tool-btn { height:44px; }
 .crx.sov .sov-select { flex:1 1 130px;min-width:0; }
 .crx.sov .sov-select select { width:100%;max-width:none; }
 .crx.sov .sov-boost { grid-template-columns:64px minmax(0,1fr);gap:6px 12px; }
 .crx.sov .sov-boost-odds { grid-column:1/-1;grid-auto-flow:column;justify-content:start;justify-items:start;align-items:baseline;gap:12px; }
 .crx.sov .sov-source-panel li { display:grid;gap:4px; }
 .crx.sov .sov-faq .ct-section-head { gap:10px;flex-wrap:nowrap;align-items:flex-start; }
 .crx.sov .sov-faq h2 { font-size:18px; }
 .crx.sov .sov-faq .ct-fq-meta { font-size:12px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;letter-spacing:0;white-space:nowrap; }
 .crx.sov .sov-faq .ct-fq-count { display:block; }
 .crx.sov .sov-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .crx.sov .sov-dialog { width:calc(100vw - 20px);max-height:92vh; }
 .crx.sov .sov-dialog form { padding:16px; }
}
@media(prefers-reduced-motion:reduce) { .crx.sov *, .crx.sov *:before, .crx.sov *:after { scroll-behavior:auto!important;animation:none!important;transition:none!important; } }

/* ---------- book margins card: v1's ranking, collapsed by default ---------- */
.crx.sov .sov-margins { margin:0 0 18px; }
.crx.sov .sov-margins>summary { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;cursor:pointer;list-style:none; }
.crx.sov .sov-margins>summary::-webkit-details-marker { display:none; }
.crx.sov .sov-margins h2 { font-size:18px;line-height:1.3;margin:4px 0 0; }
.crx.sov .sov-collapse { display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--card-2);border:1px solid var(--hair);font-size:18px;line-height:1;color:var(--ink-3);flex:0 0 auto; }
.crx.sov .sov-collapse:after { content:'+'; }
.crx.sov .sov-margins[open] .sov-collapse:after { content:'\2212'; }
.crx.sov .sov-margins-body { padding:0 20px 16px; }
.crx.sov .sov-margins-toolbar { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap; }
.crx.sov .sov-modes { display:inline-flex;padding:3px;border-radius:999px;background:var(--card-2);border:1px solid var(--hair-2);gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:none; }
.crx.sov .sov-modes::-webkit-scrollbar { display:none; }
.crx.sov .sov-modes button { min-height:0;padding:7px 14px;border:0;border-radius:999px;background:none;font-size:13px;font-weight:600;color:var(--ink-3);white-space:nowrap;transition:background .16s,color .16s; }
.crx.sov .sov-modes button:hover { color:#fff; }
.crx.sov .sov-modes [aria-selected=true] { background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2));color:#fff;box-shadow:0 6px 16px -10px rgba(79,150,242,.8); }
.crx.sov .sov-best { font-size:12.5px;font-weight:600;color:var(--up,#2ED47F);background:rgba(46,212,127,.1);border:1px solid rgba(46,212,127,.25);border-radius:999px;padding:6px 12px;white-space:nowrap; }
.crx.sov .sov-best:empty { display:none; }
.crx.sov #sovModeDescription { margin:10px 0 2px; }
.crx.sov .so-muted { color:var(--ink-3);font-size:12.5px;line-height:1.6;margin:0; }
.crx.sov .so-ranks { list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px; }
.crx.sov .so-rank { display:grid;grid-template-columns:22px minmax(120px,1fr) minmax(60px,.9fr) 64px;align-items:center;gap:12px;min-height:40px;border-bottom:1px solid var(--hair);font-size:13.5px; }
.crx.sov .so-rank-num { color:var(--ink-4);font-size:12px;font-weight:600;text-align:right; }
.crx.sov .so-book { display:flex;align-items:center;gap:8px;min-width:0; }
.crx.sov .so-book img { width:22px;height:22px;border-radius:6px;object-fit:contain;flex:0 0 auto; }
.crx.sov .so-book b { font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.crx.sov .so-book small { font-size:11px;color:var(--ink-4);white-space:nowrap; }
.crx.sov .so-bar { height:4px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden; }
.crx.sov .so-bar i { display:block;height:100%;border-radius:99px;background:var(--ink-4); }
.crx.sov .so-rank>strong { text-align:right;font-weight:700;color:var(--ink);font-size:13.5px; }
.crx.sov .so-rank.is-top .so-bar i { background:var(--up,#2ED47F); }
.crx.sov .so-rank.is-top>strong { color:var(--up,#2ED47F); }
.crx.sov .so-rank.is-limited .so-book b { color:var(--ink-3); }
.crx.sov .so-rank.is-stale .so-bar i { opacity:.55; }
.crx.sov .so-rank.is-stale>strong { color:var(--ink-3); }
.crx.sov .so-asof { margin-top:12px; }
.crx.sov .sov-rank-note { margin-top:8px; }
@media(max-width:1040px) { .crx.sov .so-ranks { column-gap:26px; } .crx.sov .so-rank { grid-template-columns:22px minmax(100px,1fr) minmax(40px,.7fr) 62px;gap:9px; } }
@media(max-width:760px) { .crx.sov .so-ranks { grid-template-columns:1fr; } .crx.sov .sov-modes button { min-height:42px; } .crx.sov .sov-margins>summary { padding:14px 16px; } .crx.sov .sov-margins h2 { font-size:17px; } .crx.sov .sov-margins-body { padding:0 16px 14px; } .crx.sov .so-rank { grid-template-columns:20px minmax(90px,1fr) minmax(40px,.8fr) 60px;min-height:44px;gap:8px; } }

/* ---------- member layer (issue #248): chip, notice, favourites, slip, alerts, journal, Pro ---------- */
.crx.sov .sov-account-wrap { position:relative; }
.crx.sov .sov-account-btn { padding-left:12px; }
.crx.sov .sov-account-btn.is-in { color:#fff;border-color:rgba(167,139,250,.45); }
.crx.sov .sov-sync { display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink-4);flex:0 0 auto; }
.crx.sov .sov-sync.is-synced { background:var(--up,#2ED47F); }
.crx.sov .sov-sync.is-pending { background:var(--max,#F5C451);animation:crxPulse 1.2s infinite; }
.crx.sov .sov-sync.is-error { background:var(--lo,#FF5C7A); }
.crx.sov .sov-inbox-btn { padding:0 12px;gap:6px; }
.crx.sov .sov-inbox-btn b { background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2)); }
.crx.sov .sov-inbox-btn b[hidden] { display:none; }
.crx.sov .sov-menu { position:absolute;right:0;top:46px;z-index:30;min-width:240px;display:grid;gap:4px;padding:8px;border-radius:12px;background:var(--card);border:1px solid var(--hair-2);box-shadow:0 20px 50px -20px rgba(0,0,0,.8); }
.crx.sov .sov-menu[hidden] { display:none; }
.crx.sov .sov-menu-who { margin:0;padding:6px 10px 2px;font-weight:700;color:#fff;font-size:14px; }
.crx.sov .sov-menu-who:empty { display:none; }
.crx.sov .sov-menu>.sov-muted { padding:0 10px 6px; }
.crx.sov .sov-menu>.sov-muted:empty { display:none; }
.crx.sov .sov-menu button { min-height:0;height:38px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--ink);font-size:13.5px;font-weight:600;text-align:left; }
.crx.sov .sov-menu button:hover { background:var(--card-2);color:#fff; }
.crx.sov .sov-menu button.is-danger { color:var(--lo,#FF5C7A); }
.crx.sov .sov-notice { margin:-4px 0 12px;padding:9px 14px;border-radius:10px;background:rgba(123,77,242,.12);border:1px solid rgba(167,139,250,.35);color:var(--ink);font-size:12.5px;line-height:1.5; }
.crx.sov .sov-notice[hidden] { display:none; }
.crx.sov .sov-favs-btn { display:inline-flex;align-items:center;gap:6px;height:36px;min-height:0;margin:0 0 8px;padding:0 12px;border-radius:999px;border:1px solid rgba(245,196,81,.35);background:rgba(245,196,81,.08);color:var(--max,#F5C451);font-size:13px;font-weight:600; }
.crx.sov .sov-favs-btn span { font-size:11.5px;color:var(--ink-3); }
.crx.sov .sov-favs-btn[aria-pressed=true] { background:var(--max,#F5C451);color:#12151F;border-color:transparent; }
.crx.sov .sov-favs-btn[aria-pressed=true] span { color:rgba(18,21,31,.7); }
.crx.sov .sov-favs-btn[hidden] { display:none; }
/* stars, bells, edge tags on the desk's own markup */
.crx.sov .sov-star, .crx.sov .sov-bell { display:inline-grid;place-items:center;grid-auto-flow:column;gap:3px;min-height:0;height:30px;min-width:30px;padding:0 6px;border-radius:999px;border:1px solid transparent;background:none;color:var(--ink-4);font-size:15px;line-height:1; }
.crx.sov .sov-star:hover, .crx.sov .sov-bell:hover { color:#fff;border-color:var(--hair-2); }
.crx.sov .sov-star.is-on { color:var(--max,#F5C451); }
.crx.sov .sov-bell { font-size:13px; }
.crx.sov .sov-bell.is-on { color:var(--hi,#A78BFA);border-color:rgba(167,139,250,.4); }
.crx.sov .sov-bell b { font-size:11px;font-weight:700; }
.crx.sov .sov-star-league { height:28px;margin-left:2px; }
.crx.sov .sov-edge-tag { display:inline-grid;place-items:center;height:20px;padding:0 7px;border-radius:6px;background:rgba(46,212,127,.12);color:var(--up,#2ED47F);font-size:10.5px;font-weight:800;letter-spacing:.02em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis; }
.crx.sov .sov-add-inline { position:static;width:32px;height:32px;box-shadow:none;flex:0 0 auto; }
/* The slip: a docked rail with a resting handle. */
.crx.sov .sov-lnk { min-height:0;padding:0;border:0;background:none;color:var(--mid);font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer;text-align:left; }
.crx.sov .sov-lnk:hover { text-decoration:underline; }
/* ---------- the bet slip: the Odds Desk v1.8.0 slip, rule for rule, on house tokens (issue #263) ---------- */
.crx.sov .slip button, .crx.sov .slip-pill { font:inherit;color:inherit;background:none;border:0;min-height:0;cursor:pointer; }
.crx.sov .slip input { min-height:0; }
.crx.sov .dot { display:inline-block;width:8px;height:8px;border-radius:50%;flex:none; }
.crx.sov .dot-img { width:12px;height:12px;border-radius:3px;object-fit:contain; }
.crx.sov .slip .lnk { color:var(--mid,#4FC7EA);font-weight:600;padding:0;text-align:left; }
.crx.sov .slip .lnk:hover { text-decoration:underline; }
.crx.sov .slip .lnk.small { font-size:12px; }
.crx.sov .cnt { display:inline-flex;align-items:center;font-size:10.5px;font-weight:800;color:#fff;background:var(--hi,#7B4DF2);border-radius:999px;padding:1px 7px;line-height:1.5;margin-left:4px; }
.crx.sov .cnt:empty { display:none; }
.crx.sov .slip-pill { position:fixed;right:0;bottom:24px;z-index:9990;display:inline-flex;align-items:center;gap:8px;background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2));color:#fff;font-weight:800;font-size:13.5px;border-radius:10px 0 0 10px;padding:12px 16px;box-shadow:var(--cta-shadow,0 10px 26px -12px rgba(123,77,242,.8)); }
.crx.sov .slip-pill .cnt { background:rgba(255,255,255,.22); }
.crx.sov .slip-pill[hidden] { display:none; }
.crx.sov .slip { position:fixed;right:0;top:0;bottom:0;width:var(--sov-slip-width);max-width:100vw;height:100dvh;z-index:9991;background:var(--card);border-left:1px solid var(--hair-2);border-radius:0;display:flex;flex-direction:column;box-shadow:-12px 0 32px -24px #000;transform:translateX(100%);transition:transform .22s ease,visibility 0s linear .22s;visibility:hidden;overflow:hidden;overscroll-behavior:contain; }
.crx.sov .slip.open { transform:none;visibility:visible;transition:transform .22s ease,visibility 0s; }
.crx.sov .slip.collapsed .sd-body { display:none; }
.crx.sov .slip.collapsed .sd-chev { transform:rotate(180deg); }
/* Minimised rail: a header strip docked top-right, and the board takes its width back. */
@media (min-width:761px) { .crx.sov .slip.collapsed { bottom:auto;height:auto;border-bottom:1px solid var(--hair-2);border-bottom-left-radius:12px;box-shadow:-8px 8px 28px -20px #000; } }
.crx.sov .sd-head { flex:none;display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:10px 14px;border-bottom:1px solid var(--hair);background:var(--card-2); }
.crx.sov .sd-head h3 { font-family:var(--font-display,"Sora","Inter",sans-serif);font-size:15px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;margin:0;color:#fff; }
.crx.sov .sd-tools { display:flex;gap:4px;align-items:center; }
.crx.sov .sd-ico { width:32px;height:32px;border-radius:8px;color:var(--ink-3);padding:0;display:inline-grid;place-items:center;line-height:1;transition:background .15s,color .15s; }
.crx.sov .sd-ico:hover { background:var(--hair-2);color:var(--ink); }
.crx.sov .sd-ico svg { display:block; }
.crx.sov .sd-chev { transition:transform .2s ease; }
.crx.sov .sd-ico-txt { width:auto;padding:0 10px;font-size:12px;font-weight:700; }
.crx.sov .sd-body { min-height:0;overscroll-behavior:contain;overflow-y:auto;padding:10px 12px 12px;display:flex;flex-direction:column;gap:10px; }
.crx.sov .sd-empty { color:var(--ink-4);font-size:13px;padding:18px 6px;text-align:center;border:1px dashed var(--hair);border-radius:12px; }
.crx.sov .sd-legs { display:flex;flex-direction:column;gap:7px; }
.crx.sov .sd-legs:empty { display:none; }
.crx.sov .leg { display:grid;grid-template-columns:minmax(0,1fr) auto 26px;gap:8px;align-items:center;background:var(--card-2);border:1px solid var(--hair);border-radius:10px;padding:8px 8px 8px 11px; }
.crx.sov .leg.dead { opacity:.65;border-style:dashed; }
.crx.sov .leg-main { display:flex;flex-direction:column;gap:1px;min-width:0; }
.crx.sov .leg-pick { font-family:var(--font-display,"Sora","Inter",sans-serif);font-weight:800;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff; }
.crx.sov .leg-mk { font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.crx.sov .leg-book { display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-3);font-weight:700; }
.crx.sov .leg-book.warn { color:var(--max,#F5C451); }
.crx.sov .leg-book em { color:var(--max,#F5C451);font-style:normal;font-weight:600;margin-left:4px; }
.crx.sov .leg-best { display:inline-flex;align-items:center;gap:0 4px;font-size:11px;font-weight:700;line-height:1.45;border-radius:999px;padding:3px 9px;margin-top:4px;max-width:100%;text-align:left;white-space:nowrap;overflow:hidden; }
.crx.sov .leg-best>* { flex:0 0 auto; }
.crx.sov .leg-best b { font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);letter-spacing:-.01em; }
.crx.sov .lb-ico { font-style:normal;font-size:12px;line-height:1; }
.crx.sov .lb-book { flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis; }
.crx.sov .leg-best.on { color:var(--up,#2ED47F);background:rgba(46,212,127,.14);border:1px solid rgba(46,212,127,.45);cursor:pointer; }
.crx.sov .leg-best.on:hover { background:rgba(46,212,127,.22); }
.crx.sov .leg-best.off { color:var(--ink-4);border:1px solid transparent;padding-left:0;cursor:default; }
.crx.sov .leg-rec { font-size:11px;font-weight:700;color:var(--up,#2ED47F); }
.crx.sov .sd-row.big { align-items:center;font-size:13px;color:var(--ink);flex-wrap:wrap; }
.crx.sov .sd-row.big>span { display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap; }
.crx.sov .sd-row.big>b { font-size:16px;color:var(--up,#2ED47F); }
.crx.sov .sd-row.big .leg-best { margin-top:0; }
.crx.sov .best-tag { font-size:10.5px;font-weight:700;font-style:normal;color:var(--up,#2ED47F);background:rgba(46,212,127,.14);border-radius:999px;padding:2px 8px;white-space:nowrap; }
.crx.sov .pl-list { display:flex;flex-direction:column;gap:4px;margin:2px 0 4px; }
.crx.sov .pl-row { display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;font-size:12.5px;padding:6px 9px;border:1px solid var(--hair);border-radius:8px;background:var(--card-2);text-align:left;color:var(--ink); }
.crx.sov .pl-row b { font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);color:var(--ink); }
.crx.sov .pl-row.sel { border-color:var(--hi,#7B4DF2);box-shadow:0 0 0 1px var(--hi,#7B4DF2) inset; }
.crx.sov .pl-row.dead { opacity:.5;cursor:default; }
.crx.sov .pl-row.dead b { font-family:inherit;font-weight:500;color:var(--ink-4);font-size:11.5px; }
.crx.sov .pl-row:not(.dead):hover { border-color:#333B52; }
.crx.sov .leg-side { display:flex;flex-direction:column;align-items:flex-end;gap:5px; }
.crx.sov .leg-odds { font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-weight:800;font-size:15px;color:var(--up,#2ED47F); }
.crx.sov .leg-x { color:var(--ink-4);font-size:17px;line-height:1; }
.crx.sov .leg-x:hover { color:var(--lo,#FF5C7A); }
.crx.sov .bet-btn { display:inline-block;border-radius:999px;padding:7px 0;font-size:12px;font-weight:700;text-align:center;background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2));color:#fff;text-decoration:none;transition:filter .15s;white-space:nowrap;box-shadow:var(--cta-shadow,0 10px 26px -12px rgba(123,77,242,.8)); }
.crx.sov .bet-btn:hover { filter:brightness(1.12); }
.crx.sov .bet-btn.sm { padding:5px 12px;font-size:11.5px; }
.crx.sov .sd-stake { display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-3); }
.crx.sov .sd-stake input { width:96px;margin-left:auto;background:var(--bg,#0F121B);border:1px solid var(--hair);border-radius:8px;color:var(--ink);padding:7px 9px;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);text-align:right;height:auto; }
.crx.sov .sd-stake .unit { font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:11.5px;color:var(--ink-4);min-width:34px; }
.crx.sov .sd-section { border-top:1px solid var(--hair);padding-top:2px; }
.crx.sov .sd-section h4 { margin:0; }
.crx.sov .sd-section h4 button { display:grid;grid-template-columns:auto minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;min-height:46px;padding:6px 0;font-family:var(--font-display,"Sora","Inter",sans-serif);font-size:14px;font-weight:800;letter-spacing:-.01em;color:var(--ink);text-align:left; }
.crx.sov .sd-section h4 svg { color:var(--ink-4);justify-self:end;transition:transform .2s ease; }
/* the section's one-line summary: legs and the ticket price, or the pick count */
.crx.sov .sd-sec-sub { font-family:var(--font,"Inter",sans-serif);font-size:12px;font-weight:600;letter-spacing:0;color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.crx.sov .sd-sec-sub:empty { display:none; }
.crx.sov .sd-section.is-collapsed h4 svg { transform:rotate(-90deg); }
.crx.sov .sd-section.is-collapsed>.sd-section-body { display:none; }
.crx.sov .sd-multi { display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--card-2);border:1px solid var(--hair);border-radius:10px; }
.crx.sov .sd-parlay-legs { display:flex;flex-direction:column; }
.crx.sov .sd-pending-note { margin:0;font-size:12px;line-height:1.5;color:var(--ink-3); }
/* two picks from one match: the note turns red and each clashing leg is marked by its flag */
.crx.sov .sd-pending-note.is-error { color:var(--lo,#FF5C7A);font-weight:600; }
.crx.sov .sd-ticket-flag { grid-area:odds;justify-self:end;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--lo,#FF5C7A);white-space:nowrap; }
.crx.sov .sd-parlay-leg:has(> .sd-ticket-flag) { box-shadow:inset 3px 0 0 var(--lo,#FF5C7A);padding-left:10px; }
.crx.sov .sd-parlay-leg:has(> .sd-ticket-flag) .sd-ticket-pick { color:var(--lo,#FF5C7A); }
/* a ticket leg: event / pick + odds / market in the text column, one remove control centred beside all three */
.crx.sov .sd-parlay-leg { display:grid;grid-template-columns:minmax(0,1fr) auto 26px;grid-template-areas:"event event x" "pick odds x" "market market x";align-items:center;gap:3px 10px;padding:11px 0;border-top:1px solid var(--hair-2); }
.crx.sov .sd-ticket-event { grid-area:event;color:var(--ink-3);font-size:12px;line-height:1.4;overflow-wrap:anywhere; }
.crx.sov .sd-parlay-leg .leg-x { grid-area:x;align-self:center;justify-self:end;min-width:26px;min-height:26px; }
.crx.sov .sd-ticket-pick { grid-area:pick;font-size:13.5px;color:var(--ink);overflow-wrap:anywhere; }
.crx.sov .sd-parlay-leg .leg-odds, .crx.sov .sd-parlay-leg>span:empty { grid-area:odds;justify-self:end; }
.crx.sov .sd-ticket-market { grid-area:market;color:var(--ink-3);font-size:11.5px; }
.crx.sov .leg-return { grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--hair);color:var(--ink-3);font-size:12px; }
.crx.sov .leg-return b { color:var(--ink);font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace); }
.crx.sov .sd-multi[hidden] { display:none; }
.crx.sov .sd-sec { font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3); }
.crx.sov .sd-row { display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--ink-3); }
.crx.sov .sd-row b { color:var(--ink);font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);text-align:right; }
.crx.sov .sd-row small { font-family:inherit;color:var(--ink-4);font-weight:500; }
.crx.sov .slip-cta { display:block;width:100%;border-radius:999px;padding:11px 0;font-weight:800;font-size:13.5px;background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2));color:#fff;text-align:center;text-decoration:none;margin-top:4px;box-shadow:var(--cta-shadow,0 10px 26px -12px rgba(123,77,242,.8)); }
.crx.sov .slip-cta:hover { filter:brightness(1.12); }
.crx.sov .sd-total { font-size:12px;color:var(--ink-3); }
.crx.sov .sd-singles { margin-top:8px;line-height:1.5; }
.crx.sov .slip .slip-log { display:block;width:100%;margin-top:8px;padding:10px 0;border-radius:999px;border:1px solid var(--hair-2);background:var(--card-2);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s; }
.crx.sov .slip .slip-log:hover { border-color:rgba(79,199,234,.55);background:var(--card); }
.crx.sov .sd-logged { margin:8px 0 0;font-size:12px;font-weight:600;line-height:1.5;color:var(--up,#2ED47F); }
.crx.sov .sd-logged .lnk { font-size:12px; }
.crx.sov .sd-total:empty { display:none; }
.crx.sov .sd-note { font-size:11.5px;color:var(--ink-4);line-height:1.5; }
.crx.sov .sd-note b { color:var(--ink-3); }
/* Rendered with the page: reserve the bar's height before member hydration. */
.crx.sov .sov-mobile-nav { display:none; }
@media (max-width:760px) {
 #cdSportsOddsV2 { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
 html:has(#cdSportsOddsV2.sov-slip-open) { overflow:hidden; }
 .crx.sov .sov-mobile-nav { position:fixed;z-index:9990;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:calc(64px + env(safe-area-inset-bottom));padding:4px 8px calc(4px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--hair-2);box-shadow:0 -8px 24px -18px #000; }
 .crx.sov .sov-mobile-nav button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:52px;border-radius:8px;font-size:11px;font-weight:700;color:var(--ink-3); }
 .crx.sov .sov-mobile-nav button[aria-current] { color:var(--mid);background:rgba(79,199,234,.08); }
 .crx.sov .sov-mobile-nav button:focus-visible { outline-offset:-2px; }
 .crx.sov .sov-mobile-icon { position:relative;display:block; }
 .crx.sov .sov-mobile-icon b { position:absolute;top:-4px;left:14px;min-width:16px;padding:0 4px;border-radius:999px;background:var(--hi);color:#fff;font-size:10px;line-height:16px;text-align:center; }
 .crx.sov #sovSearchResults { max-height:calc(var(--sov-search-space,45vh) - env(safe-area-inset-bottom))!important; }
 .crx.sov .slip-pill { display:none; }
 /* the bar's Bet Slip toggles the sheet; minimise has no meaning on a full-height sheet */
 .crx.sov #sdMin { display:none; }
 .crx.sov .slip.collapsed .sd-body { display:flex; }
 .crx.sov .sov-mobile-icon b[hidden] { display:none; }
 .crx.sov .slip { inset:0;width:100%;max-width:100%;height:100dvh;border:0;transform:translateY(100%); }
 .crx.sov .slip.open { transform:none; }
 .crx.sov .sd-head { padding-top:calc(8px + env(safe-area-inset-top)); }
 .crx.sov .sd-body { padding-bottom:calc(16px + env(safe-area-inset-bottom)); }
 .crx.sov .sd-ico { width:40px;height:40px; }
 .crx.sov .sd-ico-txt { width:auto; }
 .crx.sov .leg-x { padding:8px; }
}
@media (prefers-reduced-motion:reduce) { .crx.sov .slip, .crx.sov .sd-chev, .crx.sov .sd-section h4 svg { transition:none; } }
/* dialogs shared by account, alert, add-bet, inbox */
.crx.sov .sov-dialog-sm { width:min(460px,calc(100vw - 32px)); }
.crx.sov .sov-dialog-body { display:grid;gap:18px;padding:18px 20px 20px; }
.crx.sov .sov-dialog-body section h3 { font-size:14px;margin:0 0 8px; }
.crx.sov .sov-field { display:grid;gap:5px;font-size:12.5px;color:var(--ink-3);font-weight:600;min-width:0; }
.crx.sov .sov-field small { font-weight:500;color:var(--ink-4);margin-left:6px; }
.crx.sov .sov-field input, .crx.sov .sov-field select { height:42px;padding:0 12px;border-radius:10px;font-size:14px;width:100%; }
.crx.sov .sov-field-inline { grid-template-columns:auto 1fr auto;align-items:center; }
.crx.sov .sov-field-inline input { width:130px; }
.crx.sov .sov-field-row { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.crx.sov .sov-ticks { display:grid;gap:8px;font-size:13px;color:var(--ink); }
.crx.sov .sov-ticks label { display:flex;align-items:flex-start;gap:10px;min-height:0;line-height:1.5; }
.crx.sov .sov-ticks input { width:18px;height:18px;min-height:0;margin:3px 0 0;accent-color:var(--hi,#A78BFA);flex:0 0 auto; }
.crx.sov .sov-ticks a { color:var(--mid); }
.crx.sov .sov-auth-error { margin:0;padding:8px 12px;border-radius:8px;background:rgba(255,92,122,.12);border:1px solid rgba(255,92,122,.35);color:#FF7A94;font-size:12.5px;line-height:1.5; }
.crx.sov .sov-auth-error[hidden] { display:none; }
.crx.sov .sov-field input[aria-invalid=true] { border-color:rgba(255,92,122,.7);box-shadow:0 0 0 3px rgba(255,92,122,.14); }
.crx.sov .sov-auth-note { margin-top:-6px; }
.crx.sov [data-sov-auth-only][hidden], .crx.sov [data-sov-alert-outcome][hidden], .crx.sov [data-sov-alert-value][hidden] { display:none; }
.crx.sov .sov-rules, .crx.sov .sov-notifs { list-style:none;margin:0;padding:0;display:grid;gap:6px; }
.crx.sov .sov-rules li, .crx.sov .sov-notifs li { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:9px 12px;border-radius:10px;background:var(--card-2);border:1px solid var(--hair);font-size:13px;color:var(--ink-2);line-height:1.45; }
.crx.sov .sov-rules li b { color:#fff;font-weight:600; }
.crx.sov .sov-notifs li { grid-template-columns:auto minmax(0,1fr) auto; }
.crx.sov .sov-notifs li.is-unread { border-color:rgba(167,139,250,.45);color:#fff; }
.crx.sov .sov-notifs time { font-size:11px;color:var(--ink-4);white-space:nowrap; }
.crx.sov [data-sov-alert-list]:not(:empty) { margin-top:-4px; }
/* My Bets */
.crx.sov .sov-journal, .crx.sov .sov-pro { padding:18px 20px 20px; }
.crx.sov .sov-journal-tools { display:flex;gap:8px; }
.crx.sov .crx-btn-sm { min-height:0;height:36px;padding:0 14px;font-size:12.5px; }
.crx.sov .sov-tiles { display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:14px 0; }
.crx.sov .sov-tiles-sm { margin:10px 0 8px; }
.crx.sov .sov-tile { display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:var(--card-2);border:1px solid var(--hair); }
.crx.sov .sov-tile span { font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4); }
.crx.sov .sov-tile b { font-size:18px;font-weight:700;color:#fff;letter-spacing:-.01em;overflow-wrap:anywhere; }
.crx.sov .sov-tile small { font-size:11.5px;color:var(--ink-3); }
.crx.sov .is-up { color:var(--up,#2ED47F)!important; }
.crx.sov .is-down { color:#FF7A94!important; }
/* ---------- the RTP charts (issue #347) ----------
   SVG draws marks only; every character is HTML at its real CSS size, and bars, columns and
   dots are HTML with percentage positions — so nothing scales with the card and everything
   reflows at 390px. The panel is a CSS container, so the breakpoints below follow the card's
   own width rather than the viewport's (the panel is ~1,150px wide at 1440 but ~360px on a
   phone, and the My Bets panel is the same element in both). */
.crx.sov [data-sov-mybets-panel="rtp"], .crx.sov [data-sov-mybets-panel="bettors"] { container-type:inline-size;container-name:sovpanel; }
.crx.sov .sov-tiles-rtp { grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 14px; }
.crx.sov .sov-tiles-rtp .sov-tile { align-content:start; }
.crx.sov .sov-tile.is-lead { grid-column:span 2;background:linear-gradient(135deg,rgba(79,199,234,.1),rgba(123,77,242,.08)),var(--card-2);border-color:rgba(79,199,234,.28); }
.crx.sov .sov-tile.is-lead b { font-family:var(--font-display,"Sora","Inter",sans-serif);font-size:32px;letter-spacing:-.035em; }
.crx.sov .sov-tile small { line-height:1.4; }
.crx.sov .sov-tiles-edge { grid-template-columns:repeat(3,minmax(0,1fr));margin:0; }
.crx.sov .sov-tiles-edge .sov-tile { background:var(--card); }

.crx.sov .sov-charts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px; }
.crx.sov .sov-chart-card { --sov-surface:var(--card-2);padding:13px 15px;border-radius:12px;background:var(--card-2);border:1px solid var(--hair);min-width:0; }
.crx.sov .sov-chart-card.is-wide { grid-column:1/-1; }
.crx.sov .sov-chart-card h3 { font-size:13.5px;margin:0 0 12px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;color:#fff; }
.crx.sov .sov-chart-card h3 small { font-family:var(--font,"Inter",sans-serif);font-size:11.5px;font-weight:400;letter-spacing:0;color:var(--ink-4); }
.crx.sov .sov-chart-card h4 { margin:18px 0 9px;font-family:var(--font,"Inter",sans-serif);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4); }
.crx.sov .sov-chart-foot { margin:12px 0 0;padding-top:11px;border-top:1px solid var(--hair);font-size:11.5px;line-height:1.55;color:var(--ink-4); }
.crx.sov .sov-chart-foot b { color:var(--ink-2);font-weight:600; }
.crx.sov .sov-rtp-h { font-size:15px;margin:20px 0 10px;color:#fff; }

/* the bankroll curve */
.crx.sov .sov-ch-line { position:relative;width:100%; }
.crx.sov .sov-ch-pad { padding-left:var(--sov-gutter,56px); }
.crx.sov .sov-ch-plot { position:relative;width:100%;height:var(--sov-plot,180px); }
.crx.sov .sov-ch-plot svg { position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible; }
.crx.sov .sov-ch-plot .grid { stroke:var(--hair);stroke-width:1;vector-effect:non-scaling-stroke; }
.crx.sov .sov-ch-plot .zero { stroke:var(--ink-4);stroke-width:1;vector-effect:non-scaling-stroke; }
.crx.sov .sov-ch-plot .curve { fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke; }
.crx.sov .sov-ch-plot .curve.is-up { stroke:var(--up,#2ED47F); }
.crx.sov .sov-ch-plot .curve.is-down { stroke:var(--lo,#FF5C7A); }
.crx.sov .sov-ch-plot .wash { stroke:none;fill-opacity:.1; }
.crx.sov .sov-ch-plot .wash.is-up { fill:var(--up,#2ED47F); }
.crx.sov .sov-ch-plot .wash.is-down { fill:var(--lo,#FF5C7A); }
.crx.sov .sov-ch-y { position:absolute;right:calc(100% + 8px);transform:translateY(-50%);white-space:nowrap;font-size:11px;color:var(--ink-4); }
.crx.sov .sov-ch-y.is-zero { color:var(--ink-3); }
.crx.sov .sov-ch-x { display:flex;justify-content:space-between;margin-top:7px;padding-left:var(--sov-gutter,56px);font-size:11px;color:var(--ink-4); }
.crx.sov .sov-ch-end { position:absolute;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--sov-surface,var(--card-2)); }
.crx.sov .sov-ch-end.is-up { background:var(--up,#2ED47F); }
.crx.sov .sov-ch-end.is-down { background:var(--lo,#FF5C7A); }
.crx.sov .sov-ch-peak { position:absolute;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--sov-surface,var(--card-2)); }
.crx.sov .sov-ch-peak.is-up { background:var(--up,#2ED47F); }
.crx.sov .sov-ch-peak.is-down { background:var(--lo,#FF5C7A); }
.crx.sov .sov-ch-endlab { position:absolute;transform:translate(-100%,-50%);margin-left:-13px;white-space:nowrap;font-size:12px;font-weight:700;color:var(--ink);background:var(--sov-surface,var(--card-2));padding:1px 5px;border-radius:6px; }
/* a 16px hover column per point, so the hit target is never the 9px dot */
.crx.sov .sov-ch-hits { position:absolute;inset:0;overflow:hidden; }
.crx.sov .sov-ch-hits b { position:absolute;top:0;bottom:0;width:16px;transform:translateX(-50%);cursor:default; }
.crx.sov .sov-ch-hits b::before { content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:transparent; }
.crx.sov .sov-ch-hits b:hover::before { background:var(--hair-2); }

/* the field: one lollipop per casino on a shared 0–200% scale */
.crx.sov .sov-fd-head, .crx.sov .sov-fd-row { display:grid;grid-template-columns:96px minmax(0,1fr) 34px 52px;gap:10px;align-items:center; }
.crx.sov .sov-fd-head { padding-bottom:7px;margin-bottom:3px;border-bottom:1px solid var(--hair);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4); }
.crx.sov .sov-fd-head span:nth-child(2) { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.crx.sov .sov-fd-head span:nth-child(3), .crx.sov .sov-fd-head span:nth-child(4) { text-align:right; }
.crx.sov .sov-fd-row { min-height:30px; }
.crx.sov .sov-fd-k { font-size:12.5px;font-weight:600;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.crx.sov .sov-fd-n, .crx.sov .sov-fd-v { font-size:12px;text-align:right; }
.crx.sov .sov-fd-n { color:var(--ink-4); }
.crx.sov .sov-fd-v { font-size:13px;font-weight:700; }
.crx.sov .sov-fd-row.is-thin .sov-fd-k, .crx.sov .sov-fd-row.is-thin .sov-fd-v { color:var(--ink-3); }
.crx.sov .sov-fd-row.is-thin .sov-fd-dot { opacity:.6; }
.crx.sov .sov-fd-row.is-thin .sov-fd-stem { opacity:.4; }
.crx.sov .sov-fd-track { position:relative;height:28px; }
.crx.sov .sov-fd-grid { position:absolute;top:0;bottom:0;width:1px;background:var(--hair); }
.crx.sov .sov-fd-grid.is-even { background:var(--hair-2); }
/* the bettor's own overall RTP, so each casino reads against their average as well as break-even */
.crx.sov .sov-fd-ref { position:absolute;top:0;bottom:0;width:1px;background:var(--mid,#4FC7EA);opacity:.45; }
.crx.sov .sov-fd-stem { position:absolute;top:50%;height:2px;transform:translateY(-50%);border-radius:1px; }
.crx.sov .sov-fd-stem.is-up { background:var(--up,#2ED47F); }
.crx.sov .sov-fd-stem.is-down { background:var(--lo,#FF5C7A); }
.crx.sov .sov-fd-stem.is-flat { background:var(--ink-4); }
.crx.sov .sov-fd-dot { position:absolute;top:50%;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 0 2px var(--sov-surface,var(--card-2)); }
.crx.sov .sov-fd-dot.is-up { background:var(--up,#2ED47F); }
.crx.sov .sov-fd-dot.is-down { background:var(--lo,#FF5C7A); }
.crx.sov .sov-fd-dot.is-flat { background:var(--ink-3); }
/* past the end of the scale: a chevron at the edge, with the real number still on the row */
.crx.sov .sov-fd-dot.is-over { border-radius:0;box-shadow:none;clip-path:polygon(0 0,100% 50%,0 100%);transform:translate(-90%,-50%); }
.crx.sov .sov-fd-cut { display:flex;align-items:center;gap:10px;margin:12px 0 4px;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4); }
.crx.sov .sov-fd-cut::after { content:"";flex:1 1 auto;height:1px;background:var(--hair); }
.crx.sov .sov-fd-axis { position:relative;height:16px;margin:4px 106px 0; }
.crx.sov .sov-fd-axis span { position:absolute;transform:translateX(-50%);font-size:10.5px;color:var(--ink-4); }
.crx.sov .sov-fd-key { display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:12px 0 0;font-size:11.5px;color:var(--ink-4);line-height:1.5; }
.crx.sov .sov-fd-key span { display:inline-flex;align-items:center;gap:7px; }
.crx.sov .sov-fd-key i { flex:0 0 auto;border-radius:50%;background:var(--ink-4); }
.crx.sov .sov-fd-key i.rule { width:2px;height:12px;border-radius:1px; }
.crx.sov .sov-fd-key i.ref { background:var(--mid,#4FC7EA);opacity:.7; }
.crx.sov .sov-fd-key i.even { background:var(--hair-2);opacity:1; }

/* diverging money rows: the count and the stake are on the row, never only in a tooltip */
.crx.sov .sov-rows { display:grid;gap:1px; }
.crx.sov .sov-rw, .crx.sov .sov-rw-scale { display:grid;grid-template-columns:minmax(0,1fr) 66px 104px var(--sov-track,300px) var(--sov-val,78px);gap:14px;align-items:center; }
.crx.sov .sov-rw { padding:6px 0;border-bottom:1px solid var(--hair); }
.crx.sov .sov-rows .sov-rw:last-of-type { border-bottom:0; }
.crx.sov .sov-rw .k { min-width:0;display:grid;gap:1px; }
.crx.sov .sov-rw .k b { font-size:13.5px;font-weight:600;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.crx.sov .sov-rw .k small { display:none;font-size:11px;color:var(--ink-4); }
.crx.sov .sov-rw .n, .crx.sov .sov-rw .s { font-size:12px;color:var(--ink-4);text-align:right;white-space:nowrap; }
.crx.sov .sov-rw .v { font-size:13.5px;font-weight:700;text-align:right; }
.crx.sov .sov-rw .track { position:relative;height:16px; }
.crx.sov .sov-rw .track::before { content:"";position:absolute;top:-7px;bottom:-7px;left:var(--sov-zero,50%);width:1px;background:var(--hair-2); }
.crx.sov .sov-rw .bar { position:absolute;top:2px;height:12px; }
.crx.sov .sov-rw .bar.is-up { background:var(--up,#2ED47F);border-radius:2px 4px 4px 2px; }
.crx.sov .sov-rw .bar.is-down { background:var(--lo,#FF5C7A);border-radius:4px 2px 2px 4px; }
.crx.sov .sov-rw .bar.is-flat { background:var(--ink-4);border-radius:2px; }
.crx.sov .sov-rw-scale { margin-top:6px; }
.crx.sov .sov-rw-scale .ends { grid-column:4;display:flex;justify-content:space-between;font-size:10.5px;color:var(--ink-4); }

/* columns: P&L per day, week or month */
.crx.sov .sov-cols { position:relative; }
.crx.sov .sov-cl-plot { position:relative;display:flex;align-items:stretch;gap:2px;height:var(--sov-plot,146px);padding-left:var(--sov-gutter,56px); }
.crx.sov .sov-cl-grid { position:absolute;left:var(--sov-gutter,56px);right:0;height:1px;background:var(--hair); }
.crx.sov .sov-cl-grid.is-zero { background:var(--ink-4); }
.crx.sov .sov-cl-y { position:absolute;right:calc(100% - var(--sov-gutter,56px) + 8px);transform:translateY(-50%);font-size:11px;color:var(--ink-4);white-space:nowrap; }
.crx.sov .sov-cl-col { position:relative;flex:1 1 0;min-width:0; }
.crx.sov .sov-cl-col i { position:absolute;left:50%;transform:translateX(-50%);width:min(24px,80%);min-height:2px;display:block; }
.crx.sov .sov-cl-col i.is-up { background:var(--up,#2ED47F);border-radius:4px 4px 0 0; }
.crx.sov .sov-cl-col i.is-down { background:var(--lo,#FF5C7A);border-radius:0 0 4px 4px; }
.crx.sov .sov-cl-col i.is-flat { background:var(--ink-4); }
.crx.sov .sov-cl-col:hover i { filter:brightness(1.18); }
.crx.sov .sov-cl-x { display:flex;gap:2px;padding-left:var(--sov-gutter,56px);margin-top:7px; }
.crx.sov .sov-cl-x span { flex:1 1 0;min-width:0;text-align:center;font-size:10.5px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }

/* results and records */
.crx.sov .sov-res-bar { display:flex;gap:2px;height:12px;border-radius:3px;overflow:hidden; }
.crx.sov .sov-res-bar i { display:block; }
.crx.sov .sov-res-legend { display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;font-size:12px;color:var(--ink-3); }
.crx.sov .sov-res-legend span { display:inline-flex;align-items:center;gap:7px; }
.crx.sov .sov-res-legend i { width:8px;height:8px;border-radius:2px;flex:0 0 auto; }
.crx.sov .sov-res-legend b { color:#fff; }
.crx.sov .sov-res-legend small { color:var(--ink-4); }
.crx.sov .sov-records { display:grid;margin:0; }
.crx.sov .sov-records > div { display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0;border-bottom:1px solid var(--hair); }
.crx.sov .sov-records > div:last-child { border-bottom:0; }
.crx.sov .sov-records dt { font-size:12px;color:var(--ink-3); }
.crx.sov .sov-records dd { margin:0;text-align:right;font-size:13px;font-weight:700;color:var(--ink);overflow-wrap:anywhere; }
.crx.sov .sov-records dd small { display:block;font-size:11px;font-weight:400;color:var(--ink-4);max-width:26ch; }

@container sovpanel (max-width:720px) {
  .crx.sov .sov-charts { grid-template-columns:minmax(0,1fr); }
  .crx.sov .sov-tiles-rtp { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .crx.sov .sov-tiles-edge { grid-template-columns:minmax(0,1fr); }
}
@container sovpanel (max-width:620px) {
  .crx.sov .sov-rw, .crx.sov .sov-rw-scale { grid-template-columns:minmax(0,1fr) var(--sov-val,78px);gap:5px 10px; }
  .crx.sov .sov-rw { grid-template-areas:"k v" "t t";padding:8px 0; }
  .crx.sov .sov-rw .k { grid-area:k; }
  .crx.sov .sov-rw .v { grid-area:v; }
  .crx.sov .sov-rw .track { grid-area:t; }
  .crx.sov .sov-rw .n, .crx.sov .sov-rw .s { display:none; }
  .crx.sov .sov-rw .k small { display:block; }
  .crx.sov .sov-rw-scale .ends { grid-column:1/-1; }
}
@container sovpanel (max-width:460px) {
  .crx.sov .sov-fd-head, .crx.sov .sov-fd-row { grid-template-columns:78px minmax(0,1fr) 26px 44px;gap:7px; }
  .crx.sov .sov-fd-axis { margin:4px 84px 0; }
  .crx.sov .sov-fd-head span:nth-child(2) { visibility:hidden; }
  /* 0 / 50 / 100 / 150 / 200 collide under 460px — keep the gridlines, drop two labels */
  .crx.sov .sov-fd-axis span:nth-child(2), .crx.sov .sov-fd-axis span:nth-child(4) { display:none; }
  /* seven weekly labels collide too — thin them rather than clip them */
  .crx.sov .sov-cl-x span:nth-child(even) { visibility:hidden; }
}
@container sovpanel (max-width:340px) {
  .crx.sov .sov-tiles-rtp { grid-template-columns:minmax(0,1fr); }
  .crx.sov .sov-tile.is-lead { grid-column:span 1; }
}

.crx.sov .sov-bets { list-style:none;margin:0;padding:0;display:grid;gap:8px; }
.crx.sov .sov-bet { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:12px 14px;border-radius:12px;background:var(--card-2);border:1px solid var(--hair); }
.crx.sov .sov-bet-main { display:grid;gap:3px;min-width:0;font-size:12.5px;color:var(--ink-3); }
.crx.sov .sov-bet-main b { color:#fff;font-size:14px;font-weight:700; }
.crx.sov .sov-bet-main span { color:var(--ink-2); }
.crx.sov .sov-bet-side { display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ink-2);white-space:nowrap;flex-wrap:wrap;justify-content:flex-end; }
.crx.sov .sov-bet-side b { font-size:15px;color:#fff; }
.crx.sov .sov-bet-st { display:inline-grid;place-items:center;height:24px;padding:0 9px;border-radius:6px;font-size:11.5px;font-style:normal;font-weight:800;background:rgba(255,255,255,.08);color:var(--ink-2); }
.crx.sov .sov-bet-st.is-won { background:rgba(46,212,127,.14);color:var(--up,#2ED47F); }
.crx.sov .sov-bet-st.is-lost { background:rgba(255,92,122,.14);color:#FF7A94; }
.crx.sov .sov-bet-st.is-void, .crx.sov .sov-bet-st.is-cashout { background:rgba(245,196,81,.14);color:var(--max,#F5C451); }
.crx.sov .sov-bet-act { grid-column:1/-1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px; }
.crx.sov .sov-bet-act>button:not(.sov-lnk) { min-height:0;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--hair-2);background:var(--card);color:var(--ink-2);font-size:12px;font-weight:600; }
.crx.sov .sov-bet-act>button:not(.sov-lnk):hover { color:#fff;border-color:rgba(79,199,234,.5); }
.crx.sov .sov-bet-act .sov-lnk { margin-left:auto; }
.crx.sov .sov-cashout { display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3); }
.crx.sov .sov-cashout input { width:110px;height:30px;padding:0 8px;border-radius:8px;font-size:12.5px; }
/* Pro */
.crx.sov .sov-pro-sec { margin-top:18px;padding-top:14px;border-top:1px solid var(--hair); }
.crx.sov .sov-pro-sec h3 { font-size:15px;margin:0 0 10px;display:flex;align-items:baseline;gap:8px; }
.crx.sov .sov-pro-sec h3 small { font-size:11.5px;font-weight:600;color:var(--ink-4); }
.crx.sov [data-sov-edges-more] { margin-top:12px; }
.crx.sov .sov-scan { list-style:none;margin:0;padding:0;display:grid;gap:6px; }
.crx.sov .sov-scan li { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;gap:6px 14px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--card-2);border:1px solid var(--hair);font-size:12.5px;color:var(--ink-3); }
.crx.sov .sov-scan li>div { display:grid;gap:2px;min-width:0; }
.crx.sov .sov-scan .sov-lnk { color:#fff;font-size:13.5px;font-weight:700; }
.crx.sov .sov-scan small { font-size:11px;color:var(--ink-4); }
.crx.sov .sov-scan-n b { font-size:15px;color:#fff; }
.crx.sov .sov-scan-n span { overflow-wrap:anywhere;line-height:1.45; }
.crx.sov .sov-bettor-form { display:flex;gap:8px;margin-bottom:10px; }
.crx.sov .sov-bettor-form input { flex:1 1 200px;height:40px;padding:0 14px;border-radius:999px;font-size:13.5px; }
.crx.sov .sov-bettor-card { padding:12px 14px;border-radius:12px;background:var(--card-2);border:1px solid var(--hair);margin-bottom:8px; }
.crx.sov .sov-bettor-card>b { display:block;font-size:15px;color:#fff; }
.crx.sov .sov-bettor-card>b small { font-size:12px;color:var(--ink-4);font-weight:500; }
@media(max-width:760px) {
 .crx.sov .sov-slip, .crx.sov .sov-slip-pill { right:12px;bottom:12px; }
 .crx.sov .sov-slip { left:12px;width:auto;max-width:none;max-height:82vh; }
 .crx.sov .sov-leg { padding-right:32px; }
 .crx.sov .sov-scan li { grid-template-columns:minmax(0,1fr) auto; }
 .crx.sov .sov-scan li>.sov-scan-n { grid-column:1/-1; }
 .crx.sov .sov-field-row { grid-template-columns:1fr; }
 .crx.sov .sov-bet { grid-template-columns:1fr; }
 .crx.sov .sov-bet-side { justify-content:flex-start; }
 .crx.sov .sov-menu { right:auto;left:0; }
 .crx.sov .sov-account-wrap, .crx.sov .sov-inbox-btn { flex:0 0 auto; }
 .crx.sov .sov-star, .crx.sov .sov-bell { height:36px;min-width:36px; }
 .crx.sov .sov-menu button { height:44px; }
}

/* ---------- top-bar account block (desk only; the header sits outside .crx.sov) ---------- */
.sov-top-account { display:flex;align-items:center;gap:8px;flex:0 0 auto; }
.sov-top-account { --card:#1B2030;--card-2:#212739;--hair:rgba(255,255,255,.075);--hair-2:rgba(255,255,255,.14);--ink:#ECEEF6;--ink-2:#CDD2E1;--ink-3:#A9AFC4;--ink-4:#7E849C;--up:#2ED47F;--max:#F5C451;--lo:#FF5C7A;--grad:linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2); }
.sov-top-account .sov-muted { color:var(--ink-3);font-size:12.5px;line-height:1.6;margin:0; }
.sov-top-account .sov-menu { box-shadow:0 20px 50px -20px rgba(0,0,0,.8); }
.sov-top-account [hidden] { display:none!important; }
.sov-top-account .sov-top-out { display:inline-flex;align-items:center;gap:8px; }
.sov-top-account .sov-top-btn { cursor:pointer;height:32px;padding:0 14px;font-size:12.5px;color:var(--text);background:var(--surface-2);border:1px solid var(--line);transition:border-color .15s,color .15s; }
.sov-top-account .sov-top-btn:hover { border-color:rgba(255,255,255,.22);color:#fff; }
.sov-top-account .sov-top-btn.is-primary { color:#fff;border-color:transparent;background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2));box-shadow:0 8px 20px -12px rgba(123,77,242,.8); }
.sov-top-account .sov-top-btn.is-primary:hover { filter:brightness(1.1); }
.sov-top-account .sov-top-icon { display:none;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--surface);border:1px solid var(--line);color:var(--text);cursor:pointer;padding:0; }
.sov-top-account .sov-account-btn { cursor:pointer;height:32px;padding:0 12px 0 10px;gap:7px;color:#fff;border-color:rgba(167,139,250,.45);background:rgba(123,77,242,.12);max-width:220px; }
.sov-top-account .sov-account-btn span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.sov-top-account .sov-account-wrap { position:relative; }
.sov-top-account .sov-account-btn { padding-left:12px; }
.sov-top-account .sov-account-btn.is-in { color:#fff;border-color:rgba(167,139,250,.45); }
.sov-top-account .sov-sync { display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink-4);flex:0 0 auto; }
.sov-top-account .sov-sync.is-synced { background:var(--up,#2ED47F); }
.sov-top-account .sov-sync.is-pending { background:var(--max,#F5C451);animation:crxPulse 1.2s infinite; }
.sov-top-account .sov-sync.is-error { background:var(--lo,#FF5C7A); }
.sov-top-account .sov-menu { position:absolute;right:0;top:46px;z-index:30;min-width:240px;display:grid;gap:4px;padding:8px;border-radius:12px;background:var(--card);border:1px solid var(--hair-2);box-shadow:0 20px 50px -20px rgba(0,0,0,.8); }
.sov-top-account .sov-menu[hidden] { display:none; }
.sov-top-account .sov-menu-who { margin:0;padding:6px 10px 2px;font-weight:700;color:#fff;font-size:14px; }
.sov-top-account .sov-menu-who:empty { display:none; }
.sov-top-account .sov-menu>.sov-muted { padding:0 10px 6px; }
.sov-top-account .sov-menu>.sov-muted:empty { display:none; }
.sov-top-account .sov-menu a { display:flex;align-items:center;text-decoration:none; }
.sov-top-account .sov-menu button, .sov-top-account .sov-menu a { min-height:0;height:38px;padding:0 10px;border:0;border-radius:8px;background:none;color:var(--ink);font-size:13.5px;font-weight:600;text-align:left; }
.sov-top-account .sov-menu button:hover, .sov-top-account .sov-menu a:hover { background:var(--card-2);color:#fff; }
.sov-top-account .sov-menu button.is-danger { color:var(--lo,#FF5C7A); }
.sov-top-account .sov-menu { top:40px; }
@media (max-width:1024px) {
  .sov-top-account { margin-left:auto;margin-right:8px; }
  .sov-top-account .sov-top-btn { display:none; }
  .sov-top-account .sov-top-icon { display:grid; }
  .sov-top-account .sov-account-btn { width:40px;height:40px;padding:0;justify-content:center;border-radius:11px; }
  .sov-top-account .sov-account-btn span { display:none; }
  .sov-top-account .sov-menu { top:46px;right:0; }
}

/* ---------- league groups + fixture cards on the desk grammar (owner review round 4) ---------- */
.crx.sov .sov-slot:empty { display:none; }
.crx.sov .sov-group>summary { gap:10px; }
.crx.sov .sov-crumb { display:flex;align-items:center;gap:7px;min-width:0;flex:1 1 auto;font-size:13px;color:var(--ink-3);white-space:nowrap;overflow:hidden; }
.crx.sov .sov-crumb>span:first-child { color:var(--hi,#A78BFA);font-weight:700; }
.crx.sov .sov-crumb i { font-style:normal;color:var(--ink-4); }
.crx.sov .sov-crumb b { color:#fff;font-weight:700;overflow:hidden;text-overflow:ellipsis; }
.crx.sov .sov-group.tier-0>summary .sov-crumb::before { content:'';flex:0 0 auto;width:8px;height:8px;border-radius:2px;background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2)); }
.crx.sov .sov-star-league { height:26px;min-width:26px;margin:0; }
.crx.sov .sov-group-body { display:block;padding:0; }
.crx.sov .sov-fx { position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 14px 10px;margin:0;border:0;border-top:1px solid var(--hair);border-radius:0;background:none;box-shadow:none; }
.crx.sov .sov-fx>*, .crx.sov .sov-cmp { min-width:0; }
.crx.sov .sov-fx.is-live { box-shadow:inset 3px 0 0 var(--up,#2ED47F); }
/* top line: when + countdown left, favourite + markets pill right */
.crx.sov .sov-fx-top { display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--ink-3); }
.crx.sov .sov-fx-when { display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0; }
.crx.sov .sov-fx-when time { font-weight:600;color:var(--ink-2);white-space:nowrap; }
.crx.sov .sov-fx-when .sov-in { white-space:nowrap; }
.crx.sov .sov-sep { color:var(--ink-4); }
.crx.sov .sov-state.is-on { color:var(--up,#2ED47F);font-weight:700; }
.crx.sov .sov-live-dot { width:7px;height:7px;border-radius:50%;background:var(--up,#2ED47F);display:inline-block;animation:sovPulse 1.6s infinite; }
@keyframes sovPulse { 50% { opacity:.35; } }
.crx.sov .sov-fx-tools { display:inline-flex;align-items:center;gap:6px;flex:0 0 auto; }
.crx.sov .sov-fx-tools .sov-star { height:24px;min-width:24px;padding:0 4px;font-size:14px; }
.crx.sov .sov-fx-more { min-height:0;height:24px;padding:0 9px;border-radius:7px;border:0;background:rgba(123,77,242,.14);color:var(--hi,#A78BFA);font-size:11.5px;font-weight:800;white-space:nowrap;transition:background .15s; }
.crx.sov .sov-fx-more:hover { background:rgba(123,77,242,.26);color:#fff; }
/* body: teams stack left, the boxes fill the rest */
.crx.sov .sov-fx-body { display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,1.9fr);gap:14px;align-items:center; }
.crx.sov .sov-fx-teams { display:grid;gap:6px;min-height:0;padding:0;border:0;background:none;text-align:left;min-width:0;cursor:pointer; }
.crx.sov .sov-team { display:flex;align-items:center;gap:8px;min-width:0;font-size:14.5px;font-weight:700;color:#fff;line-height:1.25; }
.crx.sov .sov-team b { font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.crx.sov .sov-fx-teams:hover .sov-team b { text-decoration:underline;text-decoration-color:var(--hair-2);text-underline-offset:3px; }
.crx.sov .sov-crest { flex:0 0 auto;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--card-2);border:1px solid var(--hair-2);font-style:normal;font-size:10.5px;font-weight:800;color:var(--ink-3); }
.crx.sov .sov-fx-prices { display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;min-width:0; }
.crx.sov .sov-fx-prices>p { grid-column:1/-1;margin:0; }
.crx.sov .sov-fx-prices .sov-fx-none { display:flex;align-items:center;min-height:58px;padding:10px 14px;border:1px dashed var(--hair-2);border-radius:12px;color:var(--ink-4);font-size:12.5px;line-height:1.4; }
.crx.sov .sov-fx-prices .sov-fx-none.is-loading { color:var(--ink-3);border-style:solid;animation:sov-fx-pulse 1.4s ease-in-out infinite; }
@keyframes sov-fx-pulse { 0%,100% { opacity:.9; } 50% { opacity:.55; } }
@media (prefers-reduced-motion:reduce) { .crx.sov .sov-fx-prices .sov-fx-none.is-loading { animation:none; } }
.crx.sov .sov-obw { position:relative;display:flex;min-width:0; }
.crx.sov .sov-price { flex:1;width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:2px;justify-items:start;align-items:start;min-height:0;padding:8px 10px;border-radius:10px;background:var(--card-2);border:1px solid var(--hair);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,background .15s; }
.crx.sov .sov-price:hover { border-color:var(--hi,#A78BFA); }
.crx.sov .sov-price.is-sel { border-color:var(--hi,#A78BFA);background:rgba(123,77,242,.16); }
.crx.sov .sov-price .sov-ol { font-size:11.5px;font-weight:600;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%; }
.crx.sov .sov-price b { font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:16px;font-weight:700;color:var(--up,#2ED47F);line-height:1.2;letter-spacing:-.01em; }
.crx.sov .sov-price.is-sel b { color:#CBB8FF; }
.crx.sov .sov-price small { display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;color:var(--ink-3);white-space:nowrap;max-width:calc(100% - 56px);overflow:hidden;text-overflow:ellipsis; }
.crx.sov .sov-price img { width:14px;height:14px;object-fit:contain;flex:0 0 auto;border-radius:3px; }
.crx.sov .sov-dot { display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ink-4);flex:0 0 auto; }
.crx.sov .sov-stale-tag { display:inline-block;font-style:normal;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:1px 5px;border-radius:4px;background:rgba(245,196,81,.12);color:var(--max,#F5C451);line-height:1.4; }
.crx.sov .sov-price .sov-indicative { font-style:normal;font-size:10px;line-height:1.2;color:var(--max,#F5C451);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%; }
.crx.sov .sov-price.is-stale, .crx.sov .sov-price.is-stale b { color:var(--ink-2); }
.crx.sov .sov-price.is-off, .crx.sov .sov-price.is-off b { color:var(--ink-4);cursor:default; }
.crx.sov .sov-price[disabled] { cursor:default;opacity:.6; }
.crx.sov .sov-betlink { position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 10px;border-radius:999px;background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2));color:#fff;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.35);opacity:.92;transition:opacity .15s,filter .15s; }
.crx.sov .sov-betlink:hover { opacity:1;filter:brightness(1.12);text-decoration:none; }
/* foot: alert, market · lines · books, hold, edge, boosts, the compare toggle */
.crx.sov .sov-fx-foot { display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-4); }
.crx.sov .sov-fx-meta { color:var(--ink-3);white-space:nowrap; }
.crx.sov .sov-fx-meta b { color:var(--ink-2);font-weight:600; }
.crx.sov .sov-hold { font-weight:600;color:var(--ink-2);white-space:nowrap;cursor:help;text-decoration:underline dotted;text-underline-offset:3px; }
.crx.sov .sov-hold.is-arb { color:var(--up,#2ED47F);font-weight:700; }
.crx.sov .is-stale .sov-hold { color:var(--max,#F5C451); }
.crx.sov .sov-bell { display:inline-flex;align-items:center;gap:5px;height:28px;min-height:0;min-width:0;padding:0 10px;border-radius:999px;border:1px solid var(--hair-2);background:var(--card-2);color:var(--ink-2);font-size:11.5px;font-weight:700;line-height:1; }
.crx.sov .sov-bell:hover { color:#fff;border-color:rgba(167,139,250,.5); }
.crx.sov .sov-bell.is-on { color:var(--hi,#A78BFA);border-color:rgba(167,139,250,.5);background:rgba(123,77,242,.12); }
.crx.sov .sov-bell b { font-size:11px;font-weight:800; }
.crx.sov .sov-cmp-btn { margin-left:auto;min-height:0;height:28px;padding:0 11px;border-radius:999px;border:1px solid rgba(75,141,255,.35);background:none;color:var(--mid,#4FC7EA);font-size:11.5px;font-weight:800;white-space:nowrap;transition:background .15s; }
.crx.sov .sov-cmp-btn:hover, .crx.sov .sov-cmp-btn[aria-expanded=true] { background:rgba(75,141,255,.12); }
.crx.sov .sov-cmp-btn i { font-style:normal;font-size:10px;margin-left:2px; }
.crx.sov .sov-cmp-btn .sov-cmp-c, .crx.sov .sov-cmp-btn[aria-expanded=true] .sov-cmp-o { display:none; }
.crx.sov .sov-cmp-btn[aria-expanded=true] .sov-cmp-c { display:inline; }
/* the comparison under the card (and every market on the event page) */
.crx.sov .sov-cmp { margin:2px 0 0;padding:10px 12px 12px;border-radius:12px;background:var(--card);border:1px solid var(--hair); }
.crx.sov .sov-cmp[hidden] { display:none; }
.crx.sov .sov-cmp-head { display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px;font-size:12px;color:var(--ink-3); }
.crx.sov .sov-cmp-head b { color:#fff;font-size:12.5px; }
.crx.sov .sov-table-wrap { max-width:100%;overflow-x:auto; }
.crx.sov .sov-table { width:100%;border-collapse:separate;border-spacing:0 6px;font-size:13px; }
.crx.sov .sov-table th, .crx.sov .sov-table td { padding:0 4px;vertical-align:middle;white-space:nowrap;border:0; }
.crx.sov .sov-table thead th { position:static;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:none;color:var(--ink-4);text-align:center;background:none;padding-bottom:2px; }
.crx.sov .sov-table thead th.sov-th-book { text-align:left; }
.crx.sov .sov-sort { min-height:0;height:auto;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:700;cursor:pointer; }
.crx.sov .sov-sort:hover { color:#fff; }
.crx.sov .sov-sort i { font-style:normal;opacity:0;margin-left:3px;font-size:10px; }
.crx.sov .sov-table thead th.is-sorted .sov-sort { color:#fff; }
.crx.sov .sov-table thead th.is-sorted .sov-sort i { opacity:1; }
.crx.sov .sov-table tbody th { text-align:left;font-weight:600;color:var(--ink);min-width:130px;width:1%; }
.crx.sov .sov-bk { display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;min-width:0; }
.crx.sov .sov-bk img { width:16px;height:16px;object-fit:contain;border-radius:3px; }
.crx.sov .sov-bk small { flex-basis:100%;font-size:10px;font-weight:400;color:var(--ink-4); }
.crx.sov .sov-table td { position:relative;text-align:center; }
.crx.sov .sov-table .sov-price { display:grid;justify-items:center;width:100%;min-width:64px;padding:7px 4px;border-radius:8px; }
.crx.sov .sov-table .sov-price .sov-ol, .crx.sov .sov-table .sov-price small, .crx.sov .sov-table .sov-price .sov-indicative { display:none; }
.crx.sov .sov-table .sov-price b { font-size:13.5px;color:var(--ink); }
.crx.sov .sov-table .sov-price.is-off { border-style:dashed;cursor:default; }
.crx.sov .sov-table td.is-best .sov-price { border-color:rgba(52,215,124,.7);background:linear-gradient(90deg,rgba(46,212,127,.34),rgba(46,212,127,.12)); }
.crx.sov .sov-table td.is-best .sov-price b { color:var(--up,#2ED47F); }
.crx.sov .sov-table .sov-price.is-sel { border-color:var(--hi,#A78BFA);background:rgba(123,77,242,.16); }
.crx.sov .sov-table .sov-price.is-sel b { color:#CBB8FF; }
.crx.sov .sov-best-tag { position:absolute;top:-5px;right:7px;font-style:normal;font-size:8.5px;font-weight:800;letter-spacing:.08em;padding:1px 5px;border-radius:4px;background:var(--up,#2ED47F);color:#04130A;line-height:1.3; }
.crx.sov .sov-table tr.is-stale th, .crx.sov .sov-table tr.is-stale .sov-price b { color:var(--ink-3); }
.crx.sov .sov-td-bet { width:64px;text-align:right; }
.crx.sov .sov-table .sov-betlink { position:static;height:30px;padding:0 12px;box-shadow:none;opacity:1; }
.crx.sov .sov-arb { margin:10px 0 0;padding:10px 12px;border-radius:10px;background:rgba(46,212,127,.08);border:1px solid rgba(46,212,127,.3);font-size:12.5px;color:var(--ink-2); }
.crx.sov .sov-arb strong { color:var(--up,#2ED47F); }
.crx.sov .sov-arb p { margin:4px 0 6px; }
.crx.sov .sov-arb ol { margin:0;padding-left:18px; }
.crx.sov .sov-hundred { margin:10px 0 0;padding-top:8px;border-top:1px solid var(--hair);font-size:12.5px;color:var(--ink-3); }
.crx.sov .sov-hundred b { color:#fff; }
.crx.sov .sov-hundred b.up { color:var(--up,#2ED47F); }
.crx.sov .sov-cmp .sov-muted { margin-top:8px;font-size:11.5px; }
@media(max-width:1040px) {
 .crx.sov .sov-fx-body { grid-template-columns:1fr;gap:10px; }
}
@media(max-width:760px) {
 .crx.sov .sov-fx { padding:10px 10px; }
 .crx.sov .sov-fx-prices { gap:6px; }
 .crx.sov .sov-obw { flex-direction:column; }
 .crx.sov .sov-obw .sov-price { border-radius:10px 10px 0 0;padding:7px 8px 6px; }
 .crx.sov .sov-obw .sov-price small { max-width:100%; }
 .crx.sov .sov-obw .sov-price:only-child { border-radius:10px; }
 .crx.sov .sov-price b { font-size:15px; }
 .crx.sov .sov-betlink { position:static;border-radius:0 0 10px 10px;height:26px;justify-content:center;box-shadow:none;opacity:1;font-size:11px; }
 .crx.sov .sov-fx-foot { gap:6px 8px; }
 .crx.sov .sov-fx-meta { white-space:normal; }
 .crx.sov .sov-cmp { padding:8px 8px 10px; }
 .crx.sov .sov-table { border-spacing:0 4px;font-size:12.5px; }
 .crx.sov .sov-table tbody th { min-width:84px;max-width:120px; }
 .crx.sov .sov-bk { font-size:12px; }
 .crx.sov .sov-price .sov-indicative { white-space:normal;overflow:visible;text-overflow:clip;font-size:9.5px;line-height:1.15; }
 .crx.sov .sov-table .sov-price { min-width:52px;padding:6px 2px; }
 .crx.sov .sov-th-bet, .crx.sov .sov-td-bet { display:none; }
 .crx.sov .sov-team { font-size:14px; }
 .crx.sov .sov-fx-more { height:26px; }
}
/* move since open, % behind best, freshness tiers, the legend line (owner's second mockup, batch 1 elements) */
.crx.sov .sov-cell-foot { display:flex;justify-content:center;gap:6px;margin-top:3px;font-size:10px;line-height:1.2;white-space:nowrap; }
.crx.sov .sov-move, .crx.sov .sov-gap { font-style:normal;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-weight:600;cursor:help; }
.crx.sov .sov-move.is-up { color:var(--up,#2ED47F); }
.crx.sov .sov-move.is-dn { color:var(--lo,#FF5C7A); }
.crx.sov .sov-move.is-flat { color:var(--ink-4); }
.crx.sov .sov-gap { color:var(--ink-4); }
.crx.sov .sov-price.is-fading, .crx.sov .sov-table tr.is-fading .sov-price { opacity:.78; }
.crx.sov .sov-table tr.is-stale .sov-price { opacity:.55; }
.crx.sov .sov-bk .sov-age { flex-basis:100%;font-size:10px;font-weight:400;color:var(--ink-4); }
.crx.sov .sov-legend { display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;margin:0 0 10px;font-size:11.5px;color:var(--ink-4);line-height:1.5; }
.crx.sov .sov-legend span { display:inline-flex;align-items:center;gap:6px;white-space:nowrap; }
.crx.sov .sov-legend .sov-sw { display:inline-block;width:14px;height:10px;border-radius:3px;border:1px solid rgba(52,215,124,.7);background:linear-gradient(90deg,rgba(46,212,127,.34),rgba(46,212,127,.12)); }
.crx.sov .sov-legend .sov-sw.is-fade { border-color:var(--hair-2);background:var(--card-2);opacity:.6; }
@media(max-width:760px) {
 .crx.sov .sov-cell-foot { flex-direction:column;align-items:center;gap:0;font-size:9.5px; }
}
/* the status row: status text left, the head's facts right (owner review round 4) */
.crx.sov .sov-status-row { display:flex;align-items:baseline;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;margin:0 0 12px; }
.crx.sov[data-sov-view="mybets"] .sov-status-row, .crx.sov[data-sov-view="mybets"] .sov-margins, .crx.sov[data-sov-view="mybets"] .sov-legend { display:none; }
.crx.sov[data-sov-view="mybets"] .sov-sports { margin-bottom:14px; }
.crx.sov .sov-status-row .sov-status { margin:0; }
.crx.sov .sov-facts { margin:0;font-size:12px;color:var(--ink-3); }
.crx.sov .sov-facts li { white-space:nowrap; }
.crx.sov .sov-facts li+li::before { margin:0 7px; }
.crx.sov .sov-facts b, .crx.sov .sov-facts time { font-size:12px; }
@media(max-width:760px) {
 .crx.sov .sov-status-row { flex-direction:column;gap:4px; }
 .crx.sov .sov-facts li { white-space:normal; }
}
/* the league selector in the toolbar (owner review round 4) */
.crx.sov .sov-select.sov-league select { max-width:240px; }
@media(max-width:760px) { .crx.sov .sov-strip-arrow { display:none; } }
/* ---------- event page: the Odds Desk fixture page on the desk grammar (owner review round 4, batch 3, #265) — one block, keep it together ---------- */
.crx.sov .sov-ev-nav { display:flex;align-items:center;gap:10px;margin:4px 0 12px;font-size:12.5px;color:var(--ink-3);min-width:0; }
.crx.sov .sov-ev-back { flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;min-height:0;padding:0;border-radius:10px;border:1px solid var(--hair-2);background:var(--card);color:#fff;font-size:16px;line-height:1;cursor:pointer;transition:border-color .15s; }
.crx.sov .sov-ev-back:hover { border-color:rgba(255,255,255,.28); }
.crx.sov .sov-ev-crumb { display:flex;flex:1 1 auto;min-width:0; }
.crx.sov .sov-ev-crumb .sov-crumb { font-size:12.5px; }
.crx.sov .sov-ev-head { display:flex;flex-direction:column;gap:10px;padding:14px 16px;margin-bottom:12px; }
.crx.sov .sov-ev-teams { display:flex;flex-direction:column;gap:6px;min-width:0; }
.crx.sov .sov-ev-teams .sov-team { font-family:var(--font-display,"Sora","Inter",sans-serif);font-size:21px;font-weight:800;letter-spacing:-.02em;color:#fff; }
.crx.sov .sov-ev-teams .sov-crest { width:26px;height:26px;font-size:12px; }
.crx.sov .sov-ev-teams .sov-sc { margin-left:auto;padding-left:10px;flex:none;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-weight:800;color:#fff; }
.crx.sov .sov-ev-teams .sov-sc.is-live { color:var(--up,#2ED47F); }
.crx.sov .sov-ev-meta { display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3); }
.crx.sov .sov-ev-meta .sov-fx-when { display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap; }
.crx.sov .sov-ev-meta .sov-fx-when time { font-weight:600;color:var(--ink-2); }
.crx.sov .sov-ev-n { color:var(--ink-4); }
.crx.sov .sov-ev-actions.sov-fx-foot { display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--ink-3); }
.crx.sov .sov-ev-actions .sov-slot:empty { display:none; }
.crx.sov .sov-ev-actions .sov-bell, .crx.sov .sov-ev-actions .sov-star { display:inline-flex;align-items:center;gap:5px;height:30px;min-width:0;padding:0 10px;border-radius:999px;border:1px solid var(--hair-2);background:var(--card);color:var(--ink-3);font-size:11.5px;font-weight:700;line-height:1; }
.crx.sov .sov-ev-actions .sov-bell:hover, .crx.sov .sov-ev-actions .sov-star:hover { color:#fff;border-color:rgba(255,255,255,.28); }
.crx.sov .sov-ev-actions .sov-bell.is-on { color:var(--max,#F5C451);border-color:rgba(245,196,81,.5);background:rgba(245,196,81,.12); }
.crx.sov .sov-ev-actions .sov-bell b { font-size:11.5px;font-weight:800; }
.crx.sov .sov-ev-actions .sov-star { font-size:14px;padding:0 9px; }
.crx.sov .sov-ev-actions .sov-star.is-on { color:var(--max,#F5C451);border-color:rgba(245,196,81,.5); }
.crx.sov .sov-ev-actions .sov-edge-tag { height:30px;padding:0 10px;border-radius:999px; }
.crx.sov .sov-mini-btn, .crx.sov .sov-tm-btn { display:inline-flex;align-items:center;gap:5px;min-height:0;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--hair-2);background:var(--card);color:var(--ink-3);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;transition:color .15s,border-color .15s; }
.crx.sov .sov-mini-btn:hover, .crx.sov .sov-tm-btn:hover { color:#fff;border-color:rgba(255,255,255,.28); }
.crx.sov .sov-mini-btn[hidden] { display:none; }
.crx.sov .sov-tm-btn.is-on { color:var(--max,#F5C451);border-color:rgba(245,196,81,.5);background:rgba(245,196,81,.12); }
.crx.sov .sov-tm-btn b { font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-weight:800; }
.crx.sov .sov-filter-chip { display:inline-flex;align-items:center;gap:8px;height:30px;max-width:100%;padding:0 6px 0 11px;border-radius:999px;border:1px solid rgba(123,77,242,.45);background:rgba(123,77,242,.14);color:#fff;font-size:12px;font-weight:600;white-space:nowrap; }
.crx.sov .sov-chip-x { min-height:0;height:22px;padding:0 9px;border:0;border-radius:999px;background:var(--hi,#A78BFA);color:#fff;font-size:11.5px;font-weight:700;cursor:pointer; }
.crx.sov .sov-chip-x:hover { filter:brightness(1.12); }
/* the way back machine */
.crx.sov .sov-wayback { display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-4px 0 12px;padding:10px 14px;border:1px solid var(--hair-2);border-radius:12px;background:var(--card-2); }
.crx.sov .sov-wayback[hidden] { display:none; }
.crx.sov .sov-wayback.is-history { border-color:rgba(245,196,81,.55);background:rgba(245,196,81,.06); }
.crx.sov .sov-tm-title { font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap; }
.crx.sov .sov-wayback.is-history .sov-tm-title { color:var(--max,#F5C451); }
.crx.sov .sov-wayback input[type=range] { -webkit-appearance:none;appearance:none;flex:1 1 160px;min-width:120px;width:auto;height:28px;min-height:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer; }
.crx.sov .sov-wayback input[type=range]::-webkit-slider-runnable-track { height:4px;border-radius:2px;background:linear-gradient(90deg,rgba(245,196,81,.6),rgba(245,196,81,.18)); }
.crx.sov .sov-wayback input[type=range]::-webkit-slider-thumb { -webkit-appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:var(--max,#F5C451);border:2px solid #1B2030;box-shadow:0 0 0 2px rgba(245,196,81,.35); }
.crx.sov .sov-wayback input[type=range]::-moz-range-track { height:4px;border-radius:2px;background:rgba(245,196,81,.35); }
.crx.sov .sov-wayback input[type=range]::-moz-range-thumb { width:18px;height:18px;border-radius:50%;background:var(--max,#F5C451);border:2px solid #1B2030; }
.crx.sov .sov-tm-label { min-width:64px;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:14px;font-weight:800;color:var(--up,#2ED47F);white-space:nowrap; }
.crx.sov .sov-wayback.is-history .sov-tm-label { color:var(--max,#F5C451); }
.crx.sov .sov-tm-clock { min-width:80px;font-size:12px;color:var(--ink-4);white-space:nowrap; }
.crx.sov .sov-tm-clock:empty { display:none; }
.crx.sov .sov-tm-live { min-height:0;height:30px;padding:0 12px;border:0;border-radius:999px;background:linear-gradient(135deg,#2ED47F,#18B865);color:#04130A;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 8px 18px -10px rgba(46,212,127,.8);cursor:pointer; }
.crx.sov .sov-tm-live[hidden] { display:none; }
.crx.sov .sov-tm-note { flex-basis:100%;font-size:11.5px;line-height:1.4;color:var(--ink-4); }
/* market tabs + the filter */
.crx.sov .sov-ev-tabs { display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:4px;margin-bottom:10px;border:1px solid var(--hair-2);border-radius:999px;background:var(--card); }
.crx.sov .sov-ev-tabs::-webkit-scrollbar { display:none; }
.crx.sov .sov-ev-tabs:empty { display:none; }
.crx.sov .sov-ev-tabs button { flex:none;min-height:0;padding:8px 13px;border:0;border-radius:999px;background:none;color:var(--ink-2);font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .15s; }
.crx.sov .sov-ev-tabs button:hover { color:#fff; }
.crx.sov .sov-ev-tabs button[aria-selected="true"] { background:var(--grad,linear-gradient(115deg,#4FC7EA,#2F97EE 45%,#7B4DF2));color:#fff;box-shadow:0 6px 16px -10px rgba(79,150,242,.8); }
.crx.sov .sov-mkt-filter { display:flex;align-items:center;gap:9px;height:42px;padding:0 13px;margin-bottom:10px;border:1px solid var(--hair-2);border-radius:12px;background:var(--card-2);color:var(--ink-3); }
.crx.sov .sov-mkt-filter svg { flex:0 0 auto; }
.crx.sov .sov-mkt-filter input { flex:1;min-width:0;min-height:0;height:100%;padding:0;border:0;outline:none;background:none;box-shadow:none;color:#fff;font-size:13.5px; }
.crx.sov .sov-mkt-filter input::placeholder { color:var(--ink-4); }
.crx.sov .sov-mkt-filter input::-webkit-search-cancel-button { filter:invert(.7); }
/* market groups */
.crx.sov .sov-mg { margin-bottom:8px;border:1px solid var(--hair);border-radius:var(--rad,14px);background:var(--card);overflow:hidden; }
.crx.sov .sov-mg-head { width:100%;display:flex;align-items:center;gap:10px;min-height:0;padding:12px 14px;border:0;border-radius:0;background:var(--card);color:#fff;text-align:left;cursor:pointer;transition:background .15s; }
.crx.sov .sov-mg-head:hover { background:var(--card-2); }
.crx.sov .sov-mg-name { margin-right:auto;font-size:14px;font-weight:800; }
.crx.sov .sov-mg-n { font-size:12px;font-weight:500;color:var(--ink-4);white-space:nowrap; }
.crx.sov .sov-mg-chev { font-style:normal;font-size:12px;color:var(--ink-4); }
.crx.sov .sov-mg-body { display:flex;flex-direction:column;gap:6px;padding:6px 10px 10px; }
/* outcome rows: label · best price box · every-book chevron */
.crx.sov .sov-orow { display:grid;grid-template-columns:minmax(0,1fr) auto 34px;gap:8px;align-items:center;padding:6px 6px 6px 12px;border:1px solid var(--hair);border-radius:10px;background:var(--card-2); }
.crx.sov .sov-orow.is-open { border-color:var(--hair-2); }
.crx.sov .sov-olabel { display:flex;align-items:center;gap:8px;min-width:0;font-size:13.5px;font-weight:600;color:#fff; }
.crx.sov .sov-olabel>span:first-child { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.crx.sov .sov-orow > .sov-obw, .crx.sov .sov-gcell > .sov-obw { position:static;display:flex;flex:0 0 auto;align-items:center;gap:8px;min-width:0; }
.crx.sov .sov-orow > .sov-obw > .sov-price { display:flex;flex:0 0 auto;width:auto;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;min-width:150px;padding:6px 12px;border-radius:12px;background:var(--card); }
.crx.sov .sov-orow > .sov-obw > .sov-price .sov-ol { display:none; }
.crx.sov .sov-orow > .sov-obw > .sov-price b { font-size:15px; }
.crx.sov .sov-orow > .sov-obw > .sov-price small, .crx.sov .sov-gcell > .sov-obw > .sov-price small { display:inline-flex;align-items:center;gap:5px;max-width:none;font-size:10.5px;font-weight:700;color:var(--ink-3);white-space:nowrap; }
.crx.sov .sov-orow > .sov-obw > .sov-price .sov-indicative { display:none; }
/* owner review round 5 (#271): the Bet ↗ link beside the row box, a static pill like the list's */
.crx.sov .sov-orow > .sov-obw > .sov-betlink, .crx.sov .sov-gcell > .sov-obw > .sov-betlink { position:static;flex:0 0 auto;display:inline-flex;justify-content:center;align-items:center;height:30px;padding:0 12px;border-radius:999px;font-size:11.5px;font-weight:700;opacity:1;box-shadow:0 8px 20px -12px rgba(123,77,242,.8); }
.crx.sov .sov-cmp-more, .crx.sov .sov-olist-more { display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0 2px;font-size:12px; }
.crx.sov .sov-cmp-more .sov-mini-btn, .crx.sov .sov-olist-more .sov-mini-btn { color:#fff;border-color:rgba(255,255,255,.22); }
.crx.sov .sov-price.is-dead { cursor:default;opacity:.6; }
.crx.sov .sov-price.is-dead:hover { border-color:var(--hair); }
.crx.sov .sov-ocmp { width:34px;height:34px;min-height:0;padding:0;border:1px solid var(--hair);border-radius:8px;background:var(--card);color:var(--ink-3);font-size:12px;cursor:pointer;transition:color .15s,border-color .15s; }
.crx.sov .sov-ocmp:hover { color:#fff;border-color:var(--hair-2); }
/* the every-book list under a row */
.crx.sov .sov-olist { grid-column:1/-1;display:flex;flex-direction:column;gap:5px;min-width:0;margin-top:4px;padding:4px 0 2px;border-top:1px solid var(--hair); }
.crx.sov .sov-olist>.sov-muted { padding:4px 0; }
.crx.sov .sov-oli { display:grid;grid-template-columns:auto minmax(0,1fr) auto 78px 74px;gap:8px;align-items:center;padding:3px 0 3px 4px;font-size:13px;font-weight:600;color:var(--ink-2); }
.crx.sov .sov-oli.is-top { border-radius:8px;background:linear-gradient(90deg,rgba(46,212,127,.12),transparent 70%); }
.crx.sov .sov-oli.is-top .sov-bname { color:var(--up,#2ED47F);font-weight:800; }
.crx.sov .sov-oli.is-stale { opacity:.55; }
.crx.sov .sov-oli.is-fading { opacity:.8; }
.crx.sov .sov-oli img { display:block;width:14px;height:14px;border-radius:3px; }
.crx.sov .sov-bname { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.crx.sov .sov-oli-tag { display:inline-flex;gap:4px; }
.crx.sov .sov-oli .sov-cell { position:relative;display:block;width:100%;min-width:0;min-height:0;padding:6px 4px;border:1px solid var(--hair-2);border-radius:8px;background:var(--card);color:var(--ink-2);text-align:center;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:13.5px;font-weight:700;line-height:1.2;cursor:pointer;transition:border-color .2s,background .2s; }
.crx.sov .sov-oli .sov-cell b { display:block;font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit;letter-spacing:0; }
.crx.sov .sov-oli .sov-cell:hover { border-color:rgba(79,199,234,.55); }
.crx.sov .sov-oli .sov-cell.is-best { border-color:transparent;background:linear-gradient(135deg,#2ED47F,#18B865);color:#04130A;font-size:14.5px;font-weight:800;box-shadow:0 8px 18px -10px rgba(46,212,127,.8),0 0 0 1px rgba(46,212,127,.55); }
.crx.sov .sov-oli .sov-cell.is-best::after { content:'best';position:absolute;top:-7px;right:6px;padding:0 4px;border-radius:4px;background:var(--up,#2ED47F);color:#04130A;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:8.5px;font-weight:700;letter-spacing:.08em;line-height:1.4;text-transform:uppercase; }
.crx.sov .sov-oli .sov-cell.is-sel { outline:2px solid var(--hi,#A78BFA);outline-offset:1px; }
.crx.sov .sov-oli .sov-cell.is-sel:not(.is-best) { border-color:var(--hair-2);background:var(--card);color:#fff; }
.crx.sov .sov-oli .sov-cell.is-stale { border-style:dashed;color:var(--ink-4);cursor:default; }
.crx.sov .sov-oli .sov-betlink { position:static;display:inline-flex;justify-content:center;align-items:center;height:28px;padding:0 12px;border-radius:999px;font-size:11.5px;font-weight:700;opacity:1;box-shadow:0 8px 20px -12px rgba(123,77,242,.8); }
.crx.sov .sov-oli.is-boost { border-radius:8px;background:rgba(245,196,81,.08); }
.crx.sov .sov-oli.is-boost .sov-cell.is-best { background:var(--max,#F5C451);color:#1a1400;box-shadow:none; }
.crx.sov .sov-oli.is-boost .sov-cell.is-best::after { content:'boost';background:#1a1400;color:var(--max,#F5C451); }
.crx.sov .sov-boost-tag, .crx.sov .sov-ind-tag { padding:2px 7px;border-radius:6px;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.06em;text-transform:uppercase; }
.crx.sov .sov-boost-tag { color:var(--max,#F5C451);background:rgba(245,196,81,.14); }
.crx.sov .sov-ind-tag { color:var(--ink-4);background:rgba(255,255,255,.06);cursor:help; }
/* the price-alert form that closes the list */
.crx.sov .sov-pa-form { display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px;padding:6px 0 2px;border-top:1px solid var(--hair);font-size:12px;color:var(--ink-3); }
.crx.sov .sov-pa-form input { width:84px;min-height:0;height:30px;padding:0 8px;border:1px solid var(--hair-2);border-radius:8px;background:var(--card);color:#fff;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:12.5px;box-shadow:none; }
.crx.sov .sov-pa-form .sov-mini-btn { height:28px; }
.crx.sov .sov-pa-on { color:var(--max,#F5C451);font-weight:700; }
.crx.sov .sov-pa-on[hidden], .crx.sov .sov-pa-msg:empty { display:none; }
.crx.sov .sov-pa-msg { color:var(--ink-2); }
/* two-sided ladders and many-outcome grids */
.crx.sov .sov-ladder2 { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.crx.sov .sov-lside { display:flex;flex-direction:column;gap:6px;min-width:0; }
.crx.sov .sov-lside-h { padding:4px 0 2px;font-size:12px;font-weight:800;color:var(--ink-3);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.crx.sov .sov-lside .sov-orow { grid-template-columns:minmax(0,auto) minmax(0,1fr) 30px;padding-left:10px; }
.crx.sov .sov-lside .sov-orow > .sov-obw { width:100%; }
.crx.sov .sov-lside .sov-orow > .sov-obw > .sov-price { min-width:0;flex:1 1 auto;width:auto;padding:6px 8px; }
.crx.sov .sov-lside .sov-ocmp { width:30px;height:32px; }
.crx.sov .sov-ogrid { display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px; }
.crx.sov .sov-gcell { display:flex;gap:4px;align-items:stretch;flex-wrap:wrap;min-width:0; }
.crx.sov .sov-gcell > .sov-obw { flex:1; }
.crx.sov .sov-gcell > .sov-obw > .sov-price { flex:1;min-width:0; }
.crx.sov .sov-gcell .sov-ocmp { height:auto; }
.crx.sov .sov-gcell .sov-olist { flex-basis:100%; }
.crx.sov .sov-gcell.is-open { grid-column:1/-1; }
/* history mode: amber prices, look only */
.crx.sov .sov-event.is-history .sov-price b { color:var(--max,#F5C451); }
.crx.sov .sov-event.is-history .sov-oli .sov-cell.is-best { border-color:rgba(245,196,81,.5);background:rgba(245,196,81,.16);color:var(--max,#F5C451);box-shadow:none; }
.crx.sov .sov-event.is-history .sov-oli .sov-cell.is-best::after { background:var(--max,#F5C451);color:#1a1400; }
.crx.sov .sov-event.is-history .sov-betlink, .crx.sov .sov-event.is-history .sov-pa-form { display:none; }
.crx.sov .sov-event.is-history .sov-oli { grid-template-columns:auto minmax(0,1fr) auto 78px; }
@media(max-width:760px) {
 .crx.sov .sov-ev-back { width:40px;height:40px; }
 .crx.sov .sov-ev-teams .sov-team { font-size:17px; }
 .crx.sov .sov-ev-actions .sov-bell, .crx.sov .sov-ev-actions .sov-star, .crx.sov .sov-mini-btn, .crx.sov .sov-tm-btn, .crx.sov .sov-tm-live, .crx.sov .sov-filter-chip { height:36px; }
 .crx.sov .sov-tm-clock { display:none; }
 .crx.sov .sov-ev-tabs button { min-height:36px; }
 .crx.sov .sov-mkt-filter { height:44px; }
 .crx.sov .sov-mkt-filter input { min-height:0; }
 .crx.sov .sov-ladder2 { grid-template-columns:1fr; }
 .crx.sov .sov-orow { grid-template-columns:minmax(0,1fr) auto 30px;padding-left:10px; }
 .crx.sov .sov-orow > .sov-obw > .sov-price { width:max-content;min-width:0;max-width:170px;gap:6px;padding:7px 9px;min-height:0;overflow:hidden;border-radius:12px; }
 .crx.sov .sov-orow > .sov-obw > .sov-price b, .crx.sov .sov-orow > .sov-obw > .sov-price small { flex:0 0 auto; }
 .crx.sov .sov-orow > .sov-obw > .sov-price b { font-size:15px; }
 .crx.sov .sov-orow > .sov-obw, .crx.sov .sov-gcell > .sov-obw { flex-direction:column;align-items:stretch;gap:0; }
 .crx.sov .sov-orow > .sov-obw > .sov-price:not(:only-child) { border-radius:12px 12px 0 0; }
 .crx.sov .sov-orow > .sov-obw > .sov-betlink, .crx.sov .sov-gcell > .sov-obw > .sov-betlink { height:26px;padding:0 8px;font-size:11px;border-radius:0 0 12px 12px;box-shadow:none; }
 .crx.sov .sov-lside .sov-orow > .sov-obw > .sov-price { width:auto;flex:1 1 auto;min-width:0;max-width:none; }
 .crx.sov .sov-ocmp { width:30px;height:36px;min-height:0; }
 .crx.sov .sov-oli { grid-template-columns:auto minmax(0,1fr) auto 64px auto;gap:6px; }
 .crx.sov .sov-oli .sov-betlink { height:32px;padding:0 9px;font-size:11px; }
 .crx.sov .sov-oli .sov-cell { min-height:36px;padding:6px 2px;font-size:13px; }
 .crx.sov .sov-oli .sov-cell.is-best { font-size:13.5px; }
 .crx.sov .sov-event.is-history .sov-oli { grid-template-columns:auto minmax(0,1fr) auto 64px; }
 .crx.sov .sov-ogrid { grid-template-columns:repeat(2,1fr); }
 .crx.sov .sov-gcell > .sov-obw > .sov-price { min-height:0; }
 .crx.sov .sov-pa-form input { height:36px;min-height:0; }
 .crx.sov .sov-pa-form .sov-mini-btn { height:36px; }
 .crx.sov .sov-mg-head { min-height:48px; }
}
/* the bankroll field lives on the Pro tab (owner review round 5: the settings button is gone) */
.crx.sov .sov-pro-bankroll { display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;border:1px solid var(--hair);border-radius:12px;background:var(--card-2);font-size:12.5px;color:var(--ink-3); }
.crx.sov .sov-pro-bankroll label { display:inline-flex;align-items:center;gap:8px 12px;flex-wrap:wrap;color:var(--ink-2); }
.crx.sov .sov-pro-usd { display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-weight:700;color:var(--ink-3); }
.crx.sov .sov-pro-bankroll input { width:96px;min-height:0;height:32px;padding:0 8px;border:1px solid var(--hair-2);border-radius:8px;background:var(--card);color:#fff;font-family:var(--font-mono,"JetBrains Mono",ui-monospace,monospace);font-size:13px;box-shadow:none; }
.crx.sov .sov-pro-bankroll [data-sov-bankroll-msg]:empty { display:none; }

/* #294: retry beside the failed sport status. */
#cdSportsOddsV2 .sov-retry { min-height: 32px; margin-left: 8px; padding: 4px 12px; border: 1px solid currentColor; border-radius: 6px; background: transparent; color: inherit; cursor: pointer; }
/* Issue #305: source uncertainty belongs beside the quote, outside best-price styling. */
.crx.sov .sov-single-source { display:inline-flex;align-items:center;padding:2px 6px;margin-left:6px;border:1px solid var(--hair-2);border-radius:5px;color:var(--ink-3);font-size:10px;line-height:1.4;white-space:nowrap; }
.crx.sov .sov-possible-label { color:var(--ink-3);font-size:11px;line-height:1.4;white-space:normal; }
.crx.sov .sov-price.is-possible { cursor:default;border-style:dashed;color:var(--ink-2); }
.crx.sov .sov-oli.is-possible { border-top:1px dashed var(--hair-2); }
.crx.sov .sov-fx-when { flex-wrap:wrap; }
/* Issue #297: same-league fixture switcher in the event crumb. */
.crx.sov .sov-match-switcher { position:relative;min-width:0;width:100%; }
.crx.sov .sov-match-switcher .sov-crumb { flex-wrap:wrap;overflow:visible;white-space:normal;gap:5px 7px; }
.crx.sov .sov-match-switcher [data-sov-match-toggle] { display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;min-height:36px;padding:6px 10px;border:1px solid var(--hair-2);border-radius:9px;background:var(--card);color:#fff;font:inherit;font-weight:700;text-align:left;cursor:pointer; }
.crx.sov .sov-match-switcher [data-sov-match-toggle]>span { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.crx.sov .sov-match-switcher [data-sov-match-toggle]>i { color:var(--ink-3); }
.crx.sov .sov-match-switcher [data-sov-match-toggle][aria-expanded=true] { border-color:var(--hi,#A78BFA); }
.crx.sov .sov-match-menu { position:absolute;z-index:25;top:calc(100% + 7px);left:0;width:min(440px,100%);max-height:min(430px,65vh);overflow:auto;overscroll-behavior:contain;border:1px solid var(--hair-2);border-radius:12px;background:var(--bg-2,#171922);box-shadow:0 16px 40px rgba(0,0,0,.45);padding:6px; }
.crx.sov .sov-match-menu[hidden] { display:none; }
.crx.sov .sov-match-day>p { margin:0;padding:9px 10px 5px;color:var(--ink-4);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase; }
.crx.sov .sov-match-day>button { display:flex;flex-direction:column;gap:5px;width:100%;min-height:52px;margin:0;padding:9px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink-2);text-align:left;cursor:pointer; }
.crx.sov .sov-match-day>button:hover, .crx.sov .sov-match-day>button:focus-visible { border-color:var(--hair-2);background:var(--card);color:#fff;outline:2px solid var(--hi,#A78BFA);outline-offset:-2px; }
.crx.sov .sov-match-day>button[aria-current=true] { background:rgba(167,139,250,.1);color:#fff; }
.crx.sov .sov-match-name { font-size:13px;font-weight:700;line-height:1.4;overflow-wrap:anywhere; }
.crx.sov .sov-match-meta { display:flex;align-items:center;gap:10px;width:100%;color:var(--ink-3);font-size:11px;font-weight:500;line-height:1.4; }
.crx.sov .sov-match-live { color:var(--up,#2ED47F);font-weight:700; }
.crx.sov .sov-match-current { margin-left:auto;color:var(--hi,#A78BFA);font-weight:700; }
.crx.sov .sov-match-status { margin:0;padding:10px;color:var(--ink-3);font-size:12px;line-height:1.5; }
@media(max-width:760px) {
 .crx.sov .sov-ev-nav:has(.sov-match-switcher) { align-items:flex-start; }
 .crx.sov .sov-match-switcher [data-sov-match-toggle] { min-height:40px; }
 .crx.sov .sov-match-menu { width:calc(100% + 50px);max-width:calc(100vw - 28px);left:-50px; }
}

/* Cross-sport search: toolbar-anchored results, compact index loaded on demand (#297). */
.crx.sov .sov-toolbar { position:relative;z-index:12; }
.crx.sov .sov-search-panel { position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;padding:18px;background:var(--card,#1b2030);border:1px solid var(--hair-2);border-radius:16px;box-shadow:0 20px 60px #0008;color:var(--ink,#fff); }
.crx.sov .sov-search-panel[hidden] { display:none; }
.crx.sov .sov-search-heading { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.crx.sov .sov-search-heading h2 { margin:0;font-size:18px;letter-spacing:-.02em; }
.crx.sov #sovSearchClose { display:grid;place-items:center;width:36px;height:36px;min-height:0;padding:0;border:1px solid var(--hair);border-radius:10px;background:var(--card-2);color:var(--ink-2);font-size:24px; }
.crx.sov #sovSearchStatus { margin:4px 0 12px;font-size:12px;color:var(--ink-3); }
.crx.sov .sov-search-chips { display:flex;gap:6px;overflow-x:auto;padding:0 0 12px;scrollbar-width:thin; }
.crx.sov .sov-search-chips button { flex:0 0 auto;display:flex;gap:6px;align-items:center;min-height:36px;padding:7px 12px;border:1px solid var(--hair);border-radius:20px;background:var(--card-2);font-size:12px;color:var(--ink-2); }
.crx.sov .sov-search-chips button[aria-pressed="true"] { border-color:#55d7ee;background:#37c7e71c;color:#8ceeff; }
.crx.sov .sov-search-chips b { font-size:11px;opacity:.7; }
.crx.sov .sov-search-results { max-height:min(52vh,520px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin; }
.crx.sov .sov-search-sport + .sov-search-sport { margin-top:20px; }
.crx.sov .sov-search-sport header { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--hair); }
.crx.sov .sov-search-sport h3 { margin:0;font-size:14px; }
.crx.sov .sov-search-sport h3 span { margin-left:4px;color:var(--ink-3);font-size:12px;font-weight:400; }
.crx.sov .sov-search-sport header button,.crx.sov .sov-search-all { min-height:36px;padding:6px 8px;border:0;background:transparent;color:#81dff0;font-size:12px; }
.crx.sov .sov-search-sport h4 { margin:16px 0 5px;font-size:11px;font-weight:600;color:var(--ink-3); }
.crx.sov .sov-search-result { position:relative;display:flex;flex-direction:column;gap:5px;width:100%;min-height:64px;padding:11px 28px 11px 10px;text-align:left;border:0;border-bottom:1px solid var(--hair);border-radius:5px;background:transparent;color:var(--ink,#fff); }
.crx.sov .sov-search-result:hover { background:var(--card-2); }
.crx.sov .sov-search-result strong { font-size:13px;font-weight:600;white-space:normal;overflow-wrap:anywhere; }
.crx.sov .sov-search-result strong span { padding:0 4px;color:var(--ink-3);font-weight:400; }
.crx.sov .sov-search-when { font-size:11px;line-height:1.5;color:var(--ink-3); }
.crx.sov .sov-search-when b { color:#4cdcaa; }
.crx.sov .sov-search-arrow { position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--ink-3); }
.crx.sov .sov-search-panel button:focus-visible { outline:2px solid #61dcef;outline-offset:-2px; }
@media(max-width:600px) {
 .crx.sov .sov-search-panel { padding:12px; }
 .crx.sov .sov-search-results { max-height:45vh; }
 .crx.sov .sov-search-result { min-height:74px;padding-left:4px; }
}

/* #291: edge tags identify a concrete selection and lead to its book row. */
#cdSportsOddsV2 button.sov-edge-tag { font: inherit; font-size: 11px; cursor: pointer; white-space: normal; text-align: left; min-height: 28px; }
#cdSportsOddsV2 .is-edge-pick { outline: 2px solid var(--crx-green, #4bdca1); outline-offset: 2px; }

/* Issue #293: independent league favourites and separated desktop Bet targets. */
.crx.sov .sov-league-group { position:relative;margin-bottom:10px; }
.crx.sov .sov-league-group > .sov-group { margin-bottom:0; }
.crx.sov .sov-league-group > .sov-group > summary { padding-left:52px; }
.crx.sov .sov-league-group > [data-sov-league-slot] { position:absolute;top:8px;left:10px;z-index:1; }
.crx.sov .sov-league-group .sov-star-league { width:30px;height:30px;min-width:30px;min-height:30px; }
@media (min-width:641px) {
 .crx.sov .sov-betlink { min-height:24px; }
 .crx.sov .sov-fx-prices > .sov-obw { flex-direction:column;gap:4px;align-items:stretch; }
 .crx.sov .sov-fx-prices > .sov-obw > .sov-betlink { position:static;align-self:flex-end;justify-content:center;height:24px; }
 .crx.sov .sov-fx-prices > .sov-obw > .sov-price small { max-width:100%; }
}

/* #292: the winning live quote carries its own observation age. */
.crx.sov .sov-quote-age { display:block;font-size:10px;line-height:1.5;color:var(--ink-3);font-variant-numeric:tabular-nums; }
.crx.sov .sov-obw:has(> .sov-quote-age) { flex-wrap:wrap; }
.crx.sov .sov-orow > .sov-obw > .sov-quote-age, .crx.sov .sov-gcell > .sov-obw > .sov-quote-age { flex-basis:100%; }
/* My Bets section tabs and RTP filters (#306). */
.crx.sov .sov-mybets-tabs, .crx.sov .sov-rtp-tabs { display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 18px; }
.crx.sov .sov-mybets-tabs button, .crx.sov .sov-rtp-tabs button { min-height:36px;padding:6px 14px;border:1px solid var(--hair);border-radius:999px;background:var(--card-2);color:var(--ink-2);font:inherit;cursor:pointer; }
.crx.sov .sov-mybets-tabs button[aria-selected="true"], .crx.sov .sov-mybets-tabs button[aria-pressed="true"], .crx.sov .sov-rtp-tabs button[aria-pressed="true"] { background:var(--grad);color:#fff;border-color:transparent; }
.crx.sov .sov-mybets-tabs button:focus-visible, .crx.sov .sov-rtp-tabs button:focus-visible { outline:2px solid var(--up);outline-offset:3px; }
.crx.sov .sov-mybets-tabs b { font-size:11px; }

/* RTP breakdown and records (#306); tables scroll within their panel. */
.crx.sov .sov-breakdown { max-width:100%;overflow:auto;border:1px solid var(--hair);border-radius:12px; }
.crx.sov .sov-breakdown table { width:100%;min-width:720px;border-collapse:collapse;font-size:12px; }
.crx.sov .sov-breakdown th, .crx.sov .sov-breakdown td { padding:10px 12px;border-bottom:1px solid var(--hair);text-align:right;white-space:nowrap; }
.crx.sov .sov-breakdown th:first-child { text-align:left;white-space:normal;min-width:100px; }
.crx.sov .sov-breakdown thead th { color:var(--ink-3);background:var(--card-2);font-size:11px; }

@media(max-width:600px) {
 .crx.sov .sov-mybets-tabs { gap:4px; }
 .crx.sov .sov-mybets-tabs button { padding:6px 10px;font-size:12px; }
}

/* Issue #283: retain the latest observed move beside its selection. */
.crx.sov .leg-price-moved { display:block;color:var(--max,#F5C451);font-size:11px;line-height:1.5;overflow-wrap:anywhere; }

/* Issue #336: cash-out amounts are confirmed explicitly, with no number spinners. */
.crx.sov .sov-cashout-action { display:inline-flex;align-items:center;gap:6px; }
.crx.sov [data-sov-cashout][aria-invalid="true"] { border-color:rgba(255,92,122,.35);color:#FF7A94; }
.crx.sov .sov-bet-act [data-sov-cashout-confirm] { min-height:0;height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--hair-2);background:var(--card);color:var(--ink-2);font-size:12px;font-weight:600;white-space:nowrap; }
.crx.sov .sov-bet-act [data-sov-cashout-confirm]:hover:not(:disabled) { color:#fff;border-color:rgba(79,199,234,.5); }
.crx.sov .sov-bet-act [data-sov-cashout-confirm]:disabled { opacity:.45;cursor:not-allowed; }
.crx.sov .sov-bet-act [data-sov-cashout-confirm]:focus-visible { outline:2px solid var(--mid,#4FC7EA);outline-offset:2px; }
@media(max-width:600px) { .crx.sov .sov-cashout [data-sov-cashout] { width:80px; } }
