/* Generated by tools/build_theme.py from sport-bundle.css. Do not edit by hand. */
/* Generated by tools/build_css.py. Edit sport-v04.css and sport-v05.css. */
@font-face{font-family:"Barlow";src:url(fonts/Barlow-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(fonts/Barlow-SemiBold.woff2) format("woff2");font-weight:500 600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(fonts/Barlow-Bold.woff2) format("woff2");font-weight:700 900;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Semi Condensed";src:url(fonts/BarlowSemiCondensed-SemiBold.woff2) format("woff2");font-weight:500 900;font-style:normal;font-display:swap}
:root{color-scheme:dark;--font-text:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-data:"Barlow Semi Condensed","Barlow",system-ui,sans-serif;--ink:#ececee;--muted:#b0b0b7;--blue:#6e8ecf;--blue-dark:#6e8ccf;--red:#cf6e80;--line:#2a2a2f;--canvas:#131316;--radius:16px;font-family: var(--font-text);font-size:16px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--canvas);line-height:1.45;padding-bottom:78px}a{color:var(--blue);text-decoration:none}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:10px;background:var(--blue);color:#f4f4f5;font-weight:700;cursor:pointer;text-align:center}button:disabled{opacity:.5;cursor:default}.secondary{background:#131316;border-color:#2a2a2f;color:#6e8fcf}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #5998cf;outline-offset:3px}.button:hover,button:hover:not(:disabled){filter:brightness(.96)}input,select{width:100%;min-height:48px;padding:11px 12px;color:var(--ink);background:#17171a;border:1px solid #34343a;border-radius:10px}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.15;letter-spacing:-.7px}h2{font-size:20px;line-height:1.3;letter-spacing:-.3px}h3{font-size:16px}p{margin-bottom:14px}small{font-size:13px}.icon{width:23px;height:23px;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;left:10px;top:-80px;background:#17171a;padding:14px;z-index:20}.skip:focus{top:10px}[hidden]{display:none!important}.app-header{background:linear-gradient(110deg,#05339c,#064ad4);color:#f4f4f5;border-bottom:4px solid var(--red)}.header-inner{max-width:1080px;margin:auto;min-height:76px;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:800;font-size:25px;letter-spacing:-.5px;display:flex;align-items:center;gap:10px;color:#f4f4f5}.brand-ball{font-size:29px}.header-back{display:flex;align-items:center;gap:15px;color:#f4f4f5;font-size:22px;font-weight:700}.icon-button{min-width:46px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;color:inherit;border-radius:10px}.header-settings:hover{background:rgba(0, 0, 0, 0.314)}.app-main{max-width:1000px;margin:auto;padding:26px 24px 10px}.detail-page{max-width:940px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.page-heading h1{margin:0}.small-link{font-size:14px;font-weight:600;min-height:44px;display:flex;align-items:center}.date-strip,.segmented{display:flex;background:#1f1f23;border:1px solid var(--line);border-radius:12px;padding:3px;gap:3px;margin:18px 0}.date-strip a,.segmented a{flex:1;min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;padding:10px 8px;color:var(--ink);border-radius:9px;font-weight:600;text-align:center;font-size:15px}.date-strip a[aria-current],.segmented a[aria-current]{background:var(--blue);color:white;box-shadow:0 2px 6px rgba(89, 128, 207, 0.125)}.league-form{margin:18px 0}.league-form select{box-shadow:0 2px 5px rgba(89, 137, 207, 0.024);font-size:16px;font-weight:500}.calendar-options{margin:10px 0 24px}.calendar-options>summary{color:var(--muted);font-size:14px}.calendar-options[open]{background:#17171a;border:1px solid var(--line);padding:14px;border-radius:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.check{flex-direction:row;align-items:center;font-weight:400}.check input{width:21px;height:21px;min-height:21px;accent-color:var(--blue)}.filter-indicator{padding:12px;background:#1f1f23;border-radius:10px;font-size:14px}.filter-indicator a{font-weight:700;margin-left:8px}.fixture-group{margin:26px 0}.fixture-group h2{display:flex;align-items:center;justify-content:space-between;gap:15px;text-transform:uppercase;letter-spacing:.7px;color:#7793c5;font-size:15px;margin-bottom:12px}.fixture-group h2>span{font-size:13px;font-weight:400;white-space:nowrap}.fixture-list{display:grid;gap:10px}.fixture-row{background:linear-gradient(180deg,#17171a,#17171a);border:1px solid #2a2a2f;border-radius:16px;display:flex;align-items:center;box-shadow:0 2px 4px rgba(89, 135, 207, 0.016);min-width:0}.fixture-row:hover{border-color:rgba(89, 129, 207, 0.35);box-shadow:0 3px 10px rgba(89, 133, 207, 0.039)}.fixture-link{display:flex;align-items:center;gap:18px;flex:1;min-width:0;padding:17px 10px 17px 20px;color:var(--ink);border-radius:16px}.fixture-link time{font-size:17px;min-width:44px;font-variant-numeric:tabular-nums}.fixture-teams{display:flex;flex-direction:column;gap:9px;flex:1;min-width:0;border-left:1px solid var(--line);padding-left:18px}.fixture-teams>span{display:flex;align-items:center;gap:11px;min-width:0}.fixture-teams strong{font-size:18px;line-height:1.25;overflow-wrap:anywhere}.monogram{width:33px;height:33px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#0751cb;color:white;font-size:12px;font-weight:700;border:2px solid white;box-shadow:0 0 0 1px rgba(0, 0, 0, 0.5)}.monogram.large{width:56px;height:56px;font-size:20px;box-shadow:0 0 0 2px rgba(0, 0, 0, 0.5)}.tone-0{background:#197cc2}.tone-1{background:#193eac}.tone-2{background:#a52240}.tone-3{background:#195b49}.tone-4{background:#3a3a41}.tone-5{background:#814311}.star-button{padding:10px;min-width:44px;min-height:44px;background:transparent;color:#8e8e96;border:0;margin-right:6px}.star-button[aria-pressed=true]{color:#cfa96e}.star-button[aria-pressed=true] svg{fill:#f8d875}body:not(.js-ready) .star-button{display:none}.list-hint{font-size:14px;text-align:center;color:var(--muted);margin:25px 0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:center;background:rgba(0, 0, 0, 0.6);border-top:1px solid var(--line);padding:6px 14px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -3px 12px rgba(89, 135, 207, 0.016)}.bottom-nav a{min-width:110px;max-width:240px;flex:1;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:13px;font-weight:600;border-bottom:3px solid transparent}.bottom-nav a[aria-current]{color:var(--blue);border-bottom-color:var(--blue)}.match-header{padding:5px 0 0}.eyebrow{color:var(--muted);text-align:center;font-size:14px}.versus{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:18px;align-items:center;margin:24px 0 8px}.versus>div{display:flex;align-items:center;gap:14px;min-width:0}.versus>div:last-child{justify-content:flex-end}.versus>span{color:var(--muted);font-size:16px;text-align:center}.versus h1,.versus .versus-name{font-size:23px;letter-spacing:-.4px;margin:0;overflow-wrap:anywhere;font-weight:700;line-height:1.15}.match-subtitle{display:flex;justify-content:center;align-items:center;font-size:13px;color:var(--muted);margin:0}.match-tabs{display:flex;margin:10px -24px 18px;border-bottom:1px solid var(--line);background:rgba(0, 0, 0, 0.6)}.match-tabs a{flex:1;min-height:54px;display:flex;align-items:center;justify-content:center;color:var(--ink);font-size:16px;border-bottom:3px solid transparent}.match-tabs a[aria-current]{color:var(--blue);font-weight:700;border-bottom-color:var(--blue)}.metric-chips{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 8px;scrollbar-width:thin;scroll-padding:10px;margin:18px 0 5px}.metric-chips a{flex-shrink:0;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#26262b;color:var(--ink);padding:10px 17px;font-size:15px;white-space:nowrap}.metric-chips a[aria-current]{background:var(--blue);color:white}.context-label{color:var(--ink);text-align:center;font-size:15px;line-height:1.6;margin:18px 0}.context-label>span{color:var(--muted);font-size:13px}.context-options{display:flex;justify-content:center;gap:8px}.context-options a{padding:9px 12px;min-height:44px;border:1px solid transparent;font-size:14px;border-radius:8px;color:var(--muted)}.context-options a[aria-current]{color:var(--blue);border-color:rgba(89, 131, 207, 0.35);background:#131316}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compare-card,.panel,.player-card{background:#17171a;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 5px rgba(89, 143, 207, 0.012)}.compare-card{padding:22px;min-width:0}.compare-card h2{font-size:20px;margin:0 0 23px}.chart-value{margin:17px 0}.value-label{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:9px}.value-label>span{font-size:17px;font-weight:600;min-width:0}.value-label small{display:block;color:var(--muted);font-weight:400;font-size:14px;margin-top:3px}.value-label strong{font-size:33px;letter-spacing:-.5px;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}.bar{display:block;width:100%;height:10px}.bar .track{fill:#f4f4f5}.blue .fill{fill:#6e8ecf}.red .fill{fill:#cf6e80}.sample{display:block;color:var(--muted);font-size:12px;margin-top:7px}.card-context{border-top:1px solid var(--line);padding-top:12px;margin:18px 0 0;color:var(--muted);font-size:12px}.panel{padding:22px;margin:18px 0}.panel h2{margin-bottom:14px}summary{cursor:pointer;min-height:44px;padding:10px 0;line-height:1.4;font-weight:600}details.panel>summary{padding:4px 0;display:list-item;min-height:34px}.panel[open]>summary{margin-bottom:16px}.subtle{font-size:14px;line-height:1.55;color:var(--muted)}.sample-list,.lineup-names{list-style:none;padding:0;margin:10px 0 20px}.sample-list li{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #232327}.sample-list li>div{min-width:0}.sample-list li span,.sample-list li small{display:block}.sample-list li small{color:var(--muted);font-size:12px;margin-bottom:3px}.sample-list li strong{font-size:20px;font-variant-numeric:tabular-nums}.sample-details h3{margin-top:24px}.empty{padding:28px 20px;text-align:center;color:var(--muted);background:#17171a;border:1px solid var(--line);border-radius:var(--radius);margin:18px 0}.empty h2,.empty h3{color:var(--ink)}.empty p{max-width:470px;margin:0 auto 18px}.notice{padding:14px 16px;background:#1f1f23;border:1px solid rgba(207, 172, 89, 0.35);border-radius:12px;color:#cfac6e;font-size:14px;margin:16px 0}.notice.success{background:#1f1f23;border-color:#34343a;color:#6ecfa3}.page-footer{font-size:12px;text-align:center;color:var(--muted);line-height:1.7;margin:32px 0 15px}.page-footer span{font-size:12px;color:#b0b0b7}.version{font-size:13px;color:var(--muted)}.full-width{width:100%}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.button-row button{flex:1}.settings-link{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--ink);min-height:56px;border-bottom:1px solid var(--line);padding:12px 0}.inline-form{display:flex;align-items:end;gap:12px;margin:14px 0}.inline-form label{max-width:200px;flex:1}.team-switch a{overflow-wrap:anywhere}.player-list{display:grid;gap:10px}.player-card{min-width:0;scroll-margin-top:18px}.player-card>summary{display:flex;align-items:center;gap:14px;list-style:none;padding:18px;min-height:84px}.player-card>summary::-webkit-details-marker{display:none}.player-identity{flex:1;min-width:0}.player-identity strong{display:block;font-size:17px}.player-identity small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.player-number{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.player-card[open]>summary{border-bottom:1px solid var(--line)}.player-card[open]>summary>.icon{transform:rotate(90deg)}.player-detail{padding:18px}.stat-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.stat-tiles>div{background:#131316;border-radius:10px;padding:12px;min-width:0}.stat-tiles dt{font-size:12px;color:var(--muted)}.stat-tiles dd{font-size:24px;font-weight:700;margin:5px 0}.stat-tiles small{font-size:12px;color:var(--muted)}.formation-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.formation-grid .panel{margin:0;min-width:0}.lineup-controls{margin:20px 0}.lineup-controls .subtle{margin:10px 0}.pitch{display:block;width:100%;max-height:540px;border-radius:12px;margin:20px 0}.pitch a:hover circle{fill:#f4f4f5}.lineup-names a{display:flex;align-items:center;min-height:52px;gap:10px;color:var(--ink);border-bottom:1px solid #232327;padding:8px 0}.lineup-names strong{flex:1;min-width:0;font-size:15px}.lineup-names a>span:not(.shirt-number){font-size:12px;color:var(--muted)}.shirt-number{min-width:30px;text-align:center;font-weight:700;color:var(--blue)}.formation .empty{border:0;padding:16px 0}.formation h3{margin-top:22px}#sync-status{font-size:15px;font-weight:600;line-height:1.5}
@media(min-width:800px){.fixture-list{grid-template-columns:1fr 1fr}.date-strip{max-width:650px}.league-form{max-width:650px}.detail-page .metric-chips,.detail-page>.segmented,.detail-page>.context-options{max-width:650px;margin-left:auto;margin-right:auto}.metric-chips{justify-content:center}.match-tabs{margin-left:0;margin-right:0}.player-list{max-width:700px;margin:auto}}
@media(max-width:700px){.app-main{padding:20px 16px 8px}.header-inner{min-height:70px;padding:10px 16px}.brand{font-size:23px}.comparison-grid,.formation-grid{grid-template-columns:1fr}.compare-card{padding:19px}.panel{padding:18px}.match-tabs{margin-left:-16px;margin-right:-16px}.versus{gap:10px}.versus>div{flex-direction:column;gap:9px;text-align:center}.versus h1{font-size:20px}.versus>div:last-child{justify-content:center}.monogram.large{width:48px;height:48px;font-size:18px}.match-header{padding-top:0}.match-subtitle{font-size:12px}.fixture-link{padding:15px 4px 15px 13px;gap:11px}.fixture-teams{padding-left:11px;gap:8px}.fixture-teams>span{gap:8px}.fixture-teams strong{font-size:16px}.fixture-link time{font-size:15px;min-width:39px}.fixture-link>.icon{width:17px}.star-button{padding:9px;margin-right:3px}.fixture-teams .monogram{width:28px;height:28px;font-size:12px}.date-strip{gap:1px}.date-strip a{font-size:13px;padding:9px 4px}.value-label strong{font-size:32px}.value-label>span{font-size:16px}.compare-card h2{font-size:19px}.context-label{font-size:14px}.context-label>span{font-size:12px}.metric-chips a{font-size:14px;padding:10px 14px}.formation-grid .panel{padding:18px}.form-grid{grid-template-columns:1fr}.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.player-card>summary{gap:9px;padding:16px}.player-card>summary>.icon{width:18px}.player-identity strong{font-size:16px}.player-number{font-size:26px}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s,border-color .15s}}@media print{.app-header,.bottom-nav,.star-button,.metric-chips,.calendar-options{display:none}body{padding:0;background:#17171a}.app-main{max-width:none}.compare-card,.panel{break-inside:avoid}}

.comparison-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-controls>label,.comparison-controls select{min-width:0}.uo-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.comparison-controls{grid-template-columns:minmax(0,1fr)}}

/* Keep secondary controls below the primary reading path. */
.comparison-filters{padding:12px 18px;margin:12px 0}.comparison-filters>summary{min-height:44px!important;display:flex!important;align-items:center}.under-over-details h3{margin-top:22px}.compare-card>.subtle{font-size:12px}.compare-card>.notice{padding:10px 12px;font-size:13px}.comparison-controls label{min-width:0}.comparison-controls select{max-width:100%}@media(max-width:420px){.app-main{padding-left:16px;padding-right:16px}.match-tabs{margin-left:-16px;margin-right:-16px}.compare-card{padding:18px}.value-label strong{font-size:30px}}
.player-compare-table{overflow-x:auto;margin-top:20px}.player-compare-table table{width:100%;border-collapse:collapse;table-layout:fixed}.player-compare-table caption{text-align:left;font-weight:700;padding:12px 0}.player-compare-table th,.player-compare-table td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;vertical-align:top}.player-compare-table strong{font-size:22px}.player-compare-table small{display:block;font-size:12px;color:var(--muted)}.player-compare-table th{font-size:14px}

.pitch.named-pitch{max-height:none}.named-pitch a:focus-visible circle{stroke:#ffe180;stroke-width:1.5}.named-pitch a:hover rect{fill:#ececee}

.fixture-row:has(.fixture-signal){flex-wrap:wrap}.fixture-signal{order:3;flex:0 0 100%;padding:0 16px 12px;font-size:13px}.fixture-signal p{color:var(--muted)}

.signal-room-list{display:grid;gap:14px}.signal-event{margin:0}.bottom-nav a{min-width:0}.signal-event h2{margin-bottom:10px}

/* A single readable selector replaces the clipped team metric strip. */
.metric-picker{display:grid;gap:8px;width:100%;max-width:650px;min-width:0;margin:18px auto 16px}.metric-picker select{min-width:0;max-width:100%;font-size:16px}.metric-picker label{font-size:14px;font-weight:650}@media print{.metric-picker{display:none}}
/* Match form and pre-match odds: compact, keyboard/touch accessible. */
.form-teams{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-team{min-width:0}.form-team h3{font-size:15px;margin:0 0 10px}.form-dots{display:flex;gap:5px;align-items:center}.form-dot{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-weight:800;font-size:13px;list-style:none;cursor:pointer}.form-dot::-webkit-details-marker{display:none}.form-win{background:#15803d;color:white}.form-draw{background:#f59e0b;color:#ececee}.form-loss{background:#c62828;color:white}.form-empty,.form-unknown{background:#26262b;color:#c8c8ce}.form-result{position:relative}.form-popup{position:absolute;z-index:4;top:36px;left:0;width:190px;padding:12px;background:#17171a;color:#ececee;border:1px solid #34343a;border-radius:10px;box-shadow:0 5px 18px rgba(0, 0, 0, 0.596);font-size:12px}.form-team:last-child .form-popup{left:auto;right:0}.match-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.match-tabs a{min-width:0}.odds-scroll{overflow-x:auto}.odds-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.odds-table caption{text-align:left;font-weight:700;padding:12px 0}.odds-table th,.odds-table td{padding:12px 6px;border-bottom:1px solid #2a2a2f;text-align:center;vertical-align:top}.odds-table th:first-child{text-align:left;font-size:13px;max-width:135px;overflow-wrap:anywhere}.odd-price{display:flex;gap:4px;justify-content:center;align-items:center;min-height:36px;font-weight:800;cursor:pointer;list-style:none;border-radius:6px;padding:3px}.odd-price::-webkit-details-marker{display:none}.odd-best{background:#26262b;color:#6e8fcf}.odd-up{color:#6ecf92}.odd-down{color:#cf6e6e}.odd-info{min-width:100px;max-width:220px;font-size:12px;line-height:1.5;padding:8px 0;text-align:left}.odd-info ul{padding-left:14px}.form-dot:focus-visible,.odd-price:focus-visible{outline:3px solid #5982cf;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:380px){.form-teams{grid-template-columns:1fr}.form-team:last-child .form-popup{left:0;right:auto}.match-tabs a{font-size:12px}.form-dot{width:32px;height:32px}.odds-table th,.odds-table td{padding:10px 3px}}
.match-tabs{display:grid}.form-dot{width:36px;height:36px}.form-team:last-child .form-popup{left:0;right:auto}.form-result:nth-child(n+4) .form-popup{left:auto;right:0}@media(max-width:600px){.form-teams{grid-template-columns:1fr}.match-tabs a{font-size:13px}}

/* ==========================================================================
   BetScout Pro Terminal - Modern High-Density Sports Analytics Design System
   Inspired by Linear, FotMob Pro, FootyStats.org & Pro Betting Terminals.
   ========================================================================== */

:root {
  color-scheme: dark;
  --canvas: #17171a;             /* FotMob subtle light canvas */
  --canvas-subtle: #131316;      /* Slate-100 */
  --surface: #17171a;            /* Pure crisp white FotMob card surface */
  --surface-solid: #17171a;
  --surface-hover: #17171a;      /* Light surface hover */
  --surface-active: #131316;
  --line: #2a2a2f;               /* Crisp 1px slate-200 border (no neon glow) */
  --line-subtle: #232327;        /* Slate-100 hairline */
  --line-highlight: #34343a;     /* Slate-300 hover / focus border */

  --ink: #ececee;                /* Deep slate-900 / dark charcoal typography */
  --ink-secondary: #c8c8ce;      /* Slate-700 secondary text */
  --muted: #b0b0b7;              /* Slate-500 clearly readable */
  --muted-dark: #b0b0b7;         /* Slate-400 subtle */

  /* FotMob Brand Accents */
  --emerald: #6ecfb3;            /* Iconic FotMob pitch emerald */
  --emerald-400: #047857;        /* emerald-500 */
  --emerald-bg: #131316;         /* Soft emerald tint */
  --emerald-border: rgba(89, 207, 153, 0.35);     /* emerald-200 border */

  --rose: #cf6e83;               /* rose-600 */
  --rose-400: #be123c;           /* rose-500 */
  --rose-bg: #131316;            /* Soft rose tint */
  --rose-border: rgba(207, 89, 103, 0.35);        /* rose-200 border */

  --amber: #cfa26e;              /* amber-600 */
  --amber-400: #b45309;          /* amber-500 */
  --amber-bg: #131316;           /* Soft amber tint */
  --amber-border: rgba(207, 183, 89, 0.35);       /* amber-200 border */

  --cyan: #6eaccf;               /* sky-600 */
  --cyan-400: #0369a1;           /* sky-500 */
  --cyan-bg: #131316;            /* Soft sky tint */
  --cyan-border: rgba(89, 166, 207, 0.35);        /* sky-200 border */

  --radius: 8px;
  --radius-sm: 6px;
  --radius-lg: 12px;
  font-family: var(--font-text);
  font-size: 14.5px;
  font-feature-settings: 'tnum' 1, 'cv05' 1, 'cv11' 1;
}

/* Base resets & typography */
*, *::before, *::after { box-sizing: border-box; }
html {
  background: var(--canvas);
  color-scheme: dark;
  scroll-padding-top: 110px;
}
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
body {
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font-text);
  line-height: 1.45;
  padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px));
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Tabular monospace on all numbers, odds and stats */
.font-mono, .tabular-nums, .num, time, .fixture-link time, .rate-num, .out-code, .ev-freq, .odd-price, .prob-pill, .range-badge, .fixture-value-pill {
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
}

a { color: var(--cyan); text-decoration: none; transition: color .15s ease; }
a:hover { color: #6eaccf; }

/* Buttons & Inputs */
button, .button {
  background: #047857;
  color: #f4f4f5;
  border: 1px solid #59cfa2;
  border-radius: var(--radius-sm);
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all .15s ease;
}
button:hover:not(:disabled), .button:hover:not(:disabled) {
  background: #008754;
  border-color: #59cfa2;
}
.secondary, .button.secondary {
  background: #131316;
  color: #c8c8ce;
  border-color: #2a2a2f;
}
.secondary:hover { color: #ececee; background: #26262b; }

input, select {
  background: #17171a;
  color: #ececee;
  border: 1px solid #34343a;
  border-radius: var(--radius-sm);
  min-height: 38px;
  padding: 6px 10px;
  font-size: 13px;
  outline: none;
  transition: border-color .15s ease;
}
input:focus, select:focus {
  border-color: var(--emerald-400);
}
input[type=checkbox] { accent-color: var(--emerald); }

/* Sticky Header */
.app-header {
  background: #17171a;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 30;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
}
.header-inner {
  max-width: 1320px;
  margin: 0 auto;
  min-height: 56px;
  padding: 6px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #f4f4f5;
  text-decoration: none;
  flex-shrink: 0;
}
.brand-mark {
  width: 28px;
  height: 28px;
  flex: none;
}
.brand-text {
  display: inline-flex;
  align-items: center;
}
.brand-name {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #ececee;
}
.brand-accent { color: var(--emerald-400); }
.brand-claim-sep {
  display: none;
  width: 1px;
  height: 14px;
  background: var(--line);
  margin: 0 14px;
}
.brand-claim {
  display: none;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}
@media(min-width: 1024px) {
  .brand-claim-sep {
    display: inline-block;
  }
  .brand-claim {
    display: inline-block;
  }
}
.header-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}
.header-update {
  font-family: var(--font-data);
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  background: var(--surface-solid);
  border: 1px solid var(--line);
  padding: 3px 8px;
  border-radius: 9999px;
}
.header-settings {
  color: var(--muted);
  background: transparent;
  padding: 6px;
  border-radius: var(--radius-sm);
}
.header-settings:hover { color: var(--ink); background: var(--surface-hover); }

/* Desktop Navigation Menu */
.desktop-nav { display: none; }
.desktop-header-actions { display: none; }

@media (min-width: 768px) {
  body {
    padding-bottom: 24px !important; /* No bottom app bar on desktop! */
  }
  .bottom-nav {
    display: none !important; /* Strictly hidden on desktop! */
  }
  .desktop-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0 auto 0 20px;
  }
  .desktop-nav a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 600;
    color: var(--muted);
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: all .15s ease;
  }
  .desktop-nav a:hover {
    color: var(--ink);
    background: var(--surface-hover);
  }
  .desktop-nav a.active {
    color: #6ecfb3;
    background: #131316;
    border: 1px solid rgba(89, 207, 153, 0.35);
    font-weight: 700;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
  }
  .desktop-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .header-inner {
    padding: 6px 12px;
    gap: 8px;
  }
  .brand {
    font-size: 16px;
    gap: 6px;
  }
  .desktop-nav {
    gap: 2px;
    margin: 0 auto 0 8px;
  }
  .desktop-nav a {
    padding: 5px 8px;
    font-size: 12px;
    gap: 4px;
  }
  .desktop-header-actions {
    gap: 6px;
  }
  .desktop-header-actions .header-upgrade-btn {
    display: none !important;
  }
  .plan-pill-link {
    font-family: var(--font-data);
    font-size: 12px;
    font-weight: 750;
    padding: 4px 10px;
    border-radius: 9999px;
    text-decoration: none;
    letter-spacing: 0.03em;
  }
  .plan-pill-link.is-pro {
    background: var(--amber-bg);
    border: 1px solid var(--amber-border);
    color: var(--amber-400);
  }
  .plan-pill-link.is-free {
    background: var(--cyan-bg);
    border: 1px solid var(--cyan-border);
    color: var(--cyan-400);
  }
  .header-upgrade-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 750;
    padding: 6px 14px;
    border-radius: 9999px;
    background: #047857;
    color: #f4f4f5 !important;
    text-decoration: none;
    box-shadow: 0 1px 3px rgba(89, 207, 163, 0.25);
    transition: transform .12s ease;
  }
  .header-upgrade-btn:hover {
    transform: scale(1.03);
    color: #f4f4f5 !important;
  }
}

/* Main layout */
.app-main {
  max-width: 1320px;
  margin: 0 auto;
  padding: 14px 16px 8px;
}
.detail-page { max-width: 1080px; }
.page-heading {
  margin: 0 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.page-heading h1 {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #ececee;
  margin: 0;
}
.page-heading h2 {
  font-size: 16px;
  font-weight: 750;
  color: #ececee;
  margin: 0;
}
.page-footer {
  font-size: 12px;
  color: var(--muted-dark);
  text-align: center;
  border-top: 1px solid var(--line-subtle);
  margin-top: 24px;
  padding: 14px 0 8px;
}

/* Linear-style Surface Panels */
.panel, .compare-card, .player-card, .empty {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
  color: var(--ink);
  padding: 14px 16px;
  margin-bottom: 12px;
}
.compact { padding: 10px 14px; }
.panel h2 {
  font-size: 14px;
  font-weight: 750;
  letter-spacing: -0.01em;
  color: #ececee;
  margin: 0 0 10px;
}

/* Linear Segmented Controls & Date Strips */
.segmented, .date-strip, .calendar-controls .date-strip {
  display: flex;
  background: #131316;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 2px;
  gap: 2px;
  margin-bottom: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.segmented a, .date-strip a {
  flex: 1;
  min-height: 32px;
  padding: 5px 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  border-radius: 6px;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: all .12s ease;
}
.segmented a:hover, .date-strip a:hover {
  color: #ececee;
  background: rgba(255, 255, 255, 0.018);
}
.segmented a[aria-current], .date-strip a[aria-current] {
  background: #17171a;
  color: #ececee;
  border: 1px solid #34343a;
  font-weight: 700;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Top Quick Cards (Linear Terminal Style) */
.home-quick-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0 0 10px;
}
@media(max-width: 480px) { .home-quick-cards { grid-template-columns: 1fr; } }
.home-quick-card {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 9px 12px;
  border-radius: var(--radius-sm);
  background: var(--surface);
  border: 1px solid var(--line);
  text-decoration: none;
  transition: all .15s ease;
}
.home-quick-card:hover {
  background: var(--surface-hover);
  border-color: var(--line-highlight);
}
.home-quick-card.active {
  background: #131316;
  border-color: #59cfad;
  box-shadow: 0 0 0 1px #59cfad;
}
.home-quick-card.active strong {
  color: #6ecfb3;
}
.home-quick-card strong {
  font-size: 13px;
  font-weight: 750;
  color: #ececee;
}
.home-quick-card span {
  font-size: 12px;
  color: var(--muted);
}
.home-quick-hot { border-color: rgba(89, 207, 168, 0.402); }
.home-quick-hot strong { color: var(--emerald-400); }
.home-quick-search { border-color: rgba(89, 171, 207, 0.402); }
.home-quick-search strong { color: var(--cyan-400); }

/* Calendar Controls & Sticky Bar */
.calendar-controls {
  position: sticky;
  top: 52px;
  z-index: 22;
  background: rgba(0, 0, 0, 0.6);
  padding: 8px 0 6px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 8px;
}
.calendar-filter-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.calendar-filter-row .league-form { flex: 1; min-width: 0; margin: 0; }
.calendar-filter-row select {
  min-height: 34px;
  font-size: 12px;
  background: #17171a;
  color: #ececee;
  border-color: #34343a;
  width: 100%;
}
.filter-button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 6px 10px;
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 600;
  color: #c8c8ce;
  white-space: nowrap;
}
.filter-button:hover { color: var(--ink); border-color: var(--line-highlight); }

/* High Density Fixtures List (FootyStats / FotMob Pro Terminal) */
.fixture-group { margin-top: 10px; }
.fixture-group h2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 6px 0 4px;
  padding: 5px 10px;
  border-left: 3px solid var(--emerald);
  background: #17171a;
  border-radius: 0 4px 4px 0;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #c8c8ce;
}
.league-toggle {
  border: 0;
  padding: 0;
  min-height: 24px;
  background: transparent;
  color: #ececee;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.league-toggle small { font-size: 12px; color: var(--muted-dark); }
.league-tier-pill {
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 4px;
  letter-spacing: 0.03em;
}
.league-tier-pill.tier-free {
  background: var(--emerald-bg);
  color: var(--emerald-400);
  border: 1px solid var(--emerald-border);
}
.league-tier-pill.tier-pro {
  background: var(--amber-bg);
  color: var(--amber-400);
  border: 1px solid var(--amber-border);
}
.fixture-group h2 time {
  font-family: var(--font-data);
  font-size: 12px;
  color: var(--muted-dark);
}

.fixture-list,
.fixture-group .fixture-list,
.league-fixtures {
  display: grid !important;
  grid-template-columns: 1fr !important;
  width: 100% !important;
  gap: 6px;
}

@media (min-width: 800px) {
  .fixture-list,
  .fixture-group .fixture-list,
  .league-fixtures {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  .date-strip,
  .league-form {
    max-width: 100% !important;
  }
}

/* DENSE FIXTURE ROW */
.fixture-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  min-height: 48px;
  padding: 0;
  margin: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  transition: all .12s ease;
}
.fixture-row:hover {
  background: var(--surface-hover);
  border-color: var(--line-highlight);
}
.fixture-link {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
  padding: 8px 12px;
  color: var(--ink);
  text-decoration: none;
}
.fixture-link time {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 44px;
  flex-shrink: 0;
  font-family: var(--font-data);
  font-size: 12px;
  font-weight: 700;
  color: #ececee;
  line-height: 1.15;
}
.fixture-date {
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
}
.fixture-teams {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
  border-left: 1px solid var(--line-subtle);
  padding-left: 10px;
}
.fixture-teams > span {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.fixture-teams strong {
  font-size: 13.5px;
  font-weight: 600;
  color: #ececee;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.25;
}

/* Centered High-Density Statistical Matchup & Micro-Bar */
.fixture-stat-center {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
  min-width: 95px;
  flex-shrink: 0;
}
.fixture-stat-center .prob-pill {
  font-size: 12px;
  padding: 2px 7px;
  white-space: nowrap;
}
.fixture-stat-center .stat-pick-label {
  white-space: nowrap;
}
.fixture-stat-center .micro-bar {
  width: 90px;
  height: 4px;
}
@media (max-width: 480px) {
  .fixture-link {
    gap: 8px;
    padding: 6px 8px;
  }
  .fixture-stat-center {
    min-width: 75px;
  }
  .fixture-stat-center .prob-pill {
    font-size: 12px;
    padding: 1.5px 5px;
  }
  .fixture-stat-center .micro-bar {
    width: 65px;
  }
}

/* Compact Monogram & Logos */
.monogram {
  position: relative;
  isolation: isolate;
  flex: none;
  background: #131316;
  color: #ececee;
  border: 1px solid #34343a;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 750;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.monogram.large {
  width: 38px;
  height: 38px;
  font-size: 12px;
  border-radius: 8px;
}
.club-logo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #17171a;
}

/* PROBABILITY PILL WITH MICRO-DOT (FotMob / FootyStats Style) */
.prob-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  font-family: var(--font-data);
  padding: 2px 7px;
  border-radius: 9999px;
  white-space: nowrap;
  letter-spacing: 0.02em;
  line-height: 1;
}
.prob-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.prob-pill-emerald {
  background: #131316;
  border: 1px solid rgba(89, 207, 153, 0.35);
  color: #6ecfb3;
}
.prob-pill-emerald .prob-dot {
  background: var(--emerald-400);
  box-shadow: 0 0 6px rgba(89, 207, 164, 0.7);
}
.prob-pill-amber {
  background: #131316;
  border: 1px solid rgba(207, 183, 89, 0.35);
  color: #cf926e;
}
.prob-pill-amber .prob-dot {
  background: var(--amber-400);
  box-shadow: 0 0 6px rgba(207, 174, 89, 0.7);
}
.prob-pill-rose {
  background: #131316;
  border: 1px solid rgba(207, 89, 103, 0.35);
  color: #cf6e88;
}
.prob-pill-rose .prob-dot {
  background: var(--rose-400);
  box-shadow: 0 0 6px rgba(207, 89, 109, 0.7);
}

/* Value Bet Pill in Match Row */
.fixture-value-pill {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 12px;
  font-weight: 750;
  font-family: var(--font-data);
  color: #cf926e;
  background: #131316;
  border: 1px solid rgba(207, 183, 89, 0.35);
  padding: 2px 7px;
  border-radius: 9999px;
  white-space: nowrap;
}

/* Star Bookmark Button */
.star-button {
  color: var(--muted-dark);
  background: transparent;
  border: 0;
  box-shadow: none;
  min-width: 36px;
  min-height: 38px;
  padding: 6px;
  margin-right: 4px;
}
.star-button:hover { color: #ececee; background: transparent; }
.star-button[aria-pressed=true] { color: var(--amber-400); }
.star-button[aria-pressed=true] svg { fill: var(--amber-400); }

/* Minimalist Range Slider with Live Badge */
.range-slider-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 6px 10px;
}
.range-slider-wrap input[type=range] {
  flex: 1;
  accent-color: var(--emerald-400);
  height: 4px;
  background: #26262b;
  border-radius: 9999px;
  border: 0;
  padding: 0;
}
.range-badge {
  font-family: var(--font-data);
  font-size: 12px;
  font-weight: 750;
  padding: 2px 7px;
  border-radius: 9999px;
  background: var(--emerald-bg);
  border: 1px solid var(--emerald-border);
  color: var(--emerald-400);
  min-width: 42px;
  text-align: center;
}

/* Thin horizontal probability / fill bar */
.micro-bar {
  display: flex;
  width: 100%;
  height: 5px;
  border-radius: 9999px;
  background: #26262b;
  overflow: hidden;
  gap: 1px;
}
.micro-bar .fill { height: 100%; border-radius: 9999px; }
.micro-bar .fill-emerald { background: var(--emerald-400); }
.micro-bar .fill-amber { background: var(--amber-400); }
.micro-bar .fill-rose { background: var(--rose-400); }
.micro-bar .fill-cyan { background: var(--cyan-400); }

/* Match Header & Versus (FootyStats Header) */
.match-header {
  padding: 4px 0 0;
  margin-bottom: 8px;
}
.match-header .eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
}
.versus {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  max-width: 720px;
  margin: 0 auto;
}
.versus > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  text-align: center;
  min-width: 0;
}
.versus h1, .versus .versus-name {
  font-size: 16px;
  font-weight: 750;
  letter-spacing: -0.01em;
  color: #ececee;
  margin: 0;
  line-height: 1.25;
}
.versus > span {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted-dark);
}
.match-subtitle {
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

/* Match Form Pills (FootyStats V/P/S) */
.mini-form {
  display: flex;
  justify-content: center;
  gap: 3px;
  margin-top: 2px;
}
.mini-form .form-dot {
  width: 20px;
  height: 20px;
  min-height: 20px;
  font-size: 12px;
  font-weight: 800;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f4f4f5;
  cursor: pointer;
  list-style: none;
}
.mini-form .form-dot::-webkit-details-marker { display: none; }
.mini-form .form-win { background: #059669; }
.mini-form .form-draw { background: #d97706; }
.mini-form .form-loss { background: #e11d48; }
.mini-form .form-empty, .mini-form .form-unknown { background: #26262b; color: #b0b0b7; }
.form-popup {
  background: #17171a;
  border: 1px solid #34343a;
  color: #ececee;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

/* Match Tabs (Sticky Terminal Bar) */
.match-tabs {
  position: sticky;
  top: 52px;
  z-index: 20;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: #17171a;
  border-bottom: 1px solid var(--line);
  margin: 6px -16px 10px;
}
.match-tabs a {
  min-height: 38px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--muted);
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 2px solid transparent;
  text-decoration: none;
  transition: all .15s ease;
}
.match-tabs a:hover { color: #ececee; }
.match-tabs a[aria-current="page"] {
  color: var(--emerald);
  font-weight: 700;
  border-bottom-color: var(--emerald);
}

/* Quick Filter Pills (Markets & Props) */
.metric-chips, .quick-filter-pills {
  display: flex;
  gap: 5px;
  overflow-x: auto;
  white-space: nowrap;
  padding: 2px 2px 6px;
  margin: 6px 0 10px;
  scrollbar-width: thin;
}
.metric-chips a, .quick-filter-pills a {
  background: #131316;
  border: 1px solid var(--line);
  color: #c8c8ce;
  padding: 5px 10px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 600;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all .12s ease;
}
.metric-chips a:hover, .quick-filter-pills a:hover {
  color: #ececee;
  background: #26262b;
}
.metric-chips a[aria-current], .quick-filter-pills a[aria-current] {
  background: #3a3a41;
  border-color: #52525b;
  color: #f4f4f5;
  font-weight: 750;
}

/* Match Verdict Box (Terminal Analytics Panel) */
details.match-verdict-box {
  background: #17171a;
  border: 1px solid var(--emerald-border);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 10px;
}
.mv-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  cursor: pointer;
  list-style: none;
  background: #131316;
  border-bottom: 1px solid transparent;
}
.mv-summary::-webkit-details-marker { display: none; }
details.match-verdict-box[open] > .mv-summary {
  border-bottom-color: var(--line);
}
.mv-eyebrow {
  font-size: 12px;
  font-weight: 750;
  color: var(--emerald-400);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.mv-sum-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.mv-sum-title-row h2 {
  font-size: 14px;
  font-weight: 750;
  color: #ececee;
  margin: 0!important;
}
.mv-sum-pick {
  font-size: 12px;
  font-weight: 700;
  color: var(--emerald-400);
  background: var(--emerald-bg);
  border: 1px solid var(--emerald-border);
  padding: 1px 7px;
  border-radius: 9999px;
  font-family: var(--font-data);
}
.mv-expand-btn {
  font-size: 12px;
  font-weight: 650;
  color: #c8c8ce;
  background: #131316;
  border: 1px solid var(--line);
  padding: 3px 8px;
  border-radius: var(--radius-sm);
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.mv-body { padding: 12px 14px; }
.mv-hero {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 10px;
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  margin-bottom: 10px;
}
@media(max-width: 600px) { .mv-hero { grid-template-columns: 1fr; } }
.mv-best-tag {
  font-size: 12px;
  font-weight: 750;
  color: var(--emerald-400);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.mv-best-pick {
  font-size: 16px;
  font-weight: 800;
  color: #ececee;
}
.mv-best-reason {
  font-size: 12px;
  color: var(--muted);
  margin: 3px 0 0;
  line-height: 1.35;
}
.mv-confidence-badge {
  font-size: 12px;
  font-weight: 750;
  font-family: var(--font-data);
  padding: 1px 6px;
  border-radius: 9999px;
  background: var(--emerald-bg);
  color: var(--emerald-400);
  border: 1px solid var(--emerald-border);
}
.mv-odd-badge {
  font-size: 12px;
  font-weight: 750;
  font-family: var(--font-data);
  padding: 1px 6px;
  border-radius: 9999px;
  background: var(--amber-bg);
  color: var(--amber-400);
  border: 1px solid var(--amber-border);
}
.mv-side-picks {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
}
.mv-mini-pick {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.mv-mini-label {
  font-size: 12px;
  font-weight: 750;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.mv-mini-title {
  font-size: 13.5px;
  font-weight: 800;
  color: #ececee;
}
.mv-mini-sub {
  font-size: 12px;
  color: var(--muted-dark);
}
.mv-scores-line {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 2px;
}
.mv-score-badge {
  font-family: var(--font-data);
  font-size: 12px;
  background: #131316;
  border: 1px solid var(--line);
  padding: 2px 7px;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.mv-score-badge strong { font-weight: 800; color: #ececee; }
.mv-score-badge small { font-size: 12px; color: var(--muted-dark); }
.mv-outcome-pill.pill-covered {
  background: rgba(89, 207, 168, 0.08);
  border-color: rgba(89, 207, 168, 0.287);
}
.mv-outcome-pill.pill-covered .out-code {
  color: var(--emerald-400);
}

/* 3-Market Matrix Cards (1X2 | U/O | BTTS) */
.mv-markets-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
@media(max-width: 700px) { .mv-markets-grid { grid-template-columns: 1fr; } }
.mv-market-card {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 9px 11px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mv-market-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mv-market-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.mv-market-verdict {
  font-size: 12px;
  font-weight: 800;
  font-family: var(--font-data);
  color: var(--emerald-400);
}
.mv-tri-bar {
  display: flex;
  height: 5px;
  border-radius: 9999px;
  overflow: hidden;
  background: #26262b;
  gap: 1px;
}
.tri-seg { height: 100%; border-radius: 9999px; }
.tri-seg.seg-1, .tri-seg.seg-over, .tri-seg.seg-gg { background: var(--emerald-400); }
.tri-seg.seg-x { background: #3a3a41; }
.tri-seg.seg-2, .tri-seg.seg-under, .tri-seg.seg-ng { background: var(--cyan-400); }
.mv-outcomes-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
  gap: 4px;
}
.mv-outcome-pill {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 4px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-family: var(--font-data);
}
.mv-outcome-pill.pill-active {
  background: var(--emerald-bg);
  border-color: var(--emerald-border);
}
.mv-outcome-pill .out-code { font-size: 12px; font-weight: 700; color: var(--muted); }
.mv-outcome-pill.pill-active .out-code { color: var(--emerald-400); }
.mv-outcome-pill strong { font-size: 12.5px; font-weight: 800; color: #ececee; }
.mv-outcome-pill small { font-size: 12px; color: var(--muted-dark); }

/* Compact Verdict Strip in Top Pronti */
.alert-compact-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  font-size: 12px;
  color: var(--muted);
  background: #17171a;
  border: 1px solid var(--line);
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  margin: 6px 0 10px;
}
.alert-compact-legend .legend-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 9999px;
  background: #303036;
  margin-right: 3px;
  vertical-align: middle;
}
.alert-compact-legend .legend-dot.dot-emerald {
  background: var(--emerald-400);
}
.mv-compact-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  padding: 7px 10px;
  margin: 6px 0;
  border-radius: var(--radius-sm);
  background: rgba(89, 207, 168, 0.128);
  border: 1px solid var(--emerald-border);
}
.mv-compact-badge { font-size: 12px; color: #ececee; }
.mv-compact-badge strong { color: #6ecfb3; font-weight: 750; }
.mv-compact-pills { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.mv-cpill {
  font-size: 12px;
  font-family: var(--font-data);
  color: #c8c8ce;
  background: #17171a;
  border: 1px solid var(--line);
  padding: 1px 6px;
  border-radius: 4px;
}
.mv-cpill strong { color: #ececee; }

/* Compare Cards (Head to Head) */
.comparison-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
@media(max-width: 600px) { .comparison-grid { grid-template-columns: 1fr; } }
.compact-compare-card {
  padding: 10px 12px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: 0;
}
.compact-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.compact-card-head h2 {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0;
}
.compact-stat { margin-bottom: 8px; }
.compact-stat-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 3px;
}
.compact-stat-label > span {
  font-size: 12px;
  font-weight: 600;
  color: #ececee;
}
.compact-stat-label strong {
  font-family: var(--font-data);
  font-size: 15px;
  font-weight: 800;
  color: #ececee;
}
.compact-stat .bar {
  display: block;
  width: 100%;
  height: 5px;
  border-radius: 9999px;
  background: #26262b;
}
.compact-stat.blue .fill { fill: var(--emerald-400); }
.compact-stat.red .fill { fill: var(--cyan-400); }
.compact-stat-sample {
  font-size: 12px;
  color: var(--muted-dark);
}

.pro-active-tools-section {
  margin: 18px 0;
}
.pro-tools-card {
  background: #17171a;
  border: 1px solid var(--emerald-border);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.pro-tools-header {
  margin-bottom: 12px;
}
.pro-tools-header h2 {
  font-size: 16px;
  font-weight: 800;
  color: #ececee;
  margin: 4px 0 2px;
}
.pro-tools-sub {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}
.pro-tools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.pro-tool-tile {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  text-decoration: none;
  transition: all 0.15s ease;
}
.pro-tool-tile:hover {
  background: #131316;
  border-color: var(--emerald-400);
}
.pro-tool-tile .tool-icon {
  font-size: 20px;
  line-height: 1;
}
.pro-tool-tile strong {
  display: block;
  font-size: 13px;
  font-weight: 750;
  color: #ececee;
}
.pro-tool-tile small {
  display: block;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.25;
}

/* Referee Analytics Card & Inline Strip */
.referee-card {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px 14px;
  margin: 10px 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.referee-inline {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  margin: 10px 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.referee-inline-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 650;
  color: #ececee;
}
.referee-pills {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  color: var(--muted);
}
.referee-pills strong {
  color: #ececee;
  font-family: var(--font-data);
}
.referee-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.referee-head strong { font-size: 13px; font-weight: 750; color: #ececee; }
.referee-head small { font-size: 12px; color: var(--muted); }
.referee-badge {
  font-size: 12px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 9999px;
}
.referee-strict .referee-badge {
  background: var(--rose-bg);
  color: var(--rose-400);
  border: 1px solid var(--rose-border);
}
.referee-lenient .referee-badge {
  background: var(--cyan-bg);
  color: var(--cyan-400);
  border: 1px solid var(--cyan-border);
}
.referee-balanced .referee-badge {
  background: var(--emerald-bg);
  color: var(--emerald-400);
  border: 1px solid var(--emerald-border);
}
.referee-small .referee-badge {
  background: var(--amber-bg);
  color: var(--amber-400);
  border: 1px solid var(--amber-border);
}
.referee-tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin: 0;
}
.referee-tiles > div {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 6px 8px;
  text-align: center;
}
.referee-tiles dt { font-size: 12px; color: var(--muted); margin-bottom: 2px; }
.referee-tiles dd {
  font-family: var(--font-data);
  font-size: 14px;
  font-weight: 800;
  color: #ececee;
  margin: 0;
}
.referee-tiles small { font-size: 12px; color: var(--muted-dark); }

/* Top Pronti Accordion (High Density FotMob Style) */
details.alert-match {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  transition: border-color .15s ease;
}
details.alert-match:hover { border-color: var(--line-highlight); }
.alert-match-summary {
  display: block;
  padding: 10px 14px;
  cursor: pointer;
  list-style: none;
}
.alert-match-summary::-webkit-details-marker { display: none; }
details.alert-match[open] > .alert-match-summary {
  border-bottom: 1px solid var(--line);
  background: #17171a;
}
.alert-match-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}
.match-league-pill {
  font-size: 12px;
  font-weight: 750;
  color: #c8c8ce;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.alert-match-time {
  font-family: var(--font-data);
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.alert-match-teams-box {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 6px 10px;
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}
.match-team-line {
  display: flex;
  align-items: center;
  gap: 8px;
}
.match-team-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #ececee;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.alert-match-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 6px;
}
.match-trend-pill { font-size: 12px; color: #c8c8ce; }
.match-trend-pill strong { color: var(--emerald); font-weight: 750; font-family: var(--font-data); }
.match-expand-btn {
  font-size: 12px;
  font-weight: 650;
  color: #c8c8ce;
  background: #131316;
  border: 1px solid var(--line);
  padding: 2px 7px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  transition: all .15s ease;
}
details.alert-match[open] .match-expand-btn {
  background: #131316;
  border-color: var(--emerald-border);
  color: #6ecfb3;
}
details.alert-match[open] .match-expand-btn .expand-icon {
  transform: rotate(180deg);
}

/* Event Items inside Accordion */
.alert-match-body { padding: 0 8px 8px; background: #17171a; }
.alert-group-divider {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--muted);
  border-left: 2px solid var(--emerald);
  padding: 3px 8px;
  margin: 8px 0 4px;
}
.alert-event-summary {
  display: block;
  padding: 8px 10px;
  cursor: pointer;
  list-style: none;
  border-radius: var(--radius-sm);
  background: #17171a;
  border: 1px solid var(--line);
  margin-bottom: 5px;
}
.alert-event-summary::-webkit-details-marker { display: none; }
.alert-event-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.alert-subject-name {
  font-size: 13px;
  font-weight: 700;
  color: #ececee;
}
.alert-subject-col {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.alert-subject-sub {
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}

/* Dual Rate Presentation: Probabilità Modello vs Storico Recente */
.alert-dual-rate {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.rate-badge {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 3px 8px;
  border-radius: var(--radius-sm, 6px);
  background: #17171a;
  border: 1px solid var(--line);
  min-width: 90px;
}
.rate-badge-label {
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--muted);
  line-height: 1.1;
}
.rate-badge-val {
  font-family: var(--font-data);
  font-size: 13px;
  font-weight: 800;
  color: #ececee;
}
.rate-badge.rate-model {
  background: #131316;
  border-color: rgba(89, 207, 153, 0.35);
}
.rate-badge.rate-model .rate-badge-label {
  color: #6ecfb3;
}
.rate-badge.rate-model .rate-badge-val {
  color: #6ecfb3;
}
.rate-badge.rate-history {
  background: #131316;
  border-color: #2a2a2f;
}
.rate-badge.rate-history small {
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
}
@media (max-width: 520px) {
  .alert-event-header {
    flex-wrap: wrap;
    gap: 8px;
  }
  .alert-dual-rate {
    width: 100%;
    justify-content: space-between;
  }
  .rate-badge {
    flex: 1;
    align-items: center;
    min-width: 0;
  }
}

.alert-event-rate-box {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.alert-event-rate-box .rate-num {
  font-family: var(--font-data);
  font-size: 14px;
  font-weight: 800;
  color: var(--emerald-400);
}
.alert-odd-tag {
  font-family: var(--font-data);
  font-size: 12px;
  font-weight: 750;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--amber-bg);
  color: var(--amber-400);
  border: 1px solid var(--amber-border);
}

/* Defense Matchup Badge */
.alert-defense-matchup {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 12px;
  margin: 4px 0 2px;
  background: #17171a;
  border: 1px solid var(--line);
}
.alert-defense-matchup.status-favorable, .incrocio-verdict.verdict-favorable {
  background: #26262b;
  border-color: #59cf84;
  color: #6ecf92;
}
.alert-defense-matchup.status-tough, .incrocio-verdict.verdict-tough {
  background: #1f1f23;
  border-color: rgba(207, 89, 89, 0.35);
  color: #cf6e6e;
}
.alert-defense-matchup.status-neutral, .incrocio-verdict.verdict-neutral {
  background: #17171a;
  border-color: #34343a;
  color: #c8c8ce;
}
.incrocio-verdict {
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  margin: 6px 0 10px;
  font-size: 12px;
  line-height: 1.45;
}
.incrocio-verdict strong {
  color: #ececee;
}

/* ==========================================================================
   SCANNER & SIGNALS ROOM (FotMob Clean Design)
   ========================================================================== */
.signal-top-row {
  margin-bottom: 12px;
}
.signal-presets {
  margin-bottom: 10px;
}
.signal-room-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 12px 0 28px;
}
.signal-event {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color .15s ease;
}
.signal-event:hover {
  border-color: var(--line-highlight);
}
.signal-event.signal-pro-locked {
  background: #17171a;
  border-color: #2a2a2f;
}

/* Card Topbar */
.sig-card-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.sig-league-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
}
.sig-league-badge {
  font-size: 12px;
  font-weight: 750;
  color: #c8c8ce;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sig-plan-badge {
  font-size: 12px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.badge-free {
  background: #131316;
  color: #6ecfb3;
  border: 1px solid var(--emerald-border);
}
.badge-pro {
  background: #131316;
  color: #cf926e;
  border: 1px solid var(--amber-border);
}
.sig-time {
  font-family: var(--font-data);
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}

/* Match Subtitle */
.sig-match-sub {
  font-size: 13px;
  font-weight: 650;
  color: #c8c8ce;
  padding-bottom: 5px;
  border-bottom: 1px solid #232327;
}

/* Hero Event Row */
.sig-hero-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 2px 0;
}
.sig-subject-col,
.sig-subject-block {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
  min-width: 0;
}
.sig-player-title-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}
.sig-player-name,
.sig-subject-title {
  margin: 0;
  font-size: 15.5px;
  font-weight: 800;
  color: #ececee;
  line-height: 1.25;
}
.sig-team-tag {
  font-size: 12px;
  font-weight: 600;
  color: #b0b0b7;
}
.sig-market-badge {
  display: inline-block;
  align-self: flex-start;
  font-size: 12px;
  font-weight: 700;
  color: #ececee;
  background: #131316;
  border: 1px solid #34343a;
  padding: 3px 8px;
  border-radius: 4px;
}
.sig-chips {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 2px;
}

/* Rate Column */
.sig-rate-block {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  flex-shrink: 0;
}
.sig-prob-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 800;
  font-family: var(--font-data);
}
.sig-prob-pill.prob-emerald {
  background: #131316;
  color: #6ecfb3;
  border: 1px solid var(--emerald-border);
}
.sig-prob-pill.prob-high {
  background: #131316;
  color: #6e87cf;
  border: 1px solid rgba(89, 141, 207, 0.35);
}
.sig-prob-pill.prob-locked {
  background: #131316;
  color: #b0b0b7;
  border: 1px solid var(--line);
  font-size: 12px;
  font-weight: 750;
  padding: 3px 8px;
}
.sig-rate-sub {
  font-size: 12px;
  color: var(--muted);
  font-family: var(--font-data);
}

/* Details Body & Footer */
.sig-details-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px solid #232327;
}
.sig-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 4px;
}
.signal-compare-link {
  font-size: 12px;
  font-weight: 700;
  color: var(--emerald);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.signal-compare-link:hover {
  text-decoration: underline;
}
.player-signal-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 6px;
  border-top: 1px solid #232327;
}

/* Gate Lock Box */
.pro-inline-gate {
  background: #17171a;
  border: 1px solid #2a2a2f;
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  margin: 6px 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pro-gate-blur {
  opacity: 0.35;
  filter: blur(1px);
  pointer-events: none;
}
.pro-gate-message {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.pro-gate-message p {
  margin: 0;
  font-size: 12px;
  color: #c8c8ce;
}

/* Sticky Bottom Navigation Bar (STRICTLY MOBILE ONLY < 768px) */
@media (max-width: 767px) {
  .bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #17171a;
    border-top: 1px solid var(--line);
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.12);
    display: flex;
    justify-content: center;
    gap: 4px;
    padding: 4px 10px calc(4px + env(safe-area-inset-bottom, 0px));
    min-height: 56px;
    z-index: 40;
  }
  .bottom-nav a {
    flex: 1;
    max-width: 140px;
    min-height: 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    transition: all .12s ease;
  }
  .bottom-nav a:hover { color: #ececee; }
  .bottom-nav a[aria-current="page"] {
    color: var(--emerald);
    background: #131316;
    font-weight: 700;
  }
  .bottom-nav a .icon { width: 19px; height: 19px; }
}

@media (min-width: 768px) {
  .bottom-nav {
    display: none !important;
    visibility: hidden !important;
  }
}

/* League Statistics & Study Table (FootyStats Benchmark) */
.league-stats-table-wrap {
  overflow-x: auto;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line);
  background: #17171a;
  margin: 10px 0;
}
.league-stats-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 12px;
}
.league-stats-table th {
  background: #17171a;
  color: #c8c8ce;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  white-space: nowrap;
}
.league-stats-table th.th-sorted {
  background: #26262b;
  color: #ececee;
  border-bottom-color: #59cfad;
}
.th-sort-link {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: inherit;
  text-decoration: none;
  width: 100%;
}
.th-sort-link:hover {
  color: #6ecfb3;
  text-decoration: none;
}
.th-arrow {
  font-size: 12px;
  color: #6ecfb3;
  margin-left: 2px;
}
.league-stats-table td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--line-subtle);
  color: #ececee;
  white-space: nowrap;
  font-family: var(--font-data);
}
.league-stats-table td.td-sorted {
  background-color: rgba(0, 0, 0, 0.6);
  font-weight: 650;
}
.league-stats-table tr:hover td {
  background: #131316;
}
.league-stats-table td.league-col {
  font-family: inherit;
  font-weight: 600;
}
.heat-emerald { color: var(--emerald-400) !important; font-weight: 700; }
.heat-amber { color: var(--amber-400) !important; font-weight: 700; }
.heat-rose { color: var(--rose-400) !important; font-weight: 700; }

.league-period-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #17171a;
  border: 1px solid #2a2a2f;
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  font-size: 12px;
  color: #c8c8ce;
  margin-bottom: 12px;
}
.league-period-pill .period-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #047857;
  box-shadow: 0 0 0 2px rgba(89, 207, 168, 0.2);
  flex-shrink: 0;
}

.league-stats-panel {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  margin: 10px 0;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.league-stats-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  font-size: 12.5px;
  font-weight: 650;
  cursor: pointer;
  background: #17171a;
  color: #ececee;
  border-bottom: 1px solid var(--line-subtle);
  list-style: none;
}
.league-stats-title {
  font-weight: 700;
  font-size: 13.5px;
  color: #ececee;
}
.league-stats-badge {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  background: #131316;
  border: 1px solid var(--line);
  padding: 2px 8px;
  border-radius: 9999px;
  margin-left: auto;
  margin-right: 10px;
}
.league-stats-panel > summary::-webkit-details-marker { display: none; }
.league-stats-panel > summary::after {
  content: '▾';
  color: var(--muted);
  font-size: 12px;
  transition: transform .15s ease;
}
.league-stats-panel[open] > summary::after {
  transform: rotate(180deg);
}

/* Plan Banners & Admin */
.plan-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  padding: 7px 12px;
  border-radius: var(--radius-sm);
  margin-bottom: 10px;
  font-size: 12px;
}
.plan-banner-pro {
  background: #131316;
  border: 1px solid var(--emerald-border);
  color: #6ecfb3;
}
.plan-banner-free {
  background: #17171a;
  border: 1px solid var(--line);
  color: var(--muted);
}
.plan-upgrade-btn {
  background: var(--emerald);
  color: #f4f4f5;
  border: 0;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}
.plan-switch-btn {
  background: #131316;
  color: #c8c8ce;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

/* Admin KPIs */
.admin-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.admin-kpi-card {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
}
.admin-kpi-label { font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; }
.admin-kpi-num {
  font-family: var(--font-data);
  font-size: 20px;
  font-weight: 800;
  color: #ececee;
}
.admin-kpi-card.kpi-pro .admin-kpi-num { color: var(--emerald); }
.admin-kpi-card.kpi-free .admin-kpi-num { color: var(--cyan-400); }
.admin-kpi-card.kpi-admin .admin-kpi-num { color: #a06ecf; }

.notice {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  font-size: 12px;
  color: var(--ink);
  margin-bottom: 10px;
}
.notice.success {
  background: var(--emerald-bg);
  border-color: var(--emerald-border);
  color: var(--emerald-400);
}
.notice.warning {
  background: var(--amber-bg);
  border-color: var(--amber-border);
  color: var(--amber-400);
}

/* ==========================================================================
   SUPER HOME DASHBOARD & SAAS STYLING
   ========================================================================== */
.home-dashboard {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

/* Home Hero */
.home-hero {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 24px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  margin-bottom: 20px;
}
.home-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #131316;
  border: 1px solid rgba(89, 207, 153, 0.35);
  color: var(--emerald);
  font-family: var(--font-data);
  font-size: 12px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 9999px;
  letter-spacing: 0.04em;
  margin-bottom: 12px;
}
.pulse-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--emerald-400);
  box-shadow: 0 0 8px rgba(89, 207, 164, 0.85);
  animation: bsPulse 2s infinite;
}
@keyframes bsPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.45; transform: scale(0.85); }
}
.home-hero-title {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: #ececee;
  margin: 0 auto 6px;
  max-width: 720px;
  line-height: 1.25;
}
.home-hero-sub {
  font-size: 13.5px;
  color: #c8c8ce;
  max-width: 620px;
  margin: 0 auto 16px;
  line-height: 1.45;
}

/* KPI Grid */
.home-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}
.kpi-card {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 2px;
  transition: all .15s ease;
}
.kpi-card:hover {
  border-color: #34343a;
  background: #131316;
}
.kpi-label {
  font-size: 12px;
  font-weight: 650;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.kpi-val {
  font-size: 24px;
  font-weight: 850;
  letter-spacing: -0.02em;
  color: #ececee;
  line-height: 1.1;
}
.kpi-sub {
  font-size: 12px;
  color: var(--muted-dark);
}
.text-emerald { color: var(--emerald) !important; }
.text-cyan { color: var(--cyan-400) !important; }
.text-amber { color: var(--amber-400) !important; }

/* Action Bar */
.home-action-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #047857;
  color: #f4f4f5 !important;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(89, 207, 163, 0.25);
  transition: transform .12s ease;
}
.btn-primary:hover { transform: translateY(-1px); background: #008754; }
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #131316;
  color: #ececee !important;
  border: 1px solid var(--line);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: all .12s ease;
}
.btn-secondary:hover {
  background: #26262b;
  border-color: #34343a;
  color: #ececee !important;
}

/* Section Header */
.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 10px;
  gap: 12px;
}
.section-tag {
  font-size: 12px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 2px;
}
.section-header h2 {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #ececee;
  margin: 0;
}
.section-more-link {
  font-size: 12px;
  font-weight: 650;
  color: var(--cyan-400);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

/* Match of the Day (MOTD) */
.motd-card {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.motd-teams {
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line-subtle);
}
.motd-team {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  flex: 1;
}
.motd-team-name {
  font-size: 15px;
  font-weight: 700;
  color: #ececee;
}
.motd-side-label {
  font-size: 12px;
  color: var(--muted-dark);
  text-transform: uppercase;
}
.motd-vs {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.vs-text {
  font-size: 17px;
  font-weight: 850;
  color: var(--muted-dark);
  font-family: var(--font-data);
}
.motd-league-pill {
  font-size: 12px;
  font-weight: 650;
  padding: 2px 7px;
  border-radius: 9999px;
  background: var(--surface-solid);
  border: 1px solid var(--line);
  color: var(--muted);
}
.motd-analytics {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
  gap: 10px;
  background: #17171a;
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  border: 1px solid var(--line);
}
.motd-market-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.market-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
}
.market-bar-group {
  display: flex;
  gap: 4px;
}
.out-item {
  font-size: 12px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  background: #17171a;
  border: 1px solid var(--line);
  color: #c8c8ce;
}
.out-active {
  background: #131316;
  border-color: rgba(89, 207, 153, 0.35);
  color: #6ecfb3;
  font-weight: 750;
}
.motd-verdict-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  background: #131316;
  border: 1px solid rgba(89, 207, 153, 0.35);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
}
.verdict-lead {
  font-size: 12px;
  color: var(--muted);
  display: block;
}
.verdict-pick {
  font-size: 14px;
  font-weight: 750;
  color: var(--emerald);
}
.motd-footer {
  text-align: right;
}
.btn-compare {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--cyan-400);
}

