/* Stats2Pitch v1.11.0 — premium card-board replacement.
 * Presentation only: prediction rules, lifecycle, odds and detail actions remain
 * owned by the existing application/backend layers.
 */
:root{
  --s2p-neon:#9cff00;
  --s2p-neon-2:#7fe600;
  --s2p-bg:#02070b;
  --s2p-panel:#07111b;
  --s2p-panel-2:#091522;
  --s2p-line:#1a2d3b;
  --s2p-text:#f7fbff;
  --s2p-muted:#95a9bb;
  --s2p-warn:#d8b665;
}
html.s2p-v111,html.s2p-v111 body{background:#02070b!important;color:var(--s2p-text)}
html.s2p-v111 body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% -15%,rgba(156,255,0,.09),transparent 34%),radial-gradient(circle at 100% 60%,rgba(0,180,120,.05),transparent 30%);z-index:-1}
html.s2p-v111 .app-shell{width:min(1180px,100%)!important;margin:0 auto!important;padding:24px 20px 110px!important}
html.s2p-v111 .topbar{display:none!important}
html.s2p-v111 .summary-grid,
html.s2p-v111 .section-title,
html.s2p-v111 .prediction-panel,
html.s2p-v111 .priority-compact,
html.s2p-v111 .s2p-board-tabs,
html.s2p-v111 #s2p-rating-note,
html.s2p-v111 .notice{display:none!important}

/* Existing real controls become a slide-over sheet, not a second public board. */
html.s2p-v111 .controls{display:none!important}
html.s2p-v111-controls-open .controls{display:block!important;position:fixed!important;z-index:10040!important;top:76px!important;left:50%!important;transform:translateX(-50%)!important;width:min(920px,calc(100vw - 24px))!important;max-height:calc(100dvh - 100px)!important;overflow:auto!important;background:linear-gradient(180deg,#0a1621,#050c13)!important;border:1px solid #2b4352!important;border-radius:24px!important;box-shadow:0 30px 100px rgba(0,0,0,.7),0 0 0 1px rgba(156,255,0,.05)!important;padding:18px!important}
html.s2p-v111-controls-open body:after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);z-index:10030}
html.s2p-v111-controls-open .controls{isolation:isolate}
html.s2p-v111 .controls .control-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
html.s2p-v111 .controls .selected-filter-bar{margin-top:12px!important}

