/* PRO_REDESIGN_20260925 - the comparator's visual layer.
   Loaded after prematch.css and overriding it only in appearance: no element,
   id or behaviour depends on this file, and removing its <link> restores the
   previous look. Direction: a sober trading tool - dark app bar, neutral flat
   surfaces, one accent, tabular numbers in the UI face, colour reserved for
   meaning (reference side, at/above LAY, stale). */

:root[data-theme] {
  --bg:#f2f4f7; --surface-1:#ffffff; --surface-2:#f7f8fa; --surface-3:#eef1f5;
  --surface-hover:#f4f7fb; --surface-sel:#e9f0fb;
  --border:#e1e6ec; --border-strong:#cdd5df;
  --text:#18212d; --text-2:#526071; --text-3:#7b8898;
  --accent:#1f5fbf; --accent-weak:#e8f0fc;
  --pro-bar:#111c2b; --pro-bar-2:#1b2940; --pro-bar-text:#e6ecf4; --pro-bar-muted:#93a3b8;
  --pro-lay:#b0305a; --pro-lay-bg:#fcf5f8; --pro-back:#1d6fa8; --pro-back-bg:#f3f8fc;
  --pro-above-bg:#fff3c4; --pro-above-border:#d9ad2b; --pro-above-text:#5f4500;
  --pro-equal-bg:#e2f3e9; --pro-equal-border:#6fb58b; --pro-equal-text:#145634;
  --pro-radius:6px;
  /* Row metrics, read by app.js (gridMetric) for the offscreen spacers. */
  --pm-row-h:23px; --pm-group-h:26px; --pm-event-min-h:46px;
  --font-ui:"Inter","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}
body { background:var(--bg); color:var(--text); font-family:var(--font-ui); font-size:12.5px;
  -webkit-font-smoothing:antialiased; }

/* --- App bar ------------------------------------------------------------ */
.pm-top { min-height:44px; padding:0 18px; gap:22px; background:var(--pro-bar); border-bottom:1px solid #0a121d; }
.pm-brand { color:var(--pro-bar-text); font-size:14px; font-weight:650; letter-spacing:.1px; gap:9px; }
.pm-mark { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px;
  border-radius:5px; background:var(--accent); color:#fff; font-size:11px; font-weight:750; letter-spacing:.3px; }
.pm-top nav { gap:2px; }
.pm-top nav a { color:var(--pro-bar-muted); padding:12px 12px; border-radius:0; font-size:12.5px; font-weight:500;
  border-bottom:2px solid transparent; }
.pm-top nav a:hover { color:var(--pro-bar-text); }
.pm-top nav a[aria-current] { color:#fff; background:transparent; border-bottom-color:#5b8def; }
#pmAccount, #pmAccount * { color:var(--pro-bar-text); }
#pmAccount .chip, #pmAccount [class*="chip"] { background:var(--pro-bar-2); border-color:#2c3d58; }
#pmAccount a, #pmAccount button { color:var(--pro-bar-muted); }

/* --- Page head ------------------------------------------------------------ */
.pm-shell { padding:14px 18px 44px; }
.pm-heading { margin-bottom:10px; }
.pm-heading h1 { font-size:16px; font-weight:650; letter-spacing:-.1px; color:var(--text); }

/* --- Filter bar: two rows, each control with its caption inside ----------- */
.pm-filters { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0;
  background:var(--surface-1); border:1px solid var(--border); border-radius:var(--pro-radius);
  box-shadow:0 1px 2px rgba(16,24,40,.04); }
.pm-filters>.pm-one-line { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:4px 8px; }
.pm-filters>.pm-options { border-top:1px solid var(--border); margin:0; padding:4px 8px; }
.pm-filters>.pm-one-line>label, .pm-filters>.pm-one-line>details, .pm-filters>.pm-one-line>button { margin-left:0; }
/* Row 1: what - sport, search, country, league, horizon | scan. */
.pm-filters .pm-sport-filter { order:1; flex:0 0 auto; }
.pm-filters .pm-search { order:2; flex:1 1 200px; max-width:260px; }
.pm-filters .pm-country-filter { order:3; }
.pm-filters .pm-league-filter { order:4; }
.pm-filters .pm-window-filter { order:5; flex:0 0 auto; }
.pm-filters #pmRefresh { order:20; margin-left:auto; }
/* Row 2: against what and from whom | view actions. */
.pm-filters .pm-reference-filter { order:1; flex:0 0 auto; }
.pm-filters .pm-side-filter { order:2; flex:0 0 auto; }
.pm-filters .pm-scope-choice { order:3; flex:0 0 auto; }
.pm-filters #pmBookPicker { order:4; margin-left:10px; }
.pm-filters .pm-tolerance-filter { order:5; flex:0 0 auto; }
.pm-filters .pm-liquidity-filter { order:6; flex:0 0 auto; }
/* ODDS_RANGE_20260927: the odds range sits between the threshold and the liquidity. */
.pm-filters .pm-odds-filter { order:5; flex:0 0 auto; }
.pm-filters .pm-odds-filter select:disabled { opacity:.55; cursor:not-allowed; }
/* FILTER_CUSTOM_20260927: custom value field and the at/above-LAY eye. */
.pm-filters #pmOnlyAtOrAbove { order:5; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; padding:0; margin-left:-4px; border:1px solid var(--border); border-radius:6px;
  background:var(--surface, #fff); color:var(--muted, #6b7280); cursor:pointer; }
.pm-filters #pmOnlyAtOrAbove[aria-pressed="true"] { color:#fff; background:var(--accent, #2563eb); border-color:var(--accent, #2563eb); }
.pm-filters #pmOnlyAtOrAbove:disabled { opacity:.55; cursor:not-allowed; }
.pm-filters .pm-custom-value { width:64px; height:24px; margin-left:4px; padding:0 4px; font:inherit;
  border:1px solid var(--border); border-radius:4px; }
.pm-filters .pm-custom-value[hidden] { display:none; }
/* THRESHOLD_RANGE_20260927: the custom field(s) as one group. */
.pm-filters .pm-custom-group { display:inline-flex; align-items:center; gap:3px; margin-left:4px; }
.pm-filters .pm-custom-group[hidden] { display:none; }
.pm-filters .pm-custom-group .pm-custom-value { margin-left:0; width:58px; }
.pm-filters #pmMarketPicker { order:7; margin-left:10px; }
.pm-filters #pmReset { order:20; margin-left:auto; }
.pm-filters #pmSignalsToggle { order:21; margin-left:0; }
/* A visual gap between the three groups of the second row. */
.pm-filters #pmBookPicker, .pm-filters #pmMarketPicker { position:relative; }
.pm-filters #pmBookPicker::before, .pm-filters #pmMarketPicker::before { content:""; position:absolute; left:-9px; top:5px; bottom:5px; width:1px; background:var(--border); }

/* The field: a bordered box, caption on the left, the control borderless. */
#pmFilters>.pm-one-line>label:not(.pm-search) { flex:0 0 auto; width:auto; max-width:100%; flex-direction:row; flex-wrap:nowrap; gap:0; }
.pm-filters>.pm-one-line>label:not(.pm-search) { display:inline-flex; align-items:center; height:30px; min-width:0;
  border:1px solid var(--border-strong); border-radius:4px; background:var(--surface-1); overflow:hidden; }
.pm-filters>.pm-one-line>label:not(.pm-search):hover { border-color:#aeb9c7; }
.pm-filters>.pm-one-line>label:not(.pm-search):focus-within { border-color:var(--accent); box-shadow:0 0 0 2px var(--accent-weak); }
.pm-filters>.pm-one-line>label:not(.pm-search)>.pm-sr-only {
  position:static; width:auto; height:auto; margin:0; clip-path:none; overflow:visible; white-space:nowrap;
  flex:none; padding:0 7px 0 9px; color:var(--text-3); font-size:10.5px; font-weight:600; letter-spacing:.35px;
  text-transform:uppercase; line-height:28px; border-right:1px solid var(--border); background:var(--surface-2); }
#pmFilters>.pm-one-line>label:not(.pm-search) select { width:auto; max-width:240px; flex:0 1 auto; }
#pmFilters>.pm-one-line>label:not(.pm-search) select { -webkit-appearance:none; appearance:none;
  background:transparent no-repeat right 8px center / 9px 6px
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' fill='none' stroke='%23667587' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.pm-filters>.pm-one-line>label:not(.pm-search) select { height:28px; border:0; border-radius:0; background-color:transparent;
  padding:0 24px 0 8px; font-size:12.5px; color:var(--text); box-shadow:none; min-width:0; width:auto; flex:1 1 auto; cursor:pointer; }
.pm-filters>.pm-one-line>label:not(.pm-search) select:focus { outline:none; }
.pm-filters .pm-sport-filter select { font-weight:600; }
.pm-filters .pm-search input { height:30px; border:1px solid var(--border-strong); border-radius:4px; padding:0 10px 0 30px;
  font-size:12.5px; background:var(--surface-1) no-repeat 10px 50% / 13px 13px
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='4.8' fill='none' stroke='%237b8898' stroke-width='1.6'/%3E%3Cpath d='M10.6 10.6 14 14' stroke='%237b8898' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); }
.pm-filters .pm-search input:focus { border-color:var(--accent); box-shadow:0 0 0 2px var(--accent-weak); outline:none; }
.pm-filters .pm-dropdown>summary { height:30px; padding:0 10px; border:1px solid var(--border-strong); border-radius:4px;
  background:var(--surface-1); color:var(--text); font-size:12.5px; font-weight:500; gap:6px; }
.pm-filters .pm-dropdown>summary:hover { border-color:#aeb9c7; }
.pm-filters .pm-dropdown[open]>summary { border-color:var(--accent); background:var(--accent-weak); }
#pmBookSelectionCount, #pmMarketSelectionCount { min-width:18px; padding:1px 5px; border-radius:9px; background:var(--surface-3);
  color:var(--text-2); font-size:11px; font-weight:650; text-align:center; font-variant-numeric:tabular-nums; }
.pm-dropdown-menu { border:1px solid var(--border-strong); border-radius:var(--pro-radius); box-shadow:0 10px 28px rgba(16,24,40,.14); padding:10px; }
.pm-dropdown .pm-bookpick { border:1px solid transparent; border-radius:4px; }
.pm-dropdown .pm-bookpick:hover { background:var(--surface-2); }
.pm-dropdown .pm-bookpick:has(input:checked) { background:var(--accent-weak); border-color:#c9daf5; }
.pm-market-actions button, .pm-view-tools button { border:1px solid var(--border-strong); background:var(--surface-1); color:var(--text-2);
  border-radius:4px; padding:4px 9px; font-size:11.5px; font-weight:500; }
.pm-market-actions button:hover { border-color:var(--accent); color:var(--accent); }

/* Buttons. */
.pm-filters .btn { height:30px; min-height:30px; padding:0 12px; border-radius:4px; font-size:12.5px; font-weight:550; }
.pm-filters #pmRefresh { background:var(--accent); border:1px solid var(--accent); color:#fff; }
.pm-filters #pmRefresh:hover { background:#1a52a6; }
.pm-filters #pmRefresh[data-scan-state="complete"]:not([data-scan-fill="running"]) { background:var(--surface-1); color:var(--text-2); border-color:var(--border-strong); }
.pm-filters #pmReset { background:transparent; border:1px solid transparent; color:var(--text-2); }
.pm-filters #pmReset:hover { color:var(--text); background:var(--surface-2); }
.pm-filters #pmSignalsToggle { background:var(--surface-1); border:1px solid var(--border-strong); color:var(--text); }
.pm-filters #pmSignalsToggle[aria-expanded="true"] { background:var(--accent-weak); border-color:#b7cdf0; color:var(--accent); }

/* --- Summary line ------------------------------------------------------------ */
.pm-summary { margin:12px 0 6px; min-height:22px; }
.pm-summary>div:first-child { display:flex; align-items:baseline; gap:10px; }
#pmCount { font-size:13px; font-weight:650; color:var(--text); }
#pmUpdated, .pm-summary #pmLoaded { margin:0; font-size:11.5px; color:var(--text-3); }
#pmUpdated::before, .pm-summary #pmLoaded:not(:empty)::before { content:"\00b7"; margin-right:10px; color:var(--border-strong); }
.pm-legend { gap:14px; font-size:11px; color:var(--text-2); }
.pm-near-lay-legend, .pm-above-lay-legend { margin-left:0; color:var(--text-2); }
.pm-near-lay-legend::before { width:10px; height:10px; border-radius:2px; background:var(--pro-equal-bg); box-shadow:inset 0 0 0 1px var(--pro-equal-border); vertical-align:-1px; }
.pm-above-lay-legend::before { width:10px; height:10px; border-radius:2px; background:var(--pro-above-bg); box-shadow:inset 0 0 0 1px var(--pro-above-border); vertical-align:-1px; }
.pm-snapshot { border-radius:4px; font-size:11.5px; }

/* --- Grid ------------------------------------------------------------------- */
.pm-matrix-wrap { --pm-context-width:236px; --pm-book-width:92px; --pm-odds-width:47px;
  border:1px solid var(--border); border-radius:var(--pro-radius); background:var(--surface-1); }
:root[data-quote-size="on"] .pm-matrix-wrap { --pm-odds-width:62px; }
.pm-matrix { font-variant-numeric:tabular-nums; }
.pm-matrix th, .pm-matrix td { border-bottom:1px solid #edf0f4; }
.pm-matrix tbody tr { height:var(--pm-row-h); }
.pm-matrix tbody th, .pm-matrix tbody td { height:var(--pm-row-h); box-sizing:border-box; }
/* A one-book event still needs room for name and kickoff: the virtual index
   reserves --pm-event-min-h for it, so the row must draw exactly that. */
.pm-matrix tbody.pm-event tr:only-child, .pm-matrix tbody.pm-event tr:only-child > * { height:var(--pm-event-min-h); }
/* MARKET_HEADER_CONTRAST_20261007: one opaque landmark, including the sticky
   copy and pinned columns. Blue/rose odds and green/yellow signals keep their meaning. */
.pm-matrix thead th, .pm-matrix .pm-market-head th:not(.pm-book-head):not(.pm-context),
.pm-matrix .pm-market-head th.pm-context, .pm-matrix thead .pm-book-head { background:#243b53; color:#fff; border-color:#49617a; }
.pm-matrix .pm-market-head th:not(.pm-book-head):not(.pm-context) { height:20px; padding:4px 3px 0; border-left:1px solid #49617a; }
.pm-matrix .pm-market-start { border-left:1px solid var(--border); }
.pm-matrix thead .pm-market-start { border-left-color:#49617a; }
.pm-market-head b { font-size:11px; font-weight:650; color:#fff; letter-spacing:.1px; }
.pm-market-head small { font-size:9.5px; color:#cbd5e1; font-weight:500; margin-left:4px; text-transform:none; }
.pm-matrix .pm-outcome-head th { height:17px; font-size:10px; font-weight:600; color:#e2e8f0; letter-spacing:.2px; border-bottom:1px solid #9aaec3; }
.pm-matrix .pm-market-head th.pm-context, .pm-matrix thead .pm-book-head { font-size:10.5px; font-weight:650; color:#e2e8f0;
  text-transform:uppercase; letter-spacing:.45px; border-bottom:1px solid #9aaec3; }
.pm-matrix .pm-market-head th.pm-context { padding-left:12px; }
.pm-matrix thead th.pm-focus-col { box-shadow:inset 0 -3px 0 #90caff; color:#fff; }
/* Competition row. */
.pm-matrix .pm-competition-group th { height:var(--pm-group-h); background:#f6f8fb; color:var(--text); border-top:1px solid var(--border);
  border-bottom:1px solid var(--border); }
.pm-matrix .pm-competition-group th { padding:0; line-height:calc(var(--pm-group-h) - 2px); }
.pm-competition-label { padding:0 12px; line-height:inherit; vertical-align:top; font-size:11.5px; font-weight:650; letter-spacing:.1px; color:#2b3a4f; }
/* Event cell. */
.pm-matrix .pm-context { padding:5px 12px; background:var(--surface-1); border-right:1px solid var(--border); }
.pm-matrix .pm-context .pm-event-title { font-size:12.5px; font-weight:600; line-height:17px; color:var(--text); }
.pm-matrix .pm-context time { margin-top:2px; font-size:11px; line-height:15px; color:var(--text-3); font-weight:500; }
.pm-event-empty { margin-top:4px; font-size:10.5px; color:var(--text-3); font-style:normal; }
.pm-matrix .pm-event + .pm-event tr:first-child > * { border-top:1px solid var(--border-strong); }
/* Book column. */
.pm-matrix .pm-book-head { padding-left:10px; background:var(--surface-1); border-right:1px solid var(--border); }
.pm-book-name { font-size:11.5px; font-weight:550; color:#34445a; }
.pm-matrix tbody tr:hover td, .pm-matrix tbody tr:hover .pm-book-head { background:var(--surface-hover); }
/* Reference row: a coloured edge and coloured numbers, not a coloured band. */
.pm-matrix .pm-reference-row.pm-lay td, .pm-matrix .pm-reference-row.pm-lay .pm-book-head { background:var(--pro-lay-bg); color:var(--pro-lay); }
.pm-matrix .pm-reference-row.pm-back td, .pm-matrix .pm-reference-row.pm-back .pm-book-head { background:var(--pro-back-bg); color:var(--pro-back); }
.pm-matrix .pm-reference-row.pm-lay .pm-book-head { box-shadow:inset 3px 0 0 var(--pro-lay); }
.pm-matrix .pm-reference-row.pm-back .pm-book-head { box-shadow:inset 3px 0 0 var(--pro-back); }
.pm-matrix .pm-reference-row .pm-book-name { color:inherit; font-weight:650; }
.pm-matrix .pm-reference-row .pm-price b { color:inherit; font-weight:650; }
/* Prices: plain numbers; the link shows on hover, not as an underline on every cell. */
.pm-matrix .pm-price b { font-size:12.5px; font-weight:550; color:var(--text); letter-spacing:-.1px; }
a.pm-price b { text-decoration:none; }
a.pm-price:hover { outline:0; }
a.pm-price:hover b { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; }
.pm-matrix .pm-price { border-radius:3px; }
/* Stale (within 30 min): grey with a dotted underline, as documented in the legend. */
.pm-matrix .pm-price.pm-last-price b, .pm-matrix .pm-price.stale b { color:#8b97a7; font-weight:500; }
.pm-matrix .pm-price.pm-last-price b { text-decoration:underline dotted #b3bdca; text-underline-offset:3px; }
.pm-matrix .pm-price.missing { color:#b7c0cb; }
/* At/above LAY: restrained fills with a hairline border. */
.pm-matrix .pm-price.pm-above-lay { background:var(--pro-above-bg); box-shadow:inset 0 0 0 1px var(--pro-above-border); }
.pm-matrix .pm-price.pm-above-lay b { color:var(--pro-above-text); font-weight:650; }
.pm-matrix .pm-price.pm-near-lay { background:var(--pro-equal-bg); box-shadow:inset 0 0 0 1px var(--pro-equal-border); }
.pm-matrix .pm-price.pm-near-lay b { color:var(--pro-equal-text); font-weight:650; }
.pm-matrix .pm-price.pm-verify { box-shadow:inset 0 0 0 1px #a8782a; }
.pm-matrix .pm-price.pm-verify::after { color:#a8782a; right:1px; }
:root[data-quote-size="on"] .pm-matrix .pm-price .pm-size { color:var(--text-3); font-size:9.5px; }

/* Sticky head copy and the horizontal scroll dock. */
.pm-head-dock { background:#243b53; box-shadow:0 3px 10px rgba(16,24,40,.24); }
.pm-scroll-dock { height:26px; bottom:6px; left:18px; right:18px; background:rgba(255,255,255,.96); border:1px solid var(--border);
  border-radius:var(--pro-radius); box-shadow:0 2px 10px rgba(16,24,40,.08); }
.pm-scroll-dock button { width:24px; height:18px; border:1px solid var(--border); border-radius:4px; background:var(--surface-2); color:var(--text-2); }
.pm-scroll-track::-webkit-scrollbar { height:10px; }
.pm-scroll-track::-webkit-scrollbar-track { background:var(--surface-3); border-radius:5px; }
.pm-scroll-track::-webkit-scrollbar-thumb { background:#a9b5c4; border:2px solid var(--surface-3); border-radius:5px; }

/* --- Alerts panel ------------------------------------------------------------ */
.pm-workspace { gap:12px; }
.pm-signals { top:10px; border:1px solid var(--border); border-radius:var(--pro-radius); background:var(--surface-1);
  box-shadow:0 1px 2px rgba(16,24,40,.04); }
.pm-signals-heading { padding:9px 10px; background:var(--surface-1); color:var(--text); font-size:12.5px; border-bottom:1px solid var(--border); }
.pm-signals-heading b { font-weight:650; }
#pmSignalCount { background:var(--surface-3); color:var(--text-2); border-radius:9px; padding:1px 7px; font-size:11px; font-weight:650; }
.pm-signal-sound { display:inline-flex; align-items:center; justify-content:center; width:26px; height:24px; padding:0;
  border:1px solid var(--border); border-radius:4px; color:var(--text-3); background:var(--surface-1); }
.pm-signal-sound:hover { border-color:var(--border-strong); background:var(--surface-2); color:var(--text-2); }
.pm-signal-sound[aria-pressed="true"] { color:var(--accent); border-color:#b7cdf0; background:var(--accent-weak); }
.pm-signal-sound .pm-sound-on { display:none; }
.pm-signal-sound[aria-pressed="true"] .pm-sound-on { display:block; }
.pm-signal-sound[aria-pressed="true"] .pm-sound-off { display:none; }
.pm-signal-archive { color:var(--accent); font-size:12px; font-weight:550; }
.pm-signal-sub { margin:0; padding:7px 10px 0; color:var(--text-2); font-size:11px; }
#pmSignalScope { padding:2px 10px 8px; color:var(--text-3); font-size:11px; border-bottom:1px solid var(--border); }
.pm-signal { padding:0 10px; border-bottom:1px solid #eef1f5; }
.pm-signal:hover, .pm-signal[aria-pressed="true"] { background:var(--surface-hover); }
.pm-signal[aria-pressed="true"] { box-shadow:inset 3px 0 0 var(--accent); }
.pm-signal-badge { width:18px; height:18px; border-radius:4px; background:#e7edf6; color:#2a4a78; font-size:10px; font-weight:700; }
.pm-signal-time { color:var(--text-2); font-weight:600; font-size:11.5px; }
.pm-signal-event { font-size:11.5px; font-weight:600; color:var(--text); }
.pm-signal-market { font-size:10.5px; color:var(--text-3); }
.pm-signal-pct { font-size:11.5px; font-weight:700; color:#137a45; font-variant-numeric:tabular-nums; }
#pmSignalEmpty { padding:12px 10px; color:var(--text-3); }
.pm-signal-detail-pane { border-top:1px solid var(--border); background:var(--surface-2); padding:10px; }
#pmSignalDetail { color:var(--text); }
.pm-alert-title { color:var(--text); font-weight:650; }
.pm-alert-edge { color:#137a45; font-weight:650; }
.pm-alert-calc { background:var(--surface-1); border:1px solid var(--border); border-radius:5px; }
.pm-alert-calc-input { border-color:var(--border-strong); border-radius:4px; }
.pm-alert-close { border-color:var(--border); border-radius:4px; }
#pmSignalJump { border:1px solid var(--border-strong); border-radius:4px; background:var(--surface-1); color:var(--text); padding:4px 10px; font-weight:550; }
#pmSignalJump:hover { border-color:var(--accent); color:var(--accent); }

/* --- Narrow screens: the rows simply wrap; captions stay. ------------------- */
@media(max-width:760px) {
  .pm-top { padding:0 10px; gap:10px; }
  .pm-shell { padding:10px 8px 40px; }
  .pm-filters .pm-search { max-width:none; flex-basis:100%; }
  .pm-filters #pmRefresh, .pm-filters #pmReset { margin-left:0; }
  .pm-filters #pmBookPicker, .pm-filters #pmMarketPicker { margin-left:0; }
  .pm-filters #pmBookPicker::before, .pm-filters #pmMarketPicker::before { display:none; }
  .pm-matrix-wrap { --pm-context-width:140px; --pm-book-width:82px; }
}

/* BOOK_MENU_SORT_20260926: the alphabetical list reads down each column. */
.pm-dropdown .pm-books { display:block; columns:2; column-gap:6px; }
.pm-dropdown .pm-books .pm-bookpick { break-inside:avoid; margin-bottom:3px; }


/* ALERT_PANEL_READABILITY_20260929 */
/* Keep the 120px row height identical to SIGNAL_ROW_HEIGHT: rows are virtualized. */
@media (min-width:1000px) {
  .pm-workspace { grid-template-columns:minmax(0,1fr) clamp(380px,28vw,420px); }
  .pm-workspace[data-signals-open="false"] { grid-template-columns:minmax(0,1fr); }
}
.pm-signals { min-width:0; }
.pm-signals-heading { flex-wrap:wrap; gap:5px 7px; padding:10px; }
#pmSignalPending { color:var(--text-2); font-size:11px; font-weight:500; }
#pmSignalPending[hidden] { display:none; }
.pm-signal-sub { line-height:1.45; }
#pmSignalScope { line-height:1.45; padding-bottom:10px; }
#pmSignalList { min-height:120px; overscroll-behavior:contain; scrollbar-gutter:stable; }
.pm-signal {
  box-sizing:border-box; height:120px; padding:8px 10px; gap:3px;
  grid-template-columns:minmax(0,1fr); grid-template-rows:17px 17px 30px 28px;
  align-items:start; color:var(--text); background:var(--surface-1);
  border-bottom:1px solid var(--border); line-height:1.3;
}
.pm-signal:hover { background:var(--surface-hover); }
.pm-signal[aria-pressed="true"] { background:var(--accent-weak); box-shadow:inset 3px 0 0 var(--accent); }
.pm-signal:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; z-index:1; }
.pm-signal .pm-signal-top { display:flex; align-items:center; gap:6px; min-width:0; overflow:visible; }
.pm-signal .pm-signal-time { margin:0; font-size:11px; font-weight:500; color:var(--text-2); white-space:nowrap; }
.pm-signal .pm-signal-state { padding:1px 5px; border-radius:3px; font-size:10px; line-height:14px;
  color:var(--accent); background:var(--accent-weak); white-space:nowrap; }
.pm-signal .pm-signal-pct { margin-left:auto; color:var(--text-2); font-size:10.5px; line-height:17px;
  font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pm-signal .pm-signal-event { display:block; min-width:0; font-size:12px; line-height:17px; font-weight:650;
  color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pm-signal .pm-signal-market { justify-self:stretch; min-width:0; font-size:11.5px; line-height:15px;
  font-weight:600; color:var(--text); white-space:normal; overflow-wrap:anywhere;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.pm-signal .pm-signal-quotes { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px; min-width:0; width:100%; align-items:start; overflow:visible; white-space:normal; }
.pm-signal .pm-signal-book, .pm-signal .pm-signal-reference { display:block; min-width:0; font-size:11px;
  line-height:14px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; white-space:normal;
  text-overflow:clip; overflow:visible; }
.pm-signal .pm-signal-book { font-weight:650; color:var(--text); }
.pm-signal .pm-signal-reference { color:var(--text-2); text-align:right; }
.pm-signal.pm-signal-verify { background:var(--surface-2); }
.pm-signal.pm-signal-verify[aria-pressed="true"] { box-shadow:inset 3px 0 0 var(--border-strong); }
.pm-signal.pm-signal-verify .pm-signal-state { color:var(--text-2); background:var(--surface-3); }
/* OWNER_PENDING_ALERT_ACTIONS_20261003: pct coloured on pending cards too. */
.pm-signal.pm-signal-verify .pm-signal-book,
.pm-signal.pm-signal-verify .pm-signal-reference { color:var(--text-2); }
.pm-signal-detail-pane { box-sizing:border-box; min-height:0; max-height:calc(var(--pm-signals-height, 60vh) * .58);
  flex:0 0 auto; padding:12px; overscroll-behavior:contain; }
.pm-alert-title { padding-right:25px; margin-bottom:8px; font-size:12px; }
.pm-alert-head { margin-bottom:5px; font-size:10.5px; line-height:1.45; flex-wrap:wrap; }
#pmSignalDetail > strong { display:block; font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
#pmSignalDetail > small { display:block; line-height:1.45; }
.pm-alert-market { margin-top:9px; padding:8px 9px; border:1px solid var(--border);
  border-radius:5px; background:var(--surface-1); color:var(--text); font-size:12px;
  font-weight:650; line-height:1.45; overflow-wrap:anywhere; }
.pm-alert-vs { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px; margin-top:9px; align-items:stretch; }
.pm-alert-quote-card { display:flex; flex-direction:column; align-items:flex-start; gap:3px;
  min-width:0; padding:8px 9px; border:1px solid var(--border); border-radius:5px;
  background:var(--surface-1); line-height:1.35; }
.pm-alert-quote-card .pm-alert-label { flex:0 0 auto; color:var(--text-2); font-size:10.5px; }
.pm-alert-quote-card b { font-size:11.5px; font-weight:600; overflow-wrap:anywhere; }
.pm-alert-quote-card strong { font-size:21px; font-weight:700; font-variant-numeric:tabular-nums; }
.pm-alert-edge { grid-column:1 / -1; margin:0; padding:2px 0; font-size:11px;
  font-weight:600; line-height:1.45; color:var(--text-2); }
.pm-alert-sub { margin-top:7px; font-size:11px; line-height:1.45; }
.pm-alert-calc { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  margin-top:10px; gap:10px 12px; padding:10px; line-height:1.45; }
.pm-alert-calc-field { display:flex; flex-direction:column; align-items:flex-start; min-width:0; gap:4px; }
.pm-alert-calc-label { font-size:10.5px; line-height:1.4; }
.pm-alert-calc-input { box-sizing:border-box; width:100%; max-width:112px; min-height:30px;
  padding:4px 6px; font-size:12px; font-variant-numeric:tabular-nums; }
.pm-alert-calc-field > b { display:flex; align-items:center; min-height:30px;
  font-size:13px; font-variant-numeric:tabular-nums; }
.pm-alert-calc-result { display:flex; align-items:baseline; flex-wrap:wrap; column-gap:4px;
  min-height:30px; padding-top:5px; font-size:12px; font-variant-numeric:tabular-nums; }
.pm-alert-calc-result b { font-size:13px; }
.pm-alert-calc-result > span { white-space:nowrap; font-size:11px; }
.pm-alert-calc-input:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.pm-alert-calc-status { grid-column:1 / -1; display:block; padding-top:7px;
  border-top:1px solid var(--border); line-height:1.5; color:var(--text-2); }
#pmSignalDetail[data-verify="true"] .pm-alert-edge,
#pmSignalDetail[data-verify="true"] .pm-alert-quote-card,
#pmSignalDetail[data-verify="true"] .pm-alert-profit-pos,
#pmSignalDetail[data-verify="true"] .pm-alert-profit-neg { color:var(--text-2); }
#pmSignalDetail[data-verify="true"] .pm-alert-market { color:var(--text-2); background:var(--surface-3); }
#pmSignalJump { position:sticky; bottom:0; z-index:2; margin-top:9px; min-height:30px; font-size:11px;
  background:var(--surface-1); box-shadow:0 0 0 6px var(--surface-2); }
#pmSignalJump:focus-visible, .pm-alert-close:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (max-width:999px) {
  .pm-workspace { grid-template-columns:minmax(0,1fr); }
  .pm-signals { width:min(380px,calc(100vw - 16px)); }
}
@media (max-width:380px) {
  .pm-signal { padding-left:8px; padding-right:8px; }
  .pm-signal .pm-signal-top { gap:4px; }
  .pm-signal .pm-signal-time, .pm-signal .pm-signal-pct { font-size:10px; }
  .pm-signal-detail-pane { padding:9px; }
}
/* END_ALERT_PANEL_READABILITY_20260929 */
/* RANGE_FIELDS_20260928: numeric filters typed as "da / a", always visible.
   The select beside them is only the value holder and never shows. */
#pmFilters .pm-range-holder { display:none !important; }
#pmFilters .pm-range-group { flex:0 0 auto; display:inline-flex; align-items:center; gap:2px; height:28px; padding:0 6px; }
#pmFilters .pm-range-value { flex:0 0 auto; min-width:0; width:56px; height:22px; padding:0 5px; border:1px solid transparent; border-radius:3px;
  background:var(--surface-2); font:inherit; font-size:12.5px; font-variant-numeric:tabular-nums; color:var(--text); text-align:right; }
#pmFilters .pm-liquidity-filter .pm-range-value { width:72px; }
.pm-filters .pm-range-value::placeholder { color:var(--text-3); text-align:left; }
.pm-filters .pm-range-value:hover { border-color:var(--border); }
.pm-filters .pm-range-value:focus { outline:none; border-color:var(--accent); background:var(--surface-1); }
.pm-filters .pm-range-value:disabled { opacity:.55; cursor:not-allowed; }
.pm-filters .pm-range-sep { color:var(--text-3); padding:0 1px; }
/* An active range reads as applied at a glance. */
.pm-filters>.pm-one-line>label:has(.pm-range-active) { border-color:var(--accent); }
.pm-filters>.pm-one-line>label:has(.pm-range-active)>.pm-sr-only { color:var(--accent); }

/* ALL_SPORTS_20260928: the sport of an alert in the mixed view. */
.pm-signal-event .pm-sport-tag { display:inline-block; margin-right:5px; padding:0 4px; border-radius:3px;
  font-style:normal; font-size:9.5px; font-weight:700; letter-spacing:.3px; text-transform:uppercase; line-height:14px;
  background:#e8f3ec; color:#1f6b3f; vertical-align:1px; }
.pm-signal-event .pm-sport-tag[data-sport="2"] { background:#f4f0de; color:#7a6415; }
.pm-signal-event .pm-sport-tag[data-sport="7522"] { background:#fbeadf; color:#9a4a17; }

/* LIQ_TOGGLE_20261006: the liquidity display toggle sits beside the LIQ. EUR filter. */
.pm-filters .pm-size-toggle { order:6; gap:5px; padding:0 7px; font-size:11px; font-weight:500; color:var(--text, #1f2937); cursor:pointer; white-space:nowrap; }
.pm-filters .pm-size-toggle input { margin:0; width:14px; height:14px; accent-color:var(--accent); }

/* VALUE_UNIT_20261007: unit stays beside the same numeric range. */
#pmFilters #pmValueUnit { flex:0 0 53px; width:53px; min-width:53px; padding:0 2px; font-size:10px; border:0; border-right:1px solid var(--border); border-radius:0; }
#pmFilters #pmValueUnit:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }

/* MARKET_ABBREVIATIONS_20261007: the complete signed line must never be ellipsized. */
.pm-matrix .pm-market-head th[data-market]{white-space:normal;text-overflow:clip;padding:3px 2px 1px;vertical-align:bottom}
.pm-market-head .pm-market-caption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;column-gap:3px;row-gap:0;white-space:normal;line-height:13px}
.pm-market-caption .pm-market-name{min-width:0;overflow-wrap:anywhere}
.pm-market-caption .pm-market-line{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.pm-market-head th[data-market] small{display:block;margin:1px 0 0;white-space:normal;line-height:10px}