/* Home Grid Cards for Hot Trends */
.home-grid-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 10px;
}
.home-trend-card {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  transition: all .15s ease;
}
.home-trend-card:hover {
  background: var(--surface-hover);
  border-color: var(--line-highlight);
  transform: translateY(-1px);
}
.trend-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: var(--muted-dark);
}
.trend-subject {
  font-size: 14px;
  font-weight: 750;
  color: #ececee;
  margin: 0;
}
.trend-match-sub {
  font-size: 12px;
  margin: 0 0 2px;
}
.trend-market-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 2px 0;
}
.market-badge {
  font-size: 12px;
  font-weight: 700;
  color: #ececee;
  background: #131316;
  border: 1px solid var(--line);
  padding: 2px 7px;
  border-radius: 4px;
}
.trend-odds-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--muted);
  border-top: 1px solid var(--line-subtle);
  padding-top: 6px;
  margin-top: 2px;
}
.trend-link {
  font-size: 12px;
  font-weight: 700;
  color: var(--cyan-400);
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* SaaS PRO Showcase Card */
.pro-showcase-card {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.pro-badge-glow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  font-family: var(--font-data);
  color: var(--amber-400);
  letter-spacing: 0.05em;
  margin-bottom: 2px;
}
.pro-showcase-header h2 {
  font-size: 20px;
  font-weight: 850;
  color: #ececee;
  margin: 0 0 4px;
}
.pro-showcase-sub {
  font-size: 13.5px;
  color: #c8c8ce;
  line-height: 1.45;
  margin: 0;
}
.pro-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.pro-feature-item {
  display: flex;
  gap: 10px;
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 12px;
}
.pro-feature-item .feature-icon {
  font-size: 20px;
  flex-shrink: 0;
}
.pro-feature-item strong {
  display: block;
  font-size: 13px;
  font-weight: 750;
  color: #ececee;
  margin-bottom: 2px;
}
.pro-feature-item p {
  font-size: 12px;
  color: #c8c8ce;
  line-height: 1.4;
  margin: 0;
}
.pro-cta-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  border-top: 1px solid rgba(207, 163, 89, 0.287);
  padding-top: 14px;
}
.pro-pricing-tag {
  display: flex;
  align-items: baseline;
  gap: 4px;
  flex-wrap: wrap;
}
.price-val {
  font-size: 26px;
  font-weight: 900;
  color: #ececee;
}
.price-cycle {
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}
.price-note {
  display: block;
  width: 100%;
  font-size: 12px;
  color: var(--muted-dark);
}
.pro-cta-buttons {
  display: flex;
  align-items: center;
  gap: 10px;
}
.btn-pro-activate {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #047857;
  color: #f4f4f5 !important;
  font-size: 13.5px;
  font-weight: 800;
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(89, 207, 163, 0.25);
  transition: transform .12s ease;
}
.btn-pro-activate:hover { transform: scale(1.02); }
.btn-pro-outline {
  font-size: 12px;
  font-weight: 650;
  color: var(--muted);
  text-decoration: underline;
}