#s2p-card-board{display:block;position:relative;z-index:2}
.s2p-new-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:12px;min-height:70px;margin-bottom:16px}
.s2p-icon-btn{width:46px;height:46px;border:1px solid transparent!important;border-radius:16px!important;background:transparent!important;color:#f6fbff!important;padding:0!important;display:grid!important;place-items:center!important;font-size:24px!important;box-shadow:none!important}
.s2p-icon-btn:hover{border-color:#264456!important;background:#09131d!important;transform:none!important}
.s2p-brand-center{text-align:center;min-width:0}
.s2p-brand-lockup{height:38px;max-width:min(330px,70vw);display:block;margin:0 auto;object-fit:contain}
.s2p-brand-center p{margin:2px 0 0;color:#aebdca;font-size:14px;letter-spacing:.01em}
.s2p-head-alert{position:relative}
.s2p-head-alert:after{content:"";position:absolute;right:7px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--s2p-neon);box-shadow:0 0 12px rgba(156,255,0,.9)}

.s2p-main-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #273b4b;border-radius:20px;background:#070d15;overflow:hidden;margin:10px 0 22px;box-shadow:inset 0 1px rgba(255,255,255,.02)}
.s2p-main-tab{min-height:58px!important;border:0!important;border-right:1px solid #1b2a36!important;border-radius:0!important;background:transparent!important;color:#a9b6c4!important;font-weight:800!important;font-size:15px!important;padding:10px 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;transform:none!important;white-space:nowrap}
.s2p-main-tab:last-child{border-right:0!important}
.s2p-main-tab.active{background:linear-gradient(135deg,#b8ff00,var(--s2p-neon-2))!important;color:#071000!important;box-shadow:0 0 28px rgba(156,255,0,.22)!important}
.s2p-main-tab .count{min-width:22px;height:22px;border-radius:999px;padding:0 6px;display:inline-grid;place-items:center;background:#172633;color:#cbd7e2;font-size:11px;font-weight:900;border:0}
.s2p-main-tab.active .count{background:rgba(0,0,0,.18);color:#061000}

.s2p-board-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:0 2px}
.s2p-board-tools h2{margin:0;font-size:20px;letter-spacing:-.02em}
.s2p-board-tools span{color:var(--s2p-muted);font-size:13px}
.s2p-mini-refresh{border:1px solid #2a4352!important;background:#08121b!important;color:#d9e5ef!important;border-radius:14px!important;padding:9px 12px!important;font-size:13px!important;font-weight:800!important;transform:none!important}
.s2p-mini-refresh:hover{border-color:var(--s2p-neon)!important;color:var(--s2p-neon)!important}

.s2p-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.s2p-match-card{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(170px,.8fr);gap:16px;min-height:210px;padding:18px;border:1px solid #1e3443;border-radius:24px;background:linear-gradient(145deg,rgba(8,20,31,.98),rgba(5,13,21,.98));box-shadow:inset 0 1px rgba(255,255,255,.025),0 12px 32px rgba(0,0,0,.16);overflow:hidden}
.s2p-match-card:before{content:"";position:absolute;inset:auto -50px -65px auto;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(156,255,0,.07),transparent 67%);pointer-events:none}
.s2p-card-main{min-width:0;display:flex;flex-direction:column}
.s2p-competition{display:flex;align-items:center;gap:8px;min-width:0;color:#b7c6d3;font-size:13px;margin-bottom:13px}
.s2p-competition img{width:22px;height:22px;border-radius:5px;object-fit:contain;flex:0 0 auto}
.s2p-competition .league-badge{width:24px;height:24px;border-radius:6px;object-fit:contain}
.s2p-competition strong{color:#dfe8f0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s2p-competition small{color:#748da0;font-size:11px;white-space:nowrap}
.s2p-team-stack{display:grid;gap:8px;min-width:0}
.s2p-team-row{display:flex;align-items:center;gap:10px;min-width:0}
.s2p-team-row img,.s2p-team-fallback{width:34px;height:34px;object-fit:contain;flex:0 0 auto}
.s2p-team-fallback{border:1px solid #315064;border-radius:50%;display:grid;place-items:center;background:#0a1a26;color:#c5d6e2;font-size:11px;font-weight:900}
.s2p-team-row strong{font-size:16px;color:#f7fbff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s2p-vs{padding-left:44px;color:#62798c;font-size:11px;font-weight:800;line-height:1}
.s2p-prediction{margin-top:auto;padding-top:14px;color:var(--s2p-neon);font-size:16px;font-weight:900;line-height:1.25;overflow-wrap:anywhere}
.s2p-prediction .check{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--s2p-neon);color:#071000;font-size:12px;margin-right:7px;vertical-align:1px}

.s2p-card-side{border-left:1px solid #1b2e3c;padding-left:16px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;min-width:0}
.s2p-kickoff{text-align:right;color:#adbecb;font-size:13px;line-height:1.35}
.s2p-kickoff b{display:block;color:#dce7ef;font-size:14px}
.s2p-kickoff.live b{color:var(--s2p-neon)}
.s2p-kickoff.pending b{color:var(--s2p-warn)}
.s2p-odd-wrap{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.s2p-odd-pill{min-width:92px;padding:10px 14px;border:1px solid var(--s2p-neon);border-radius:16px;color:var(--s2p-neon);background:#08110b;font-size:22px;font-weight:950;text-align:center;box-shadow:0 0 18px rgba(156,255,0,.06)}
.s2p-save{width:42px;height:42px;border:0!important;background:transparent!important;color:var(--s2p-neon)!important;padding:0!important;font-size:25px!important;transform:none!important}
.s2p-save.saved{color:#071000!important;background:var(--s2p-neon)!important;border-radius:13px!important}
.s2p-view-details{border:1px solid #304657!important;background:#0a121c!important;color:#f0f6fb!important;border-radius:14px!important;padding:10px 12px!important;font-weight:800!important;font-size:13px!important;transform:none!important}
.s2p-view-details:hover{border-color:var(--s2p-neon)!important;color:var(--s2p-neon)!important}

.s2p-empty{grid-column:1/-1;border:1px dashed #294252;border-radius:22px;padding:40px 20px;text-align:center;color:#8ba1b2;background:#06101a}
.s2p-empty strong{display:block;color:#e7eff5;font-size:18px;margin-bottom:5px}

.s2p-mobile-nav{position:fixed;z-index:1000;left:50%;bottom:10px;transform:translateX(-50%);width:min(720px,calc(100vw - 22px));display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:8px;border:1px solid #213544;border-radius:22px;background:rgba(4,11,18,.95);box-shadow:0 20px 55px rgba(0,0,0,.5);backdrop-filter:blur(18px)}
.s2p-nav-btn{min-height:58px!important;border:0!important;background:transparent!important;color:#9aabba!important;border-radius:15px!important;padding:6px!important;font-size:11px!important;font-weight:800!important;display:grid!important;place-items:center!important;gap:2px!important;transform:none!important}
.s2p-nav-btn .ico{font-size:21px;line-height:1}
.s2p-nav-btn.active{color:var(--s2p-neon)!important;background:rgba(156,255,0,.05)!important;box-shadow:inset 0 -3px var(--s2p-neon)}

.s2p-sheet{display:none;position:fixed;z-index:10060;left:50%;bottom:92px;transform:translateX(-50%);width:min(560px,calc(100vw - 24px));border:1px solid #294252;border-radius:24px;background:linear-gradient(180deg,#0b1722,#050d14);box-shadow:0 30px 100px rgba(0,0,0,.68);padding:18px}
.s2p-sheet.open{display:block}
.s2p-sheet h3{margin:0 0 8px;font-size:18px}
.s2p-sheet p{margin:0;color:#96aabd;line-height:1.55;font-size:13px}
.s2p-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.s2p-sheet-stat{border:1px solid #203746;background:#07121c;border-radius:16px;padding:14px}
.s2p-sheet-stat span{display:block;color:#8096a8;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.s2p-sheet-stat strong{display:block;margin-top:4px;color:#f4f8fb;font-size:21px}
.s2p-sheet-actions{display:flex;gap:10px;margin-top:14px}
.s2p-sheet-actions button{flex:1}

@media(max-width:900px){
  html.s2p-v111 .app-shell{padding-inline:14px!important}
  .s2p-card-list{grid-template-columns:1fr}
  .s2p-match-card{min-height:190px}
}
@media(max-width:620px){
  html.s2p-v111 .app-shell{padding:12px 10px 108px!important}
  .s2p-new-head{grid-template-columns:42px 1fr 42px;min-height:62px;margin-bottom:10px}
  .s2p-icon-btn{width:40px;height:40px;border-radius:13px!important;font-size:21px!important}
  .s2p-brand-lockup{height:31px;max-width:230px}
  .s2p-brand-center p{font-size:12px}
  .s2p-main-tabs{border-radius:17px;margin-bottom:16px;overflow-x:auto;grid-template-columns:repeat(4,minmax(108px,1fr));scrollbar-width:none}
  .s2p-main-tabs::-webkit-scrollbar{display:none}
  .s2p-main-tab{min-height:52px!important;font-size:13px!important;padding:8px 10px!important}
  .s2p-main-tab .count{display:none}
  .s2p-board-tools h2{font-size:18px}
  .s2p-board-tools>span{display:none}
  .s2p-match-card{grid-template-columns:minmax(0,1fr) 116px;gap:10px;min-height:174px;padding:14px;border-radius:19px}
  .s2p-card-side{padding-left:10px}
  .s2p-competition{font-size:12px;margin-bottom:10px}
  .s2p-competition img{width:19px;height:19px}.s2p-competition .league-badge{width:21px;height:21px}
  .s2p-competition strong{font-size:12px}
  .s2p-competition small{display:none}
  .s2p-team-row{gap:8px}
  .s2p-team-row img,.s2p-team-fallback{width:29px;height:29px}
  .s2p-team-row strong{font-size:14px}
  .s2p-vs{padding-left:37px;font-size:10px}
  .s2p-prediction{font-size:14px;padding-top:10px}
  .s2p-prediction .check{width:17px;height:17px;font-size:10px;margin-right:5px}
  .s2p-kickoff{font-size:11px}.s2p-kickoff b{font-size:12px}
  .s2p-odd-wrap{gap:5px}
  .s2p-odd-pill{min-width:70px;padding:8px 8px;border-radius:13px;font-size:18px}
  .s2p-save{width:32px;height:32px;font-size:20px!important}
  .s2p-view-details{padding:8px 7px!important;font-size:11px!important}
  .s2p-mobile-nav{bottom:7px;width:calc(100vw - 14px);border-radius:19px;padding:6px}
  .s2p-nav-btn{min-height:54px!important;font-size:10px!important}.s2p-nav-btn .ico{font-size:19px}
  html.s2p-v111-controls-open .controls{top:64px!important;width:calc(100vw - 14px)!important;border-radius:20px!important;padding:14px!important}
  html.s2p-v111 .controls .control-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:390px){
  .s2p-match-card{grid-template-columns:minmax(0,1fr) 102px;padding:12px;gap:8px}
  .s2p-team-row strong{font-size:13px}
  .s2p-card-side{padding-left:8px}
  .s2p-odd-pill{min-width:62px;font-size:17px}
  .s2p-view-details{font-size:10px!important;padding:7px 5px!important}
  .s2p-nav-btn{font-size:9px!important}
  html.s2p-v111 .controls .control-grid{grid-template-columns:1fr!important}
}