/* Home Footer CTA */
.home-footer-cta {
  text-align: center;
  margin-top: 14px;
}
.btn-wide-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  padding: 10px 24px;
  border-radius: var(--radius-sm);
  width: 100%;
  max-width: 480px;
  text-decoration: none;
  transition: all .15s ease;
}
.btn-wide-secondary:hover {
  background: var(--surface-hover);
  border-color: var(--line-highlight);
}

/* Pricing Page Grid */
.pricing-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
  margin-bottom: 24px;
}
.pricing-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  position: relative;
}
.pricing-card-pro {
  background: #17171a;
  border: 2px solid #59cfad;
  box-shadow: 0 4px 16px rgba(89, 207, 163, 0.08);
}
.pro-ribbon {
  position: absolute;
  top: 12px;
  right: 14px;
  font-family: var(--font-data);
  font-size: 12px;
  font-weight: 800;
  background: #047857;
  color: #f4f4f5;
  padding: 3px 8px;
  border-radius: 4px;
  letter-spacing: 0.05em;
}
.plan-type-badge {
  font-size: 12px;
  font-weight: 750;
  padding: 2px 7px;
  border-radius: 4px;
  text-transform: uppercase;
}
.plan-free-badge { background: var(--surface-solid); color: var(--muted); }
.plan-pro-badge { background: var(--amber-bg); color: var(--amber-400); border: 1px solid var(--amber-border); }
.pricing-header h3 { font-size: 20px; font-weight: 800; color: #ececee; margin: 8px 0 4px; }
.plan-cost { font-size: 28px; font-weight: 900; color: #ececee; margin-bottom: 8px; }
.plan-cost small { font-size: 13px; font-weight: 500; color: var(--muted); }
.plan-desc { font-size: 12.5px; color: var(--muted); min-height: 38px; line-height: 1.4; margin-bottom: 16px; }
.plan-features-list { list-style: none; padding: 0; margin: 0 0 20px; display: flex; flex-direction: column; gap: 8px; font-size: 12.5px; color: var(--ink); }
.plan-features-list li.disabled { color: var(--muted-dark); }
.plan-action { margin-top: auto; }
.btn-current-plan { display: block; text-align: center; padding: 10px; background: var(--surface-solid); border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: 13px; font-weight: 700; color: var(--muted); }
.btn-pro-current { background: var(--amber-bg); color: var(--amber-400); border-color: var(--amber-border); }
.btn-pro-cta { width: 100%; display: flex; align-items: center; justify-content: center; background: #047857; color: #f4f4f5 !important; padding: 11px; font-size: 13.5px; font-weight: 800; }
.btn-plan-switch { display: block; text-align: center; padding: 9px; font-size: 12px; color: var(--muted); text-decoration: underline; }

/* League Matrix Guide Box */
.league-guide-box,
.footystats-guide-box {
  background: var(--surface-solid);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 14px 16px;
  margin-bottom: 14px;
}
.league-guide-box h3,
.footystats-guide-box h3 { font-size: 14px; font-weight: 750; color: #ececee; margin: 0 0 6px; }
.league-guide-box p,
.footystats-guide-box p { font-size: 12px; color: var(--muted); line-height: 1.4; margin: 0 0 8px; }
.league-guide-box ul,
.footystats-guide-box ul { padding-left: 18px; margin: 0; font-size: 12px; line-height: 1.5; color: var(--ink-secondary); }

/* ==========================================================================
   AUTH & FREEMIUM LOGIN/REGISTRATION (Modern Sports Terminal Design)
   ========================================================================== */
.auth-body {
  min-height: 100vh;
  margin: 0;
  padding: 32px 16px 48px;
  background: #17171a;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: var(--font-text);
  color: var(--ink);
}

.auth-container {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.auth-hero {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.auth-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}

.auth-claim-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(89, 207, 168, 0.16);
  border: 1px solid rgba(89, 207, 168, 0.322);
  color: #6ecfab;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: 999px;
  margin: 0;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.auth-hero h1 {
  font-size: 23px;
  font-weight: 850;
  color: #ececee;
  line-height: 1.25;
  letter-spacing: -0.02em;
  margin: 4px 0 2px;
}

.auth-lead {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.45;
  margin: 0;
  max-width: 440px;
}

/* Glassmorphic Auth Card */
.auth-card {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
}

.auth-demo-bar {
  margin-bottom: 16px;
}

.auth-demo-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, rgba(89, 207, 168, 0.352) 0%, rgba(89, 207, 168, 0.16) 100%);
  border: 1px solid rgba(89, 207, 168, 0.517);
  color: #6ecfab !important;
  font-size: 13px;
  font-weight: 750;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all .15s ease;
  box-shadow: 0 2px 12px rgba(89, 207, 168, 0.15);
}

.auth-demo-btn:hover {
  background: rgba(89, 207, 168, 0.448);
  border-color: #59cfa4;
  transform: translateY(-1px);
}

.auth-divider {
  display: flex;
  align-items: center;
  text-align: center;
  margin: 18px 0;
  color: #b0b0b7;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.auth-divider::before,
.auth-divider::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.auth-divider span {
  padding: 0 12px;
}

/* Segmented Control for Login vs Register */
.auth-nav-tabs {
  display: flex;
  background: #131316;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 3px;
  gap: 3px;
  margin-bottom: 18px;
}

.auth-nav-tab {
  flex: 1;
  border: none;
  background: transparent;
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 700;
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
  min-height: 38px;
  transition: all .12s ease;
}

.auth-nav-tab.is-active {
  background: #17171a;
  color: #ececee;
  border: 1px solid #34343a;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* Modern Input Styles in Auth Forms */
.auth-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.auth-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  font-weight: 650;
  color: #b0b0b7;
}

.auth-form label code {
  color: var(--cyan-400);
  background: rgba(89, 195, 207, 0.16);
  padding: 1px 4px;
  border-radius: 3px;
  font-family: var(--font-data);
  font-size: 12px;
}

.auth-form input[type="text"],
.auth-form input[type="email"],
.auth-form input[type="password"] {
  background: #17171a;
  border: 1px solid #34343a;
  color: #ececee;
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  font-size: 13.5px;
  min-height: 44px;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.auth-form input:focus {
  border-color: var(--cyan-400);
  box-shadow: 0 0 0 3px rgba(89, 195, 207, 0.15);
  outline: none;
}

.btn-auth-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 44px;
  padding: 11px 16px;
  background: #047857;
  border: 1px solid #59cfad;
  color: #f4f4f5;
  font-size: 13.5px;
  font-weight: 800;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all .15s ease;
  margin-top: 4px;
}

.btn-auth-submit:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}

.btn-auth-secondary {
  background: var(--surface-solid);
  border: 1px solid var(--line);
  color: var(--ink);
}

.btn-auth-secondary:hover {
  background: var(--surface-hover);
  border-color: var(--line-highlight);
}

.auth-plans-preview {
  margin-top: 8px;
}

.auth-legal {
  font-size: 12px;
  color: #b0b0b7;
  text-align: center;
  line-height: 1.5;
  margin: 14px 0 0;
}

/* ==========================================================================
   SEMAFORI (TRAFFIC LIGHT PROPS CHARTS & MINI STRIPS)
   ========================================================================== */
.uo-unified {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 16px 20px;
  margin: 18px 0;
}
.uo-unified-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.uo-unified-head h2 {
  font-size: 16px;
  font-weight: 800;
  color: #ececee;
  margin: 0;
}
.uo-unified-head small {
  font-size: 12px;
  color: var(--cyan-400);
  font-weight: 600;
}
.uo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 14px;
  margin: 14px 0;
}
.props-semaforo {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.props-semaforo-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 700;
  color: #ececee;
}
.props-semaforo-title {
  color: #ececee;
}
.props-pill {
  font-size: 12px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 4px;
  font-family: var(--font-data);
}
.props-pill-emerald, .props-pill-green {
  background: rgba(89, 207, 168, 0.24);
  color: #6ecfab;
  border: 1px solid rgba(89, 207, 168, 0.46);
}
.props-pill-rose, .props-pill-red {
  background: rgba(207, 89, 109, 0.24);
  color: #fda4af;
  border: 1px solid rgba(207, 89, 109, 0.46);
}
.props-pill-amber, .props-pill-neutral {
  background: rgba(207, 163, 89, 0.24);
  color: #cfb46e;
  border: 1px solid rgba(207, 163, 89, 0.46);
}
.props-svg {
  display: block;
  width: 100%;
  max-width: 320px;
  height: 80px;
  margin: 6px auto 0;
  overflow: visible;
}
.props-bar-hit {
  fill: #6ecfb3 !important;
  transition: opacity .15s;
}
.props-bar-miss {
  fill: #cf6e85 !important;
  transition: opacity .15s;
}
.props-bar-slot:hover rect {
  filter: brightness(1.2);
}
.props-baseline {
  stroke: #a1a1aa;
  stroke-width: 1;
}
.props-threshold-line {
  stroke: #cf986e;
  stroke-width: 1.5;
}
.props-threshold-text {
  fill: #cfb46e;
  font-size: 12px;
  font-weight: 700;
  font-family: var(--font-data);
}
.props-bar-val {
  fill: #ececee;
  font-size: 12px;
  font-weight: 700;
  font-family: var(--font-data);
}
.props-bar-date {
  fill: #b0b0b7;
  font-size: 12px;
  font-family: var(--font-data);
}

/* Mini Semaforo Pills (in Cards) */
.mini-semaforo {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-family: var(--font-data);
  vertical-align: middle;
}
.ms-label {
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
  margin-right: 2px;
}
.ms-pill {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 26px;
  border-radius: 4px;
  padding: 1px 2px;
  line-height: 1;
  border: 1px solid transparent;
}
.ms-pill b {
  font-size: 12px;
  font-weight: 800;
}
.ms-pill i {
  font-size: 12px;
  font-style: normal;
  opacity: 0.8;
  font-weight: 600;
  margin-top: 1px;
}
.ms-hit {
  background: rgba(89, 207, 168, 0.32);
  color: #6ecfab;
  border-color: rgba(89, 207, 168, 0.517);
}
.ms-miss {
  background: rgba(207, 89, 109, 0.32);
  color: #fda4af;
  border-color: rgba(207, 89, 109, 0.517);
}
.ms-na {
  background: rgba(255, 255, 255, 0.09);
  color: #b0b0b7;
  border-color: rgba(255, 255, 255, 0.18);
}

/* ==========================================================================
   PROPS TIER & ADM BOOKMAKER BANCABILITY BADGES
   ========================================================================== */
.props-tier-wrap {
  margin: 10px 0 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.props-tier-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 9999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  transition: all .2s ease;
  cursor: help;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}
.props-tier-pill strong {
  font-weight: 800;
}
.props-tier-pill .pt-books {
  font-size: 12px;
  opacity: 0.85;
  font-family: var(--font-data);
}
.props-tier-1 {
  background: rgba(89, 207, 168, 0.192);
  border: 1px solid rgba(89, 207, 168, 0.517);
  color: #6ecfab;
}
.props-tier-2 {
  background: rgba(207, 163, 89, 0.192);
  border: 1px solid rgba(207, 163, 89, 0.517);
  color: #cfb46e;
}
.props-tier-3 {
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: #a1a1aa;
}

/* Tier Notice in Players and Signals views */
.props-tier-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: rgba(255, 255, 255, 0.36);
  border: 1px solid rgba(89, 171, 207, 0.345);
  border-left: 3px solid #59abcf;
  border-radius: var(--radius-sm, 6px);
  padding: 10px 14px;
  margin: 10px 0 16px;
  font-size: 12px;
  line-height: 1.45;
  color: #f4f4f5;
}
.props-tier-notice .ptn-icon {
  font-size: 15px;
  flex-shrink: 0;
  margin-top: 1px;
}
.props-tier-notice strong {
  color: #6eb1cf;
}

/* Enhanced Empty States with Fast-Action Presets */
.signal-empty-state {
  text-align: center;
  padding: 32px 20px;
  background: #17171a;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  margin: 16px 0;
}
.signal-empty-state h2 {
  font-size: 17px;
  font-weight: 700;
  color: #ececee;
  margin-bottom: 8px;
}
.signal-empty-state p {
  color: var(--muted);
  font-size: 13.5px;
  max-width: 520px;
  margin: 0 auto 18px;
  line-height: 1.5;
}
.empty-action-strip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}
.empty-action-title {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #b0b0b7;
}
.empty-btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.button-preset {
  background: #131316;
  color: #ececee;
  border: 1px solid #34343a;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 6px;
  min-height: 36px;
  text-decoration: none;
  transition: all .15s ease;
}
.button-preset:hover {
  background: #131316;
  color: #6ecfb3;
  border-color: rgba(89, 207, 153, 0.35);
}

/* Track Record Transparency & Audit Panel */
.kpi-transparency-link {
  display: inline-block;
  margin-top: 6px;
  font-size: 12px;
  color: var(--cyan);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.kpi-transparency-link:hover {
  color: #6eaccf;
}

.track-record-panel {
  margin: 20px 0 14px;
  padding: 16px 18px;
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.transparency-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}
.transparency-icon {
  font-size: 24px;
  line-height: 1;
}
.transparency-title {
  font-size: 16px;
  font-weight: 700;
  color: #ececee;
  margin: 0;
}
.transparency-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.t-kpi-card {
  background: #17171a;
  border: 1px solid #2a2a2f;
  border-radius: var(--radius-sm, 6px);
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
}
.t-kpi-card.highlight-card {
  background: #131316;
  border-color: rgba(89, 207, 130, 0.35);
}
.t-kpi-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 6px;
}
.t-badge {
  font-size: 12px;
  font-weight: 750;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: 0.03em;
}
.t-badge.badge-emerald {
  background: #26262b;
  color: #6ecf92;
  border: 1px solid #59cf84;
}
.t-badge.badge-cyan {
  background: #1f1f23;
  color: #6eaccf;
  border: 1px solid #59a9cf;
}
.t-badge.badge-amber {
  background: rgba(207, 183, 89, 0.12);
  color: #cf986e;
  border: 1px solid rgba(207, 183, 89, 0.35);
}
.t-scope-tag {
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
}
.t-kpi-num {
  font-size: 26px;
  font-weight: 800;
  color: #ececee;
  line-height: 1.1;
  margin: 2px 0;
}
.highlight-card .t-kpi-num {
  color: #6ecfb3;
}
.t-kpi-ratio {
  font-size: 12px;
  color: #c8c8ce;
  margin-bottom: 8px;
}
.t-kpi-desc {
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
  margin: 0;
  margin-top: auto;
}

/* Scanner Distinct Sections (Free Usable First vs PRO Included) */
.signals-section-divider {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 14px;
  border-radius: var(--radius-sm, 6px);
  margin: 16px 0 10px;
}
.signals-section-divider.section-free {
  background: #131316;
  border: 1px solid rgba(89, 207, 130, 0.35);
  border-left: 4px solid #59cfad;
}
.signals-section-divider.section-pro {
  background: #131316;
  border: 1px solid rgba(207, 183, 89, 0.35);
  border-left: 4px solid #cf8c59;
}
.section-title-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}
.section-tag {
  font-size: 12px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: 0.04em;
}
.section-tag.tag-free {
  background: #26262b;
  color: #6ecf92;
}
.section-tag.tag-pro {
  background: rgba(207, 183, 89, 0.12);
  color: #cf986e;
}
.signals-section-divider h3 {
  font-size: 14px;
  font-weight: 750;
  margin: 0;
  color: #ececee;
}
.section-sub {
  font-size: 12px;
  color: var(--muted);
}
.empty-free-notice {
  background: #17171a;
  border: 1px dashed #34343a;
  border-radius: var(--radius-sm, 6px);
  padding: 14px 16px;
  margin: 10px 0 16px;
  font-size: 13px;
  line-height: 1.5;
  color: #c8c8ce;
}
.empty-free-notice a {
  color: #6ecfb3;
  font-weight: 600;
  text-decoration: underline;
}

/* Filter Hints & Sample Callout */
.field-hint {
  display: block;
  font-size: 12px;
  color: var(--muted);
  font-weight: 400;
  line-height: 1.35;
  margin-top: 3px;
}
.field-hint-inline {
  font-size: 12px;
  color: var(--muted);
  font-weight: 400;
}
.filter-sample-callout {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  background: #17171a;
  border: 1px solid #2a2a2f;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.45;
  color: #c8c8ce;
  margin: 4px 0 8px;
}
.fsc-tag {
  font-weight: 750;
  color: #ececee;
  flex-shrink: 0;
}

/* ==========================================================================
   TOP PRONTI MATCH EXPANSION & COMPARISON ROWS (FotMob / Professional sports UI)
   ========================================================================== */

/* Match-level summary banner */
.match-summary-banner {
  background: #17171a;
  border: 1px solid #2a2a2f;
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  margin-bottom: 12px;
}
.msb-status-line {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #c8c8ce;
}
.msb-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #047857;
  box-shadow: 0 0 0 2px rgba(89, 207, 168, 0.2);
  flex-shrink: 0;
}
.msb-count-text strong {
  color: #ececee;
}
.msb-top-pick {
  margin-top: 8px;
  padding: 8px 10px;
  background: #131316;
  border: 1px solid rgba(89, 207, 130, 0.35);
  border-radius: 6px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  font-size: 12.5px;
}
.msb-pick-pill {
  font-size: 12px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  background: #166534;
  color: #f4f4f5;
  padding: 2px 7px;
  border-radius: 4px;
}
.msb-pick-info strong {
  color: #ececee;
}
.msb-pick-stats {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: #c8c8ce;
  margin-left: auto;
}
@media(max-width: 640px) {
  .msb-pick-stats {
    width: 100%;
    margin-left: 0;
  }
}

/* Comparison Rows Container */
.alert-rows-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}

/* Structured Comparison Row (.alert-row-item) */
.alert-row-item {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  transition: all .15s ease;
  overflow: hidden;
}
.alert-row-item:hover {
  border-color: #34343a;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
}
.alert-row-item[open] {
  border-color: #34343a;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}
.alert-row-item[open] > .alert-row-summary {
  background: #17171a;
  border-bottom: 1px solid var(--line);
}
.alert-row-item[open] .row-expand-arrow {
  transform: rotate(180deg);
}

/* Summary Row Grid (2-Row Layout: Full-width Subject/Market on Row 1, Indicators on Row 2) */
.alert-row-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  gap: 8px 10px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.alert-row-summary::-webkit-details-marker { display: none; }

.row-cell-main {
  flex: 1 1 calc(100% - 34px);
  min-width: 0;
  order: 1;
}
.row-expand-arrow {
  order: 2;
  font-size: 12px;
  color: #b0b0b7;
  transition: transform .15s ease;
  padding: 2px 4px;
}
.row-subject-wrap {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 3px;
}
.row-subject-name {
  font-size: 13.5px;
  font-weight: 750;
  color: #ececee;
}
.row-subject-sub {
  font-size: 12px;
  color: var(--muted);
}
.row-market-name {
  font-size: 13.5px;
  font-weight: 700;
  color: #ececee;
  line-height: 1.3;
}

/* Stats Group (Second Row, Full Width) */
.row-stats-group {
  order: 3;
  flex: 1 1 100%;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 8px 12px;
  padding-top: 8px;
  margin-top: 2px;
  border-top: 1px solid #2a2a2f;
}
@media (max-width: 480px) {
  .row-stats-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}
.row-stat-box {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.row-stat-box .stat-label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #b0b0b7;
}
.row-stat-box .stat-number {
  font-size: 13px;
  font-weight: 750;
  color: #ececee;
}
.row-stat-box .stat-sub {
  font-size: 12px;
  color: var(--muted);
}
.stat-defense {
  min-width: 0;
}
.opp-stat-badge {
  font-size: 12px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  margin-top: 1px;
  display: inline-block;
  white-space: nowrap;
  align-self: flex-start;
}
.badge-favorable { background: #26262b; color: #6ecf92; }
.badge-tough { background: #1f1f23; color: #cf6e6e; }
.badge-neutral { background: #131316; color: #c8c8ce; }

/* Odds Box */
.stat-odds {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  min-width: 0;
}
.odd-val {
  font-size: 12px;
  color: #c8c8ce;
}
.odd-val small {
  font-size: 12px;
  color: #b0b0b7;
  text-transform: uppercase;
}
.odd-val strong {
  font-size: 12.5px;
  color: #ececee;
}
.edge-pill {
  font-size: 12px;
  font-weight: 750;
  background: #26262b;
  color: #6e84cf;
  padding: 1px 5px;
  border-radius: 3px;
}

/* Row Detail Drawer */
.alert-row-detail {
  padding: 14px;
  background: #17171a;
  border-top: 1px solid var(--line-subtle);
}

/* Detail Semaforo Strip & Legend */
.row-detail-semaforo {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  margin-bottom: 12px;
}
.semaforo-strip-wrap {
  overflow-x: auto;
}
.semaforo-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  color: #b0b0b7;
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed #2a2a2f;
}
.leg-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.leg-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
}
.leg-dot.hit { background: #047857; }
.leg-dot.miss { background: #be123c; }

.row-detail-footer {
  margin-top: 12px;
  display: flex;
  justify-content: flex-end;
}

/* Notice for Free user when a match has 0 free selections */
.empty-free-match-notice {
  background: #131316;
  border: 1px solid rgba(207, 183, 89, 0.35);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  font-size: 12.5px;
  color: #cf926e;
  line-height: 1.45;
  margin-bottom: 10px;
}

/* Collapsible PRO Group Drawer */
.alert-pro-group-drawer {
  background: #17171a;
  border: 1px solid #34343a;
  border-radius: var(--radius-sm);
  margin: 12px 0 6px;
  overflow: hidden;
}
.pro-group-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 14px;
  cursor: pointer;
  list-style: none;
  background: #17171a;
  user-select: none;
}
.pro-group-summary::-webkit-details-marker { display: none; }
.alert-pro-group-drawer[open] .pro-group-summary {
  background: #131316;
  border-bottom: 1px solid #2a2a2f;
}
.pro-group-title-col {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  font-size: 12.5px;
}
.pro-badge-tag {
  background: #3a3a41;
  color: #f4f4f5;
  font-size: 12px;
  font-weight: 750;
  padding: 2px 6px;
  border-radius: 4px;
}
.pro-group-counts {
  color: #b0b0b7;
  font-size: 12px;
}
.pro-group-toggle-btn {
  font-size: 12px;
  font-weight: 600;
  color: #6ecfb3;
  white-space: nowrap;
}
.pro-group-body {
  padding: 12px 14px;
  background: #17171a;
}
.pro-group-unlock-box {
  background: #131316;
  border: 1px solid rgba(89, 207, 130, 0.35);
  border-radius: 6px;
  padding: 10px 14px;
  text-align: center;
  margin-bottom: 10px;
}
.pro-group-unlock-box p {
  font-size: 12px;
  color: #6ecf92;
  margin: 0 0 8px;
  line-height: 1.4;
}
.pro-group-preview-list {
  display: flex;
  flex-direction: column;
  border: 1px solid #2a2a2f;
  border-radius: 6px;
  overflow: hidden;
}
.pro-preview-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  font-size: 12px;
  border-bottom: 1px solid #232327;
  gap: 8px;
}
.pro-preview-row:last-child {
  border-bottom: none;
}
.pro-row-lock {
  font-size: 12px;
  color: #b0b0b7;
}
.pro-row-desc {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.pro-row-subj {
  font-weight: 700;
  color: #ececee;
}
.pro-row-mkt {
  color: #c8c8ce;
}
.pro-row-rate {
  font-size: 12px;
  font-weight: 650;
  color: #6ecfb3;
  white-space: nowrap;
}

/* Frequency Bar SVG Fix */
.frequency-bar,
svg.frequency-bar {
  display: block;
  width: 100%;
  height: 5px;
  margin-top: 6px;
}
.frequency-bar .track,
svg.frequency-bar .track {
  fill: #f4f4f5 !important;
}
.frequency-bar .fill,
svg.frequency-bar .fill {
  fill: #6ecfb3 !important;
}
.frequency-bar.amber .fill,
svg.frequency-bar.amber .fill {
  fill: #cf986e !important;
}
.frequency-bar.rose .fill,
svg.frequency-bar.rose .fill,
.frequency-bar.red .fill,
svg.frequency-bar.red .fill {
  fill: #cf6e85 !important;
}

/* Dynamic Match Expand/Close text and arrow */
.match-expand-btn .expand-label::after {
  content: "Espandi";
}
.alert-match[open] .match-expand-btn .expand-label::after {
  content: "Chiudi";
}
.alert-match[open] .match-expand-btn .expand-icon {
  transform: rotate(180deg);
}

/* Recommended Pick Highlighted Row */
.alert-row-item.row-recommended {
  border-color: #59cf84;
  background: #17171a;
  box-shadow: 0 1px 3px rgba(89, 207, 168, 0.08);
}
.alert-row-item.row-recommended > .alert-row-summary {
  background: #131316;
}

/* Trend Card Pill Type Label */
.pill-type-label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  margin-right: 4px;
  opacity: 0.85;
}

/* Scanner PRO Match Clusters */
.pro-match-cluster {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  margin-bottom: 12px;
  overflow: hidden;
}
.pro-cluster-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background: #17171a;
  border-bottom: 1px solid var(--line-subtle);
  font-size: 12px;
  gap: 8px;
}
.pro-cluster-league {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  background: #26262b;
  color: #c8c8ce;
  padding: 1px 6px;
  border-radius: 4px;
}
.pro-cluster-title {
  flex: 1;
  color: #ececee;
}
.pro-cluster-count {
  font-size: 12px;
  color: #b0b0b7;
}

/* Opponent Strip (anti-overlap fix) */
.opponent-strip {
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  margin: 10px 0;
  font-size: 12px;
}
.opponent-strip-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 12px;
}
.opponent-badge {
  font-size: 12px;
  font-weight: 650;
  padding: 2px 7px;
  border-radius: 4px;
  white-space: nowrap;
}
.opp-favorable { background: #131316; border-color: rgba(89, 207, 130, 0.35); color: #6ecf92; }
.opp-tough { background: #131316; border-color: rgba(207, 89, 89, 0.35); color: #cf6e6e; }
.opp-neutral, .opp-small { background: #17171a; border-color: #2a2a2f; color: #c8c8ce; }

/* Match Verdict Overlap Fix */
.mv-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.mv-sum-left {
  flex: 1;
  min-width: 0;
}
.mv-expand-btn {
  flex-shrink: 0;
}
.mv-sum-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
}

/* Campionati Matrix: Enable smooth horizontal scrolling on mobile/tablets while preserving all columns */
.league-stats-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.league-stats-table th.col-secondary,
.league-stats-table td.col-secondary {
  white-space: nowrap;
}

/* Value Strip / Fair Odd Laplace Correction Note */
.value-corr-note {
  font-size: 12px;
  font-weight: 500;
  color: #b0b0b7;
  margin-left: 4px;
}

/* Scanner Toolbar & Density Toggle */
.signal-toolbar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0 16px;
  padding: 8px 12px;
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.signal-sort-group {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.toolbar-label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
  margin-right: 2px;
}
.sort-chip {
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
  color: #c8c8ce;
  background: #17171a;
  border: 1px solid var(--line);
  padding: 4px 10px;
  border-radius: 9999px;
  transition: all .15s ease;
}
.sort-chip:hover {
  border-color: #45454d;
  color: #ececee;
}
.sort-chip.active {
  background: #3a3a41;
  color: #f4f4f5;
  border-color: #52525b;
  font-weight: 700;
}
.signal-density-group {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #1f1f23;
  padding: 2px;
  gap: 2px;
  margin-left: auto;
}
.density-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  padding: 4px 9px;
  border-radius: 6px;
  text-decoration: none;
  transition: all .12s ease;
}
.density-chip:hover {
  color: #ececee;
}
.density-chip.active {
  background: #17171a;
  color: #ececee;
  font-weight: 700;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.32);
}

/* Scanner High-Density Compact Rows (Accordion) */
details.player-compact-row {
  display: block;
  background: #17171a;
  border: 1px solid var(--line);
  border-radius: 12px;
  margin-bottom: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  transition: border-color .15s ease, box-shadow .15s ease;
}
details.player-compact-row {
  margin-bottom: 4px;
}
details.player-compact-row:hover {
  border-color: #34343a;
}
details.player-compact-row[open] {
  border-color: #45454d;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.24);
}
details.player-compact-row.signal-pro-locked {
  background: #17171a;
  border-style: dashed;
}
.player-compact-summary {
  display: grid;
  grid-template-columns: minmax(160px, 1.2fr) minmax(180px, 1.5fr) minmax(120px, auto) 20px;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  cursor: pointer;
  user-select: none;
  list-style: none;
}
.player-compact-summary::-webkit-details-marker { display: none; }
.player-compact-summary::marker { display: none; }

.pcr-col-match {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.pcr-meta {
  display: flex;
  align-items: center;
  gap: 6px;
}
.pcr-time {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.pcr-match-name {
  font-size: 13px;
  font-weight: 700;
  color: #ececee;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pcr-col-player {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.pcr-player-heading {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.pcr-name {
  font-size: 13.5px;
  font-weight: 700;
  color: #ececee;
}
.pcr-team {
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
}
.pcr-market-label {
  font-size: 12px;
  font-weight: 600;
  color: #c8c8ce;
}

.pcr-col-stats {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  text-align: right;
  min-width: 0;
}
.pcr-stat-main {
  display: flex;
  align-items: center;
  gap: 6px;
}
.pcr-rate-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 6px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.pcr-rate-pill.prob-emerald {
  background: #131316;
  color: #6ecfb3;
  border: 1px solid rgba(89, 207, 153, 0.35);
}
.pcr-rate-pill.prob-high {
  background: #131316;
  color: #6e87cf;
  border: 1px solid rgba(89, 141, 207, 0.35);
}
.pcr-sample {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
.pcr-odd-row {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--muted);
}
.pcr-fair strong {
  color: #ececee;
  font-weight: 700;
}
.pcr-edge-tag {
  background: #131316;
  color: #cf6e6e;
  border: 1px solid rgba(207, 89, 89, 0.35);
  font-size: 12px;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 4px;
}
.pcr-chevron {
  font-size: 13px;
  color: var(--muted);
  text-align: center;
  transition: transform .2s ease;
}
details.player-compact-row[open] .pcr-chevron {
  transform: rotate(180deg);
}

.player-compact-body {
  padding: 14px;
  border-top: 1px solid var(--line-subtle);
  background: #17171a;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

@media(max-width: 760px) {
  .player-compact-summary {
    grid-template-columns: 1fr auto 18px;
    gap: 4px 8px;
    padding: 7px 10px;
  }
  .pcr-col-match {
    grid-column: 1 / 2;
  }
  .pcr-col-stats {
    grid-column: 2 / 3;
  }
  .pcr-chevron {
    grid-column: 3 / 4;
  }
  .pcr-col-player {
    grid-column: 1 / 3;
    padding-top: 2px;
    border-top: 1px dashed var(--line-subtle);
  }
}

/* Coverage and Partial Badges */
.player-coverage-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  color: #cf986e;
  background: rgba(207, 183, 89, 0.12);
  border: 1px solid rgba(207, 183, 89, 0.35);
  border-radius: 4px;
  padding: 1px 5px;
  margin-left: 4px;
  vertical-align: middle;
}

.partial-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #cf986e;
  margin-left: 3px;
  vertical-align: super;
}

/* Player ranking spacing on desktop */
@media(min-width: 768px) {
  .player-list {
    margin-top: 14px;
    gap: 8px;
  }
}

/* Secondary text contrast enhancement */
.text-muted,
.stat-sub,
.trend-match-sub {
  color: #b0b0b7;
}
.text-rose {
  color: #cf6e83 !important;
}

/* Verdict Tag Semantic Distinction: Probable vs Value */
.mv-best-tag.tag-value {
  display: inline-block;
  background: #26262b;
  color: #6ecf92;
  border: 1px solid #59cf84;
  padding: 2px 8px;
  border-radius: 4px;
  margin-bottom: 4px;
}
.mv-best-tag.tag-probable {
  display: inline-block;
  background: #1f1f23;
  color: #6eaccf;
  border: 1px solid rgba(89, 166, 207, 0.35);
  padding: 2px 8px;
  border-radius: 4px;
  margin-bottom: 4px;
}

/* Value Strip (High-Contrast Light Card inside Scanner & Signals) */
.value-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 9px 12px;
  margin: 8px 0 4px;
  background: #17171a;
  border: 1px solid #34343a;
  border-radius: var(--radius-sm);
  font-size: 12.5px;
  color: #c8c8ce;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}
.value-strip .value-fair,
.value-strip .value-book {
  color: #c8c8ce;
  font-weight: 500;
}
.value-strip .value-fair strong,
.value-strip .value-book strong {
  color: #ececee;
  font-weight: 800;
  font-size: 13.5px;
  margin-left: 2px;
}
.value-strip .value-edge-badge {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 750;
  padding: 3px 8px;
  border-radius: 6px;
  font-family: var(--font-data);
}
.value-strip .value-edge-badge.value-positive,
.value-strip .value-edge-badge.value-strong {
  background: #26262b;
  color: #6ecf92;
  border: 1px solid #59cf84;
}
.value-strip .value-edge-badge.value-neutral {
  background: #131316;
  color: #c8c8ce;
  border: 1px solid #34343a;
}

/* Active Filters Bar in Scanner */
.active-filters-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
  padding: 9px 14px;
  margin: 8px 0 14px;
  background: #17171a;
  border: 1px solid #2a2a2f;
  border-radius: var(--radius-sm);
  font-size: 12px;
}
.af-label {
  font-weight: 750;
  color: #c8c8ce;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.04em;
  margin-right: 4px;
}
.af-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  background: #17171a;
  border: 1px solid #34343a;
  border-radius: 6px;
  color: #c8c8ce;
  font-size: 12px;
  line-height: 1.3;
}
.af-pill strong {
  color: #ececee;
  margin-left: 4px;
}

/* Match Verdict Analytical Chain (2x2 High Contrast Grid) */
.mv-chain-grid,
.mv-chain-strip {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 12px 0 6px;
  padding: 0;
  background: transparent;
  border: none;
}
.mv-chain-card,
.mv-chain-node {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3px;
  padding: 11px 13px;
  background: #17171a;
  border: 1px solid #34343a;
  border-radius: var(--radius-sm);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
  min-height: 80px;
}
.mcn-label {
  font-size: 12px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #c8c8ce;
}
.mcn-val {
  font-size: 20px;
  font-weight: 800;
  font-family: var(--font-data);
  color: #ececee;
  line-height: 1.25;
}
.mcn-val.book-odd-line {
  color: #6eaccf;
}
.mcn-sub {
  font-size: 12px;
  font-weight: 500;
  color: #c8c8ce;
  line-height: 1.3;
}
.mcn-sep {
  display: none;
}
@media(max-width: 480px) {
  .mv-chain-grid,
  .mv-chain-strip {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .mv-chain-card,
  .mv-chain-node {
    padding: 9px 10px;
    min-height: 72px;
  }
  .mcn-val {
    font-size: 17px;
  }
}

/* League Table Toolbar & Extended Column View */
.league-table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 12px;
  padding: 8px 12px;
  background: #17171a;
  border: 1px solid #34343a;
  border-radius: var(--radius-sm);
}
.lt-view-switch {
  display: inline-flex;
  background: #26262b;
  border-radius: 8px;
  padding: 2px;
  gap: 2px;
}
.lt-switch-btn {
  font-size: 12px;
  font-weight: 650;
  padding: 5px 11px;
  border-radius: 6px;
  color: #c8c8ce;
  text-decoration: none;
  transition: all .15s ease;
}
.lt-switch-btn.active {
  background: #17171a;
  color: #ececee;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.32);
}
.lt-more-cols-link {
  font-size: 12px;
  font-weight: 650;
  color: #6eaccf;
  text-decoration: none;
}
.lt-more-cols-link:hover {
  text-decoration: underline;
}
.lt-scroll-hint {
  font-size: 12px;
  font-weight: 600;
  color: #6ecfb3;
  background: #26262b;
  border: 1px solid #59cf84;
  padding: 3px 8px;
  border-radius: 6px;
}
.lt-mobile-scroll-cue {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 7px 12px;
  margin: 4px 0 10px;
  background: #131316;
  border: 1px solid rgba(89, 207, 130, 0.35);
  border-radius: var(--radius-sm, 6px);
  font-size: 12px;
  font-weight: 600;
  color: #6ecf92;
}
.lt-cue-icon {
  font-size: 13px;
  font-weight: 700;
}
.lt-cue-arrow {
  display: inline-block;
  animation: nudge-right 1.8s ease-in-out infinite;
}
@keyframes nudge-right {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(4px); }
}
@media (min-width: 960px) {
  .lt-mobile-scroll-cue {
    display: none;
  }
}

.league-stats-table-outer {
  position: relative;
  margin: 10px 0;
}
.league-stats-table-outer::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 24px;
  background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(255, 255, 255, 0.06));
  pointer-events: none;
  border-top-right-radius: var(--radius-sm, 6px);
  border-bottom-right-radius: var(--radius-sm, 6px);
  z-index: 3;
}
@media (min-width: 960px) {
  .league-stats-table-outer.has-base::after {
    display: none;
  }
}

.league-stats-table.table-base {
  min-width: 530px;
}
.league-stats-table.table-extended {
  min-width: 820px;
}
.league-stats-table th.th-league {
  position: sticky;
  left: 0;
  background: #17171a;
  color: #c8c8ce;
  z-index: 2;
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.2);
}
.league-stats-table td.league-col {
  position: sticky;
  left: 0;
  background: #17171a;
  color: #ececee;
  z-index: 2;
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.2);
}
.league-stats-table tr:hover td.league-col {
  background: #131316;
}
.league-stats-table th.th-sorted.th-league {
  background: #26262b;
  color: #ececee;
}
.league-stats-table td.td-sorted.league-col {
  background: #131316;
  color: #ececee;
}

/* Scanner High-Density Rows & Table Head */
.scanner-table-head {
  display: grid;
  grid-template-columns: minmax(180px, 1.6fr) minmax(170px, 1.5fr) 70px 65px 70px 70px 70px 24px;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: #131316;
  border: 1px solid #34343a;
  border-radius: 8px;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #c8c8ce;
}
.sth-col {
  white-space: nowrap;
}
.sth-freq, .sth-sample, .sth-fair, .sth-val {
  text-align: right;
}

details.scanner-data-row {
  display: block;
  background: #17171a;
  border: 1px solid #34343a;
  border-radius: 8px;
  margin-bottom: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  transition: border-color .15s ease, background-color .15s ease;
}
details.scanner-data-row:hover {
  border-color: #45454d;
  background: #17171a;
}
details.scanner-data-row[open] {
  border-color: #59a5cf;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.24);
}

.sdr-summary {
  display: grid;
  grid-template-columns: minmax(180px, 1.6fr) minmax(170px, 1.5fr) 70px 65px 70px 70px 70px 24px;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  cursor: pointer;
  user-select: none;
  list-style: none;
  min-height: 38px;
}
.sdr-summary::-webkit-details-marker,
.sdr-summary::marker { display: none; }

.sdr-match {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.sdr-match-name {
  font-size: 12.5px;
  font-weight: 700;
  color: #ececee;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sdr-meta {
  font-size: 12px;
  color: #c8c8ce;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sr-plan-tag {
  font-size: 12px;
  font-weight: 700;
  padding: 1px 4px;
  border-radius: 4px;
}
.sr-plan-tag.tag-free { background: #26262b; color: #6ecf92; }
.sr-plan-tag.tag-pro { background: #1f1f23; color: #6eaccf; }

.sdr-market {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.sdr-subj-row {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.sdr-subj {
  font-size: 12.5px;
  font-weight: 700;
  color: #ececee;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sdr-team {
  font-size: 12px;
  color: #c8c8ce;
}
.sdr-market-line {
  font-size: 12px;
  font-weight: 650;
  color: #6eaccf;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sdr-freq, .sdr-sample, .sdr-fair, .sdr-val {
  text-align: right;
  font-family: var(--font-data);
}
.sdr-freq-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 5px;
}
.sdr-freq-badge.badge-emerald { background: #26262b; color: #6ecf92; border: 1px solid #59cf84; }
.sdr-freq-badge.badge-amber { background: rgba(207, 183, 89, 0.12); color: #cf926e; border: 1px solid rgba(207, 183, 89, 0.35); }
.sdr-freq-badge.badge-pro-lock { background: #131316; color: #c8c8ce; border: 1px solid #34343a; font-size: 12px; }

.sdr-sample-val {
  font-size: 12px;
  font-weight: 650;
  color: #c8c8ce;
}
.sdr-fair-val {
  font-size: 12px;
  font-weight: 700;
  color: #ececee;
}
.sdr-edge-pill {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  background: #26262b;
  color: #6ecf92;
  border: 1px solid #59cf84;
  padding: 1px 5px;
  border-radius: 4px;
}
.sdr-edge-flat {
  font-size: 12px;
  color: #c8c8ce;
}
.sdr-chevron {
  text-align: center;
  font-size: 12px;
  color: #b0b0b7;
  transition: transform .15s ease;
}
details.scanner-data-row[open] .sdr-chevron {
  transform: rotate(180deg);
}
.sdr-body {
  padding: 12px 14px;
  border-top: 1px solid #2a2a2f;
  background: #17171a;
  color: #ececee;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

/* Telegram Summary Spacing */
.telegram-box summary.telegram-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.telegram-badge {
  font-size: 12px;
  font-weight: 650;
  color: var(--emerald-400);
  background: var(--emerald-bg);
  padding: 2px 8px;
  border-radius: 9999px;
  margin-left: auto;
}

@media(max-width: 768px) {
  .scanner-table-head {
    display: none;
  }
  .sdr-summary {
    grid-template-columns: 1fr auto 16px;
    gap: 2px 8px;
    padding: 6px 10px;
    min-height: 48px;
  }
  .sdr-match {
    grid-column: 1 / 2;
  }
  .sdr-freq {
    grid-column: 2 / 3;
    display: flex;
    align-items: center;
    gap: 4px;
  }
  .sdr-chevron {
    grid-column: 3 / 4;
  }
  .sdr-market {
    grid-column: 1 / 2;
  }
  .sdr-sample, .sdr-fair, .sdr-val {
    display: inline;
  }
  .sdr-col.sdr-sample {
    grid-column: 2 / 3;
  }
}

/* Player Role Strip (Titolare / Media 90 / Rigorista) */
.player-role-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  padding: 7px 10px;
  background: #17171a;
  border: 1px solid #2a2a2f;
  border-radius: var(--radius-sm);
  margin-bottom: 10px;
  font-size: 12px;
  color: #c8c8ce;
}
.player-role-strip span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.player-role-strip strong {
  color: #ececee;
}
.player-role-strip .prs-sep {
  color: #b0b0b7;
}

/* Forecast & Track Record Match Event Drawer Items */
.forecast-event-list {
  list-style: none;
  padding: 0;
  margin: 8px 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.forecast-event {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background: #17171a;
  border: 1px solid #2a2a2f;
  border-radius: var(--radius-sm);
  gap: 12px;
}
.forecast-event-main {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
  min-width: 0;
}
.forecast-event-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.forecast-event-name {
  font-size: 13px;
  font-weight: 750;
  color: #ececee;
}
.forecast-event-desc {
  font-size: 12px;
  font-weight: 600;
  color: #c8c8ce;
}
.forecast-event-res {
  font-size: 12px;
  color: #b0b0b7;
  font-family: var(--font-data);
}
.forecast-event-res strong {
  color: #ececee;
}
.forecast-outcome {
  font-size: 12px;
  font-weight: 750;
  padding: 3px 8px;
  border-radius: 4px;
  white-space: nowrap;
  flex-shrink: 0;
}
.forecast-outcome-hit {
  background: #26262b;
  color: #6ecf92;
  border: 1px solid #59cf84;
}
.forecast-outcome-miss {
  background: #1f1f23;
  color: #cf6e6e;
  border: 1px solid rgba(207, 89, 89, 0.35);
}
.forecast-outcome-pending {
  background: #131316;
  color: #c8c8ce;
  border: 1px solid #34343a;
}

/* Evidence Section & Cards in Alert Expanded Details */
.alert-evidence-section {
  margin: 14px 0 10px;
}
.evidence-title {
  font-size: 12px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #c8c8ce;
  margin-bottom: 8px;
}
.alert-evidence-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-bottom: 10px;
}
@media (max-width: 540px) {
  .alert-evidence-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
.evidence-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  background: #17171a;
  border: 1px solid #2a2a2f;
  border-radius: var(--radius-sm);
}
.ev-role {
  font-size: 12px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #b0b0b7;
}
.ev-freq {
  font-size: 20px;
  font-weight: 850;
  font-family: var(--font-data);
  color: #ececee;
  line-height: 1.1;
  margin: 2px 0;
}
.ev-detail {
  font-size: 12px;
  color: #c8c8ce;
  line-height: 1.35;
  margin-bottom: 4px;
}
.row-detail-footer {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid #2a2a2f;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* Player Sample Scope Notice (Adaptive Venue Fallback) */
.player-sample-scope-notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 9px 12px;
  background: #131316;
  border: 1px solid rgba(89, 207, 130, 0.35);
  border-radius: var(--radius-sm);
  margin: 8px 0;
  font-size: 12px;
  line-height: 1.45;
  color: #6ecf92;
}
.player-sample-scope-notice strong {
  color: #ececee;
}
.badge-scope {
  display: inline-block;
  background: #1f1f23;
  color: #6eaccf;
  border: 1px solid rgba(89, 166, 207, 0.35);
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 12px;
  font-weight: 650;
}

/* Top Pronti Alert Pagination */
.alert-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 18px 0;
  font-size: 0.88rem;
  color: #b0b0b7;
}
.alert-pagination a {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  background: #131316;
  color: #ececee;
  border-radius: var(--radius-sm, 6px);
  border: 1px solid #34343a;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.82rem;
  transition: all 0.15s ease;
}
.alert-pagination a:hover {
  background: #26262b;
  border-color: #45454d;
  color: #ececee;
}
.alert-pagination span {
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  color: #c8c8ce;
  padding: 0 4px;
}

/* Scanner Filter Recap & Quick Actions */
.filter-recap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px 18px;
  flex-wrap: wrap;
  padding: 8px 12px;
  margin: 10px 0 14px;
  background: #17171a;
  border: 1px solid #2a2a2f;
  border-radius: var(--radius-sm, 6px);
  font-size: 0.84rem;
  color: #c8c8ce;
}
.filter-recap > span {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1 1 auto;
}
.filter-recap a.starter-toggle-link {
  color: #6eaccf;
  text-decoration: none;
  font-weight: 550;
  padding: 1px 4px;
  border-radius: 4px;
  background: #1f1f23;
}
.filter-recap a.starter-toggle-link:hover {
  background: rgba(89, 166, 207, 0.12);
  color: #6eaccf;
}
.filter-recap .btn-filter-trigger {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  background: #17171a;
  color: #ececee;
  border-radius: var(--radius-sm, 6px);
  border: 1px solid #34343a;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.82rem;
  flex-shrink: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
  transition: all 0.15s ease;
}
.filter-recap .btn-filter-trigger:hover {
  background: #131316;
  border-color: #45454d;
  color: #ececee;
}

/* Public Auth & Admin Hub Styles */
.auth-error-notice {
  margin: 0 0 16px;
  border-color: #cf5976;
  background: rgba(207, 89, 109, 0.192);
  color: #cf6e85;
}
.auth-back-wrap {
  text-align: center;
  margin-top: 14px;
}
.auth-back-home {
  font-size: 0.82rem;
  font-weight: 600;
  color: #6eaccf;
  text-decoration: none;
}
.auth-back-home:hover {
  text-decoration: underline;
  color: #6eaccf;
}
.header-login-link,
.header-admin-link {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.15s ease;
}
.header-login-link {
  color: #c8c8ce;
  background: #131316;
  border: 1px solid #34343a;
}
.header-login-link:hover {
  background: #26262b;
  color: #ececee;
}
.header-admin-link {
  color: #f4f4f5;
  background: #3a3a41;
  border: 1px solid #52525b;
}
.header-admin-link:hover,
.header-admin-link.is-active {
  background: #0369a1;
  border-color: #59a5cf;
  color: #f4f4f5;
}
.settings-action-row {
  margin-top: 12px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.admin-hub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.admin-hub-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #17171a;
  border: 1px solid #2a2a2f;
  text-decoration: none;
  color: #ececee;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.admin-hub-card:hover {
  border-color: #59a5cf;
  background: #17171a;
  box-shadow: 0 4px 12px rgba(89, 167, 207, 0.08);
  transform: translateY(-1px);
}
.admin-hub-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #6eaccf;
}
.admin-hub-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  background: #1f1f23;
  color: #6eaccf;
}
.admin-hub-card h3 {
  margin: 2px 0 0;
  font-size: 0.98rem;
  font-weight: 700;
  color: #ececee;
}
.admin-hub-card p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #c8c8ce;
}
.admin-kpi-status {
  font-size: 1.15rem;
}
.admin-tech-body {
  padding-top: 10px;
}
.admin-sub-heading {
  margin-top: 16px;
}
.admin-cache-note {
  margin-top: 12px;
}
.admin-cycle-details {
  margin-top: 10px;
}
.admin-inline-delete-form {
  display: inline;
}
.api-status-ok {
  color: #6ecf91;
}
.api-status-warn {
  color: #cf6e6e;
}

/* Responsible Gaming & Legal Footer */
.responsible-gaming-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  max-width: 960px;
  margin: 16px auto 12px;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.024);
  border: 1px solid rgba(255, 255, 255, 0.048);
  border-radius: var(--radius-sm, 6px);
  font-size: 12px;
  line-height: 1.45;
  color: #b0b0b7;
  text-align: left;
}
.theme-dark .responsible-gaming-notice {
  background: rgba(0, 0, 0, 0.075);
  border-color: rgba(0, 0, 0, 0.2);
  color: #94949c;
}
.badge-18plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #b91c1c;
  color: #f4f4f5;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: -0.02em;
}
.footer-legal-links {
  margin: 8px 0 10px;
  font-size: 0.78rem;
  color: #b0b0b7;
}
.footer-legal-links a {
  color: #6eaccf;
  text-decoration: none;
  font-weight: 550;
}
.footer-legal-links a:hover {
  text-decoration: underline;
  color: #6eaccf;
}
.responsible-box {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 8px;
  background: rgba(207, 89, 89, 0.096);
  border: 1px solid rgba(207, 89, 89, 0.23);
  margin-top: 10px;
}
.header-update-tag {
  font-size: 12px;
  text-transform: uppercase;
  margin-right: 2px;
}

/* Pre-Match Freeze Audit & CI Notes */
.msb-freeze-audit {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed rgba(0, 0, 0, 0.6);
}
.freeze-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(89, 207, 168, 0.128);
  color: #6ecfb0;
  padding: 1px 6px;
  border-radius: 4px;
  font-weight: 600;
}
.theme-dark .freeze-tag {
  background: rgba(89, 207, 168, 0.24);
  color: #6ecfab;
}
.freeze-tag.tag-definitive {
  border: 1px solid rgba(89, 207, 168, 0.402);
  background: rgba(89, 207, 168, 0.192);
}
.theme-dark .freeze-tag.tag-definitive {
  border: 1px solid rgba(89, 207, 164, 0.402);
  background: rgba(89, 207, 168, 0.352);
}
.freeze-hash {
  color: #6eaccf;
  background: #131316;
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
}
.theme-dark .freeze-hash {
  color: #6eb1cf;
  background: rgba(255, 255, 255, 0.36);
  border: 1px solid rgba(89, 171, 207, 0.23);
}
.value-ci-note {
  color: #b0b0b7;
  font-size: 12px;
  margin-left: 3px;
  font-weight: 500;
}
.theme-dark .value-ci-note {
  color: var(--muted);
}












/* External review: results before controls. */
.alert-match-preview{list-style:none;margin:8px 0 6px;padding:0;display:grid;gap:4px;font-size:13px}
.alert-match-preview li{display:flex;align-items:baseline;gap:8px;padding:5px 8px;border:1px solid #2a2a2f;border-radius:6px;background:#17171a}
.alert-match-preview .amp-market{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c8c8ce}
.alert-match-preview .amp-pct{color:#6ecfb3}
.alert-match-preview .amp-n{color: #b0b0b7;font-size:12px}
details.league-guide-box{margin-top:14px}
details.league-guide-box>summary{cursor:pointer;list-style:none}
details.league-guide-box>summary::-webkit-details-marker{display:none}
details.league-guide-box>summary h3{display:inline;margin:0}
details.league-guide-box>summary::after{content:" +";color: #b0b0b7}
details.league-guide-box[open]>summary{margin-bottom:8px}
details.league-guide-box[open]>summary::after{content:" −"}
.signal-filters>summary.active-filters-bar{margin:0;border:0;background:transparent;padding:2px 0;cursor:pointer;list-style:none}
.signal-filters>summary.active-filters-bar::-webkit-details-marker{display:none}
.signal-filters>summary .af-edit{margin-left:auto;font-weight:700;color:#6e87cf}
.signal-filters[open]>summary .af-edit{color: #b0b0b7}

/* UX review: plain indicators, no glowing dots or looping motion. */
.prob-dot,.legend-dot{display:none}
.prob-pill{border-radius:4px;gap:4px}
.prob-pill .pill-type-label{font-weight:500;opacity:.8}
.pulse-dot{box-shadow:none;animation:none}
.lt-cue-arrow{animation:none}
.match-plan-pill{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:12px;font-weight:700;border:1px solid #34343a;color:#c8c8ce;background:#17171a}
.match-plan-pill.pill-free{border-color:rgba(89, 207, 153, 0.35);color:#6ecfb3;background:#131316}
.match-plan-pill.pill-preview{border-color:rgba(89, 141, 207, 0.35);color:#6e84cf;background:#131316}
.alert-match-preview .amp-more{border-style:dashed;background:transparent;color: #b0b0b7;justify-content:flex-start}
details.alert-compact-legend{display:block;margin:16px 0 10px}
details.alert-compact-legend>summary{cursor:pointer;font-weight:600;color:var(--ink)}
details.alert-compact-legend[open]>summary{margin-bottom:6px}
details.alert-compact-legend>span{display:block;margin:4px 0}
.edge-pill.edge-anomalous,.value-edge-badge.value-anomalous{background:transparent;border:1px dashed #45454d;color:#c8c8ce}
.edge-anomaly-note{margin:6px 0 0;font-size:13px;color:#c8c8ce}

h1,h2,.home-hero-title,.alert-section-title{font-family:var(--font-data);letter-spacing:0}
.fixture-day-heading{margin:18px 0 8px;font-size:15px;font-weight:700;color:var(--ink)}
.fixture-trend-count{display:inline-block;padding:1px 6px;border-radius:4px;border:1px solid var(--line);font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.comparison-grid:has(> .compare-card:only-child){grid-template-columns:1fr}

/* One vocabulary for every selection: Storico · Stima · Quota equa · Quota book · Valore. */
.estimate-chain{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.estimate-chain .ec strong{font-family:var(--font-data);font-size:13px;color:var(--ink);margin-left:3px}
.estimate-chain .ec-value strong{color:#6ecfb3}
.estimate-chain .ec-anomaly{border:1px dashed #45454d;border-radius:4px;padding:0 5px;color:#c8c8ce}
.estimate-chain .ec-locked{font-weight:600}
.alert-match-preview li{flex-wrap:wrap}
.alert-match-preview .estimate-chain{font-size:12px}
.home-trend-card .trend-odds-row{display:block}

/* Top Pronti rows layout */
.alert-layout-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:10px 0}
.alert-layout-switch{min-width:260px}
.terminal-table-wrap{overflow:auto;max-height:78vh;border:1px solid var(--line);border-radius:8px;background:#17171a}
.terminal-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;font-variant-numeric:tabular-nums}
.terminal-table th{position:sticky;top:0;z-index:2;background:#131316;text-align:left;font-size:12px;font-weight:700;color:var(--muted);padding:7px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.terminal-table td{padding:6px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.terminal-table .num{text-align:right;white-space:nowrap;font-family:var(--font-data)}
.terminal-table .nowrap{white-space:nowrap}
.terminal-table small{display:block;color:var(--muted);font-size:12px}
.terminal-table td .num small,.terminal-table td.num small{display:inline}
.terminal-table tbody tr:hover td{background:#17171a}
.terminal-table tr.row-locked td{color:var(--muted)}
.terminal-table .ec-anomaly{border:1px dashed #45454d;border-radius:4px;padding:0 5px;color:#c8c8ce;font-family:var(--font-text)}
@media (max-width:640px){.alert-rows-table th:nth-child(1),.alert-rows-table td:nth-child(1){display:none}}

/* Sticky headers without overlaps: header row above the sticky first column, corner above both. */
.league-stats-table-wrap{max-height:75vh;overflow:auto}
.league-stats-table thead th{position:sticky;top:0;z-index:3}
.league-stats-table thead th.th-league{left:0;z-index:4}
.league-stats-table td.league-col{z-index:1}
.scanner-table-head{position:sticky;top:0;z-index:5}

/* Mobile header: login (or Backend), PRO and profile always reachable. */
.mobile-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.mobile-header-actions .header-login-link,.mobile-header-actions .header-admin-link,.mobile-header-actions .header-upgrade-btn{min-height:36px;display:inline-flex;align-items:center;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:700;text-decoration:none}
@media (min-width:768px){.mobile-header-actions{display:none}}

/* Scanner rows on phones: match and market on top, then one line of labelled numbers. */
@media (max-width:768px){
  .sdr-summary{display:grid;grid-template-columns:auto auto auto 1fr;grid-template-areas:"match match match chev" "market market market market" "freq sample fair fair" "val edge edge edge";gap:4px 14px;align-items:baseline;padding:8px 10px}
  .sdr-summary .sdr-col{display:block;margin:0;text-align:left;min-width:0}
  .sdr-summary .sdr-match{grid-area:match}
  .sdr-summary .sdr-market{grid-area:market}
  .sdr-summary .sdr-freq{grid-area:freq}
  .sdr-summary .sdr-sample{grid-area:sample}
  .sdr-summary .sdr-fair{grid-area:fair;white-space:nowrap}
  .sdr-summary .sdr-val{grid-area:val;white-space:nowrap}
  .sdr-summary .sdr-edge{grid-area:edge;white-space:nowrap;text-align:left}
  .sdr-summary .sdr-edge::before{content:"Valore ";color:var(--muted);font-size:12px}
  .sdr-summary .sdr-chevron{grid-area:chev;justify-self:end}
  .sdr-summary .sdr-sample::before{content:"Storico ";color:var(--muted);font-size:12px}
  .sdr-summary .sdr-fair::before{content:"Q. equa ";color:var(--muted);font-size:12px}
  .sdr-summary .sdr-val::before{content:"Book ";color:var(--muted);font-size:12px}
  .sdr-summary .sdr-fair .value-corr-note{display:inline;margin-left:4px}
  .signal-pro-locked .sdr-summary .sdr-sample,.signal-pro-locked .sdr-summary .sdr-fair,.signal-pro-locked .sdr-summary .sdr-val,.signal-pro-locked .sdr-summary .sdr-edge{display:none}
}
.sdr-book{font-family:var(--font-data);font-weight:700}

/* Home: Top Pronti as a compact list, one market per row. */
.home-picks-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.home-picks-head h2{margin:0}
.home-picks-intro{margin:4px 0 12px;color:var(--muted);font-size:14px;max-width:none}
.home-pick-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#17171a}
.home-pick+.home-pick{border-top:1px solid var(--line)}
.home-pick-link{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:4px 16px;align-items:center;padding:10px 14px;color:inherit;text-decoration:none}
.home-pick-link:hover{background:#17171a}
.home-pick-when{display:flex;flex-direction:column;font-family:var(--font-data);font-weight:700;font-size:14px}
.home-pick-when small,.home-pick-what small{display:block;font-family:var(--font-text);font-weight:400;font-size:12px;color:var(--muted)}
.home-pick-what strong{font-size:15px}
.home-pick-market{color:var(--ink)}
.home-pick-numbers .estimate-chain{justify-content:flex-end}
@media (max-width:640px){
  .home-pick-link{grid-template-columns:1fr;gap:4px;padding:10px 12px}
  .home-pick-when{flex-direction:row;gap:8px;align-items:baseline;font-size:13px}
  .home-pick-numbers .estimate-chain{justify-content:flex-start}
}

/* Top Pronti rows on phones: each selection becomes a compact block with labelled numbers. */
@media (max-width:640px){
  .terminal-table-wrap{max-height:none;overflow:visible;border:0;background:transparent}
  .alert-rows-table thead{display:none}
  .alert-rows-table,.alert-rows-table tbody{display:block}
  .alert-rows-table tr{display:flex;flex-wrap:wrap;gap:2px 14px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px}
  .alert-rows-table td{display:block;padding:0;border:0;background:transparent!important}
  .alert-rows-table td.c-when{order:1;font-family:var(--font-data);font-weight:700}
  .alert-rows-table td.c-match{order:2;flex:1 1 60%}
  .alert-rows-table td.c-match small{display:inline;margin-left:6px}
  .alert-rows-table td.c-sel{order:3;flex:1 1 100%}
  .alert-rows-table td.c-sel small{display:inline;margin-left:6px}
  .alert-rows-table td.num{order:4;text-align:left}
  .alert-rows-table td.num[data-label]::before{content:attr(data-label) " ";color:var(--muted);font-family:var(--font-text);font-size:12px}
  .alert-rows-table th:nth-child(1),.alert-rows-table td:nth-child(1){display:block}
}
.match-locked-cta,.plan-upgrade-inline,a.unlock-pill{white-space:nowrap;display:inline-block}
.pro-match-notice a{white-space:nowrap;display:inline-block}

/* Free plan by quantity: unlock panel on the match page. */
.free-unlock-panel{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.free-unlock-form{display:inline-flex;align-items:center;gap:10px;margin:0}
.free-unlock-form small,.free-unlock-panel small{color:var(--muted)}
.free-unlock-done{border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:14px}

/* Reliability page (inline styles are blocked by the CSP: widths come from classes). */
.pw-0{width:0%}.pw-1{width:1%}.pw-2{width:2%}.pw-3{width:3%}.pw-4{width:4%}.pw-5{width:5%}.pw-6{width:6%}.pw-7{width:7%}.pw-8{width:8%}.pw-9{width:9%}.pw-10{width:10%}.pw-11{width:11%}.pw-12{width:12%}.pw-13{width:13%}.pw-14{width:14%}.pw-15{width:15%}.pw-16{width:16%}.pw-17{width:17%}.pw-18{width:18%}.pw-19{width:19%}.pw-20{width:20%}.pw-21{width:21%}.pw-22{width:22%}.pw-23{width:23%}.pw-24{width:24%}.pw-25{width:25%}.pw-26{width:26%}.pw-27{width:27%}.pw-28{width:28%}.pw-29{width:29%}.pw-30{width:30%}.pw-31{width:31%}.pw-32{width:32%}.pw-33{width:33%}.pw-34{width:34%}.pw-35{width:35%}.pw-36{width:36%}.pw-37{width:37%}.pw-38{width:38%}.pw-39{width:39%}.pw-40{width:40%}.pw-41{width:41%}.pw-42{width:42%}.pw-43{width:43%}.pw-44{width:44%}.pw-45{width:45%}.pw-46{width:46%}.pw-47{width:47%}.pw-48{width:48%}.pw-49{width:49%}.pw-50{width:50%}.pw-51{width:51%}.pw-52{width:52%}.pw-53{width:53%}.pw-54{width:54%}.pw-55{width:55%}.pw-56{width:56%}.pw-57{width:57%}.pw-58{width:58%}.pw-59{width:59%}.pw-60{width:60%}.pw-61{width:61%}.pw-62{width:62%}.pw-63{width:63%}.pw-64{width:64%}.pw-65{width:65%}.pw-66{width:66%}.pw-67{width:67%}.pw-68{width:68%}.pw-69{width:69%}.pw-70{width:70%}.pw-71{width:71%}.pw-72{width:72%}.pw-73{width:73%}.pw-74{width:74%}.pw-75{width:75%}.pw-76{width:76%}.pw-77{width:77%}.pw-78{width:78%}.pw-79{width:79%}.pw-80{width:80%}.pw-81{width:81%}.pw-82{width:82%}.pw-83{width:83%}.pw-84{width:84%}.pw-85{width:85%}.pw-86{width:86%}.pw-87{width:87%}.pw-88{width:88%}.pw-89{width:89%}.pw-90{width:90%}.pw-91{width:91%}.pw-92{width:92%}.pw-93{width:93%}.pw-94{width:94%}.pw-95{width:95%}.pw-96{width:96%}.pw-97{width:97%}.pw-98{width:98%}.pw-99{width:99%}.pw-100{width:100%}
.rel-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rel-kpi-label{display:block;font-size:12px;color:var(--muted)}
.rel-kpi-val{font-family:var(--font-data);font-size:24px}
.rel-period{margin:10px 0 0}
.cal-rows{display:grid;gap:10px;margin-top:10px}
.cal-row{display:grid;grid-template-columns:110px minmax(0,1fr) 230px;gap:12px;align-items:center}
.cal-band{font-weight:600;font-size:14px}
.cal-bars{display:grid;gap:3px}
.cal-bar{display:block;height:8px;border-radius:4px}
.cal-expected{background:#303036}
.cal-observed{background:#047857}
.cal-nums{font-size:13px;color:var(--muted)}
.cal-nums strong{color:var(--ink)}
.cal-key{display:inline-block;width:12px;height:8px;border-radius:3px;vertical-align:middle}
.rel-out{font-weight:700}
.rel-hit{color:#6ecfb3}
.rel-miss{color:#cf6e6e}
.rel-table code{font-size:12px;color:var(--muted)}
@media (max-width:640px){.rel-kpis{grid-template-columns:repeat(2,1fr)}.cal-row{grid-template-columns:1fr}}
.compact-stat-prev{display:block;font-size:12px;color:var(--muted)}
.calendar-controls{top:0}
.search-modes{margin-bottom:6px}
.search-mode-intro{margin:0 0 12px;font-size:14px}
.empty-reset{margin-top:12px;display:inline-block}
.ta-note{margin:2px 0 0;font-size:13px}
.t-kpi-dual{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
.t-kpi-cap{display:block;font-size:12px;color:var(--muted)}
.t-kpi-dual .t-kpi-num{font-size:1.6rem}
.t-kpi-dual .value-ci-note{font-size:12px;color:var(--muted);margin-top:2px}
.t-kpi-right{text-align:right}
.t-kpi-desc{margin-top:6px;font-size:12px;color:var(--muted)}
.transparency-audit-note{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font-size:12px;line-height:1.5}
.empty-action-strip{margin-top:8px}
.kpi-val-sm{font-size:1.15rem;font-weight:700}
.motd-edge-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.motd-odd-info{font-size:12px;color:var(--muted)}
.empty-tight{padding:16px 12px}
.empty-players-drawer,.forecast-archive-drawer{margin-top:12px}
.empty-players-drawer>summary{cursor:pointer;padding:10px 14px}
.empty-player-list{margin-top:8px}
.forecast-kpi-summary{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0;margin-bottom:8px}
.fr-pill{border:1px solid var(--line);padding:4px 8px;border-radius:6px}
.forecast-match{padding:10px 12px;margin-bottom:8px;border-radius:8px}
.fr-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}
.fr-meta{font-size:12px;color:var(--muted)}
.fr-outcome{font-size:13px}
.fr-lines{font-size:13px;margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}
.fr-tag{display:inline-block;padding:0 4px;font-size:12px}
.td-1x2{font-size:12px}
.free-pick-panel{border-left:3px solid var(--emerald);margin-bottom:12px}
.free-pick-panel h2{margin-bottom:6px}
.free-pick-line,.free-pick-market{margin:0 0 4px}
.free-pick-how{margin:8px 0 0;font-size:14px;color:var(--muted)}
.sth-edge,.sdr-edge{text-align:right}
.row-stats-simple{flex-wrap:wrap}
.row-reason{flex-basis:100%;margin:2px 0 0;font-size:13px;color:var(--muted);line-height:1.35}
/* Shown while the match list streams in; hidden by itself as soon as anything follows it. */
.cal-loading{margin:16px 0;padding:12px 14px;border:1px dashed var(--line);border-radius:8px}
.cal-loading:not(:last-child){display:none}
/* Home on phones: the four KPIs fit one compact row so the first selections appear in the first screen. */
.kl-short{display:none}
@media (max-width:640px){
  .home-hero{padding:10px 12px}
  .home-hero-title{font-size:18px;margin-bottom:2px}
  .home-hero-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
  .home-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .home-kpi-grid .kpi-card{padding:6px 6px 7px;min-height:0}
  .home-kpi-grid .kpi-val{font-size:18px;line-height:1.15}
  .home-kpi-grid .kpi-val-sm{font-size:12px}
  .home-kpi-grid .kpi-label{font-size:12px;line-height:1.2;margin:0}
  .home-kpi-grid .kl-full,.home-kpi-grid .kpi-sub,.home-kpi-grid .kpi-transparency-link{display:none}
  .home-kpi-grid .kl-short{display:inline}
}
.free-inline-note{margin:4px 0 10px;padding:8px 12px;border-left:3px solid var(--line);font-size:14px;color:var(--muted)}
/* Ricerca on phones: one line of filters, one line of ordering, then results. */
@media (max-width:640px){
  .search-mode-intro{display:none}
  .filter-recap{display:none}
  .signal-filters>summary.active-filters-bar{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;overflow:hidden;white-space:nowrap;padding:8px 10px}
  .active-filters-bar .af-pill{border:0;background:none;padding:0;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .active-filters-bar .af-k,.active-filters-bar .af-label{display:none}
  .active-filters-bar .af-pill+.af-pill::before{content:"· ";color:var(--muted)}
  .active-filters-bar .af-edit{margin-left:auto;flex:0 0 auto}
  .signal-toolbar-row{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;overflow-x:auto;padding:6px 8px;scrollbar-width:none}
  .signal-toolbar-row .signal-sort-group{flex-wrap:nowrap}
  .signal-toolbar-row .toolbar-label{display:none}
  .signal-toolbar-row a{white-space:nowrap}
}
.reliability-head{display:block}
.reliability-head h1{margin:0 0 6px}
.reliability-head .subtle{display:block;max-width:70ch}
/* Horizontal selectors: a fade on the side that still has options (set by script when it overflows). */
.scroll-more-right{-webkit-mask-image:linear-gradient(to right,#ececee 82%,transparent);mask-image:linear-gradient(to right,#ececee 82%,transparent)}
.scroll-more-left{-webkit-mask-image:linear-gradient(to left,#ececee 82%,transparent);mask-image:linear-gradient(to left,#ececee 82%,transparent)}
.scroll-more-right.scroll-more-left{-webkit-mask-image:linear-gradient(to right,transparent,#ececee 14%,#ececee 86%,transparent);mask-image:linear-gradient(to right,transparent,#ececee 14%,#ececee 86%,transparent)}
@media (max-width:640px){.active-filters-bar .af-pill:nth-child(n+4){display:none}}
.sdr-loading{margin:8px 0;font-size:14px}
@media (max-width:640px){.home-kpi-grid .kpi-val-pair{font-size:14px;white-space:nowrap}}
/* Touch targets: text links keep their look but get at least 24-28 px of tappable height (WCAG 2.2 target size). */
.footer-legal-links a,.alert-rows-table .c-match a,.alert-rows-table .c-locked a,.signal-compare-link,.sdr-loading a,.section-more-link,.header-back,.auth-back-home,.free-pick-line a,.free-pick-how a,.btn-compare,.signal-reset,.pro-match-notice a,.kpi-transparency-link{display:inline-block;padding-top:6px;padding-bottom:6px}
.footer-legal-links a{padding-left:4px;padding-right:4px}
.mini-form summary.form-dot,summary.form-dot{width:24px;height:24px;min-width:24px;min-height:24px}
.desktop-header-actions .plan-pill-link,.desktop-header-actions .header-upgrade-btn,.pro-cta-buttons .btn-pro-outline{min-height:28px;display:inline-flex;align-items:center}
/* Home key figures: number first, then a plain sentence; no all-caps labels. */
.home-hero-free{font-size:14px;margin:-6px auto 14px}
.home-kpi-grid .kpi-label{text-transform:none;letter-spacing:0;font-weight:500;font-size:13px;line-height:1.3}
.kpi-card-link,.kpi-card-link:hover{text-decoration:none;color:inherit}
@media (max-width:640px){
  .home-hero{text-align:left}
  .home-hero-title{font-size:20px;margin-bottom:6px}
  .home-hero-sub{display:block;-webkit-line-clamp:none;overflow:visible;font-size:14px;margin:0 0 6px;max-width:none}
  .home-hero-free{margin:0 0 10px}
  .home-kpi-grid{grid-template-columns:1fr;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
  .home-kpi-grid .kpi-card{display:grid;grid-template-columns:96px 1fr;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:9px 12px;column-gap:10px}
  .home-kpi-grid .kpi-card:nth-child(3){border-bottom:0}
  .home-kpi-grid .kpi-card-leagues:not(.is-shown){display:none}
  .home-kpi-grid .kpi-val{font-size:20px}
  .home-kpi-grid .kpi-val-pair{font-size:16px}
  .home-kpi-grid .kpi-label{font-size:14px}
  .home-kpi-grid .kpi-transparency-link{display:inline-block;grid-column:2;font-size:13px;padding:4px 0 0}
}
@media (max-width:640px){.home-kpi-grid{margin-bottom:0}.home-hero{padding-bottom:12px}}
/* Statistical combinations (administrator preview). */
.combo-window{margin:18px 0}
.combo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.combo-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}
.combo-head h3{margin:0}.combo-head small{color:var(--muted);font-weight:500}
.combo-status{font-size:13px;color:var(--muted)}
.combo-won .combo-status{color:var(--emerald)}.combo-lost .combo-status{color:var(--red)}
.combo-legs{margin:0 0 10px;padding-left:18px}
.combo-legs li{margin-bottom:8px;line-height:1.35}
.combo-when{font-size:13px;color:var(--muted)}
.combo-sel{display:block}
.combo-nums{display:block;font-size:13px;color:var(--muted)}
.combo-leg-void .combo-sel,.combo-leg-void .combo-nums{text-decoration:line-through;opacity:.7}
.combo-void-note{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.rel-basis{margin-top:12px}
.combo-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0 0 8px}
.combo-totals dt{font-size:12px;color:var(--muted)}.combo-totals dd{margin:0;font-weight:700}
.combo-loss{font-size:13px;color:var(--muted);margin:0 0 6px}
.combo-summary{margin:0 0 12px;padding-left:18px}
.combo-legal{margin-top:16px;font-size:13px}
/* Choices as chips instead of native selects (no Android system picker). */
.chip-radios{border:0;margin:0 0 14px;padding:0;min-width:0}
.form-grid .chip-radios{grid-column:1/-1}
.chip-radios legend{font-size:13px;color:var(--muted);margin:0 0 6px;padding:0}
.chip-radios-list{display:flex;flex-wrap:wrap;gap:6px}
.chip-radio{position:relative;display:inline-flex}
.chip-radio input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chip-radio span{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:14px;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s}
.chip-radio input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--canvas,#f4f4f5)}
.chip-radio input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}

/* Player prop cards: rank | name + details | average | chevron, then the bar across. */
.player-card{padding:0}
.player-card>summary{display:grid;grid-template-columns:22px minmax(0,1fr) auto 16px;grid-template-areas:"rank id num chev" "rank bar bar bar";column-gap:10px;row-gap:8px;align-items:center;padding:14px 14px 12px;min-height:0}
.player-card>summary>.player-rank{grid-area:rank;align-self:start;padding-top:2px;color:var(--muted);font-size:14px}
.player-card>summary>.player-identity{grid-area:id;min-width:0}
.player-card>summary>.player-number{grid-area:num;display:flex;flex-direction:column;align-items:flex-end;font-size:24px;line-height:1}
.player-card>summary>.icon{grid-area:chev;transition:transform .2s ease}
.player-card>summary>.player-rank-bar{grid-area:bar;min-width:0}
.player-identity strong{font-size:16px;line-height:1.25}
.player-identity small{line-height:1.35}
.player-card .partial-badge{display:block;margin-top:5px;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}
.player-card>.player-detail{padding:12px 14px 14px}
.lineup-badge{display:inline-block;margin-left:6px;padding:1px 8px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:600;vertical-align:1px}
.lineup-starter{color:var(--emerald)}.lineup-bench{color:var(--muted)}.lineup-out{color:var(--red)}
.lineup-status{margin:6px 0 12px;padding:10px 12px;border-left:3px solid var(--line);font-size:14px;line-height:1.45}
.lineup-pending{border-left-color:var(--amber-400,#cf9859)}.lineup-ready{border-left-color:var(--emerald)}
.referee-pending{margin:12px 0;padding:10px 12px;border:1px dashed var(--line);border-radius:8px;font-size:14px;line-height:1.45;color:var(--muted)}
.referee-pending strong{color:var(--ink)}
.opponent-strip-hint{display:block;margin-top:4px;font-size:13px;color:var(--muted)}

/* Info popovers: a readable card under the icon, never wider than the screen. */
.inline-help{position:relative;display:inline-block;vertical-align:middle}
.inline-help>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}
.inline-help>summary::-webkit-details-marker{display:none}
.inline-help>p{position:absolute;z-index:30;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:min(320px,calc(100vw - 32px));margin:0;padding:12px 14px;border-radius:8px;font-size:14px;font-weight:400;line-height:1.45;text-align:left;text-transform:none;letter-spacing:0;white-space:normal}

/* Motion: answers to the user only. Pages cross-fade (header and bottom bar stay put); panels open smoothly. */
@view-transition{navigation:auto}
.app-header{view-transition-name:app-header}
.bottom-nav{view-transition-name:bottom-nav}
::view-transition-old(root){animation:120ms ease-out both fs-vt-out}
::view-transition-new(root){animation:200ms ease-out both fs-vt-in}
@keyframes fs-vt-out{to{opacity:0}}
@keyframes fs-vt-in{from{opacity:0;transform:translateY(6px)}}
:root{interpolate-size:allow-keywords}
details.panel::details-content,details.player-card::details-content,details.alert-match::details-content,details.scanner-data-row::details-content,details.alert-row-item::details-content,details.signal-origin::details-content,details.calendar-options::details-content{block-size:0;overflow-y:clip;transition:block-size .22s ease,content-visibility .22s allow-discrete}
details.panel[open]::details-content,details.player-card[open]::details-content,details.alert-match[open]::details-content,details.scanner-data-row[open]::details-content,details.alert-row-item[open]::details-content,details.signal-origin[open]::details-content,details.calendar-options[open]::details-content{block-size:auto}
.metric-chips a,.segmented a,.match-tabs a,.bottom-nav a{transition:background-color .15s,color .15s,border-color .15s}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}details::details-content{transition:none!important}}
/* Match header help: anchored to the header, centred, inside the screen. */
.match-header .eyebrow{position:relative}
.match-header .inline-help{position:static}
.match-header .inline-help>p{left:0;right:0;transform:none;width:auto;max-width:360px;margin:0 auto}
.opponent-badge{display:inline-block;margin-top:4px}
/* Ricerca: one collapsible panel for filters, view and order; the current choice stays readable when closed. */
.alert-controls{margin:10px 0 14px;padding:0}
.alert-controls>summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 14px;min-height:48px}
.alert-controls .ac-title{font-weight:700}
.alert-controls .ac-state{font-weight:400;font-size:14px;color:var(--muted)}
.alert-controls .ac-body{padding:0 14px 14px;display:grid;gap:12px}
.alert-controls .quick-filter-pills{margin:0}
.alert-controls .alert-layout-bar{margin:0}
.alert-controls .alert-advanced-drawer>summary{font-size:15px}
.alert-rows-table small{font-size:13px}
.alert-rows-table tr.row-locked .c-sel strong{font-weight:600;color:var(--muted)}
@media (max-width:640px){.alert-rows-table tr.row-locked td.c-sel{flex:1 1 auto}.alert-rows-table tr.row-locked td.c-locked{flex:0 0 auto;margin-left:auto}}
/* Affidabilità: register grouped by match, code inside the details. */
.rel-register{display:grid;gap:8px}
.rel-match{border:1px solid var(--line);border-radius:8px}
.rel-match>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 12px;min-height:48px}
.rel-match>summary small{color:var(--muted);font-size:13px;font-weight:400}
.rel-match-score{margin-left:auto;font-size:14px;font-weight:600}
.rel-match-list{list-style:none;margin:0;padding:0 12px}
.rel-match-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.rel-code{padding:8px 12px 12px;margin:0}
.t-kpi-empty{color:var(--muted)}

/* Contrast fixes found by the accessibility scan (axe, WCAG AA). */
.badge-18plus,.page-footer .badge-18plus{color:#f4f4f5;background:#b91c1c}
.stat-tiles dd small{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:2px}
.subtle a{text-decoration:underline;text-underline-offset:2px}
.versus .versus-name{margin:0}
/* Match page: one options panel, the current choice readable while closed. */
.comparison-filters>summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.comparison-filters .cf-title{font-weight:700}
.comparison-filters .cf-state{font-weight:400;font-size:14px;color:var(--muted)}
/* Same open/close cue on the two options panels: a chevron on the right. */
.comparison-filters>summary,.alert-controls>summary{list-style:none}
.comparison-filters>summary::-webkit-details-marker,.alert-controls>summary::-webkit-details-marker{display:none}
.comparison-filters>summary::after,.alert-controls>summary::after{content:"";margin-left:auto;flex:0 0 auto;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}
.comparison-filters[open]>summary::after,.alert-controls[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
@media (prefers-reduced-motion:reduce){.comparison-filters>summary::after,.alert-controls>summary::after{transition:none}}
/* Statistic search: a locked match is one line, not a stack of identical locked cards. */
.pro-cluster-time{margin-left:auto;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.pro-cluster-locked{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:6px 0 0;font-size:14px;color:var(--muted)}
.pro-cluster-locked a{font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.match-total-definition{margin:4px 0 10px}
/* Header: on phone the back arrow replaces the logo; on desktop the menu is visible, so the logo stays. */
.brand.brand-desktop-only{display:none}
@media (min-width:768px){.brand.brand-desktop-only{display:flex}.header-inner>.header-back{display:none}}
/* Touch targets found by the audit: sortable table headers, the extra-columns link, starter toggles,
   and links inside notices (at least 24 px tall, WCAG 2.2). */
.th-sort-link,.lt-more-cols-link,.starter-toggle-link{display:inline-flex;align-items:center;min-height:44px}
.notice a{display:inline-block;padding:4px 0;min-height:24px}
/* Same-match combos: level, combination, a probability bar, the fair quota. */
.match-combos{margin:12px 0 0}
.match-combo-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.match-combo{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#17171a)}
.match-combo .mc-top,.match-combo .mc-main{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.match-combo .mc-level,.match-combo .mc-fair{font-size:12px;color:var(--muted)}
.match-combo .mc-label{font-size:16px}
.match-combo .mc-pct{font-size:17px;color:var(--emerald);white-space:nowrap}
.match-combo .mc-bar{grid-column:1/-1;display:block;height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:4px}
.match-combo .mc-fill{display:block;height:100%;background:var(--emerald)}
.mc-note{font-size:13px;color:var(--muted);margin:8px 0 0}
/* A selection's history in words, one bar per sample (as "Imbattuta in 15 delle ultime 18"). */
.sel-evidence{list-style:none;margin:6px 0 4px;padding:0;display:grid;gap:5px;max-width:420px}
.sel-evidence li{display:grid;gap:3px}
.sel-evidence .se-text{font-size:13px;color:var(--ink)}
.sel-evidence .se-bar{display:block;height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.sel-evidence .se-fill{display:block;height:100%;background:var(--emerald)}
.home-pick-what .sel-evidence{grid-column:1/-1}
.alert-rows-table .sel-evidence{margin-top:6px}
