:root{
  --bg:#f4f7fb;--card:#fff;--text:#1f2a44;--muted:#7b8599;--line:#e5eaf2;
  --blue:#3764ed;--blue-soft:#edf2ff;--orange:#d97c24;--orange-soft:#fff3e5;
  --green:#25a664;--red:#df4337;--shadow:0 14px 36px rgba(31,42,68,.07);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
body{min-height:100vh}
.shell{max-width:820px;margin:0 auto;min-height:100vh;background:var(--bg)}
.header{height:112px;background:#fffdfa;display:flex;align-items:flex-end;justify-content:space-between;padding:0 28px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand{font-size:28px;font-weight:900;letter-spacing:-.5px}.brand span{color:var(--blue)}
.menu-btn{width:58px;height:58px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;place-items:center;font-size:30px;color:var(--text);cursor:pointer}
.ticker{height:48px;background:#fff6cf;border-bottom:1px solid #f2df8c;color:#8a591f;display:flex;align-items:center;overflow:hidden;position:relative}
.ticker-track{white-space:nowrap;animation:marquee 24s linear infinite;padding-left:100% ;font-weight:700}
@keyframes marquee{to{transform:translateX(-100%)}}
.content{padding:24px 22px 120px}
.date-switch{width:min(390px,88%);height:74px;margin:0 auto 34px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;padding:0 28px;font-weight:900;font-size:24px}
.date-switch button{border:0;background:transparent;font-size:25px;color:var(--muted);cursor:pointer}
.section-title{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:900;margin:24px 0 14px}.section-title .bar{width:6px;height:38px;border-radius:8px;background:var(--orange)}
.section-meta{font-size:15px;color:var(--muted);font-weight:600}
.table-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.brief-table{width:100%;border-collapse:collapse;font-size:15px}.brief-table th{background:#eef2f8;color:#6d778c;text-align:left;padding:13px 10px;font-weight:800}.brief-table td{padding:14px 10px;border-top:1px solid var(--line);vertical-align:middle}.brief-table tr.hit{border-left:5px solid #34c47a}.league-tag{font-weight:800;font-size:13px}.home{color:#316be9;font-weight:800}.away{color:#d9802f;font-weight:800}.score{font-weight:900}.pick{color:#c66b12;font-weight:900}.hit-ring{display:inline-flex;border:3px solid #e86961;border-radius:50%;padding:3px 6px;color:#c66b12;font-weight:900;line-height:1}
.cards{display:grid;gap:14px}.match-card{display:block;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 18px 16px;box-shadow:var(--shadow)}
.match-top{display:flex;justify-content:space-between;color:var(--muted);font-size:14px}.match-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:16px 0 14px}.team{font-size:20px;font-weight:900}.team.right{text-align:right}.versus{font-size:13px;color:var(--muted);font-weight:900}.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.model-chip{background:#f6f8fc;border:1px solid var(--line);border-radius:14px;padding:11px 10px}.model-chip b{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.model-chip span{font-weight:900;font-size:15px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:900}.pill.blue{background:#e9f1ff;color:#2e6fd8}.pill.green{background:#e8f8ef;color:#198b52}.pill.orange{background:#fff2e3;color:#c96e14}.pill.red{background:#ffeaea;color:#d73f37}.pill.gray{background:#eef1f5;color:#6f788a}
.footer-note{padding:28px 22px 44px;color:#c33b31;font-weight:700;line-height:1.7;background:#fffdfa;border-top:1px solid var(--line)}
.drawer-backdrop{position:fixed;inset:0;background:rgba(255,255,255,.88);z-index:30;opacity:0;pointer-events:none;transition:.2s}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{position:absolute;top:112px;left:0;right:0;margin:auto;max-width:820px;background:rgba(255,253,250,.98);padding:22px 34px 28px;border-bottom:1px solid var(--line)}.drawer a{display:block;padding:18px 18px;border-radius:14px;font-size:22px;font-weight:800;margin:2px 0}.drawer a.active{background:var(--blue-soft);color:#295ad0}.drawer hr{border:0;border-top:1px solid var(--line);margin:16px 0}.drawer .logout{color:var(--red)}
.detail-head{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);margin-bottom:16px}.detail-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.team-badge{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:900}.team-badge.right{justify-content:flex-end}.badge-circle{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f2f5fb;border:1px solid var(--line);font-size:12px}.center-score{text-align:center}.center-score strong{font-size:34px}.center-score small{display:block;color:var(--muted)}
.tabs{display:flex;background:#f0f2f6;border-radius:18px;padding:7px;margin-top:22px;overflow:auto}.tabs button{flex:1;min-width:118px;border:0;background:transparent;padding:14px 10px;border-radius:13px;color:#6d7689;font-weight:800;cursor:pointer}.tabs button.active{background:#fff;color:var(--text);box-shadow:0 6px 18px rgba(28,39,62,.08)}
.subtabs{display:flex;gap:18px;overflow:auto;border-bottom:1px solid var(--line);background:#fff;padding:0 18px}.subtabs button{border:0;background:transparent;padding:18px 4px 16px;color:#687286;font-weight:800;white-space:nowrap}.subtabs button.active{color:var(--blue);border-bottom:3px solid var(--blue)}
.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;margin-top:14px;box-shadow:var(--shadow)}.panel h2,.panel h3{margin-top:0}.prob-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.prob-box{background:#f6f8fc;border-radius:16px;padding:16px;text-align:center}.prob-box b{font-size:26px;display:block}.prob-box span{font-size:13px;color:var(--muted)}
.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.result-card{border:1px solid var(--line);border-radius:16px;padding:15px}.result-card b{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.result-card strong{font-size:18px}.score-list{display:flex;gap:8px;flex-wrap:wrap}.score-chip{background:#f6f8fc;border:1px solid var(--line);padding:10px 14px;border-radius:12px;font-weight:900}.report{line-height:1.85;font-size:16px}.report h3{font-size:21px;margin:28px 0 10px}.report p{margin:10px 0}.data-quality{display:flex;align-items:center;justify-content:space-between;gap:20px}.quality-bar{height:10px;background:#e9edf4;border-radius:999px;overflow:hidden;flex:1}.quality-bar span{display:block;height:100%;background:var(--blue);width:82%}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 25%,#fff 0,#f6f8fb 45%,#f2f5fa 100%)}.auth-card{width:min(620px,100%);background:#fff;border:1px solid var(--line);border-radius:34px;padding:54px 56px;box-shadow:var(--shadow)}.auth-card h1{text-align:center;font-size:34px;margin:0 0 12px}.auth-card .subtitle{text-align:center;color:var(--muted);font-size:18px;margin-bottom:36px}.field{margin:18px 0}.field label{display:block;margin-bottom:9px;font-weight:800}.field input{width:100%;height:58px;border:1px solid #dce2ec;border-radius:14px;padding:0 16px;font-size:17px;outline:none}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(55,100,237,.12)}.primary-btn{width:100%;height:58px;border:0;border-radius:14px;background:var(--blue);color:#fff;font-size:18px;font-weight:900;cursor:pointer}.auth-link{text-align:center;margin-top:22px;color:var(--muted)}.auth-link a{color:var(--blue);font-weight:800}.check{display:flex;gap:10px;align-items:flex-start;color:#657084;font-size:14px;margin:20px 0}.check input{width:20px;height:20px}
.profile-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;margin-bottom:20px}.profile-card h2{margin-top:0}.kv{display:flex;justify-content:space-between;gap:14px;padding:9px 0;color:var(--muted)}.kv strong{color:var(--text)}.inline-form{display:grid;grid-template-columns:1fr auto;gap:12px}.inline-form input{height:54px;border:1px solid #dce2ec;border-radius:14px;padding:0 16px}.inline-form button,.small-btn{height:54px;border:0;border-radius:14px;background:var(--blue);color:white;padding:0 20px;font-weight:900}
.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.metric{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.metric b{font-size:27px;display:block}.metric span{color:var(--muted)}
@media(max-width:640px){.header{height:108px;padding:0 18px 20px}.brand{font-size:23px}.menu-btn{width:54px;height:54px}.content{padding:20px 12px 100px}.brief-table{font-size:12px}.brief-table th,.brief-table td{padding:11px 5px}.model-grid{grid-template-columns:1fr 1fr}.model-chip:nth-child(3){grid-column:1/-1}.detail-title{grid-template-columns:1fr auto 1fr}.team-badge{font-size:15px}.prob-row{gap:7px}.result-grid{grid-template-columns:1fr}.auth-card{padding:38px 26px;border-radius:28px}.drawer{top:108px;padding:16px 18px 24px}.drawer a{font-size:19px;padding:15px 14px}}

.code-row{display:grid;grid-template-columns:1fr 150px;gap:12px;align-items:center}
.code-row input{min-width:0}
.code-btn{height:58px;border:1px solid #cdd8f5;border-radius:14px;background:var(--blue-soft);color:#2b5ed9;font-weight:900;cursor:pointer;padding:0 14px}
.code-btn:disabled,.primary-btn:disabled{opacity:.58;cursor:not-allowed}
.code-hint{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.6}
.code-hint.success{color:var(--green);font-weight:700}
.code-hint.error{color:var(--red);font-weight:700}
.turnstile-placeholder{display:flex;align-items:center;gap:12px;margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fafbfe;color:var(--muted)}
.turnstile-placeholder b{display:block;color:var(--text);margin-bottom:3px}
.turnstile-placeholder small{display:block;line-height:1.5}
.turnstile-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e8f8ef;color:var(--green);font-weight:900}
@media(max-width:640px){.code-row{grid-template-columns:1fr 118px}.code-btn{padding:0 8px;font-size:14px}}


.created-code-box{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:18px;padding:16px;border:1px solid #cdd8f5;border-radius:16px;background:var(--blue-soft)}
.created-code-box span{color:var(--muted);font-size:13px;font-weight:800}
.created-code-box strong{font-size:20px;letter-spacing:1px;word-break:break-all}
.admin-table-wrap{overflow:auto}
.admin-table-wrap .brief-table{min-width:680px}
@media(max-width:640px){.created-code-box{grid-template-columns:1fr}.created-code-box .small-btn{width:100%}}


/* Official Sporttery live data */
.jc-live-cards{margin-bottom:30px}
.jc-live-card{border-left:4px solid var(--green)}
.jc-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.jc-market-item{border:1px solid var(--line);background:#f8fafc;border-radius:13px;padding:10px;min-width:0}
.jc-market-item.has-data{background:#f1fbf6;border-color:#cfeedd}
.jc-market-item b{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
.jc-market-item span{display:block;font-size:12px;line-height:1.5;font-weight:700;word-break:break-word}
.jc-market-item small{display:block;color:var(--green);font-weight:800;margin-top:5px}
.jc-market-item:last-child{grid-column:1/-1}
.jc-source-line{margin-top:10px;font-size:12px;color:var(--muted);font-weight:700}
.jc-admin-table{min-width:760px}
@media(max-width:640px){.jc-market-grid{grid-template-columns:1fr}.jc-market-item:last-child{grid-column:auto}}

.jc-detail-grid{display:grid;gap:12px}
.jc-detail-market{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fafcfe}
.jc-detail-market-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.jc-detail-market-head span{font-size:12px;color:var(--green);font-weight:900}
.jc-detail-outcomes{font-weight:800;line-height:1.8;word-break:break-word}
.jc-detail-market small{display:block;color:var(--muted);margin-top:8px}


/* Date navigation for collected Sporttery schedule */
.jc-date-nav{position:relative;display:flex;justify-content:center;align-items:center;gap:10px;margin:0 auto 34px;flex-wrap:wrap}
.jc-date-nav .date-switch{margin:0;width:min(390px,78%);height:62px}
.date-label-btn{flex:1;border:0;background:transparent!important;color:var(--text)!important;font-size:20px!important;font-weight:900;cursor:pointer}
.jc-today-btn{height:48px;padding:0 16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);font-weight:800;cursor:pointer}
.jc-date-popover{position:absolute;z-index:18;top:72px;left:50%;transform:translateX(-50%);width:min(390px,96vw);background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 18px 48px rgba(31,42,68,.16)}
.jc-cal-note{font-size:13px;color:var(--muted);font-weight:800;margin-bottom:14px}
.jc-cal-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:12px}
.jc-cal-title{text-align:center;font-size:18px;line-height:1.2}
.jc-cal-month-select{width:100%;height:38px;border:0;background:transparent;color:var(--text);font-size:18px;font-weight:900;text-align:center;text-align-last:center;cursor:pointer;appearance:none;-webkit-appearance:none}
.jc-cal-month-select:focus{outline:none}
.jc-cal-month-btn{width:42px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font-size:28px;line-height:1;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center}
.jc-cal-month-btn:hover:not(:disabled){background:#f0f4ff;border-color:#cdd8f6}
.jc-cal-month-btn:disabled{opacity:.25;cursor:default}
.jc-cal-week,.jc-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.jc-cal-week span{text-align:center;color:var(--muted);font-size:12px;font-weight:800;padding:5px 0}
.jc-cal-cell{height:38px;border:0;border-radius:10px;background:#f5f7fb;color:var(--text);font-weight:800}
.jc-cal-cell.has-data{cursor:pointer;background:#f0f4ff}
.jc-cal-cell.has-data:hover{background:#e5ecff}
.jc-cal-cell.selected{background:var(--blue);color:#fff}
.jc-cal-cell.no-data{opacity:.28}
.jc-cal-cell.empty{background:transparent}
@media(max-width:640px){
  .jc-date-nav{gap:8px}
  .jc-date-nav .date-switch{width:78%;padding:0 14px;height:58px}
  .date-label-btn{font-size:18px!important}
  .jc-today-btn{height:44px;padding:0 12px;font-size:13px}
}


/* Fixtures browsing UI */
.jc-fixtures-shell{margin-bottom:34px}
.jc-fixture-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 16px;box-shadow:var(--shadow);margin-bottom:18px}
.jc-league-filters{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.jc-league-filters button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer}
.jc-league-filters button.active{background:var(--blue-soft);border-color:#ccd8ff;color:var(--blue)}
.jc-fixture-count{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--muted);font-weight:800}
.jc-future-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jc-fixture-card{display:block;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow)}
.jc-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--muted);font-size:13px}
.jc-card-top em{font-style:normal;background:#f3f5f9;border-radius:999px;padding:5px 8px}
.jc-card-top b{color:var(--text);font-size:15px}
.jc-card-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:18px 0}
.jc-team{font-size:18px;font-weight:900}
.jc-team.away-team{text-align:right}
.jc-vs{color:#9aa4b7;font-weight:900}
.jc-status-strip{background:#f4f6fa;border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center;color:#7c879a;font-weight:800;margin-bottom:14px}
.jc-mini-odds{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fbfcfe}
.jc-mini-head,.jc-mini-row{display:grid;grid-template-columns:1.45fr .75fr .75fr .75fr;gap:8px;align-items:center;padding:10px 12px}
.jc-mini-head{background:#f0f3f7;color:var(--muted);font-size:12px;font-weight:800}
.jc-mini-row+.jc-mini-row{border-top:1px solid var(--line)}
.jc-mini-row strong{text-align:center;font-size:14px}
.jc-mini-row strong:nth-child(2){color:#2f63d7}
.jc-mini-row strong:nth-child(4){color:#c87425}
.jc-play-tag{font-size:12px;border-radius:999px;padding:5px 7px;width:max-content;max-width:100%;white-space:nowrap}
.jc-play-tag.blue{background:#edf3ff;color:#316be9}
.jc-play-tag.orange{background:#fff2e3;color:#c96e14}
.muted-dash{color:#aab2c0}
.jc-model-pending{margin-top:14px;background:linear-gradient(90deg,#f1efff,#fff8ef);border:1px solid #ece7f8;border-radius:14px;padding:12px 14px;color:#59627a}
.jc-model-pending b{color:#6c63c7;margin-right:8px}
.jc-model-pending span{font-weight:900}
.jc-today-layout{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.35fr);gap:18px;align-items:start}
.jc-today-list{display:grid;gap:10px}
.jc-today-list-item{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;cursor:pointer;color:var(--text)}
.jc-today-list-item.active{border-color:#8fb0ff;box-shadow:0 0 0 3px rgba(55,100,237,.09)}
.jc-today-list-top{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}
.jc-today-list-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:12px 0}
.jc-today-list-teams b:last-child{text-align:right}
.jc-today-list-teams strong{font-size:22px;color:var(--blue)}
.jc-today-list-item small{color:var(--muted)}
.jc-today-detail{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
.jc-today-detail-head{color:var(--muted);font-size:13px;margin-bottom:16px}
.jc-today-matchup{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;padding:22px 0 28px}
.jc-today-matchup>div:first-child,.jc-today-matchup>.right{font-size:20px}
.jc-today-matchup>.right{text-align:right}
.jc-big-score{text-align:center;min-width:100px}
.jc-big-score small{display:block;color:var(--muted);margin-bottom:4px}
.jc-big-score strong{display:block;font-size:38px}
.jc-big-score span{display:inline-block;margin-top:6px;background:#f1f3f7;color:var(--muted);padding:6px 10px;border-radius:9px;font-size:12px}
.jc-today-more{display:grid;gap:10px;margin-top:14px}
.jc-today-more>div{border:1px solid var(--line);border-radius:14px;padding:12px}
.jc-today-more b{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.jc-today-more span{font-size:13px;line-height:1.6;font-weight:700}
@media(min-width:1180px){
  .shell{max-width:1440px}
  .jc-future-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
  .jc-fixture-toolbar{align-items:flex-start;flex-direction:column}
  .jc-fixture-count{align-self:flex-end}
  .jc-future-grid{grid-template-columns:1fr}
  .jc-today-layout{grid-template-columns:1fr}
  .jc-today-detail{padding:16px}
  .jc-mini-head,.jc-mini-row{grid-template-columns:1.35fr .7fr .7fr .7fr}
}

.qc-overview-page .jc-review-match>span:first-child,
.qc-overview-page .jc-review-match>span:last-child{font-weight:700!important}

.qc-demo-section{opacity:.35;filter:saturate(.6)}


/* Structured official odds detail page */
.jc-odds-page .shell{max-width:1180px}
.jc-odds-detail-page{display:grid;gap:18px}
.jc-odds-headcard{margin-bottom:18px}
.jc-odds-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.jc-odds-section h2{margin:0 0 14px;font-size:22px}
.jc-odds-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.jc-odds-head,.jc-odds-row{display:grid;grid-template-columns:1.2fr repeat(3,1fr);align-items:center;gap:8px;padding:12px 14px}
.jc-odds-head{background:#f3f5f8;color:var(--muted);font-weight:800}
.jc-odds-row+.jc-odds-row{border-top:1px solid var(--line)}
.jc-odds-row>span{text-align:center}
.jc-odds-row strong{font-size:18px}
.jc-odds-row>span:nth-child(2){color:#2f63d7}
.jc-odds-row>span:nth-child(3){color:#465064}
.jc-odds-row>span:nth-child(4){color:#c87425}
.jc-detail-score-finished{color:#d94f4f!important}
.jc-odds-matchup .center-score small{color:#c85a5a}
.jc-odd-empty{color:#aab2c0}
.jc-trend{font-size:10px;margin-left:4px;vertical-align:2px}
.jc-trend.up{color:#e34a43}
.jc-trend.down{color:#3473da}
.jc-score-group{display:grid;grid-template-columns:repeat(7,minmax(82px,1fr));gap:8px;margin-bottom:10px}
.jc-score-group.draw{grid-template-columns:repeat(5,minmax(100px,1fr));margin:14px 0}
.jc-score-odd,.jc-ttg-item,.jc-hafu-item{border:1px solid var(--line);border-radius:12px;background:#fafbfd;padding:11px;text-align:center}
.jc-score-odd b,.jc-ttg-item b,.jc-hafu-item b{display:block;margin-bottom:7px}
.jc-score-odd span,.jc-ttg-item span{color:#2f69cf;font-weight:900}
.jc-hafu-item span{color:#9c632d;font-weight:900}
.jc-ttg-grid{display:grid;grid-template-columns:repeat(8,minmax(72px,1fr));gap:8px}
.jc-hafu-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px}
.jc-history-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.jc-history-head,.jc-history-row{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:8px;align-items:center;padding:12px 14px}
.jc-history-head{background:#f3f5f8;color:var(--muted);font-weight:800}
.jc-history-row+.jc-history-row{border-top:1px solid var(--line)}
.jc-history-row strong{text-align:center}
.jc-history-note{margin-top:10px;color:var(--muted);font-size:12px}
.jc-empty-market{padding:24px;text-align:center;color:var(--muted);background:#fafbfd;border-radius:12px;border:1px dashed var(--line)}
@media(max-width:900px){
  .jc-score-group{grid-template-columns:repeat(4,minmax(74px,1fr))}
  .jc-score-group.draw{grid-template-columns:repeat(3,minmax(84px,1fr))}
  .jc-ttg-grid{grid-template-columns:repeat(4,minmax(72px,1fr))}
}
@media(max-width:640px){
  .jc-odds-page .content{padding-left:10px;padding-right:10px}
  .jc-odds-section{padding:14px}
  .jc-odds-head,.jc-odds-row{grid-template-columns:1.35fr repeat(3,.8fr);padding:10px 8px;font-size:12px}
  .jc-odds-row strong{font-size:15px}
  .jc-score-group{grid-template-columns:repeat(3,minmax(72px,1fr))}
  .jc-score-group.draw{grid-template-columns:repeat(2,minmax(90px,1fr))}
  .jc-ttg-grid{grid-template-columns:repeat(4,minmax(60px,1fr))}
  .jc-hafu-grid{grid-template-columns:repeat(3,minmax(80px,1fr))}
  .jc-history-head,.jc-history-row{grid-template-columns:1.7fr repeat(3,.7fr);padding:10px 8px;font-size:12px}
}


/* Odds page visual refinement */
.jc-section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.jc-section-title-row h2{margin:0}
.jc-section-title-row span{font-size:12px;color:var(--muted);background:#f4f6fa;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-weight:800}
.jc-score-band{padding:2px 0 8px}
.jc-score-band+.jc-score-band{margin-top:10px;padding-top:12px;border-top:1px solid #eef1f5}
.jc-score-band-label{font-size:12px;color:var(--muted);font-weight:900;margin:0 0 8px 2px}
.jc-score-group{display:flex!important;flex-wrap:wrap;gap:8px;margin-bottom:0!important}
.jc-score-group .jc-score-odd{flex:0 1 88px;min-width:78px}
.jc-score-group.draw .jc-score-odd{flex:1 1 140px}
.jc-score-odd{min-height:72px;display:flex;flex-direction:column;justify-content:center}
.jc-score-odd span,.jc-ttg-item span,.jc-hafu-item span{font-size:16px}
.jc-ttg-item,.jc-hafu-item{min-height:82px;display:flex;flex-direction:column;justify-content:center}
.jc-history-row:hover{background:#fafbfd}
@media(max-width:640px){
  .jc-score-group .jc-score-odd{flex:1 1 82px}
  .jc-score-group.draw .jc-score-odd{flex:1 1 96px}
}

.jc-today-odds-stack{display:grid;gap:14px;margin-top:6px}
.jc-today-odds-stack .jc-odds-section{box-shadow:none;background:#fff}
.jc-today-odds-stack .jc-odds-section h2{font-size:19px}
@media(max-width:760px){
  .jc-today-odds-stack .jc-score-group .jc-score-odd{flex:1 1 76px}
}


/* Match detail: facts / odds / AI tabs */
.jc-main-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:20px;background:#f0f2f6;border-radius:16px;padding:6px}
.jc-main-tabs button{border:0;background:transparent;border-radius:12px;padding:13px 8px;color:var(--muted);font-weight:900;cursor:pointer}
.jc-main-tabs button.active{background:#fff;color:var(--text);box-shadow:0 5px 16px rgba(31,42,68,.08)}
.jc-facts-subtabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:16px;background:#fff;border-radius:16px 16px 0 0;padding:0 16px}
.jc-facts-subtabs button{border:0;background:transparent;padding:15px 3px;color:var(--muted);font-weight:900;cursor:pointer}
.jc-facts-subtabs button.active{color:var(--blue);border-bottom:3px solid var(--blue)}
.jc-facts-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}
.jc-facts-score{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;padding:12px 0 22px}
.jc-facts-score>div:last-child{text-align:right}
.jc-facts-score-center{text-align:center}
.jc-facts-score-center strong{display:block;font-size:34px}
.jc-facts-score-center span{display:inline-block;margin-top:6px;padding:6px 10px;border-radius:9px;background:#f2f4f8;color:var(--muted);font-size:12px}
.jc-facts-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.jc-facts-kpis>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fafbfd}
.jc-facts-kpis span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.jc-event-list{display:grid;gap:8px}
.jc-event-item{display:grid;grid-template-columns:55px 1fr 1.3fr;gap:10px;align-items:center;border-top:1px solid var(--line);padding:10px 0}
.jc-event-item time{color:var(--blue);font-weight:900}
.jc-event-item span{color:var(--muted);font-size:13px}
.jc-lineups-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.jc-lineup-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.jc-lineup-card h3{margin-top:0}.jc-lineup-card h3 small{color:var(--muted)}
.jc-player-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:8px 0 16px}
.jc-player-list span{font-size:13px;background:#f7f9fc;border-radius:8px;padding:7px}
.jc-stats-table{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.jc-stats-head,.jc-stats-row{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px;align-items:center;text-align:center;padding:12px 14px}
.jc-stats-head{background:#f3f5f8}.jc-stats-row+.jc-stats-row{border-top:1px solid var(--line)}
.jc-stats-row span{color:var(--muted)}.jc-stats-row strong{font-size:17px}
.jc-ai-placeholder{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}
.jc-ai-placeholder p{color:var(--muted);line-height:1.8}
.jc-ai-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}
.jc-ai-grid>div{border:1px solid var(--line);background:#fafbfd;border-radius:14px;padding:14px}
.jc-ai-grid b{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.jc-ai-grid span{font-weight:900}
@media(max-width:640px){
  .jc-main-tabs button{font-size:13px;padding:12px 5px}
  .jc-facts-kpis,.jc-lineups-grid,.jc-ai-grid{grid-template-columns:1fr}
  .jc-event-item{grid-template-columns:46px 1fr}.jc-event-item span{grid-column:2}
  .jc-player-list{grid-template-columns:1fr 1fr}
}


/* Fixed play-type tabs inside odds detail */
.jc-odds-play-shell{display:grid;gap:14px}
.jc-odds-play-tabs{
  position:sticky;top:112px;z-index:12;
  display:grid;grid-template-columns:repeat(5,1fr);
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:6px;box-shadow:var(--shadow)
}
.jc-odds-play-tabs button{
  border:0;background:transparent;color:var(--muted);
  padding:13px 8px;border-radius:11px;font-weight:900;cursor:pointer
}
.jc-odds-play-tabs button.active{
  background:var(--blue);color:#fff;box-shadow:0 5px 14px rgba(55,100,237,.2)
}
#jcOddsPlayPanel{display:grid;gap:14px}
#jcOddsPlayPanel .jc-odds-section{margin:0}
@media(max-width:640px){
  .jc-odds-play-tabs{top:108px;gap:3px;padding:5px;overflow-x:auto;grid-template-columns:repeat(5,minmax(86px,1fr))}
  .jc-odds-play-tabs button{font-size:12px;padding:11px 4px;white-space:nowrap}
}

.legal-link{color:var(--blue)!important;font-weight:800;text-decoration:none}
.legal-link:hover{text-decoration:underline}
.legal-mini{display:flex;justify-content:center;gap:8px;margin-top:14px;color:var(--muted);font-size:13px}
.legal-mini a{color:var(--blue);font-weight:700}
.legal-page{max-width:820px;margin:0 auto;padding:28px 18px 72px}
.legal-doc{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow);line-height:1.8}
.legal-doc h1{margin:0 0 8px;font-size:30px}
.legal-doc h2{margin:28px 0 10px;font-size:20px}
.legal-doc p,.legal-doc li{color:#4f596d}
.legal-doc .legal-date{color:var(--muted);font-size:13px;margin-bottom:24px}
.legal-back{display:inline-flex;margin-bottom:16px;color:var(--blue);font-weight:800}
@media(max-width:640px){.legal-doc{padding:22px 18px;border-radius:18px}.legal-doc h1{font-size:26px}}

.jc-main-tabs button{position:relative;z-index:1;touch-action:manipulation}
.jc-ai-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:#f6f8fc;border:1px solid var(--line);margin:14px 0}
.jc-ai-status b{font-size:12px;color:var(--muted)}.jc-ai-status span{font-weight:900}
.jc-ai-context{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.jc-ai-context>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}
.jc-ai-context span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.jc-ai-context strong{font-size:14px}
.jc-ai-note{margin-top:16px!important}
@media(max-width:640px){.jc-ai-context{grid-template-columns:1fr}}

/* Today fixtures are direct links to the standalone match detail page */
.jc-today-list-links{max-width:900px;margin:0 auto}
.jc-today-list-links .jc-today-list-item{display:block;text-decoration:none}
.jc-today-list-links .jc-today-list-item:active{transform:scale(.995)}
.jc-today-list-links .jc-today-list-item::after{
  content:"查看详情";display:block;margin-top:10px;color:var(--blue);font-size:12px;font-weight:800
}

/* 2026-09-22 compact mobile home */
.qc-home .header{
  height:78px;align-items:center;padding:0 18px;position:sticky;top:0
}
.qc-home .brand{font-size:22px;line-height:1.1}
.qc-home .brand span{font-size:16px}
.qc-home .menu-btn{width:46px;height:46px;border-radius:14px;font-size:24px}
.qc-home .ticker{height:36px}
.qc-home .ticker-track{font-size:13px}
.qc-home .content{padding:14px 14px 90px}
.qc-home .jc-home-controls{margin-bottom:14px}
.qc-home .jc-date-nav{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;
  margin:0;position:relative;align-items:center;flex-wrap:nowrap
}
.qc-home .jc-date-nav .date-switch{
  width:auto;height:48px;margin:0;padding:0 10px;border-radius:14px;box-shadow:none
}
.qc-home .date-label-btn{font-size:16px!important;white-space:nowrap}
.qc-home .date-switch button{font-size:16px}
.qc-home .jc-today-btn,.qc-home .jc-league-toggle{
  height:48px;padding:0 13px;border:1px solid var(--line);border-radius:14px;
  background:#fff;color:var(--muted);font-weight:900;cursor:pointer;white-space:nowrap
}
.qc-home .jc-league-toggle{min-width:60px;color:var(--text)}
.qc-home .jc-date-popover{top:56px;left:0;transform:none;width:min(390px,calc(100vw - 28px))}
.qc-home .jc-league-popover{
  position:absolute;z-index:19;top:56px;right:0;width:min(330px,calc(100vw - 28px));
  background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:0 18px 48px rgba(31,42,68,.16);overflow:hidden
}
.qc-home .jc-league-popover-title{
  padding:14px 16px;background:var(--blue-soft);color:var(--blue);font-weight:900
}
.qc-home .jc-league-filters{display:block}
.qc-home .jc-league-filters button{
  width:100%;border:0;border-radius:0;border-top:1px solid var(--line);
  display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;
  padding:13px 16px;text-align:left;background:#fff;color:var(--text)
}
.qc-home .jc-league-filters button.active{background:#f8faff;color:var(--blue)}
.qc-home .jc-filter-check{
  width:20px;height:20px;border:1px solid var(--line);border-radius:5px;
  display:grid;place-items:center;color:var(--blue);font-size:12px
}
.qc-home .jc-filter-name{font-weight:800}
.qc-home .jc-league-filters button b{color:var(--muted);font-size:13px}
.qc-home .jc-fixtures-shell{margin-bottom:10px}
.qc-home .jc-home-section-title{
  margin:10px 0 10px;font-size:21px;gap:8px;position:relative
}
.qc-home .jc-home-section-title .bar{height:30px;width:5px}
.qc-home .jc-home-section-title .section-meta{font-size:13px}
.qc-home .jc-fixture-count{
  margin-left:auto;border:1px solid var(--line);border-radius:999px;
  padding:5px 9px;font-size:12px;color:var(--muted);font-weight:900;background:#fff
}
.qc-home .jc-compact-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.qc-home .jc-compact-match{
  display:block;background:#fff;padding:12px 14px;color:var(--text)
}
.qc-home .jc-compact-match:active{background:#f8faff}
.qc-home .jc-compact-top{
  display:flex;justify-content:space-between;gap:10px;align-items:center;
  color:var(--muted);font-size:12px;margin-bottom:8px
}
.qc-home .jc-compact-top span{display:flex;gap:7px;align-items:center;min-width:0}
.qc-home .jc-compact-top b{
  background:#f1f3f7;border-radius:6px;padding:3px 6px;color:#657086;font-size:12px
}
.qc-home .jc-compact-top em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qc-home .jc-compact-main{
  display:grid;grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);
  gap:8px;align-items:center
}
.qc-home .jc-compact-team{font-size:16px;line-height:1.25;font-weight:900}
.qc-home .jc-compact-team.away{text-align:right}
.qc-home .jc-compact-score{text-align:center}
.qc-home .jc-compact-score>b{display:block;color:var(--blue);font-size:22px;line-height:1.1}
.qc-home .jc-compact-ht{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.qc-home .jc-compact-status{margin-top:7px;color:var(--muted);font-size:12px}
.qc-home .profile-card{border-radius:16px}
@media(max-width:420px){
  .qc-home .brand{font-size:20px}
  .qc-home .brand span{font-size:14px}
  .qc-home .jc-date-nav{grid-template-columns:minmax(0,1fr) 52px 58px}
  .qc-home .jc-today-btn,.qc-home .jc-league-toggle{padding:0 8px}
  .qc-home .date-label-btn{font-size:15px!important}
  .qc-home .jc-compact-team{font-size:15px}
  .qc-home .jc-compact-main{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr)}
}

/* 2026-09-22 homepage: yesterday review + today prediction */
.qc-home .jc-home-controls{margin-bottom:18px}
.qc-home .jc-date-nav{
  max-width:620px;margin:0 auto;grid-template-columns:minmax(260px,1fr) auto auto
}
.qc-home .jc-review-shell{margin-bottom:22px}
.qc-home .jc-review-heading .bar{background:#e58b2f!important}
.qc-home .jc-prediction-heading .bar{background:var(--blue)!important}
.qc-home .jc-review-empty{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:22px;text-align:center;color:var(--muted);font-weight:800
}
.qc-home .jc-review-table-wrap{
  background:#fff;border:1px solid var(--line);border-radius:14px;overflow-x:auto;
  box-shadow:0 4px 18px rgba(31,42,68,.04)
}
.qc-home .jc-review-table{
  width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed
}
.qc-home .jc-review-table th{
  background:#f3f6fa;color:#657086;font-size:12px;padding:10px 8px;
  border-bottom:1px solid var(--line);text-align:center
}
.qc-home .jc-review-table td{
  padding:10px 8px;border-bottom:1px solid #edf0f5;text-align:center;
  font-size:13px;vertical-align:middle
}
.qc-home .jc-review-table tr:last-child td{border-bottom:0}
.qc-home .jc-review-table td:first-child{border-left:4px solid #35b36e}
.qc-home .jc-review-table small{
  display:block;margin-top:3px;color:var(--muted);font-size:11px
}
.qc-home .jc-review-match{
  display:grid;grid-template-columns:minmax(90px,1fr) auto minmax(90px,1fr);
  align-items:center;gap:7px;color:var(--text)
}
.qc-home .jc-review-match span:first-child{text-align:right;color:#3268d7;font-weight:800}
.qc-home .jc-review-match span:last-child{text-align:left;color:#c27925;font-weight:800}
.qc-home .jc-review-match strong{font-size:17px;color:var(--text)}
.qc-home .jc-review-result{color:#c27925}
.qc-home .jc-prediction-shell{margin-top:8px}
@media(max-width:640px){
  .qc-home .jc-date-nav{
    grid-template-columns:minmax(0,1fr) 84px 58px;gap:7px
  }
  .qc-home .jc-today-btn{font-size:12px;padding:0 7px}
  .qc-home .jc-home-section-title{font-size:20px}
  .qc-home .jc-review-table-wrap{
    margin-left:-14px;margin-right:-14px;border-radius:0;border-left:0;border-right:0
  }
  .qc-home .jc-review-table{min-width:720px}
}


/* 2026-09-22 locked site IA: 今日速览 + 竞彩足球 */
.qc-overview-page .shell,.qc-football-page .shell{max-width:1600px}
.qc-site-header{
  height:72px!important;align-items:center!important;padding:0 22px!important;
  display:grid!important;grid-template-columns:auto 1fr auto;gap:26px;
  background:#fffdfa
}
.qc-site-header .brand{font-size:21px;white-space:nowrap}
.qc-site-header .brand span{font-size:15px;margin-left:2px}
.qc-primary-nav{display:flex;align-self:stretch;gap:8px}
.qc-primary-nav a{
  min-width:92px;display:flex;align-items:center;justify-content:center;
  padding:0 14px;border-bottom:3px solid transparent;color:#747d8f;
  font-size:15px;font-weight:800
}
.qc-primary-nav a:hover{color:var(--text)}
.qc-primary-nav a.active{color:var(--blue);border-bottom-color:var(--blue)}
.qc-site-header .menu-btn{width:42px;height:42px;border-radius:12px;font-size:21px}
.qc-overview-page .content,.qc-football-page .content{padding:20px 18px 80px}
.qc-overview-page .jc-home-controls{margin-bottom:14px}
.qc-overview-page .jc-review-shell{margin-bottom:28px}
.qc-overview-page .jc-prediction-shell{margin-top:0}
.qc-overview-page .jc-home-section-title{font-size:20px;margin:15px 0 10px}
.qc-overview-page .jc-home-section-title .bar{height:28px;width:4px}
.qc-overview-page .jc-review-table-wrap{border-radius:12px}
.qc-overview-page .jc-review-table{min-width:980px}
.qc-overview-page .jc-review-table th{
  padding:11px 8px;font-size:12px;background:#eef2f8
}
.qc-overview-page .jc-review-table td{
  padding:12px 8px;font-size:13px;cursor:pointer
}
.qc-overview-page .jc-overview-row:hover td{background:#fbfcff}
.qc-overview-page .jc-overview-league{
  display:inline-flex;padding:5px 9px;border-radius:999px;background:#f2f3f6;
  color:#626c7e;font-size:12px;font-weight:800
}
.qc-overview-page .jc-review-match{
  grid-template-columns:minmax(120px,1fr) 74px minmax(120px,1fr);gap:10px
}
.qc-overview-page .jc-score-stack{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px
}
.qc-overview-page .jc-score-half{font-size:11px!important;color:#a0a8b8!important;font-weight:700!important}
.qc-overview-page .jc-score-full{font-size:18px!important;color:var(--text)!important;font-weight:900!important}
.qc-overview-page .jc-score-full.vs{font-size:14px!important;color:#9ba4b4!important}
.qc-overview-page .jc-result-stack{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.qc-overview-page .jc-landed{color:#c46d18;font-weight:900}
.qc-overview-page .jc-landed.secondary{color:#6f788a;font-weight:800}
.qc-overview-page .jc-overview-pending{
  display:inline-flex;padding:4px 8px;border-radius:999px;background:#f3f5f8;
  color:#929bad;font-size:12px;font-weight:800
}

/* Red review ring is ready for later model-settlement hits. */
.qc-overview-page .jc-hit-ring{
  display:inline-flex;border:2px solid #ef625b;border-radius:999px;
  padding:3px 7px;color:#c46d18;font-weight:900
}

/* 竞彩足球 card page */
.qc-football-toolbar{
  position:relative;display:flex;align-items:center;justify-content:space-between;
  gap:18px;background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:14px 16px;margin-bottom:22px;box-shadow:0 8px 24px rgba(31,42,68,.05)
}
.jc-football-league-filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.jc-football-league-filters button{
  border:1px solid var(--line);border-radius:999px;background:#fff;color:#667084;
  padding:8px 14px;font-weight:800;cursor:pointer
}
.jc-football-league-filters button.active{
  background:#edf3ff;color:#2e64dc;border-color:#cad8ff
}
.jc-football-date-zone{position:relative;display:flex;align-items:center;gap:8px}
.jc-football-date-zone>button{
  min-height:38px;border:1px solid var(--line);background:#fff;border-radius:999px;
  padding:0 12px;color:#6d7688;font-weight:800;cursor:pointer
}
.jc-football-date-label{min-width:122px;color:var(--text)!important}
.jc-football-today{background:#f3f5f8!important}
.qc-football-page .jc-date-popover{top:48px;left:auto;right:0;transform:none}
.jc-football-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px
}
.jc-football-card{
  display:block;background:#fff;border:1px solid var(--line);border-radius:22px;
  padding:18px;box-shadow:0 9px 28px rgba(31,42,68,.055);transition:.15s
}
.jc-football-card:hover{transform:translateY(-2px);box-shadow:0 13px 34px rgba(31,42,68,.085)}
.jc-football-card .jc-card-teams{min-height:52px}
.jc-football-card .jc-team{font-size:16px}
.jc-football-card .jc-card-top time{font-size:12px}
.jc-football-card .jc-status-strip{margin-bottom:14px}
.jc-football-card .jc-model-pending{margin-top:14px}

/* Detail page uses the same two-item product navigation. */
.jc-odds-page .qc-site-header{max-width:none}
.jc-odds-page .qc-site-header .qc-primary-nav{margin-right:auto}

@media(max-width:1100px){
  .jc-football-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .qc-site-header{
    grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;
    height:76px!important;padding:0 14px!important
  }
  .qc-site-header .brand{font-size:18px}
  .qc-site-header .brand span{font-size:12px;display:block;margin-top:2px}
  .qc-primary-nav{
    grid-column:1/-1;order:3;height:42px;margin:0 -14px;padding:0 14px;
    background:#fff;border-top:1px solid var(--line)
  }
  .qc-primary-nav a{min-width:92px;font-size:14px}
  .qc-site-header .menu-btn{grid-column:2;grid-row:1}
  .qc-overview-page .content,.qc-football-page .content{padding:16px 12px 72px}
  .qc-football-toolbar{align-items:flex-start;flex-direction:column;padding:12px}
  .jc-football-date-zone{width:100%;overflow-x:auto;padding-bottom:2px}
  .jc-football-date-zone .jc-fixture-count{margin-left:auto}
  .jc-football-grid{grid-template-columns:1fr}
  .qc-overview-page .jc-review-table-wrap{margin-left:-12px;margin-right:-12px;border-radius:0}
}


/* 2026-09-22 match facts: five switchable sub-tabs + Sporttery detail blocks */
.jc-facts-subtabs{overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.jc-facts-subtabs::-webkit-scrollbar{display:none}
.jc-facts-subtabs button{flex:0 0 auto}
.jc-stat-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:18px}
.jc-stat-pair{
  display:grid;grid-template-columns:1.2fr .7fr .7fr;align-items:center;gap:8px;
  border:1px solid var(--line);border-radius:12px;background:#fafbfd;padding:11px 12px
}
.jc-stat-pair span{color:var(--muted);font-size:12px;font-weight:800}
.jc-stat-pair strong{text-align:center}
.jc-empty-inline{padding:10px 0 14px;color:var(--muted);font-size:13px}
.jc-injury-list{display:grid;gap:7px;margin:8px 0 14px}
.jc-injury-list>div{
  display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;
  border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fafbfd
}
.jc-injury-list span{color:var(--muted);font-size:12px}
.jc-injury-list em{
  font-style:normal;color:#c76228;background:#fff1e6;border-radius:999px;
  padding:3px 7px;font-size:11px;font-weight:900
}
.jc-api-block{margin-bottom:18px}
.jc-h2h-list{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.jc-h2h-row{
  display:grid;grid-template-columns:92px 1fr 70px 1fr 78px;gap:8px;align-items:center;
  padding:12px 14px;border-top:1px solid var(--line);text-align:center
}
.jc-h2h-row:first-child{border-top:0}
.jc-h2h-row time,.jc-h2h-row small{color:var(--muted);font-size:12px}
.jc-h2h-row span:first-of-type{text-align:right;color:#3268d7;font-weight:800}
.jc-h2h-row span:last-of-type{text-align:left;color:#c27925;font-weight:800}
.jc-h2h-row strong{font-size:16px}
@media(max-width:640px){
  .jc-facts-subtabs{gap:14px;padding:0 12px}
  .jc-stat-pairs{grid-template-columns:1fr}
  .jc-h2h-row{grid-template-columns:72px 1fr 54px 1fr}
  .jc-h2h-row small{grid-column:2/5;text-align:center}
}


/* 2026-09-22 overview table column rebalance: compact meta, widen core outputs */
.qc-overview-page .jc-overview-table th:nth-child(1),
.qc-overview-page .jc-overview-table td:nth-child(1){width:6.5%}
.qc-overview-page .jc-overview-table th:nth-child(2),
.qc-overview-page .jc-overview-table td:nth-child(2){width:6%}
.qc-overview-page .jc-overview-table th:nth-child(3),
.qc-overview-page .jc-overview-table td:nth-child(3){width:9%}
.qc-overview-page .jc-overview-table th:nth-child(4),
.qc-overview-page .jc-overview-table td:nth-child(4){width:31%}
.qc-overview-page .jc-overview-table th:nth-child(5),
.qc-overview-page .jc-overview-table td:nth-child(5){width:22.5%}
.qc-overview-page .jc-overview-table th:nth-child(6),
.qc-overview-page .jc-overview-table td:nth-child(6){width:12.5%}
.qc-overview-page .jc-overview-table th:nth-child(7),
.qc-overview-page .jc-overview-table td:nth-child(7){width:12.5%}

.qc-overview-page .jc-overview-table th:nth-child(-n+3),
.qc-overview-page .jc-overview-table td:nth-child(-n+3){
  padding-left:5px;padding-right:5px;white-space:nowrap
}
.qc-overview-page .jc-overview-table th:nth-child(4),
.qc-overview-page .jc-overview-table td:nth-child(4),
.qc-overview-page .jc-overview-table th:nth-child(5),
.qc-overview-page .jc-overview-table td:nth-child(5){
  padding-left:10px;padding-right:10px
}
.qc-overview-page .jc-review-match{
  grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr);
}
@media(max-width:900px){
  .qc-overview-page .jc-review-table{min-width:900px}
}


/* 2026-09-22 unified header: brand one line, primary navigation inside hamburger drawer */
.qc-site-header{
  height:72px!important;padding:0 18px!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;align-items:center!important;background:#fffdfa
}
.qc-site-header .qc-primary-nav{display:none!important}
.qc-brand-line{
  display:flex!important;align-items:baseline!important;gap:8px!important;
  min-width:0;white-space:nowrap!important;line-height:1!important
}
.qc-brand-line .qc-brand-main{
  color:var(--text)!important;font-size:21px!important;font-weight:900!important;margin:0!important
}
.qc-brand-line .qc-brand-sep{
  color:#9aa3b4!important;font-size:17px!important;font-weight:700!important;margin:0!important
}
.qc-brand-line .qc-brand-sub{
  color:var(--blue)!important;font-size:15px!important;font-weight:900!important;
  margin:0!important;display:inline!important
}
.qc-site-header .menu-btn{
  grid-column:2!important;grid-row:1!important;width:44px!important;height:44px!important;
  border-radius:13px!important;font-size:22px!important
}

/* 2026-09-22 Sporttery list card: no odds on list, details only after opening match */
.jc-football-card-lite{padding:0!important;overflow:hidden}
.jc-football-card-lite .jc-card-link{display:block;padding:17px 18px 14px}
.jc-football-card-lite .jc-card-top{
  display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px
}
.jc-football-card-lite .jc-card-top>span{display:flex;align-items:center;gap:8px;min-width:0}
.jc-football-card-lite .jc-card-top em{
  font-style:normal;padding:5px 9px;border-radius:999px;background:#f1f3f7;
  color:#6e788b;font-size:12px;font-weight:800;white-space:nowrap
}
.jc-football-card-lite .jc-card-top b{font-size:15px;white-space:nowrap}
.jc-football-card-lite .jc-card-top time{font-size:12px;color:var(--muted);white-space:nowrap}
.jc-football-card-lite .jc-card-teams{
  display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);
  align-items:center;gap:8px;min-height:44px;margin:0 0 13px
}
.jc-football-card-lite .jc-team{font-size:17px;line-height:1.35}
.jc-football-card-lite .away-team{text-align:right}
.jc-football-card-lite .jc-vs{
  display:flex;align-items:center;justify-content:center;min-height:34px;
  border:1px solid var(--line);border-radius:10px;background:#f8fafc;
  color:#9aa3b4;font-weight:900
}
.jc-card-status-row{display:flex;justify-content:center;margin:0 0 14px}
.jc-status-pill{
  display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;
  background:#f3f5f8;color:#7c8698;font-size:12px;font-weight:800
}
.jc-card-model-lite{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
  padding:11px 0;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5
}
.jc-card-model-lite>div{text-align:center;min-width:0}
.jc-card-model-lite span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}
.jc-card-model-lite b{display:block;font-size:13px;white-space:nowrap}
.jc-card-detail-btn{
  display:flex;align-items:center;justify-content:center;gap:5px;
  padding-top:12px;color:var(--blue);font-size:13px;font-weight:900
}
.jc-card-detail-btn span{font-size:18px;line-height:1}
.jc-card-detail-sep{font-size:13px!important;color:#b4bdca}
.jc-card-login-btn{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin-top:10px;padding:12px 8px;border-radius:14px;
  background:linear-gradient(100deg,#f0f1ff,#fff8ee);
  color:#626d80;font-size:13px;font-weight:900;
}
.jc-card-login-btn span{font-size:12px}

@media(max-width:760px){
  .qc-site-header{height:54px!important;padding:0 14px!important}
  .qc-brand-line{gap:5px!important}
  .qc-brand-line .qc-brand-main{font-size:19px!important;line-height:1!important}
  .qc-brand-line .qc-brand-sep{font-size:14px!important;line-height:1!important}
  .qc-brand-line .qc-brand-sub{font-size:12.5px!important;line-height:1!important;display:inline!important;margin:0!important}
  .qc-site-header .menu-btn{width:42px!important;height:42px!important}
  .drawer{top:54px!important}
  .jc-football-card-lite .jc-card-link{padding:15px 14px 12px}
  .jc-card-model-lite{gap:4px}
  .jc-card-model-lite span{font-size:10px}
  .jc-card-model-lite b{font-size:12px}
}
@media(max-width:380px){
  .qc-brand-line{gap:5px!important}
  .qc-brand-line .qc-brand-main{font-size:17px!important}
  .qc-brand-line .qc-brand-sep{font-size:14px!important}
  .qc-brand-line .qc-brand-sub{font-size:12px!important}
}


/* 2026-09-22 homepage mobile: show every core field without horizontal clipping */
.qc-overview-page .jc-date-nav{
  grid-template-columns:minmax(0,1fr) auto!important;
  max-width:560px!important;
}
@media(max-width:760px){
  .qc-overview-page .jc-date-nav{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important
  }
  .qc-overview-page .jc-review-table-wrap{
    margin:0!important;border:0!important;border-radius:0!important;
    overflow:visible!important;background:transparent!important;box-shadow:none!important
  }
  .qc-overview-page .jc-review-table{
    min-width:0!important;width:100%!important;display:block!important;
    table-layout:auto!important
  }
  .qc-overview-page .jc-review-table thead{display:none!important}
  .qc-overview-page .jc-review-table tbody{
    display:grid!important;gap:12px!important;width:100%!important
  }
  .qc-overview-page .jc-review-table tr.jc-overview-row{
    display:grid!important;grid-template-columns:1fr .8fr 1.2fr!important;
    width:100%!important;overflow:hidden!important;
    background:#fff!important;border:1px solid var(--line)!important;
    border-left:4px solid #35b36e!important;border-radius:16px!important;
    box-shadow:0 5px 18px rgba(31,42,68,.045)!important
  }
  .qc-overview-page .jc-review-table td{
    display:block!important;width:auto!important;min-width:0!important;
    padding:10px 8px!important;border:0!important;text-align:center!important;
    font-size:12px!important
  }
  .qc-overview-page .jc-review-table td:nth-child(1),
  .qc-overview-page .jc-review-table td:nth-child(2),
  .qc-overview-page .jc-review-table td:nth-child(3){
    background:#f7f9fc!important;border-bottom:1px solid #edf0f5!important
  }
  .qc-overview-page .jc-review-table td:nth-child(1){text-align:left!important;padding-left:12px!important}
  .qc-overview-page .jc-review-table td:nth-child(3){text-align:right!important;padding-right:12px!important}
  .qc-overview-page .jc-review-table td:nth-child(4){
    grid-column:1/-1!important;padding:16px 12px!important;border-bottom:1px solid #edf0f5!important
  }
  .qc-overview-page .jc-review-table td:nth-child(5),
  .qc-overview-page .jc-review-table td:nth-child(6),
  .qc-overview-page .jc-review-table td:nth-child(7){
    position:relative!important;padding:30px 6px 12px!important;min-height:64px!important
  }
  .qc-overview-page .jc-review-table td:nth-child(5)::before,
  .qc-overview-page .jc-review-table td:nth-child(6)::before,
  .qc-overview-page .jc-review-table td:nth-child(7)::before{
    position:absolute;top:9px;left:0;right:0;color:var(--muted);
    font-size:10px;font-weight:800;text-align:center
  }
  .qc-overview-page .jc-review-table td:nth-child(5)::before{content:"方向 / 让球"}
  .qc-overview-page .jc-review-table td:nth-child(6)::before{content:"总进球"}
  .qc-overview-page .jc-review-table td:nth-child(7)::before{content:"半全场"}
  .qc-overview-page .jc-review-match{
    width:100%!important;display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)!important;
    gap:7px!important;align-items:center!important
  }
  .qc-overview-page .jc-review-match>span:first-child{
    text-align:right!important;color:#316be9!important;font-weight:900!important;
    font-size:15px!important;line-height:1.25!important;overflow-wrap:anywhere
  }
  .qc-overview-page .jc-review-match>span:last-child{
    text-align:left!important;color:#d9802f!important;font-weight:900!important;
    font-size:15px!important;line-height:1.25!important;overflow-wrap:anywhere
  }
  .qc-overview-page .jc-score-full{font-size:18px!important}
  .qc-overview-page .jc-score-half{font-size:10px!important}
  .qc-overview-page .jc-overview-league{
    padding:4px 7px!important;font-size:10px!important;max-width:100%;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap
  }
  .qc-overview-page .jc-result-stack{
    min-height:22px!important;gap:3px!important;flex-direction:column!important
  }
  .qc-overview-page .jc-overview-pending,
  .qc-overview-page .jc-landed{font-size:12px!important}
}


/* 2026-09-22 homepage mobile FINAL: dense table layout, not per-match cards */
@media(max-width:760px){
  .qc-overview-page .jc-review-table-wrap{
    margin:0!important;
    border:1px solid var(--line)!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 4px 16px rgba(31,42,68,.04)!important
  }
  .qc-overview-page .jc-review-table{
    display:table!important;
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important
  }
  .qc-overview-page .jc-review-table thead{display:table-header-group!important}
  .qc-overview-page .jc-review-table tbody{display:table-row-group!important}
  .qc-overview-page .jc-review-table tr.jc-overview-row{
    display:table-row!important;
    width:auto!important;
    background:#fff!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important
  }
  .qc-overview-page .jc-review-table th,
  .qc-overview-page .jc-review-table td{
    display:table-cell!important;
    width:auto!important;
    min-width:0!important;
    box-sizing:border-box!important;
    text-align:center!important;
    vertical-align:middle!important;
    border-bottom:1px solid #edf0f5!important;
    padding:7px 2px!important;
  }
  .qc-overview-page .jc-review-table th{
    background:#eef2f7!important;
    color:#6d778c!important;
    font-size:9px!important;
    line-height:1.15!important;
    font-weight:900!important;
    white-space:nowrap!important
  }
  .qc-overview-page .jc-review-table td{
    font-size:10px!important;
    line-height:1.2!important;
    background:#fff!important
  }
  .qc-overview-page .jc-review-table td:first-child{
    border-left:3px solid #35b36e!important;
    padding-left:3px!important
  }

  .qc-overview-page .jc-overview-table th:nth-child(1),
  .qc-overview-page .jc-overview-table td:nth-child(1){width:8%!important}
  .qc-overview-page .jc-overview-table th:nth-child(2),
  .qc-overview-page .jc-overview-table td:nth-child(2){width:8%!important}
  .qc-overview-page .jc-overview-table th:nth-child(3),
  .qc-overview-page .jc-overview-table td:nth-child(3){width:10%!important}
  .qc-overview-page .jc-overview-table th:nth-child(4),
  .qc-overview-page .jc-overview-table td:nth-child(4){width:32%!important}
  .qc-overview-page .jc-overview-table th:nth-child(5),
  .qc-overview-page .jc-overview-table td:nth-child(5){width:15%!important}
  .qc-overview-page .jc-overview-table th:nth-child(6),
  .qc-overview-page .jc-overview-table td:nth-child(6){width:15%!important}
  .qc-overview-page .jc-overview-table th:nth-child(7),
  .qc-overview-page .jc-overview-table td:nth-child(7){width:12%!important}

  .qc-overview-page .jc-review-table td:nth-child(1),
  .qc-overview-page .jc-review-table td:nth-child(2){
    white-space:nowrap!important;font-weight:800!important
  }
  .qc-overview-page .jc-overview-league{
    display:inline!important;
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#667085!important;
    font-size:9px!important;
    font-weight:800!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important
  }

  .qc-overview-page .jc-review-match{
    display:grid!important;
    width:100%!important;
    grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr)!important;
    gap:2px!important;
    align-items:center!important
  }
  .qc-overview-page .jc-review-match>span:first-child{
    text-align:right!important;
    color:#316be9!important;
    font-size:10px!important;
    font-weight:900!important;
    line-height:1.15!important;
    overflow-wrap:anywhere!important
  }
  .qc-overview-page .jc-review-match>span:last-child{
    text-align:left!important;
    color:#d9802f!important;
    font-size:10px!important;
    font-weight:900!important;
    line-height:1.15!important;
    overflow-wrap:anywhere!important
  }
  .qc-overview-page .jc-score-stack{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important
  }
  .qc-overview-page .jc-score-full{font-size:12px!important;line-height:1!important}
  .qc-overview-page .jc-score-full.vs{font-size:11px!important}
  .qc-overview-page .jc-score-half{font-size:8px!important;line-height:1.05!important;margin-top:2px!important}

  .qc-overview-page .jc-review-table td:nth-child(5),
  .qc-overview-page .jc-review-table td:nth-child(6),
  .qc-overview-page .jc-review-table td:nth-child(7){
    position:static!important;
    min-height:0!important;
    padding:7px 2px!important
  }
  .qc-overview-page .jc-review-table td:nth-child(5)::before,
  .qc-overview-page .jc-review-table td:nth-child(6)::before,
  .qc-overview-page .jc-review-table td:nth-child(7)::before{content:none!important}

  .qc-overview-page .jc-result-stack{
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important
  }
  .qc-overview-page .jc-overview-pending,
  .qc-overview-page .jc-landed{
    display:inline!important;
    padding:0!important;
    background:transparent!important;
    border-radius:0!important;
    font-size:9px!important;
    line-height:1.2!important;
    white-space:normal!important
  }
  .qc-overview-page .jc-landed{color:#c66b12!important;font-weight:900!important}
  .qc-overview-page .jc-landed.secondary{color:#7a8496!important}

  .qc-overview-page .jc-home-section-title{
    font-size:19px!important;
    margin:18px 0 9px!important
  }
  .qc-overview-page .section-meta{font-size:11px!important}
  .qc-overview-page .jc-fixture-count{font-size:11px!important}
}
@media(max-width:390px){
  .qc-overview-page .jc-review-table th{font-size:8px!important}
  .qc-overview-page .jc-review-table td{font-size:9px!important;padding:6px 1px!important}
  .qc-overview-page .jc-review-match{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr)!important}
  .qc-overview-page .jc-review-match>span:first-child,
  .qc-overview-page .jc-review-match>span:last-child{font-size:9px!important}
  .qc-overview-page .jc-overview-pending,
  .qc-overview-page .jc-landed{font-size:8px!important}
}


/* 2026-09-22 Sporttery toolbar: scalable league selector for many competitions */
.qc-football-page .jc-football-toolbar{
  position:relative;
  display:block;
  padding:8px 10px;
  margin-bottom:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 6px 20px rgba(31,42,68,.045)
}
.qc-football-page .jc-football-date-zone{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(120px,190px) 42px auto auto;
  align-items:center;
  gap:8px;
  width:100%;
}
.qc-football-page .jc-football-date-zone>button{
  height:42px;
  min-height:42px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  padding:0 12px;
  color:#667084;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap
}
.qc-football-page .jc-football-arrow{
  padding:0!important;
  font-size:24px!important
}
.qc-football-page .jc-football-date-label{
  min-width:0!important;
  color:var(--text)!important;
  font-size:16px
}
.qc-football-page .jc-football-today{
  background:#f6f7f9!important
}
.qc-football-page .jc-football-league-toggle{
  min-width:70px;
  color:var(--text)!important;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:150px
}
.qc-football-page .jc-fixture-count{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:38px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#758095;
  font-weight:900;
  white-space:nowrap
}
.qc-football-page .jc-date-popover{
  top:50px!important;
  left:50px!important;
  right:auto!important;
  transform:none!important
}
.jc-football-league-popover{
  position:absolute;
  z-index:30;
  top:50px;
  right:0;
  width:min(340px,calc(100vw - 32px));
  max-height:min(460px,70vh);
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 18px 50px rgba(31,42,68,.18)
}
.jc-football-league-title{
  position:sticky;
  top:0;
  z-index:1;
  padding:14px 16px;
  background:#edf3ff;
  color:var(--blue);
  font-weight:900;
  border-bottom:1px solid var(--line)
}
.jc-football-league-menu{
  max-height:390px;
  overflow-y:auto;
  overscroll-behavior:contain
}
.jc-football-league-menu button{
  width:100%;
  min-height:52px;
  border:0;
  border-bottom:1px solid #edf0f5;
  background:#fff;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:10px 15px;
  text-align:left;
  color:var(--text);
  cursor:pointer
}
.jc-football-league-menu button:last-child{border-bottom:0}
.jc-football-league-menu button.active{
  background:#f7f9ff;
  color:var(--blue)
}
.jc-football-league-check{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border:1px solid #dce3ef;
  border-radius:7px;
  color:var(--blue);
  font-weight:900
}
.jc-football-league-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:850
}
.jc-football-league-menu b{
  color:#778196;
  font-size:12px
}
@media(max-width:760px){
  .qc-football-page .jc-football-toolbar{
    padding:6px 8px!important;
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
    margin-left:-12px!important;
    margin-right:-12px!important;
    box-shadow:none!important
  }
  .qc-football-page .jc-football-date-zone{
    grid-template-columns:34px minmax(105px,1fr) 34px auto auto!important;
    gap:5px!important;
    overflow:visible!important;
    padding:0!important
  }
  .qc-football-page .jc-football-date-zone>button{
    height:38px!important;
    min-height:38px!important;
    border-radius:10px!important;
    padding:0 9px!important;
    font-size:12px!important
  }
  .qc-football-page .jc-football-arrow{
    padding:0!important;
    font-size:20px!important
  }
  .qc-football-page .jc-football-date-label{
    font-size:14px!important
  }
  .qc-football-page .jc-football-today{
    padding:0 8px!important
  }
  .qc-football-page .jc-football-league-toggle{
    min-width:56px!important;
    max-width:90px!important;
    padding:0 8px!important
  }
  .qc-football-page .jc-date-popover{
    top:44px!important;
    left:0!important;
    width:min(360px,calc(100vw - 24px))!important
  }
  .jc-football-league-popover{
    top:44px;
    right:0;
    width:min(330px,calc(100vw - 20px));
    max-height:58vh
  }
  .jc-football-league-menu{max-height:calc(58vh - 52px)}
}


/* 2026-09-22 odds tabs: keep all 5 play types visible on mobile */
@media(max-width:640px){
  .jc-odds-play-tabs{
    display:grid!important;
    grid-template-columns:.9fr 1.35fr .85fr 1.15fr .95fr!important;
    gap:2px!important;
    overflow:visible!important;
    padding:4px!important;
  }
  .jc-odds-play-tabs button{
    min-width:0!important;
    padding:10px 2px!important;
    font-size:10px!important;
    letter-spacing:-.2px!important;
    white-space:nowrap!important;
  }
}


/* 2026-09-22 odds detail: four top-level plays; handicap remains inside 胜平负 */
.jc-odds-play-tabs{
  grid-template-columns:repeat(4,1fr)!important;
}
@media(max-width:640px){
  .jc-odds-play-tabs{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .jc-odds-play-tabs button{
    font-size:11px!important;
    padding:10px 3px!important;
  }
}


/* 2026-09-22 trial: small football mark on first three Sporttery cards */
.jc-card-top-left{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important
}
.jc-card-top-meta{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important
}
.jc-card-mini-logo{
  width:26px!important;
  height:26px!important;
  flex:0 0 26px!important;
  display:block!important
}
@media(max-width:760px){
  .jc-card-mini-logo{
    width:24px!important;
    height:24px!important;
    flex-basis:24px!important
  }
  .jc-card-top-left{gap:6px!important}
  .jc-card-top-meta{gap:5px!important}
}


/* 2026-09-22 locked model + AI report */
.qc-overview-page .jc-model-main{font-weight:900;color:var(--text)}
.qc-overview-page .jc-model-sub{
  display:block;margin-top:3px;color:#6f788a;font-size:11px;font-weight:800
}
.jc-football-card-lite .jc-card-model-lite{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.jc-football-card-lite .jc-card-model-lite>div{
  padding:5px 4px
}
.jc-football-card-lite .jc-card-model-lite .jc-card-model-top{
  grid-column:1/-1;border-top:1px dashed #e6eaf1;padding-top:9px;margin-top:2px
}
.jc-football-card-lite .jc-card-model-lite b{
  white-space:normal;line-height:1.35
}
.jc-ai-model-summary{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;margin:16px 0
}
.jc-ai-model-summary>div{
  border:1px solid var(--line);border-radius:14px;padding:13px;background:#fafbfd
}
.jc-ai-model-summary span{
  display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:6px
}
.jc-ai-model-summary b{
  display:block;font-size:15px;line-height:1.45
}
.jc-ai-report{
  display:grid;gap:12px;margin-top:18px
}
.jc-ai-report-section{
  border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff
}
.jc-ai-report-section h3{
  margin:0 0 9px;font-size:16px
}
.jc-ai-report-section p{
  margin:0!important;color:#4f596d!important;line-height:1.85!important;font-size:14px
}
.jc-ai-wait{
  margin-top:18px;padding:16px;border-radius:15px;background:#f8fafc;border:1px dashed var(--line)
}
.jc-ai-wait b{display:block;margin-bottom:7px}
.jc-ai-wait p{margin:0!important}

@media(max-width:640px){
  .jc-football-card-lite .jc-card-model-lite{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
  .jc-football-card-lite .jc-card-model-lite>div{padding:5px 2px}
  .jc-football-card-lite .jc-card-model-lite span{font-size:9px}
  .jc-football-card-lite .jc-card-model-lite b{font-size:11px;line-height:1.35}
}

@media(max-width:640px){
  .jc-ai-model-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jc-ai-model-summary>div{padding:11px}
  .jc-ai-model-summary b{font-size:13px}
  .jc-ai-report-section{padding:14px}
}


/* 2026-09-22 daily overview hierarchy: primary / secondary choices */
.qc-overview-page .jc-choice-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  line-height:1.15;
}
.qc-overview-page .jc-choice-inline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  white-space:nowrap;
  line-height:1.15;
}
.qc-overview-page .jc-choice-sep{
  color:#9aa3b2;
  font-weight:700;
}
.qc-overview-page .jc-choice-primary{
  color:#c66b12;
  font-weight:900;
}
.qc-overview-page .jc-choice-secondary{
  color:#8b95a7;
  font-weight:800;
}
.qc-overview-page .jc-goal-choices{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  flex-wrap:wrap;
  color:#c66b12;
  font-weight:900;
  line-height:1.2;
}
.qc-overview-page .jc-goal-choices span{white-space:nowrap}
@media(max-width:760px){
  .qc-overview-page .jc-choice-stack{gap:1px}
  .qc-overview-page .jc-choice-primary,
  .qc-overview-page .jc-choice-secondary,
  .qc-overview-page .jc-goal-choices{font-size:9px}
  .qc-overview-page .jc-goal-choices{gap:2px}
}
@media(max-width:390px){
  .qc-overview-page .jc-choice-primary,
  .qc-overview-page .jc-choice-secondary,
  .qc-overview-page .jc-goal-choices{font-size:8px}
}


/* 2026-09-22 prematch Pro access gate */
.qc-premium-gate{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:300px;
  padding:42px 24px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  text-align:center;
  box-shadow:var(--shadow);
}
.qc-premium-lock{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border:1px solid #cbd8ff;
  border-radius:20px;
  background:#eef3ff;
  font-size:30px;
}
.qc-premium-gate h3{margin:0 0 12px;font-size:24px;color:var(--text)}
.qc-premium-gate p{max-width:620px;margin:0 0 22px;color:var(--muted);font-size:16px;line-height:1.8}
.qc-premium-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  min-height:50px;
  padding:0 22px;
  border-radius:14px;
  background:var(--blue);
  color:#fff!important;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(55,100,237,.2);
}
.qc-premium-secondary{
  margin-top:14px;
  color:var(--blue)!important;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
}
.jc-ai-locked .qc-premium-gate{
  min-height:0;
  margin-top:20px;
  padding:26px 20px;
  box-shadow:none;
  background:#fbfcff;
}
.jc-ai-lock-note{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:18px 0;
  padding:16px 18px;
  border-left:4px solid var(--blue);
  border-radius:0 14px 14px 0;
  background:#eef3ff;
}
.jc-ai-lock-note b{color:#3159bd;font-size:17px}
.jc-ai-lock-note span{color:#6e7890;line-height:1.7;font-size:14px}
.jc-ai-locked-preview{
  display:grid;
  gap:12px;
  margin-top:18px;
  opacity:.62;
  filter:blur(1.5px);
}
.jc-ai-locked-preview div{
  height:72px;
  border-radius:14px;
  background:linear-gradient(90deg,#eef2fa,#f8f9fc 55%,#edf2ff);
}
@media(max-width:640px){
  .qc-premium-gate{min-height:280px;padding:34px 18px;border-radius:20px}
  .qc-premium-lock{width:62px;height:62px;font-size:27px}
  .qc-premium-gate h3{font-size:21px}
  .qc-premium-gate p{font-size:14px;line-height:1.75}
  .qc-premium-primary{width:100%;min-width:0}
  .jc-ai-lock-note{padding:14px}
}


/* 2026-09-22 anonymous date lock */
.qc-date-locked-control{
  cursor:default!important;
  pointer-events:none!important;
  user-select:none!important;
}
button.qc-date-locked-control:disabled{
  opacity:.58!important;
  color:#7f899d!important;
  background:#fff!important;
}
.date-label-btn.qc-date-locked-control:disabled,
.jc-football-date-label.qc-date-locked-control:disabled{
  opacity:1!important;
  color:var(--text)!important;
  font-weight:900!important;
}


/* 2026-09-22 live stage/time labels */
.qc-overview-page .jc-score-live{
  display:block!important;
  width:34px!important;max-width:34px!important;
  margin:1px auto 0!important;
  overflow:hidden!important;
  text-align:center!important;
  font-size:8px!important;
  line-height:1.1!important;
  letter-spacing:-.45px!important;
  font-weight:900!important;
  color:#d86722!important;
  white-space:nowrap!important
}
.qc-overview-page .jc-score-live::before{content:none!important}
.center-score small.jc-live-stage{
  display:block!important;
  width:48px!important;max-width:48px!important;
  margin:2px auto 0!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#d86722!important;
  text-align:center!important;
  font-size:10px!important;
  line-height:1.15!important;
  letter-spacing:-.35px!important;
  font-weight:900!important;
  white-space:nowrap!important
}
.center-score small.jc-live-stage::before{content:none!important}
.jc-status-pill.is-live{
  background:#fff3e9;color:#d86722
}
.jc-status-pill.is-live::before{
  content:"";width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:5px
}

/* 2026-09-22 review: keep all prematch choices, ring only landed choice */
.qc-overview-page .jc-review-choices .jc-hit-ring{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid #ef625b;
  border-radius:999px;
  padding:2px 5px;
  line-height:1.05;
}
.qc-overview-page .jc-goal-choices.jc-review-choices .jc-hit-ring{
  color:#c66b12;
}
.qc-overview-page .jc-choice-secondary.jc-hit-ring{
  color:#8b95a7;
}
@media(max-width:760px){
  .qc-overview-page .jc-review-choices .jc-hit-ring{
    padding:2px 4px;
    border-width:1.5px;
  }
}


/* 2026-09-22 overview mobile matchup horizontal refinement */
@media(max-width:760px){
  .qc-overview-page .jc-prediction-heading .jc-fixture-count{
    display:none!important;
  }

  .qc-overview-page .jc-overview-table th:nth-child(1),
  .qc-overview-page .jc-overview-table td:nth-child(1){width:6%!important}
  .qc-overview-page .jc-overview-table th:nth-child(2),
  .qc-overview-page .jc-overview-table td:nth-child(2){width:7%!important}
  .qc-overview-page .jc-overview-table th:nth-child(3),
  .qc-overview-page .jc-overview-table td:nth-child(3){width:7%!important}
  .qc-overview-page .jc-overview-table th:nth-child(4),
  .qc-overview-page .jc-overview-table td:nth-child(4){width:46%!important}
  .qc-overview-page .jc-overview-table th:nth-child(5),
  .qc-overview-page .jc-overview-table td:nth-child(5){width:12%!important}
  .qc-overview-page .jc-overview-table th:nth-child(6),
  .qc-overview-page .jc-overview-table td:nth-child(6){width:12%!important}
  .qc-overview-page .jc-overview-table th:nth-child(7),
  .qc-overview-page .jc-overview-table td:nth-child(7){width:10%!important}

  .qc-overview-page .jc-review-match{
    grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)!important;
    gap:2px!important;
  }
  .qc-overview-page .jc-review-match>span:first-child,
  .qc-overview-page .jc-review-match>span:last-child{
    min-width:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    font-size:9px!important;
    line-height:1.05!important;
    letter-spacing:-.35px!important;
  }
  .qc-overview-page .jc-score-full{
    font-size:12px!important;
    white-space:nowrap!important;
  }
  .qc-overview-page .jc-score-half{
    font-size:7.5px!important;
    white-space:nowrap!important;
  }

  .qc-overview-page .jc-review-table td:nth-child(1),
  .qc-overview-page .jc-review-table td:nth-child(2){
    padding-left:1px!important;
    padding-right:1px!important;
  }
  .qc-overview-page .jc-overview-league{
    font-size:8px!important;
    line-height:1.05!important;
  }
}
@media(max-width:390px){
  .qc-overview-page .jc-review-match{
    grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr)!important;
  }
  .qc-overview-page .jc-review-match>span:first-child,
  .qc-overview-page .jc-review-match>span:last-child{
    font-size:8.5px!important;
    letter-spacing:-.45px!important;
  }
}


/* 2026-09-22 overview mobile merge number and time */
.qc-overview-page .jc-num-time{
  white-space:nowrap;
}
.qc-overview-page .jc-num-time b,
.qc-overview-page .jc-num-time time{
  display:inline;
}
.qc-overview-page .jc-num-time time{
  margin-left:4px;
  color:inherit;
  font:inherit;
}

@media(max-width:760px){
  .qc-overview-page .jc-overview-table th:nth-child(1),
  .qc-overview-page .jc-overview-table td:nth-child(1){width:13%!important}
  .qc-overview-page .jc-overview-table th:nth-child(2),
  .qc-overview-page .jc-overview-table td:nth-child(2){width:11%!important}
  .qc-overview-page .jc-overview-table th:nth-child(3),
  .qc-overview-page .jc-overview-table td:nth-child(3){width:43%!important}
  .qc-overview-page .jc-overview-table th:nth-child(4),
  .qc-overview-page .jc-overview-table td:nth-child(4){width:11%!important}
  .qc-overview-page .jc-overview-table th:nth-child(5),
  .qc-overview-page .jc-overview-table td:nth-child(5){width:12%!important}
  .qc-overview-page .jc-overview-table th:nth-child(6),
  .qc-overview-page .jc-overview-table td:nth-child(6){width:10%!important}

  .qc-overview-page .jc-num-time{
    padding-left:2px!important;
    padding-right:2px!important;
    font-size:9px!important;
    letter-spacing:-.25px!important;
  }
  .qc-overview-page .jc-num-time b{
    font-size:9px!important;
    font-weight:900!important;
  }
  .qc-overview-page .jc-num-time time{
    margin-left:2px!important;
    font-size:8.5px!important;
    font-weight:800!important;
  }

  .qc-overview-page .jc-overview-league{
    display:block!important;
    white-space:nowrap!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    text-align:center!important;
    font-size:8px!important;
    letter-spacing:-.35px!important;
  }

  .qc-overview-page .jc-review-match{
    grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)!important;
    gap:2px!important;
  }
  .qc-overview-page .jc-review-match>span:first-child,
  .qc-overview-page .jc-review-match>span:last-child{
    white-space:nowrap!important;
    overflow:visible!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    font-size:8.8px!important;
    letter-spacing:-.4px!important;
  }

  .qc-overview-page .jc-review-table td:nth-child(4),
  .qc-overview-page .jc-review-table td:nth-child(5),
  .qc-overview-page .jc-review-table td:nth-child(6){
    position:static!important;
    min-height:0!important;
    padding:7px 1px!important;
  }
  .qc-overview-page .jc-review-table td:nth-child(4)::before,
  .qc-overview-page .jc-review-table td:nth-child(5)::before,
  .qc-overview-page .jc-review-table td:nth-child(6)::before{
    content:none!important;
  }
}
@media(max-width:390px){
  .qc-overview-page .jc-overview-table th:nth-child(1),
  .qc-overview-page .jc-overview-table td:nth-child(1){width:14%!important}
  .qc-overview-page .jc-overview-table th:nth-child(2),
  .qc-overview-page .jc-overview-table td:nth-child(2){width:11%!important}
  .qc-overview-page .jc-overview-table th:nth-child(3),
  .qc-overview-page .jc-overview-table td:nth-child(3){width:42%!important}
  .qc-overview-page .jc-num-time b{font-size:8.5px!important}
  .qc-overview-page .jc-num-time time{font-size:8px!important}
  .qc-overview-page .jc-review-match>span:first-child,
  .qc-overview-page .jc-review-match>span:last-child{
    font-size:8.2px!important;
    letter-spacing:-.5px!important;
  }
}


/* 2026-09-23 football finished hit odds */
.jc-card-hit-band{
  padding:10px 0 2px;
  text-align:center;
  border-bottom:1px solid #edf0f5;
}
.jc-card-hit-title{
  display:block;
  margin-bottom:7px;
  color:#929cad;
  font-size:10px;
  font-weight:800;
}
.jc-card-hit-play{display:flex;align-items:center;justify-content:flex-start;gap:6px;text-align:left;padding:10px 0 2px}
.jc-card-hit-play .jc-card-hit-title{display:inline;margin:0;color:#4d55b8;font-size:12px}
.jc-card-no-hit{color:#7d8798;font-size:12px;font-weight:800}
.jc-card-hit-play .jc-card-hit-items{justify-content:flex-start}
.jc-card-hit-placeholder{min-height:43px}
.jc-card-hit-items{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}
.jc-card-hit-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:27px;
  padding:3px 8px;
  border:1.5px solid #ef625b;
  border-radius:999px;
  background:#fff;
  color:#d95a51;
  white-space:nowrap;
}
.jc-card-hit-chip b{
  font-size:11px;
  font-weight:900;
}
.jc-card-hit-chip small{font-size:10px;font-weight:800;color:#d95a51}
.jc-card-hit-chip em{
  font-style:normal;
  font-size:10px;
  font-weight:850;
}
@media(max-width:640px){
  .jc-card-hit-band{padding-top:8px}
  .jc-card-hit-items{gap:5px}
  .jc-card-hit-chip{min-height:24px;padding:2px 7px}
  .jc-card-hit-chip b{font-size:10px}
  .jc-card-hit-chip em{font-size:9px}
}


/* 2026-09-23 football card final compact axis layout */
.jc-football-card-final .jc-card-link{
  padding:15px 16px 12px;
  display:flex;
  flex-direction:column;
  min-height:430px;
}
.jc-football-card-final .jc-card-detail-btn{margin-top:auto}
.jc-detail-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}
.jc-detail-sidebar{position:sticky;top:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);max-height:calc(100vh - 36px);overflow:auto}
.jc-detail-sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}
.jc-detail-sidebar-head a{color:var(--text);font-weight:800}
.jc-detail-match-list{display:grid;gap:8px;padding-top:10px}
.jc-detail-match-item{display:grid;gap:5px;padding:11px 10px;border:1px solid transparent;border-radius:12px;color:var(--text);background:#fafbfe}
.jc-detail-match-item:hover{border-color:#cbd8f7;background:#f3f6ff}
.jc-detail-match-item.active{border-color:#79a4f5;background:#edf3ff;box-shadow:0 0 0 2px rgba(69,116,224,.1)}
.jc-detail-match-item span{display:flex;gap:7px;align-items:center;font-size:12px;color:var(--muted)}
.jc-detail-match-item span b{color:var(--text)}
.jc-detail-match-item span em{font-style:normal;background:#f0f2f6;border-radius:999px;padding:3px 6px}
.jc-detail-match-item strong{font-size:14px;line-height:1.45}
.jc-detail-match-item strong i{font-style:normal;color:#9aa4b5;font-size:11px;margin:0 3px}
.jc-detail-match-item time{font-size:11px;color:var(--muted)}
.jc-detail-main{min-width:0}
@media(max-width:900px){.jc-detail-layout{grid-template-columns:1fr}.jc-detail-sidebar{position:static;max-height:none}.jc-detail-match-list{display:flex;overflow-x:auto;padding-bottom:2px}.jc-detail-match-item{min-width:190px}.jc-detail-sidebar-head{padding-bottom:8px}}
.jc-football-card-final .jc-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:14px;
}
.jc-football-card-final .jc-card-top-left{
  min-width:0;
}
.jc-football-card-final .jc-card-top-meta{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.jc-football-card-final .jc-card-top-meta em{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#f2f4f8;
  color:#7b8596;
  font-style:normal;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.jc-football-card-final .jc-card-top-meta b{
  font-size:16px;
  white-space:nowrap;
}
.jc-football-card-final .jc-card-top time{
  color:#8a94a6;
  font-size:12px;
  white-space:nowrap;
}
.jc-football-card-final .jc-card-score-axis{
  display:grid;
  grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:92px;
  padding:2px 0 10px;
}
.jc-football-card-final .jc-team{
  display:block;
  min-width:0;
  font-size:19px;
  line-height:1.28;
  font-weight:900;
  color:var(--text);
}
.jc-football-card-final .jc-team-home{
  text-align:left;
}
.jc-football-card-final .jc-team-away{
  text-align:right;
}
.jc-football-card-final .jc-score-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.jc-football-card-final .jc-score-main{
  display:block;
  color:#8d98aa;
  font-size:30px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
.jc-football-card-final .jc-score-main.is-finished{color:#d94f4f}
.jc-football-card-final .jc-score-meta{
  display:block;
  margin-top:8px;
  padding:0;
  background:transparent;
  color:#8d98aa;
  font-size:12px;
  line-height:1.1;
  font-weight:800;
  white-space:nowrap;
}
.jc-football-card-final .jc-score-meta.is-live{
  color:#d86722;
}
.jc-football-card-final .jc-score-meta.is-finished{color:#c85a5a}
.jc-football-card-final .jc-card-model-lite{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2px;
  padding:10px 0 8px;
  border-top:1px solid #edf0f5;
  border-bottom:0;
}
.jc-football-card-final .jc-card-model-lite>div{
  padding:3px 4px;
}
.jc-football-card-final .jc-card-model-lite span{
  margin-bottom:3px;
  font-size:10px;
}
.jc-football-card-final .jc-card-model-lite b{
  font-size:13px;
  line-height:1.3;
}
.jc-football-card-final .jc-card-model-top{
  grid-column:1/-1;
  padding-top:9px!important;
  margin-top:5px;
  border-top:1px dashed #edf0f5;
}
.jc-football-card-final .jc-card-hit-band{
  margin-top:2px;
  padding:9px 0 4px;
  border-top:1px solid #edf0f5;
  border-bottom:1px solid #edf0f5;
}
.jc-football-card-final .jc-card-hit-title{
  margin-bottom:6px;
}
.jc-football-card-final .jc-card-detail-btn{
  padding-top:11px;
}

@media(max-width:640px){
  .jc-football-card-final .jc-card-link{
    padding:14px 14px 11px!important;
  }
  .jc-football-card-final .jc-card-top{
    margin-bottom:10px;
  }
  .jc-football-card-final .jc-card-top-meta{
    gap:6px;
  }
  .jc-football-card-final .jc-card-top-meta em{
    min-height:24px;
    padding:0 8px;
    font-size:10px;
  }
  .jc-football-card-final .jc-card-top-meta b{
    font-size:15px;
  }
  .jc-football-card-final .jc-card-top time{
    font-size:11px;
  }
  .jc-football-card-final .jc-card-score-axis{
    grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);
    gap:7px;
    min-height:92px;
    padding:5px 0 12px;
  }
  .jc-football-card-final .jc-team{
    font-size:17px;
    line-height:1.2;
    word-break:keep-all;
    overflow-wrap:normal;
  }
  .jc-football-card-final .jc-score-main{
    font-size:27px;
  }
  .jc-football-card-final .jc-score-meta{
    margin-top:6px;
    font-size:11px;
  }
  .jc-football-card-final .jc-card-model-lite{
    padding:8px 0 6px;
  }
  .jc-football-card-final .jc-card-model-lite span{
    font-size:9px;
  }
  .jc-football-card-final .jc-card-model-lite b{
    font-size:11px;
  }
  .jc-football-card-final .jc-card-model-top{
    padding-top:7px!important;
  }
  .jc-football-card-final .jc-card-hit-band{
    padding:7px 0 3px;
  }
}

@media(max-width:390px){
  .jc-football-card-final .jc-card-score-axis{
    grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr);
    gap:5px;
  }
  .jc-football-card-final .jc-team{
    font-size:16px;
  }
  .jc-football-card-final .jc-score-main{
    font-size:25px;
  }
}


/* admin compact user management */
.admin-user-compact{margin-top:14px;padding:16px 18px}
.admin-user-compact-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.admin-user-compact-head h2{margin:0 0 3px;font-size:18px}
.admin-user-compact-head p{margin:0;color:var(--muted);font-size:12px}
.admin-user-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}
.admin-user-mini-stats>div{display:flex;align-items:baseline;gap:7px;padding:9px 11px;border-radius:12px;background:#f7f8fb}
.admin-user-mini-stats b{font-size:18px}
.admin-user-mini-stats span{font-size:12px;color:var(--muted)}
.admin-users-toolbar{display:flex;align-items:center;gap:10px;margin:14px 0}
.admin-users-toolbar input{flex:1;min-width:0}
.admin-user-page .admin-grid{margin-bottom:16px}
.admin-user-page .admin-table-wrap{overflow-x:auto}
.admin-user-page table{min-width:820px}
@media(max-width:640px){
  .admin-user-compact{padding:14px}
  .admin-user-compact-head{align-items:flex-start}
  .admin-user-compact-head .small-btn{white-space:nowrap}
  .admin-user-mini-stats{margin-top:10px}
}


/* admin operations hub */
.admin-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.admin-module-card{display:flex;min-height:170px;flex-direction:column;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow)}
.admin-module-card:hover{border-color:#cbd7fb}
.admin-module-card h2{margin:5px 0 0;font-size:20px}
.admin-module-card p{color:var(--muted);line-height:1.6;margin:15px 0}
.admin-module-card p b{color:var(--text)}
.admin-module-card>strong{color:var(--blue);font-size:14px}
.admin-module-kicker{display:inline-flex;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:900;padding:5px 9px}
.admin-note{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 14px}
.admin-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;white-space:nowrap}
.admin-status.ok{background:#e8f8ef;color:#198b52}
.admin-status.off{background:#f1f2f5;color:#7b8599}
.admin-user-action{border:0;border-radius:10px;padding:7px 12px;font-weight:900;cursor:pointer;white-space:nowrap}
.admin-user-action.danger{background:#fff0ee;color:#cf4038}
.admin-user-action.restore{background:#eaf7ef;color:#198b52}
.admin-user-action:disabled{opacity:.55;cursor:not-allowed}
.admin-action-muted{color:var(--muted)}
@media(max-width:640px){
  .admin-module-grid{grid-template-columns:1fr}
  .admin-module-card{min-height:142px}
}


/* 2026-09-23 desktop-only public layout
   Mobile is intentionally frozen. Everything below starts at 1024px. */
@media (min-width:1024px){
  body.qc-home,
  body.jc-odds-page{
    background:#eef2f7;
  }

  body.qc-home .shell,
  body.jc-odds-page .shell{
    width:min(1460px,calc(100% - 48px));
    max-width:1460px;
    margin:18px auto 32px;
    min-height:calc(100vh - 50px);
    border:1px solid #e2e7ef;
    border-radius:24px;
    overflow:clip;
    background:#f6f8fb;
    box-shadow:0 18px 60px rgba(31,42,68,.08);
  }

  body.qc-home .qc-site-header,
  body.jc-odds-page .qc-site-header{
    position:sticky;
    top:0;
    height:82px!important;
    padding:0 34px!important;
    grid-template-columns:auto 1fr auto!important;
    gap:34px!important;
    border-bottom:1px solid #e8ebf1;
  }

  body.qc-home .qc-brand-line,
  body.jc-odds-page .qc-brand-line{
    min-width:max-content;
  }

  body.qc-home .qc-brand-line .qc-brand-main,
  body.jc-odds-page .qc-brand-line .qc-brand-main{
    font-size:25px!important;
  }

  body.qc-home .qc-brand-line .qc-brand-sub,
  body.jc-odds-page .qc-brand-line .qc-brand-sub{
    font-size:16px!important;
  }

  .qc-desktop-nav{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    min-width:0;
  }

  .qc-desktop-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 17px;
    border-radius:12px;
    color:#687286;
    font-size:14px;
    font-weight:850;
    transition:.15s ease;
  }

  .qc-desktop-nav a:hover{
    background:#f2f5fb;
    color:var(--text);
  }

  .qc-desktop-nav a.active{
    background:var(--blue-soft);
    color:var(--blue);
  }

  body.qc-home .qc-site-header .menu-btn,
  body.jc-odds-page .qc-site-header .menu-btn{
    width:44px!important;
    height:44px!important;
  }

  body.qc-home .ticker,
  body.jc-odds-page .ticker{
    height:38px;
  }

  body.qc-home .ticker-track,
  body.jc-odds-page .ticker-track{
    font-size:13px;
  }

  body.qc-home .content{
    padding:28px 36px 72px;
  }

  .qc-overview-page .qc-overview-controls{
    max-width:650px;
    margin:0 0 22px;
  }

  .qc-overview-page .jc-date-nav{
    justify-content:flex-start;
  }

  .qc-overview-page .jc-date-nav .date-switch{
    width:420px;
  }

  .qc-overview-page .jc-review-shell,
  .qc-overview-page .jc-prediction-shell{
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:20px 22px 22px;
    box-shadow:0 8px 28px rgba(31,42,68,.045);
    margin-bottom:22px;
  }

  .qc-overview-page .jc-home-section-title{
    margin-top:0;
    margin-bottom:15px;
  }

  .qc-overview-page .jc-review-table-wrap{
    border-radius:16px;
    overflow:hidden;
    border:1px solid #edf0f5;
  }

  .qc-overview-page .jc-overview-table th{
    padding-top:14px;
    padding-bottom:14px;
    font-size:13px;
  }

  .qc-overview-page .jc-overview-table td{
    padding-top:15px;
    padding-bottom:15px;
  }

  .qc-football-page .content{
    padding:28px 36px 72px;
  }

  .qc-football-page .jc-football-toolbar{
    position:sticky;
    top:96px;
    z-index:13;
    margin-bottom:24px;
    padding:13px 18px;
    border-radius:16px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
  }

  .qc-football-page .jc-football-date-zone{
    width:100%;
  }

  .qc-football-page .jc-football-date-label{
    min-width:150px;
  }

  .qc-football-page .jc-football-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
  }

  .qc-football-page .jc-football-card{
    border-radius:20px;
  }

  .qc-football-page .jc-football-card-final .jc-card-link{
    padding:18px 20px 15px;
  }

  .qc-football-page .jc-football-card-final .jc-card-score-axis{
    grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);
    min-height:118px;
  }

  .qc-football-page .jc-football-card-final .jc-team{
    font-size:20px;
  }

  .qc-football-page .jc-football-card-final .jc-score-main{
    font-size:32px;
  }

  .qc-football-page .jc-football-card-final .jc-card-model-lite{
    gap:8px;
  }

  .qc-football-page .jc-football-card-final .jc-card-model-lite>div{
    min-height:58px;
    padding:7px 6px;
  }

  body.jc-odds-page .content{
    width:min(1180px,calc(100% - 72px));
    margin:0 auto;
    padding:30px 0 76px;
  }

  body.jc-odds-page .detail-head{
    padding:26px 30px;
    border-radius:22px;
  }

  body.jc-odds-page .detail-title{
    grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);
  }

  body.jc-odds-page .team-badge{
    font-size:20px;
  }

  body.jc-odds-page .center-score strong{
    font-size:40px;
  }

  body.jc-odds-page .jc-main-tabs{
    max-width:620px;
    margin:24px auto 0;
  }

  body.jc-odds-page .jc-main-tabs button{
    min-height:46px;
  }

  body.jc-odds-page .jc-facts-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  body.jc-odds-page .jc-ai-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }

  body.jc-odds-page .jc-ai-context{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body.jc-odds-page .jc-odds-play-tabs{
    top:98px;
  }

  body.qc-home .footer-note,
  body.jc-odds-page .footer-note{
    padding:22px 36px 30px;
    font-size:13px;
  }

  body.qc-home .drawer,
  body.jc-odds-page .drawer{
    top:82px;
    max-width:1460px;
  }
}

/* 2026-09-25 overview replay table: compact seven-column layout */
.qc-overview-page .jc-review-table-wrap{
  background:#fff!important;
  border:1px solid #e1e7f0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 8px 24px rgba(31,42,68,.06)!important;
}
.qc-overview-page .jc-review-table{
  background:#fff!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}
.qc-overview-page .jc-review-table thead th{
  background:#eef2f7!important;
  color:#66738a!important;
  border-bottom:1px solid #dfe5ee!important;
  white-space:nowrap!important;
}
.qc-overview-page .jc-review-table tbody td{
  background:#fff!important;
  border-bottom:1px solid #e8edf3!important;
}
.qc-overview-page .jc-review-table tbody tr:last-child td{border-bottom:0!important}
.qc-overview-page .jc-overview-table th:nth-child(1),
.qc-overview-page .jc-overview-table td:nth-child(1){width:8%!important}
.qc-overview-page .jc-overview-table th:nth-child(2),
.qc-overview-page .jc-overview-table td:nth-child(2){width:10%!important}
.qc-overview-page .jc-overview-table th:nth-child(3),
.qc-overview-page .jc-overview-table td:nth-child(3){width:12%!important}
.qc-overview-page .jc-overview-table th:nth-child(4),
.qc-overview-page .jc-overview-table td:nth-child(4){width:30%!important}
.qc-overview-page .jc-overview-table th:nth-child(5),
.qc-overview-page .jc-overview-table td:nth-child(5){width:16%!important}
.qc-overview-page .jc-overview-table th:nth-child(6),
.qc-overview-page .jc-overview-table td:nth-child(6){width:12%!important}
.qc-overview-page .jc-overview-table th:nth-child(7),
.qc-overview-page .jc-overview-table td:nth-child(7){width:12%!important}
.qc-overview-page .jc-num,
.qc-overview-page .jc-time{text-align:center!important;white-space:nowrap!important}
.qc-overview-page .jc-num b{font-weight:900!important;color:#29364f!important}
.qc-overview-page .jc-time time{color:#7b8598!important;font-weight:700!important}

@media(max-width:760px){
  .qc-overview-page .jc-review-table-wrap{
    margin:0 10px!important;
    border-radius:16px!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .qc-overview-page .jc-review-table{
    display:table!important;width:100%!important;min-width:0!important;
    table-layout:fixed!important;
  }
  .qc-overview-page .jc-review-table thead{display:table-header-group!important}
  .qc-overview-page .jc-review-table tbody{display:table-row-group!important}
  .qc-overview-page .jc-review-table tr.jc-overview-row{
    display:table-row!important;width:auto!important;background:#fff!important;
    border:0!important;border-left:0!important;border-radius:0!important;
    box-shadow:none!important;
  }
  .qc-overview-page .jc-review-table th,
  .qc-overview-page .jc-review-table td{
    display:table-cell!important;min-width:0!important;
    padding:9px 3px!important;vertical-align:middle!important;
    text-align:center!important;border:0!important;border-bottom:1px solid #e8edf3!important;
  }
  .qc-overview-page .jc-review-table th{
    height:42px!important;font-size:10px!important;font-weight:900!important;
  }
  .qc-overview-page .jc-review-table td{height:56px!important;font-size:10px!important;padding:5px 2px!important;line-height:1.15!important}
  .qc-overview-page .jc-review-table th:nth-child(1),
  .qc-overview-page .jc-review-table td:nth-child(1){width:9%!important}
  .qc-overview-page .jc-review-table th:nth-child(2),
  .qc-overview-page .jc-review-table td:nth-child(2){width:12%!important}
  .qc-overview-page .jc-review-table th:nth-child(3),
  .qc-overview-page .jc-review-table td:nth-child(3){width:12%!important}
  .qc-overview-page .jc-review-table th:nth-child(4),
  .qc-overview-page .jc-review-table td:nth-child(4){width:29%!important}
  .qc-overview-page .jc-review-table th:nth-child(5),
  .qc-overview-page .jc-review-table td:nth-child(5){width:15%!important}
  .qc-overview-page .jc-review-table th:nth-child(6),
  .qc-overview-page .jc-review-table td:nth-child(6){width:11%!important}
  .qc-overview-page .jc-review-table th:nth-child(7),
  .qc-overview-page .jc-review-table td:nth-child(7){width:12%!important}
  .qc-overview-page .jc-review-table td:nth-child(1),
  .qc-overview-page .jc-review-table td:nth-child(2),
  .qc-overview-page .jc-review-table td:nth-child(3){background:#fff!important}
  .qc-overview-page .jc-review-match{
    display:grid!important;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)!important;
    gap:1px!important;width:100%!important;
  }
  .qc-overview-page .jc-review-match>span:first-child,
  .qc-overview-page .jc-review-match>span:last-child{
    min-width:0!important;max-width:100%!important;overflow:hidden!important;
    text-overflow:clip!important;white-space:nowrap!important;font-size:10px!important;
  }
  .qc-overview-page .jc-score-stack{width:38px!important;min-width:38px!important;gap:1px!important}
  .qc-overview-page .jc-score-full{font-size:16px!important}
  .qc-overview-page .jc-score-half{font-size:9px!important}
  .qc-overview-page .jc-overview-league{max-width:100%!important;padding:4px 2px!important;font-size:9px!important}
  .qc-overview-page .jc-result-stack,
  .qc-overview-page .jc-choice-inline,
  .qc-overview-page .jc-goal-choices,
  .qc-overview-page .jc-choice-stack{gap:2px!important;min-height:26px!important}
  .qc-overview-page .jc-choice-primary,
  .qc-overview-page .jc-choice-secondary,
  .qc-overview-page .jc-goal-choices{font-size:10px!important;line-height:1.15!important}
  .qc-overview-page .jc-review-table td:nth-child(5) .jc-hit-ring,
  .qc-overview-page .jc-review-table td:nth-child(6) .jc-hit-ring,
  .qc-overview-page .jc-review-table td:nth-child(7) .jc-hit-ring{
    min-width:0!important;min-height:0!important;padding:2px 3px!important;border-width:2px!important;
  }
}

@media (min-width:1440px){
  .qc-football-page .jc-football-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media (max-width:1023px){
  .qc-desktop-nav{display:none!important}
}


/* 2026-09-23 desktop overview table v2
   Fix current 6-column layout; mobile rules remain untouched. */
@media (min-width:1024px){
  .qc-overview-page .jc-review-table{
    width:100%;
    min-width:0!important;
    table-layout:fixed;
    border-collapse:separate;
    border-spacing:0;
  }

  /* Current DOM is 6 columns: 编号时间 / 赛事 / 对阵 / 胜平负 / 总进球 / 半全场 */
  .qc-overview-page .jc-overview-table th:nth-child(1),
  .qc-overview-page .jc-overview-table td:nth-child(1){
    width:11%!important;
  }
  .qc-overview-page .jc-overview-table th:nth-child(2),
  .qc-overview-page .jc-overview-table td:nth-child(2){
    width:10%!important;
  }
  .qc-overview-page .jc-overview-table th:nth-child(3),
  .qc-overview-page .jc-overview-table td:nth-child(3){
    width:34%!important;
  }
  .qc-overview-page .jc-overview-table th:nth-child(4),
  .qc-overview-page .jc-overview-table td:nth-child(4){
    width:18%!important;
  }
  .qc-overview-page .jc-overview-table th:nth-child(5),
  .qc-overview-page .jc-overview-table td:nth-child(5){
    width:13.5%!important;
  }
  .qc-overview-page .jc-overview-table th:nth-child(6),
  .qc-overview-page .jc-overview-table td:nth-child(6){
    width:13.5%!important;
  }

  .qc-overview-page .jc-review-table th{
    height:48px;
    padding:0 14px!important;
    vertical-align:middle;
    color:#657086;
    font-size:13px!important;
    font-weight:850;
    letter-spacing:.1px;
  }

  .qc-overview-page .jc-review-table th:first-child{
    word-spacing:24px;
  }

  .qc-overview-page .jc-review-table td{
    height:78px;
    padding:12px 14px!important;
    vertical-align:middle;
    font-size:14px!important;
  }

  .qc-overview-page .jc-overview-row:nth-child(even) td{
    background:#fcfdff;
  }

  .qc-overview-page .jc-overview-row:hover td{
    background:#f8faff!important;
  }

  /* 编号和时间在同一单元格里，但桌面端视觉上拆成两列 */
  .qc-overview-page .jc-num-time{
    white-space:nowrap;
    text-align:left!important;
  }
  .qc-overview-page .jc-num-time b,
  .qc-overview-page .jc-num-time time{
    display:inline-block!important;
    vertical-align:middle;
  }
  .qc-overview-page .jc-num-time b{
    width:52%;
    color:#28354e;
    font-size:14px!important;
    font-weight:900!important;
    text-align:left;
  }
  .qc-overview-page .jc-num-time time{
    width:48%;
    margin-left:0!important;
    color:#7b8598!important;
    font-size:13px!important;
    font-weight:700!important;
    text-align:left;
  }

  .qc-overview-page .jc-overview-league{
    min-width:0;
    padding:6px 10px;
    justify-content:center;
    font-size:12px!important;
    white-space:nowrap;
  }

  /* 主队 | 比分 | 客队：稳定三段中轴，避免比分压住队名 */
  .qc-overview-page .jc-review-match{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr)!important;
    gap:14px!important;
    align-items:center;
    width:100%;
    min-width:0;
  }

  .qc-overview-page .jc-review-match>span:first-child,
  .qc-overview-page .jc-review-match>span:last-child{
    min-width:0;
    max-width:100%;
    font-size:15px!important;
    line-height:1.3!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis;
    letter-spacing:0!important;
  }

  .qc-overview-page .jc-review-match>span:first-child{
    text-align:right!important;
    color:#3268d7!important;
  }

  .qc-overview-page .jc-review-match>span:last-child{
    text-align:left!important;
    color:#c27925!important;
  }

  .qc-overview-page .jc-score-stack{
    width:88px;
    min-width:88px;
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px!important;
    text-align:center;
  }

  .qc-overview-page .jc-score-full{
    display:block;
    font-size:21px!important;
    line-height:1!important;
    color:#25324a!important;
    font-weight:950!important;
    white-space:nowrap;
  }

  .qc-overview-page .jc-score-full.vs{
    font-size:14px!important;
    color:#99a3b4!important;
  }

  .qc-overview-page .jc-score-half,
  .qc-overview-page .jc-score-live{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    font-size:11px!important;
    line-height:1.15!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }

  .qc-overview-page .jc-score-half{
    color:#a0a8b8!important;
  }

  .qc-overview-page .jc-score-live{
    color:#d86722!important;
  }

  /* 三个结果区固定视觉中轴 */
  .qc-overview-page .jc-review-table td:nth-child(4),
  .qc-overview-page .jc-review-table td:nth-child(5),
  .qc-overview-page .jc-review-table td:nth-child(6){
    text-align:center!important;
  }

  .qc-overview-page .jc-result-stack,
  .qc-overview-page .jc-choice-inline,
  .qc-overview-page .jc-goal-choices,
  .qc-overview-page .jc-choice-stack{
    min-height:34px;
    align-items:center;
    justify-content:center;
  }

  .qc-overview-page .jc-choice-inline{
    gap:5px!important;
  }

  .qc-overview-page .jc-choice-stack{
    gap:4px!important;
  }

  .qc-overview-page .jc-goal-choices{
    gap:7px!important;
    flex-wrap:nowrap;
  }

  .qc-overview-page .jc-choice-primary,
  .qc-overview-page .jc-choice-secondary,
  .qc-overview-page .jc-goal-choices{
    font-size:13px!important;
  }

  .qc-overview-page .jc-review-choices .jc-hit-ring{
    min-width:28px;
    min-height:28px;
    padding:3px 7px!important;
    border-width:2px!important;
  }
}

/* Final replay table overrides: keep the seven columns aligned after legacy rules. */
@media (min-width:1024px){
  .qc-overview-page .jc-overview-table th:nth-child(1),.qc-overview-page .jc-overview-table td:nth-child(1){width:8%!important}
  .qc-overview-page .jc-overview-table th:nth-child(2),.qc-overview-page .jc-overview-table td:nth-child(2){width:10%!important}
  .qc-overview-page .jc-overview-table th:nth-child(3),.qc-overview-page .jc-overview-table td:nth-child(3){width:12%!important}
  .qc-overview-page .jc-overview-table th:nth-child(4),.qc-overview-page .jc-overview-table td:nth-child(4){width:30%!important}
  .qc-overview-page .jc-overview-table th:nth-child(5),.qc-overview-page .jc-overview-table td:nth-child(5){width:16%!important}
  .qc-overview-page .jc-overview-table th:nth-child(6),.qc-overview-page .jc-overview-table td:nth-child(6){width:12%!important}
  .qc-overview-page .jc-overview-table th:nth-child(7),.qc-overview-page .jc-overview-table td:nth-child(7){width:12%!important}
  .qc-overview-page .jc-review-table th,.qc-overview-page .jc-review-table td{box-sizing:border-box!important}
}

@media(max-width:760px){
  /* Give the direction column enough room; never let hit rings touch the next column. */
  .qc-overview-page .jc-overview-table th:nth-child(1),.qc-overview-page .jc-overview-table td:nth-child(1){width:7%!important}
  .qc-overview-page .jc-overview-table th:nth-child(2),.qc-overview-page .jc-overview-table td:nth-child(2){width:10%!important}
  .qc-overview-page .jc-overview-table th:nth-child(3),.qc-overview-page .jc-overview-table td:nth-child(3){width:9%!important}
  .qc-overview-page .jc-overview-table th:nth-child(4),.qc-overview-page .jc-overview-table td:nth-child(4){width:40%!important}
  .qc-overview-page .jc-overview-table th:nth-child(5),.qc-overview-page .jc-overview-table td:nth-child(5){width:14%!important}
  .qc-overview-page .jc-overview-table th:nth-child(6),.qc-overview-page .jc-overview-table td:nth-child(6){width:10%!important}
  .qc-overview-page .jc-overview-table th:nth-child(7),.qc-overview-page .jc-overview-table td:nth-child(7){width:10%!important}
  .qc-overview-page .jc-review-table th{height:36px!important;font-size:9px!important;letter-spacing:-.35px!important;padding:2px 1px!important}
  .qc-overview-page .jc-review-table td:nth-child(5),
  .qc-overview-page .jc-review-table td:nth-child(6),
  .qc-overview-page .jc-review-table td:nth-child(7){
    position:static!important;padding:7px 2px!important;min-height:0!important;
  }
  .qc-overview-page .jc-review-table td:nth-child(5)::before,
  .qc-overview-page .jc-review-table td:nth-child(6)::before,
  .qc-overview-page .jc-review-table td:nth-child(7)::before{content:none!important}
  .qc-overview-page .jc-result-stack{width:100%!important;min-height:0!important;gap:2px!important}
  .qc-overview-page .jc-choice-inline{max-width:100%!important;gap:2px!important;white-space:normal!important;flex-wrap:wrap!important;font-size:10px!important}
  .qc-overview-page .jc-choice-inline .jc-choice-primary,
  .qc-overview-page .jc-choice-inline .jc-choice-secondary{font-size:10px!important}
  .qc-overview-page .jc-review-match>span:first-child,
  .qc-overview-page .jc-review-match>span:last-child{font-size:10px!important;font-weight:700!important}
  .qc-overview-page .jc-review-choices .jc-hit-ring{padding:1px 3px!important;min-width:0!important;min-height:0!important}
  .qc-overview-page .jc-choice-stack{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;white-space:nowrap!important}
}

/* Align the table frame with the section marker and reclaim the side space. */
@media(max-width:760px){
  .qc-overview-page .jc-review-table-wrap{
    width:100%!important;margin-left:0!important;margin-right:0!important;
    border-left:0!important;border-radius:0 18px 18px 0!important;
  }
  .qc-overview-page .jc-review-table tbody td:first-child{
    border-left:4px solid #5ab878!important;
  }
}


/* 2026-09-25 continuous AI report article */
.jc-ai-article-page{
  padding:30px 34px;
}
.jc-ai-article-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.jc-ai-article-head h2{
  margin:0;
  font-size:24px;
  line-height:1.35;
}
.jc-ai-article-head span{
  flex:0 0 auto;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.jc-ai-report-article{
  display:block;
  margin-top:0;
}
.jc-ai-report-article .jc-ai-report-section{
  border:0;
  border-radius:0;
  padding:26px 0;
  background:transparent;
}
.jc-ai-report-article .jc-ai-report-section+.jc-ai-report-section{
  border-top:1px solid #e9edf3;
}
.jc-ai-report-article .jc-ai-report-section h3{
  margin:0 0 13px;
  font-size:18px;
  line-height:1.5;
  color:var(--text);
}
.jc-ai-report-article .jc-ai-report-section p{
  margin:0!important;
  color:#4f596d!important;
  font-size:15px!important;
  line-height:2!important;
}
.jc-ai-report-article .jc-ai-report-section p+p{
  margin-top:12px!important;
}
.jc-ai-article-page .jc-ai-wait{
  margin-top:22px;
}
@media(max-width:640px){
  .jc-ai-article-page{
    padding:20px 16px;
  }
  .jc-ai-article-head{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
    padding-bottom:15px;
  }
  .jc-ai-article-head h2{
    font-size:20px;
  }
  .jc-ai-report-article .jc-ai-report-section{
    padding:22px 0;
  }
  .jc-ai-report-article .jc-ai-report-section h3{
    font-size:16px;
    margin-bottom:10px;
  }
  .jc-ai-report-article .jc-ai-report-section p{
    font-size:14px!important;
    line-height:1.9!important;
  }
}


/* 2026-09-25 gameplay block + AI report stack */
.jc-ai-page-stack{
  display:grid;
  gap:18px;
}
.jc-ai-play-panel{
  padding:22px;
}
.jc-ai-play-panel .jc-ai-model-summary{
  margin-top:0;
}
.jc-ai-play-panel .jc-ai-context{
  margin-top:12px;
}
@media(max-width:640px){
  .jc-ai-page-stack{gap:14px}
  .jc-ai-play-panel{padding:16px}
}


/* 2026-09-25 mobile football card density + post-match hit label */
.jc-card-hit-play .jc-card-hit-title{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  margin:0;
  color:#d95a51;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
}

@media(max-width:760px){
  .qc-football-page .jc-football-grid{
    gap:12px;
  }

  .qc-football-page .jc-football-card-final .jc-card-link{
    min-height:0!important;
    padding:12px 14px 9px!important;
  }

  .qc-football-page .jc-football-card-final .jc-card-top{
    margin-bottom:7px;
  }

  .qc-football-page .jc-football-card-final .jc-card-score-axis{
    min-height:78px;
    padding:0 0 8px;
  }

  .qc-football-page .jc-mini-head,
  .qc-football-page .jc-mini-row{
    gap:5px;
    padding:8px 10px;
  }

  .qc-football-page .jc-football-card-final .jc-card-detail-btn{
    margin-top:5px!important;
    padding-top:8px;
    padding-bottom:2px;
  }

  .qc-football-page .jc-card-hit-placeholder{
    display:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }

  .qc-football-page .jc-card-hit-play:not(.jc-card-hit-placeholder){
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    margin-top:4px;
    padding:8px 0 2px;
  }

  .qc-football-page .jc-card-hit-play .jc-card-hit-title{
    padding:3px 7px;
    border-radius:999px;
    background:#fff2f0;
    font-size:10px;
  }

  .qc-football-page .jc-card-hit-items{
    gap:5px;
  }
}


/* 2026-09-26 mobile login agreement + compact hierarchy */
.auth-login-page .auth-agreement{
  margin:16px 0 18px;
  line-height:1.65;
}
.auth-login-page .auth-agreement .legal-link{
  font-weight:800;
}
.auth-login-page .auth-link-muted{
  margin-top:10px;
  font-size:14px;
}
.auth-login-page .auth-link-muted a{
  color:#8a94a6;
  font-weight:700;
}

@media(max-width:640px){
  .auth-login-page .auth-wrap{
    min-height:100dvh;
    padding:18px;
  }
  .auth-login-page .auth-card{
    padding:30px 22px 26px;
    border-radius:24px;
  }
  .auth-login-page .auth-card h1{
    font-size:30px;
    margin-bottom:8px;
  }
  .auth-login-page .auth-card .subtitle{
    font-size:16px;
    margin-bottom:26px;
  }
  .auth-login-page .field{
    margin:14px 0;
  }
  .auth-login-page .field label{
    margin-bottom:7px;
  }
  .auth-login-page .field input{
    height:52px;
    font-size:16px;
  }
  .auth-login-page .auth-agreement{
    margin:15px 0 17px;
    font-size:13px;
    gap:8px;
  }
  .auth-login-page .auth-agreement input{
    width:19px;
    height:19px;
    flex:0 0 19px;
  }
  .auth-login-page .primary-btn{
    height:54px;
    font-size:17px;
  }
  .auth-login-page .auth-link{
    margin-top:16px;
  }
  .auth-login-page .auth-link-muted{
    margin-top:9px;
    font-size:13px;
  }
}


/* 2026-09-26 login utility row */
.auth-login-page .auth-utility-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:10px;
  color:#9aa3b2;
  font-size:14px;
}
.auth-login-page .auth-utility-row a{
  color:#8a94a6;
  font-weight:700;
}
.auth-login-page .auth-utility-row span{
  color:#c2c8d2;
}
@media(max-width:640px){
  .auth-login-page .auth-utility-row{
    margin-top:9px;
    gap:9px;
    font-size:13px;
  }
}


/* 2026-09-26 dynamic review gate placement */
.qc-overview-page .jc-review-inline-gate{
  margin:16px 0 14px;
}
.qc-overview-page .jc-review-inline-gate .qc-premium-gate{
  min-height:0;
  padding:26px 24px;
  border-radius:18px;
  box-shadow:0 6px 20px rgba(31,42,68,.05);
}
.qc-overview-page .jc-review-inline-gate .qc-premium-lock{
  width:54px;
  height:54px;
  margin-bottom:12px;
  border-radius:16px;
  font-size:24px;
}
.qc-overview-page .jc-review-inline-gate .qc-premium-gate h3{
  margin-bottom:8px;
  font-size:21px;
}
.qc-overview-page .jc-review-inline-gate .qc-premium-gate p{
  margin-bottom:16px;
  font-size:14px;
  line-height:1.65;
}
.qc-overview-page .jc-review-inline-gate .qc-premium-primary{
  min-height:46px;
}
.qc-overview-page .jc-review-pending-zone{
  margin-top:12px;
}
.qc-overview-page .jc-review-pending-toggle{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:#667084;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 4px 16px rgba(31,42,68,.035);
}
.qc-overview-page .jc-review-pending-toggle span{
  text-align:left;
}
.qc-overview-page .jc-review-pending-toggle b{
  color:var(--blue);
  white-space:nowrap;
}
.qc-overview-page .jc-review-pending-list{
  margin-top:10px;
}
.qc-overview-page .jc-review-pending-list[hidden]{
  display:none!important;
}

@media(max-width:640px){
  .qc-overview-page .jc-review-inline-gate{
    margin:12px -2px 10px;
  }
  .qc-overview-page .jc-review-inline-gate .qc-premium-gate{
    padding:22px 16px;
    border-radius:16px;
  }
  .qc-overview-page .jc-review-inline-gate .qc-premium-lock{
    width:48px;
    height:48px;
    margin-bottom:10px;
    font-size:21px;
  }
  .qc-overview-page .jc-review-inline-gate .qc-premium-gate h3{
    font-size:19px;
  }
  .qc-overview-page .jc-review-inline-gate .qc-premium-gate p{
    font-size:13px;
    margin-bottom:14px;
  }
  .qc-overview-page .jc-review-pending-toggle{
    min-height:48px;
    padding:0 14px;
    font-size:13px;
  }
}


/* 2026-09-26 locked pre-match report login CTA */
.jc-ai-login-cta{
  display:flex;
  justify-content:center;
  margin-top:22px;
  padding:4px 0 2px;
}
.jc-ai-login-cta .qc-premium-primary{
  min-width:260px;
}
@media(max-width:640px){
  .jc-ai-login-cta{margin-top:20px}
  .jc-ai-login-cta .qc-premium-primary{
    width:100%;
    min-width:0;
  }
}


/* 2026-09-26 mobile match-detail compact layout */
.jc-detail-num-mobile,
.jc-detail-match-time-mobile{display:none}

@media(max-width:640px){
  .jc-odds-page .content{
    padding:10px 8px 72px;
  }

  .jc-odds-page .jc-detail-layout{
    gap:8px;
  }

  .jc-odds-page .jc-detail-sidebar{
    padding:8px;
    border-radius:14px;
    max-height:none;
    overflow:hidden;
  }

  .jc-odds-page .jc-detail-sidebar-head{
    padding:2px 4px 7px;
    font-size:12px;
  }

  .jc-odds-page .jc-detail-match-list{
    display:flex;
    gap:6px;
    padding-top:7px;
    padding-bottom:0;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .jc-odds-page .jc-detail-match-list::-webkit-scrollbar{
    display:none;
  }

  .jc-odds-page .jc-detail-match-item{
    min-width:170px;
    gap:3px;
    padding:7px 8px;
    border-radius:10px;
  }

  .jc-odds-page .jc-detail-match-item span{
    gap:5px;
    font-size:11px;
    line-height:1.15;
    white-space:nowrap;
  }

  .jc-odds-page .jc-detail-match-item span em{
    padding:0;
    border-radius:0;
    background:transparent;
  }

  .jc-odds-page .jc-detail-num-desktop,
  .jc-odds-page .jc-detail-match-time-desktop{
    display:none;
  }

  .jc-odds-page .jc-detail-num-mobile,
  .jc-odds-page .jc-detail-match-time-mobile{
    display:inline;
  }

  .jc-odds-page .jc-detail-match-time-mobile{
    margin-left:auto;
    color:var(--muted);
    font-size:11px;
  }

  .jc-odds-page .jc-detail-match-item strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12.5px;
    line-height:1.3;
  }

  .jc-odds-page .detail-head{
    padding:14px 14px 10px;
    border-radius:16px;
    margin-bottom:8px;
  }

  .jc-odds-page .jc-odds-headcard{
    margin-bottom:8px;
  }

  .jc-odds-page .match-top{
    font-size:12px;
  }

  .jc-odds-page .jc-odds-matchup{
    margin-top:12px!important;
  }

  .jc-odds-page .team-badge{
    gap:7px;
    font-size:15px;
  }

  .jc-odds-page .badge-circle{
    width:30px;
    height:30px;
    font-size:10px;
  }

  .jc-odds-page .center-score strong{
    font-size:30px;
  }

  .jc-odds-page .jc-main-tabs{
    margin-top:12px;
    padding:4px;
    gap:4px;
    border-radius:13px;
  }

  .jc-odds-page .jc-main-tabs button{
    padding:10px 5px;
    border-radius:10px;
    font-size:13px;
  }

  .jc-odds-page .jc-ai-page-stack{
    gap:8px;
  }

  .jc-odds-page .jc-ai-placeholder{
    padding:14px;
    border-radius:16px;
  }

  .jc-odds-page .jc-ai-play-panel{
    padding:14px;
  }

  .jc-odds-page .jc-ai-model-summary{
    gap:6px;
    margin:8px 0;
  }

  .jc-odds-page .jc-ai-model-summary>div{
    padding:9px;
    border-radius:11px;
  }

  .jc-odds-page .jc-ai-model-summary span{
    margin-bottom:4px;
    font-size:11px;
  }

  .jc-odds-page .jc-ai-model-summary b{
    font-size:12px;
  }

  .jc-odds-page .jc-ai-play-panel .jc-ai-context,
  .jc-odds-page .jc-ai-locked .jc-ai-context{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-top:6px;
  }

  .jc-odds-page .jc-ai-play-panel .jc-ai-context>div,
  .jc-odds-page .jc-ai-locked .jc-ai-context>div{
    min-width:0;
    height:52px;
    box-sizing:border-box;
    padding:6px 7px;
    border-radius:10px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .jc-odds-page .jc-ai-play-panel .jc-ai-context span,
  .jc-odds-page .jc-ai-locked .jc-ai-context span{
    margin-bottom:2px;
    font-size:10px;
    line-height:1.1;
  }

  .jc-odds-page .jc-ai-play-panel .jc-ai-context strong,
  .jc-odds-page .jc-ai-locked .jc-ai-context strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
    line-height:1.15;
  }

  .jc-odds-page .jc-ai-play-panel .jc-ai-context>div:last-child strong,
  .jc-odds-page .jc-ai-locked .jc-ai-context>div:last-child strong{
    font-size:10px;
    letter-spacing:-.15px;
  }

  .jc-odds-page .jc-ai-article-page{
    padding:16px 14px;
  }

  .jc-odds-page .jc-ai-article-head{
    gap:5px;
    padding-bottom:12px;
  }

  .jc-odds-page .jc-ai-article-head h2{
    font-size:19px;
  }

  .jc-odds-page .jc-ai-report-article .jc-ai-report-section{
    padding:16px 0;
  }

  .jc-odds-page .jc-ai-locked{
    display:flex;
    flex-direction:column;
  }

  .jc-odds-page .jc-ai-locked>h2{
    order:1;
    margin:0;
    font-size:19px;
    line-height:1.35;
  }

  .jc-odds-page .jc-ai-locked .jc-ai-lock-note{
    order:2;
    gap:5px;
    margin:9px 0 0;
    padding:11px 12px;
  }

  .jc-odds-page .jc-ai-locked .jc-ai-lock-note b{
    font-size:15px;
  }

  .jc-odds-page .jc-ai-locked .jc-ai-lock-note span{
    font-size:13px;
    line-height:1.55;
  }

  .jc-odds-page .jc-ai-locked .jc-ai-login-cta{
    order:3;
    margin:10px 0 0;
    padding:0;
  }

  .jc-odds-page .jc-ai-locked .qc-premium-primary{
    min-height:46px;
  }

  .jc-odds-page .jc-ai-locked .jc-ai-context{
    order:4;
  }

  .jc-odds-page .jc-ai-locked .jc-ai-locked-preview{
    order:5;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-top:10px;
  }

  .jc-odds-page .jc-ai-locked .jc-ai-locked-preview div{
    height:42px;
    border-radius:10px;
  }
}


/* 2026-09-26 compact delayed loading indicator */
.jc-match-loading-shell{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
  opacity:0;
  animation:jcLoaderReveal .14s ease .18s forwards;
}
.jc-match-spinner{
  width:16px;
  height:16px;
  border:2px solid #dfe5f0;
  border-top-color:var(--blue);
  border-radius:50%;
  animation:jcLoaderSpin .72s linear infinite;
}
@keyframes jcLoaderReveal{to{opacity:1}}
@keyframes jcLoaderSpin{to{transform:rotate(360deg)}}
@media(max-width:640px){
  .jc-match-loading-shell{
    min-height:48px;
    font-size:12px;
  }
  .jc-match-spinner{
    width:14px;
    height:14px;
  }
}


/* 2026-09-26 seamless in-page match switching */
.jc-detail-main{
  position:relative;
}
.jc-detail-switch-loader{
  position:absolute;
  inset:0;
  z-index:6;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:8px;
  padding-top:22px;
  background:rgba(246,248,252,.72);
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  opacity:0;
  pointer-events:none;
  backdrop-filter:blur(1px);
  animation:jcLoaderReveal .12s ease .18s forwards;
}
@media(max-width:640px){
  .jc-detail-switch-loader{
    padding-top:16px;
    background:rgba(246,248,252,.62);
  }
}


/* 2026-09-27 auto login option */
.auth-login-page .auth-auto-login{
  margin:10px 0 6px;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.auth-login-page .auth-auto-login > span{
  display:flex;
  align-items:center;
  gap:8px;
  flex:1;
}
.auth-login-page .auth-auto-login b{
  color:#26334f;
  font-size:14px;
}
.auth-login-page .auth-auto-login small{
  color:#9aa3b2;
  font-size:12px;
  font-weight:500;
}
@media(max-width:640px){
  .auth-login-page .auth-auto-login{
    margin:8px 0 4px;
  }
}


/* Initial overview loading placeholders stay visible while static/Pro data loads.
   Never conceal the whole homepage body or its three content sections. */


/* 2026-09-27 desktop account shortcuts.
   Desktop-only header controls; mobile navigation remains unchanged. */
@media (min-width:1024px){
  .qc-desktop-nav{
    flex-wrap:nowrap;
    white-space:nowrap;
  }
  .qc-desktop-account-divider{
    width:1px;
    height:24px;
    margin:0 3px 0 8px;
    background:#e3e7ef;
    flex:0 0 auto;
  }
  .qc-desktop-nav .qc-desktop-auth-btn{
    min-height:42px;
    border:0;
    border-radius:12px;
    padding:0 15px;
    background:transparent;
    color:#687286;
    font:inherit;
    font-size:14px;
    font-weight:850;
    cursor:pointer;
    transition:.15s ease;
    white-space:nowrap;
  }
  .qc-desktop-nav .qc-desktop-auth-btn:hover{
    background:#f2f5fb;
    color:var(--text);
  }
  .qc-desktop-nav .qc-desktop-auth-login{
    background:var(--blue)!important;
    color:#fff!important;
    padding-left:19px!important;
    padding-right:19px!important;
    box-shadow:0 6px 16px rgba(55,100,237,.18);
  }
  .qc-desktop-nav .qc-desktop-redeem-btn{
    background:#edf3ff;
    color:#2e64dc;
  }
  .qc-desktop-nav .qc-desktop-auth-account{
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#263752;
  }
  .qc-desktop-nav .qc-desktop-logout-btn{
    color:#7c8596;
    padding-left:11px;
    padding-right:11px;
  }
  .qc-site-header .qc-desktop-nav{
    overflow:visible;
  }
}
.qc-redeem-modal{
  position:fixed;
  inset:0;
  z-index:90;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(25,34,51,.34);
  backdrop-filter:blur(5px);
}
.qc-redeem-modal[hidden]{display:none!important}
body.qc-modal-open{overflow:hidden}
.qc-redeem-dialog{
  position:relative;
  width:min(460px,calc(100vw - 32px));
  background:#fff;
  border:1px solid #e4e8f0;
  border-radius:22px;
  padding:26px;
  box-shadow:0 28px 80px rgba(25,34,51,.24);
}
.qc-redeem-close{
  position:absolute;
  top:16px;
  right:16px;
  width:34px;
  height:34px;
  border:1px solid #e4e8f0;
  border-radius:10px;
  background:#f7f9fc;
  color:#737d90;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.qc-redeem-title{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding-right:42px;
  margin-bottom:22px;
}
.qc-redeem-title>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#edf3ff;
}
.qc-redeem-title strong{
  display:block;
  font-size:20px;
  color:var(--text);
}
.qc-redeem-title small{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
#qcDesktopRedeemForm label{
  display:block;
  margin-bottom:8px;
  color:#4c566a;
  font-size:13px;
  font-weight:850;
}
#qcDesktopRedeemCode{
  width:100%;
  box-sizing:border-box;
  height:50px;
  border:1.5px solid #b9c7ec;
  border-radius:12px;
  padding:0 14px;
  background:#fff;
  color:var(--text);
  font-size:15px;
  outline:none;
}
#qcDesktopRedeemCode:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(55,100,237,.10);
}
.qc-redeem-submit{
  width:100%;
  height:48px;
  margin-top:14px;
  border:0;
  border-radius:12px;
  background:var(--blue);
  color:#fff;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(55,100,237,.18);
}
.qc-redeem-submit:disabled{opacity:.6;cursor:not-allowed}
@media (max-width:1023px){
  .qc-redeem-dialog{border-radius:18px;padding:22px 18px}
}


/* 2026-09-27 desktop account visibility fix */
@media (min-width:1024px){
  #desktopLogin[hidden],
  #desktopRedeem[hidden],
  #desktopAccount[hidden],
  #desktopLogout[hidden],
  #desktopAccountDivider[hidden]{
    display:none!important;
  }

  .qc-desktop-nav .qc-desktop-redeem-btn{
    background:var(--blue)!important;
    color:#fff!important;
    border:1px solid var(--blue)!important;
    padding-left:18px!important;
    padding-right:18px!important;
    box-shadow:0 6px 16px rgba(55,100,237,.18);
  }

  .qc-desktop-nav .qc-desktop-redeem-btn:hover{
    background:#2f5fe0!important;
    color:#fff!important;
  }
}


/* 2026-09-27 desktop nav text baseline alignment */
@media (min-width:1024px){
  .qc-site-header .qc-desktop-nav > a,
  .qc-site-header .qc-desktop-nav > button{
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:850!important;
    line-height:1!important;
    letter-spacing:0!important;
    vertical-align:middle!important;
  }

  .qc-site-header .qc-desktop-nav > button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }

  .qc-site-header .qc-desktop-nav > a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .qc-site-header .qc-desktop-nav .qc-desktop-redeem-btn,
  .qc-site-header .qc-desktop-nav .qc-desktop-logout-btn{
    padding-top:0!important;
    padding-bottom:0!important;
  }
}


/* 2026-09-27 desktop football persistent login CTA */
@media (min-width:1024px){
  .qc-football-page{
    padding-bottom:92px;
  }

  .qc-football-login-bar{
    position:fixed;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    z-index:45;
    width:min(1600px,100%);
    min-height:78px;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    gap:22px;
    padding:12px 24px;
    background:rgba(29,34,49,.96);
    border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 -8px 28px rgba(19,25,39,.16);
    backdrop-filter:blur(10px);
  }

  .qc-football-login-copy{
    color:#fff;
    font-size:14px;
    font-weight:800;
    line-height:1.4;
    white-space:nowrap;
  }

  .qc-football-login-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:118px;
    height:42px;
    box-sizing:border-box;
    border-radius:11px;
    background:var(--blue);
    color:#fff!important;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
    box-shadow:0 6px 16px rgba(55,100,237,.22);
  }

  .qc-football-login-cta:hover{
    filter:brightness(.97);
  }
}

@media (max-width:1023px){
  .qc-football-login-bar{
    display:none!important;
  }
}


/* 2026-09-27 desktop football login bar centered two-row layout */
@media (min-width:1024px){
  .qc-football-login-bar{
    min-height:104px!important;
    width:min(1600px,calc(100% - 32px))!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    padding:14px 24px 16px!important;
    text-align:center!important;
  }

  .qc-football-login-copy{
    width:100%!important;
    text-align:center!important;
    font-size:14px!important;
    line-height:1.4!important;
  }

  .qc-football-login-cta{
    min-width:124px!important;
    height:42px!important;
    margin:0 auto!important;
  }
}


/* 2026-09-27 hide legacy hamburger on all desktop pages */
@media (min-width:1024px){
  .menu-btn{
    display:none!important;
  }
}


/* 2026-09-27 desktop hamburger hidden without layout shift */
@media (min-width:1024px){
  .menu-btn{
    display:grid!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}


/* 2026-09-27 ticker visibility follows login state on desktop and mobile */
.ticker{
  display:none!important;
}
body.qc-ticker-authenticated .ticker{
  display:flex!important;
}


/* 2026-09-27 desktop football viewport locks:
   full-width login bar + fixed date toolbar */
@media (min-width:1024px){
  .qc-football-login-bar{
    left:0!important;
    right:0!important;
    bottom:0!important;
    transform:none!important;
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
    border-radius:0!important;
  }

  .qc-football-page .jc-football-toolbar{
    position:fixed!important;
    top:82px!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    width:min(1528px,calc(100vw - 72px))!important;
    box-sizing:border-box!important;
    z-index:19!important;
    margin:0!important;
  }

  body.qc-football-page.qc-ticker-authenticated .jc-football-toolbar{
    top:120px!important;
  }

  .qc-football-page .content{
    padding-top:104px!important;
  }
}


/* 2026-09-27 football toolbar: normal document position, never overlay match cards */
@media (min-width:1024px){
  .qc-football-page .jc-football-toolbar{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    width:100%!important;
    margin:0 0 24px!important;
    z-index:13!important;
  }

  body.qc-football-page.qc-ticker-authenticated .jc-football-toolbar{
    top:auto!important;
  }

  .qc-football-page .content{
    padding-top:28px!important;
  }
}


/* 2026-09-27 desktop football inline league filters */
.jc-football-inline-leagues{
  display:none;
}

@media (min-width:1024px){
  .qc-football-page .jc-football-inline-leagues{
    display:flex;
    align-items:center;
    gap:4px;
    margin-left:6px;
    overflow-x:auto;
    white-space:nowrap;
    scrollbar-width:none;
  }

  .qc-football-page .jc-football-inline-leagues::-webkit-scrollbar{
    display:none;
  }

  .qc-football-page .jc-football-inline-leagues button{
    flex:0 0 auto;
    height:34px;
    border:0;
    border-radius:9px;
    padding:0 10px;
    background:transparent;
    color:#687286;
    font:inherit;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
  }

  .qc-football-page .jc-football-inline-leagues button:hover{
    background:#f4f6fa;
    color:var(--text);
  }

  .qc-football-page .jc-football-inline-leagues button.active{
    background:var(--blue-soft);
    color:var(--blue);
  }
}

@media (max-width:1023px){
  .qc-football-page .jc-football-inline-leagues{
    display:none!important;
  }
}


/* 2026-09-27 desktop football inline leagues: reserve real width after 赛事 */
@media (min-width:1024px){
  .qc-football-page .jc-football-date-zone{
    grid-template-columns:42px minmax(120px,190px) 42px auto auto minmax(0,1fr)!important;
    overflow:visible!important;
  }

  .qc-football-page .jc-football-inline-leagues{
    grid-column:6!important;
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
}


/* 2026-09-27 compact desktop "回到今日" button */
@media (min-width:1024px){
  .qc-football-page .jc-football-today{
    width:auto!important;
    min-width:64px!important;
    max-width:72px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 8px!important;
    font-size:12px!important;
    border-radius:10px!important;
    white-space:nowrap!important;
  }
}


/* 2026-09-27 desktop football reference-style layout */
.jc-football-inline-count{display:none}

@media (min-width:1024px){
  .qc-football-page .jc-football-toolbar{
    padding:12px 16px!important;
    margin:0 0 18px!important;
    border-radius:18px!important;
    background:#fff!important;
  }

  .qc-football-page .jc-football-date-zone{
    display:grid!important;
    grid-template-columns:
      auto minmax(0,1fr)
      34px 128px 34px 72px 58px!important;
    grid-template-areas:
      "league inline prev date next today count"!important;
    gap:6px!important;
    align-items:center!important;
    width:100%!important;
  }

  .qc-football-page #jcFootballLeagueToggle{
    grid-area:league!important;
    height:34px!important;
    min-height:34px!important;
    min-width:58px!important;
    max-width:92px!important;
    padding:0 9px!important;
    border-radius:10px!important;
    font-size:12px!important;
  }

  .qc-football-page .jc-football-inline-leagues{
    grid-area:inline!important;
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    overflow-x:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
  }

  .qc-football-page #jcFootballPrevDate{
    grid-area:prev!important;
  }
  .qc-football-page #jcFootballDateLabel{
    grid-area:date!important;
  }
  .qc-football-page #jcFootballNextDate{
    grid-area:next!important;
  }
  .qc-football-page #jcFootballTodayBtn{
    grid-area:today!important;
  }
  .qc-football-page #jcFootballFixtureCount{
    grid-area:count!important;
  }

  .qc-football-page .jc-football-arrow{
    width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    border-radius:10px!important;
    font-size:18px!important;
  }

  .qc-football-page .jc-football-date-label{
    width:128px!important;
    min-width:128px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 8px!important;
    border-radius:10px!important;
    font-size:12px!important;
  }

  .qc-football-page .jc-football-today{
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 7px!important;
    border-radius:10px!important;
    font-size:12px!important;
  }

  .qc-football-page .jc-football-inline-count{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:58px!important;
    height:34px!important;
    padding:0!important;
    border-radius:10px!important;
    background:#f7f8fb!important;
    color:#6f798d!important;
    font-size:12px!important;
    font-weight:850!important;
    white-space:nowrap!important;
  }

  /* Four cards per row like the reference page. */
  .qc-football-page .jc-football-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
    align-items:stretch!important;
  }

  .qc-football-page .jc-football-card{
    padding:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
    min-width:0!important;
    box-shadow:0 5px 18px rgba(31,42,68,.045)!important;
  }

  .qc-football-page .jc-football-card .jc-card-link,
  .qc-football-page .jc-football-card-final .jc-card-link{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    box-sizing:border-box!important;
    padding:14px 15px 12px!important;
  }

  .qc-football-page .jc-football-card .jc-card-top{
    min-height:28px!important;
    margin-bottom:10px!important;
    align-items:center!important;
  }

  .qc-football-page .jc-football-card .jc-card-top-meta{
    gap:6px!important;
  }

  .qc-football-page .jc-football-card .jc-card-top-meta em{
    font-size:11px!important;
    color:#7b8495!important;
    font-style:normal!important;
  }

  .qc-football-page .jc-football-card .jc-card-top-meta b{
    font-size:14px!important;
    color:#2d3545!important;
  }

  .qc-football-page .jc-football-card .jc-card-top time{
    font-size:10px!important;
    color:#8d95a4!important;
  }

  .qc-football-page .jc-football-card .jc-card-score-axis,
  .qc-football-page .jc-football-card-final .jc-card-score-axis{
    grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr)!important;
    min-height:116px!important;
    align-items:center!important;
    gap:7px!important;
    margin:0!important;
  }

  .qc-football-page .jc-football-card .jc-team{
    min-width:0!important;
    font-size:16px!important;
    line-height:1.25!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
  }

  .qc-football-page .jc-football-card .jc-score-center{
    display:flex!important;
    min-width:0!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
  }

  .qc-football-page .jc-football-card .jc-score-main,
  .qc-football-page .jc-football-card-final .jc-score-main{
    font-size:30px!important;
    line-height:1!important;
    color:#3267df!important;
    white-space:nowrap!important;
  }

  .qc-football-page .jc-football-card .jc-score-main.is-finished{
    color:#3267df!important;
  }

  .qc-football-page .jc-football-card .jc-score-meta{
    font-size:11px!important;
    line-height:1.2!important;
    color:#8b93a3!important;
  }

  .qc-football-page .jc-football-card .jc-mini-odds{
    margin-top:4px!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#fafbfc!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head,
  .qc-football-page .jc-football-card .jc-mini-row{
    grid-template-columns:1.35fr .72fr .72fr .72fr!important;
    min-height:34px!important;
    align-items:center!important;
    padding:0 8px!important;
    column-gap:4px!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head{
    font-size:10px!important;
    color:#7e8798!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row{
    font-size:11px!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag{
    font-size:10px!important;
    white-space:nowrap!important;
  }

  .qc-football-page .jc-football-card .jc-card-detail-btn{
    margin-top:9px!important;
    min-height:32px!important;
    font-size:11px!important;
  }

  .qc-football-page .jc-football-card .jc-card-prematch-lock{
    margin-top:auto!important;
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:9px 8px!important;
    border-radius:12px!important;
    background:#f8f9fb!important;
    color:#687286!important;
    font-size:11px!important;
    font-weight:850!important;
    text-align:center!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-play{
    margin-top:auto!important;
  }
}

@media (max-width:1023px){
  .qc-football-page .jc-football-inline-count{
    display:none!important;
  }
  .qc-football-page .jc-card-prematch-lock{
    display:none!important;
  }
}


/* 2026-09-27 desktop football card polish v1 */
@media (min-width:1024px){
  .qc-football-page .jc-football-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
    align-items:stretch!important;
  }

  .qc-football-page .jc-football-card{
    min-height:398px!important;
    border:1px solid rgba(28,42,70,.075)!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(35,51,82,.055)!important;
    overflow:hidden!important;
  }

  .qc-football-page .jc-football-card .jc-card-link{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    box-sizing:border-box!important;
    padding:15px 16px 14px!important;
  }

  .qc-football-page .jc-football-card .jc-card-top{
    min-height:30px!important;
    margin:0 0 10px!important;
    padding:0 1px!important;
    align-items:center!important;
  }

  .qc-football-page .jc-football-card .jc-card-top-meta{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
  }

  .qc-football-page .jc-football-card .jc-card-top-meta em{
    font-size:11px!important;
    font-weight:750!important;
    font-style:normal!important;
    color:#8a93a3!important;
  }

  .qc-football-page .jc-football-card .jc-card-top-meta b{
    font-size:15px!important;
    line-height:1!important;
    font-weight:900!important;
    color:#202838!important;
  }

  .qc-football-page .jc-football-card .jc-card-top time{
    font-size:10px!important;
    line-height:1!important;
    color:#9aa2b1!important;
    white-space:nowrap!important;
  }

  .qc-football-page .jc-football-card .jc-card-score-axis{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    min-height:120px!important;
    margin:0 0 10px!important;
    padding:10px 6px!important;
    border-radius:15px!important;
    background:linear-gradient(180deg,#fbfcfe 0%,#f7f9fc 100%)!important;
    border:1px solid rgba(46,71,113,.055)!important;
  }

  .qc-football-page .jc-football-card .jc-team{
    min-width:0!important;
    margin:0!important;
    font-size:16px!important;
    line-height:1.28!important;
    font-weight:900!important;
    color:#202735!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
  }

  .qc-football-page .jc-football-card .jc-score-center{
    min-width:0!important;
    min-height:78px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    border-radius:14px!important;
    background:#f1f4f9!important;
  }

  .qc-football-page .jc-football-card .jc-score-main{
    margin:0!important;
    font-size:30px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.02em!important;
    color:#596476!important;
    white-space:nowrap!important;
  }

  /* Finished FT score: red focal point. */
  .qc-football-page .jc-football-card .jc-score-main.is-finished{
    color:#df4653!important;
  }

  /* Halftime score: black/dark as requested. */
  .qc-football-page .jc-football-card .jc-score-meta,
  .qc-football-page .jc-football-card .jc-score-meta.is-finished{
    margin:0!important;
    font-size:11px!important;
    line-height:1.15!important;
    font-weight:750!important;
    color:#303846!important;
  }

  .qc-football-page .jc-football-card .jc-mini-odds{
    margin:0!important;
    border:1px solid rgba(40,57,88,.055)!important;
    border-radius:13px!important;
    background:#f8f9fb!important;
    overflow:hidden!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head,
  .qc-football-page .jc-football-card .jc-mini-row{
    display:grid!important;
    grid-template-columns:1.42fr .68fr .68fr .68fr!important;
    align-items:center!important;
    column-gap:3px!important;
    padding:0 9px!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head{
    min-height:31px!important;
    font-size:10px!important;
    font-weight:800!important;
    color:#707b8f!important;
    background:#f2f4f7!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row{
    min-height:36px!important;
    font-size:11px!important;
    border-top:1px solid rgba(54,68,96,.045)!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row strong{
    font-size:12px!important;
    font-weight:850!important;
    text-align:center!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag{
    min-width:0!important;
    font-size:10px!important;
    line-height:1.15!important;
    font-weight:850!important;
    white-space:normal!important;
  }

  /* Guest overview is intentionally clean: no detail/all-markets CTA. */
  .qc-football-page .jc-football-card.jc-card-guest .jc-card-detail-btn{
    display:none!important;
  }

  .qc-football-page .jc-football-card.jc-card-auth .jc-card-detail-btn{
    margin:8px 0 0!important;
    min-height:30px!important;
    font-size:11px!important;
  }

  .qc-football-page .jc-football-card .jc-card-prematch-lock{
    margin-top:auto!important;
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    padding:10px 12px!important;
    border:1px solid rgba(55,71,105,.055)!important;
    border-radius:13px!important;
    background:#f3f5f8!important;
    color:#465064!important;
    font-size:12px!important;
    font-weight:850!important;
    text-align:center!important;
  }

  /* Keep current post-match "赛前预测命中", but visually attach it to the card bottom. */
  .qc-football-page .jc-football-card .jc-card-hit-play{
    margin-top:auto!important;
    padding-top:9px!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-title{
    font-size:10px!important;
    font-weight:900!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-items{
    gap:5px!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip{
    min-height:27px!important;
    padding:4px 7px!important;
    border-radius:999px!important;
  }
}

/* Mobile/tablet visuals stay on their existing card system. */
@media (max-width:1023px){
  .qc-football-page .jc-football-card.jc-card-guest .jc-card-detail-btn{
    display:flex;
  }
}


/* 2026-09-27 desktop football card polish v2 */
@media (min-width:1024px){
  .qc-football-page .jc-football-card{
    min-height:350px!important;
  }

  .qc-football-page .jc-football-card .jc-card-top-meta em{
    color:#5f6b7d!important;
    font-size:12px!important;
    font-weight:800!important;
  }

  .qc-football-page .jc-football-card .jc-card-top time{
    color:#727d90!important;
    font-size:12px!important;
    font-weight:750!important;
  }

  .qc-football-page .jc-football-card .jc-card-prematch-lock{
    margin-top:9px!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-play{
    margin-top:9px!important;
  }
}


/* 2026-09-28 desktop odds + post-match result polish */
@media (min-width:1024px){
  /* Strict four-column odds table: all headers and values share the same axes. */
  .qc-football-page .jc-football-card .jc-mini-odds{
    width:100%!important;
    box-sizing:border-box!important;
    border-radius:13px!important;
    overflow:hidden!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head,
  .qc-football-page .jc-football-card .jc-mini-row{
    display:grid!important;
    grid-template-columns:minmax(108px,1.55fr) repeat(3,minmax(46px,.75fr))!important;
    column-gap:0!important;
    padding:0 8px!important;
    box-sizing:border-box!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head{
    min-height:38px!important;
    font-size:12px!important;
    font-weight:850!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row{
    min-height:43px!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head>span,
  .qc-football-page .jc-football-card .jc-mini-row>strong,
  .qc-football-page .jc-football-card .jc-mini-row>.jc-play-tag{
    min-width:0!important;
    height:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:0 2px!important;
    line-height:1!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head>span:first-child,
  .qc-football-page .jc-football-card .jc-mini-row>.jc-play-tag{
    justify-content:flex-start!important;
    padding-left:3px!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row>strong{
    font-size:14px!important;
    font-weight:900!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag{
    font-size:11px!important;
    font-weight:900!important;
    white-space:nowrap!important;
    letter-spacing:-.15px!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row .muted-dash{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    font-size:14px!important;
  }

  /* Everything below odds now flows naturally without artificial blank space. */
  .qc-football-page .jc-football-card .jc-card-after-odds{
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
    margin-top:10px!important;
    padding:0!important;
  }

  /* Finished public verification block. */
  .qc-football-page .jc-football-card .jc-card-hit-play{
    display:block!important;
    margin:0!important;
    padding:10px 11px!important;
    border:1px solid rgba(219,70,83,.14)!important;
    border-radius:13px!important;
    background:#fffafb!important;
    box-sizing:border-box!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-title{
    display:block!important;
    margin:0 0 8px!important;
    padding:0!important;
    color:#c84d59!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:900!important;
    text-align:left!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-items{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:6px!important;
    margin:0!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip{
    display:inline-flex!important;
    align-items:center!important;
    gap:4px!important;
    min-height:30px!important;
    margin:0!important;
    padding:5px 8px!important;
    border:1px solid rgba(205,76,88,.28)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#b94b56!important;
    box-sizing:border-box!important;
    white-space:nowrap!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip small{
    font-size:9px!important;
    font-weight:800!important;
    color:#9a6470!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip b{
    font-size:11px!important;
    font-weight:900!important;
    color:#b84b56!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip em{
    font-size:11px!important;
    font-style:normal!important;
    font-weight:850!important;
    color:#b84b56!important;
  }

  /* Unified guest CTA: directly beneath odds or beneath the hit block. */
  .qc-football-page .jc-football-card .jc-card-prematch-lock{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:45px!important;
    margin:0!important;
    padding:9px 10px!important;
    border:1px solid rgba(55,71,105,.06)!important;
    border-radius:13px!important;
    background:#f3f5f8!important;
    color:#3f495c!important;
    font-size:12px!important;
    font-weight:900!important;
    box-sizing:border-box!important;
    text-align:center!important;
  }

  /* Guest cards stay clean: no detail/all-markets shortcut. */
  .qc-football-page .jc-football-card.jc-card-guest .jc-card-detail-btn{
    display:none!important;
  }
}


/* 2026-09-28 desktop odds visual balance + CTA/hit order */
@media (min-width:1024px){
  /* More cohesive 4-column distribution, closer to the reference card. */
  .qc-football-page .jc-football-card .jc-mini-head,
  .qc-football-page .jc-football-card .jc-mini-row{
    grid-template-columns:1.28fr repeat(3,1fr)!important;
    padding:0 10px!important;
    column-gap:2px!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head{
    min-height:40px!important;
    font-size:12px!important;
    color:#566174!important;
    background:#f2f4f7!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row{
    min-height:44px!important;
    background:#f8f9fb!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head>span,
  .qc-football-page .jc-football-card .jc-mini-row>strong,
  .qc-football-page .jc-football-card .jc-mini-row>.jc-play-tag{
    justify-content:center!important;
    text-align:center!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head>span:first-child,
  .qc-football-page .jc-football-card .jc-mini-row>.jc-play-tag{
    justify-content:flex-start!important;
    text-align:left!important;
    padding-left:7px!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row>strong{
    font-size:14px!important;
    line-height:1!important;
    font-weight:900!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag{
    font-size:11px!important;
    font-weight:900!important;
    letter-spacing:-.1px!important;
    white-space:nowrap!important;
  }

  /* Reference-style color roles: home blue, draw dark, away orange. */
  .qc-football-page .jc-football-card .jc-mini-row>strong:nth-child(2){
    color:#3e68d7!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row>strong:nth-child(3){
    color:#303947!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row>strong:nth-child(4){
    color:#b8754f!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag.blue{
    color:#3767d8!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag.orange{
    color:#b9784e!important;
  }

  /* Unified card flow: odds -> login CTA -> completed prediction hits. */
  .qc-football-page .jc-football-card .jc-card-after-odds{
    gap:9px!important;
    margin-top:9px!important;
  }

  .qc-football-page .jc-football-card .jc-card-prematch-lock{
    order:1!important;
    min-height:48px!important;
    border-radius:14px!important;
    background:#f1f3f7!important;
    color:#3c4658!important;
    font-size:12px!important;
    font-weight:900!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-play{
    order:2!important;
    margin:0!important;
    padding:10px 11px 11px!important;
    border-radius:13px!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-title{
    margin-bottom:7px!important;
    font-size:11px!important;
    color:#c44f5a!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-items{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip{
    width:100%!important;
    min-width:0!important;
    min-height:30px!important;
    justify-content:center!important;
    padding:5px 6px!important;
    overflow:hidden!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip small,
  .qc-football-page .jc-football-card .jc-card-hit-chip b,
  .qc-football-page .jc-football-card .jc-card-hit-chip em{
    white-space:nowrap!important;
  }
}


/* 2026-09-28 desktop football card polish v16 */
@media (min-width:1024px){
  /* Both play labels use the same short rounded-rectangle language. */
  .qc-football-page .jc-football-card .jc-play-tag{
    display:inline-flex!important;
    width:max-content!important;
    max-width:100%!important;
    min-height:27px!important;
    height:27px!important;
    padding:0 9px!important;
    border-radius:8px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    box-sizing:border-box!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag.blue{
    background:#edf3ff!important;
    color:#3767d8!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag.orange{
    background:#fff3e9!important;
    color:#b56f43!important;
  }

  /* Keep the odds block visually connected and aligned. */
  .qc-football-page .jc-football-card .jc-mini-head,
  .qc-football-page .jc-football-card .jc-mini-row{
    grid-template-columns:1.36fr repeat(3,.88fr)!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row{
    min-height:45px!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head>span:first-child,
  .qc-football-page .jc-football-card .jc-mini-row>.jc-play-tag{
    justify-self:start!important;
  }

  /* Guest CTA remains immediately below odds. */
  .qc-football-page .jc-football-card .jc-card-after-odds{
    margin-top:8px!important;
    gap:8px!important;
  }

  .qc-football-page .jc-football-card .jc-card-prematch-lock{
    min-height:44px!important;
    height:44px!important;
    padding:0 10px!important;
  }

  /* Five hit items in two compact rows without increasing the card height:
     row 1 = 2 items, row 2 = 3 items. */
  .qc-football-page .jc-football-card .jc-card-hit-play{
    padding:8px 9px 9px!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-title{
    margin-bottom:6px!important;
    font-size:10.5px!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-items{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:5px!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip{
    width:100%!important;
    min-width:0!important;
    min-height:27px!important;
    height:27px!important;
    padding:0 6px!important;
    justify-content:center!important;
    overflow:hidden!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip:nth-child(1),
  .qc-football-page .jc-football-card .jc-card-hit-chip:nth-child(2){
    grid-column:span 3!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip:nth-child(3),
  .qc-football-page .jc-football-card .jc-card-hit-chip:nth-child(4),
  .qc-football-page .jc-football-card .jc-card-hit-chip:nth-child(5){
    grid-column:span 2!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip small{
    font-size:8.5px!important;
  }

  .qc-football-page .jc-football-card .jc-card-hit-chip b,
  .qc-football-page .jc-football-card .jc-card-hit-chip em{
    font-size:10px!important;
  }
}


/* 2026-09-28 desktop public pages: full-viewport layout */
@media (min-width:1024px){
  body.qc-home,
  body.jc-odds-page{
    background:#f6f8fb!important;
  }

  /* Remove the desktop "framed website" effect. */
  body.qc-home .shell,
  body.jc-odds-page .shell{
    width:100%!important;
    max-width:none!important;
    min-height:100vh!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    background:#f6f8fb!important;
  }

  /* Header now spans the full viewport as well. */
  body.qc-home .qc-site-header,
  body.jc-odds-page .qc-site-header{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    border-radius:0!important;
  }

  /* Overview and football keep only a small safe gutter. */
  body.qc-home .content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:28px!important;
    padding-right:28px!important;
  }

  /* Match detail used to be capped at 1180px; let it use the screen. */
  body.jc-odds-page .content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:24px 28px 76px!important;
  }

  body.qc-home .footer-note,
  body.jc-odds-page .footer-note{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:28px!important;
    padding-right:28px!important;
  }

  body.qc-home .drawer,
  body.jc-odds-page .drawer{
    width:100%!important;
    max-width:none!important;
    left:0!important;
    right:0!important;
  }
}


/* 2026-09-28 desktop odds label refinement v17 */
@media (min-width:1024px){
  .qc-football-page .jc-football-card .jc-mini-row{
    min-height:42px!important;
    align-items:center!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag{
    display:inline-flex!important;
    width:max-content!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:4px 8px!important;
    margin:0!important;
    border:0!important;
    border-radius:6px!important;
    line-height:1.1!important;
    font-size:10.5px!important;
    font-weight:850!important;
    letter-spacing:0!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:none!important;
    white-space:nowrap!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag.blue{
    background:#f0f4ff!important;
    color:#496dcc!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag.orange{
    background:#fff5eb!important;
    color:#ad744e!important;
  }

  /* Softer data colors for a cleaner table. */
  .qc-football-page .jc-football-card .jc-mini-row>strong:nth-child(2){
    color:#4668c8!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row>strong:nth-child(3){
    color:#333b49!important;
  }

  .qc-football-page .jc-football-card .jc-mini-row>strong:nth-child(4){
    color:#b87955!important;
  }

  .qc-football-page .jc-football-card .jc-mini-head{
    color:#667184!important;
    background:#f5f6f8!important;
  }

  .qc-football-page .jc-football-card .jc-mini-odds{
    background:#fafbfc!important;
    border-color:#edf0f4!important;
  }
}


/* 2026-09-28 desktop overview fixed guest login bar */
@media (min-width:1024px){
  .qc-overview-page{
    padding-bottom:112px!important;
  }

  #qcOverviewLoginBar{
    min-height:112px!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:12px 24px 14px!important;
    text-align:center!important;
  }

  #qcOverviewLoginBar .qc-football-login-copy{
    width:100%!important;
    font-size:15px!important;
    font-weight:900!important;
    line-height:1.25!important;
  }

  .qc-overview-login-subcopy{
    color:rgba(255,255,255,.72);
    font-size:12px;
    line-height:1.35;
    font-weight:650;
    text-align:center;
  }

  #qcOverviewLoginBar .qc-football-login-cta{
    margin-top:3px!important;
  }
}


/* 2026-09-28 desktop odds text-label contrast v18 */
@media (min-width:1024px){
  .qc-football-page .jc-football-card .jc-play-tag{
    width:max-content!important;
    height:auto!important;
    min-height:0!important;
    padding:4px 8px!important;
    border-radius:6px!important;
    line-height:1.05!important;
    box-shadow:none!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag.blue{
    background:#e6eeff!important;
    border:1px solid #cfddff!important;
    color:#3f66c7!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag.orange{
    background:#ffecdc!important;
    border:1px solid #f2d2b7!important;
    color:#a96842!important;
  }
}


/* 2026-09-28 desktop play tags: text-fit only v19 */
@media (min-width:1024px){
  .qc-football-page .jc-football-card .jc-mini-row>.jc-play-tag{
    display:inline-flex!important;
    align-self:center!important;
    justify-self:start!important;
    width:auto!important;
    max-width:max-content!important;
    height:auto!important;
    min-height:0!important;
    padding:3px 7px!important;
    margin:0!important;
    border-radius:5px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag.blue{
    background:#edf3ff!important;
    border:1px solid #dbe5fb!important;
    color:#4b6dcc!important;
  }

  .qc-football-page .jc-football-card .jc-play-tag.orange{
    background:#fff3e8!important;
    border:1px solid #f0dac7!important;
    color:#ad7149!important;
  }
}


/* 2026-09-28 football team logos: desktop + mobile */
.qc-football-page .jc-football-card .jc-team{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
}

.qc-football-page .jc-football-card .jc-team-logo{
  display:block;
  width:32px;
  height:32px;
  flex:0 0 32px;
  object-fit:contain;
  object-position:center;
}

.qc-football-page .jc-football-card .jc-team-name{
  display:block;
  max-width:100%;
  line-height:1.22;
  text-align:center;
}

@media (min-width:1024px){
  .qc-football-page .jc-football-card .jc-team-logo{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
}

@media (max-width:1023px){
  .qc-football-page .jc-football-card .jc-team{
    gap:4px!important;
  }
  .qc-football-page .jc-football-card .jc-team-logo{
    width:28px;
    height:28px;
    flex-basis:28px;
  }
}


/* 2026-09-28 match detail team logos */
.jc-odds-page .jc-odds-matchup .jc-detail-team{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:0!important;
  text-align:center!important;
}

.jc-odds-page .jc-odds-matchup .jc-detail-team.right{
  justify-content:center!important;
}

.jc-odds-page .jc-detail-team-logo{
  display:block;
  width:46px;
  height:46px;
  object-fit:contain;
  object-position:center;
  flex:0 0 46px;
}

.jc-odds-page .jc-detail-team-name{
  display:block;
  max-width:100%;
  color:var(--text);
  font-size:18px;
  line-height:1.2;
  font-weight:900;
  text-align:center;
}

@media (max-width:640px){
  .jc-odds-page .jc-odds-matchup .jc-detail-team{
    gap:5px!important;
  }

  .jc-odds-page .jc-detail-team-logo{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  .jc-odds-page .jc-detail-team-name{
    font-size:14px;
  }
}


/* 2026-09-28 detail facts: Sporttery-first unified data panels */
.jc-player-team-card{
  min-width:0;
}
.jc-player-section-label{
  margin:12px 0 8px;
  color:#687286;
  font-size:12px;
  font-weight:900;
}
.jc-player-section-label.jc-injury-label{
  margin-top:16px;
}
.jc-player-detail-list{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.jc-player-detail-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:1px solid #edf0f5;
  border-radius:11px;
  background:#fafbfd;
}
.jc-player-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.jc-player-main strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#202735;
  font-size:13px;
}
.jc-player-main span{
  flex:0 0 auto;
  color:#8a94a6;
  font-size:11px;
}
.jc-player-meta{
  display:flex;
  align-items:center;
  gap:7px;
  color:#687286;
  font-size:10px;
  font-weight:750;
  white-space:nowrap;
}
.jc-h2h-summary{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 10px;
  padding:11px 13px;
  border:1px solid #e7ebf2;
  border-radius:12px;
  background:#f8f9fb;
  color:#687286;
  font-size:12px;
}
.jc-h2h-summary strong{
  margin-right:auto;
  color:#202735;
  font-size:13px;
}
@media(max-width:640px){
  .jc-facts-subtabs{
    gap:0!important;
  }
  .jc-facts-subtabs button{
    min-width:max-content;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .jc-player-detail-row{
    grid-template-columns:1fr;
    gap:5px;
  }
  .jc-player-meta{
    flex-wrap:wrap;
    gap:5px 9px;
  }
  .jc-h2h-summary{
    flex-wrap:wrap;
    gap:6px 10px;
  }
  .jc-h2h-summary strong{
    width:100%;
    margin-right:0;
  }
}

/* 2026-09-30 mobile navigation label only */
@media(max-width:760px){
  body.qc-overview-page .qc-site-header .menu-btn,
  body.qc-football-page .qc-site-header .menu-btn,
  body.qc-profile-page .qc-site-header .menu-btn,
  body.jc-odds-page .qc-site-header .menu-btn{
    position:relative!important;
    width:68px!important;
    height:40px!important;
    padding:0 7px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    border:0!important;
    border-radius:0!important;
    font-size:12px!important;
    font-weight:700!important;
    color:#40506a!important;
    background:transparent!important;
    box-shadow:none!important;
    white-space:nowrap!important;
  }
  body.qc-overview-page .qc-site-header .menu-btn::before,
  body.qc-football-page .qc-site-header .menu-btn::before,
  body.qc-profile-page .qc-site-header .menu-btn::before,
  body.jc-odds-page .qc-site-header .menu-btn::before{
    content:""!important;
    position:absolute!important;
    z-index:0!important;
    left:0!important;
    right:0!important;
    top:5px!important;
    bottom:5px!important;
    border:1px solid #e2e7ef!important;
    border-radius:9px!important;
    background:#fff!important;
  }
  .qc-site-header .menu-btn .qc-menu-label{
    position:relative!important;
    z-index:1!important;
    display:inline!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1!important;
  }
  .qc-site-header .menu-btn .qc-menu-icon{
    position:relative!important;
    z-index:1!important;
    display:inline!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1!important;
    transform:translateY(-1px);
  }
}


/* 2026-10-07 admin daily activity */
.admin-daily-panel{margin-top:20px}
.admin-daily-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.admin-daily-head h2{margin:0 0 6px}
.admin-daily-tabs{display:flex;gap:8px;flex:0 0 auto}
.admin-daily-tabs button{height:38px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-weight:800;cursor:pointer}
.admin-daily-tabs button.active{background:var(--blue-soft);border-color:#cdd8ff;color:var(--blue)}
.admin-daily-metrics{margin:14px 0 18px}
.admin-daily-table tbody tr[data-date]{cursor:pointer}
.admin-daily-table tbody tr[data-date]:hover{background:#f7f9fd}
.admin-daily-table tbody tr.selected{background:#edf2ff}
.admin-daily-detail{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.admin-daily-detail h3{margin:0 0 12px}
.admin-daily-history-note{margin:14px 0 0}
.admin-daily-panel .admin-table-wrap .brief-table{min-width:620px}
@media(max-width:640px){
  .admin-daily-head{flex-direction:column}
  .admin-daily-tabs{width:100%}
  .admin-daily-tabs button{flex:1}
  .admin-daily-metrics{grid-template-columns:repeat(2,1fr)}
}


/* 2026-10-08 mobile ticker/date spacing: keep football date toolbar flush under ticker */
@media (max-width:1023px){
  .qc-football-page .content{
    padding-top:0!important;
  }
  .qc-football-page .jc-football-toolbar{
    margin-top:0!important;
  }
}


/* 2026-10-08 profile Pro contact / renewal */
.qc-profile-contact-row,
.qc-profile-renew-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:4px 0 14px;
  padding:11px 13px;
  border-radius:13px;
}
.qc-profile-contact-row{
  border:1px solid #e3e9f5;
  background:#f8faff;
}
.qc-profile-renew-row{
  border:1px solid #f0dcc4;
  background:#fffaf3;
}
.qc-profile-contact-row[hidden],
.qc-profile-renew-row[hidden]{display:none!important}
.qc-profile-contact-copy,
.qc-profile-renew-copy{min-width:0}
.qc-profile-contact-copy strong,
.qc-profile-renew-copy strong{
  display:block;
  font-size:14px;
  line-height:1.35;
}
.qc-profile-contact-copy strong{color:#24344f}
.qc-profile-renew-copy strong{color:#9a651e}
.qc-profile-contact-copy span,
.qc-profile-renew-copy span{
  display:block;
  margin-top:4px;
  font-size:12px;
  line-height:1.4;
}
.qc-profile-contact-copy span{color:#8a94a8}
.qc-profile-renew-copy span{color:#9a8669}
.qc-profile-contact-btn,
.qc-profile-renew-btn{
  flex:0 0 auto;
  border:0;
  background:transparent;
  padding:7px 2px;
  font-weight:900;
  font-size:13px;
  cursor:pointer;
}
.qc-profile-contact-btn{color:#3764ed}
.qc-profile-renew-btn{color:#d17b1f}

.qc-profile-contact-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(24,31,44,.42);
  backdrop-filter:blur(5px);
}
.qc-profile-contact-modal[hidden]{display:none!important}
body.qc-profile-contact-open{overflow:hidden}
.qc-profile-contact-dialog{
  position:relative;
  width:min(430px,calc(100vw - 30px));
  box-sizing:border-box;
  background:#fff;
  border:1px solid #e4e8f0;
  border-radius:24px;
  padding:28px 22px 22px;
  box-shadow:0 30px 90px rgba(24,31,44,.28);
  text-align:center;
}
.qc-profile-contact-close{
  position:absolute;
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  border:1px solid #e4e8f0;
  border-radius:10px;
  background:#f7f9fc;
  color:#737d90;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.qc-profile-contact-dialog h2{
  margin:0;
  padding:0 38px;
  color:#24344f;
  font-size:24px;
}
.qc-profile-contact-sub{
  margin:10px 0 18px;
  color:#7f899d;
  font-size:14px;
  line-height:1.7;
}
.qc-profile-contact-qr{
  width:min(260px,72vw);
  aspect-ratio:1;
  margin:0 auto;
  overflow:hidden;
  border:1.5px solid #dce4f2;
  border-radius:18px;
  background:#fff;
}
.qc-profile-contact-qr img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.qc-profile-contact-name{
  margin-top:15px;
  color:#24344f;
  font-size:16px;
  font-weight:900;
}
.qc-profile-contact-tip{
  margin-top:8px;
  color:#98a2b3;
  font-size:12px;
}
.qc-profile-contact-note{
  margin-top:18px;
  padding:12px 14px;
  border:1px solid #f2d0d0;
  border-radius:13px;
  background:#fff8f8;
  color:#596274;
  font-size:13px;
}
.qc-profile-contact-note b{
  color:#d83a34;
  font-size:16px;
}
.qc-profile-contact-actions{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:12px;
  margin-top:20px;
}
.qc-profile-contact-actions button{
  height:48px;
  border-radius:13px;
  font-weight:900;
  font-size:15px;
  cursor:pointer;
}
.qc-profile-contact-cancel{
  background:#fff;
  border:1px solid #dce3ee;
  color:#707b8f;
}
.qc-profile-contact-ok{
  background:#3764ed;
  border:0;
  color:#fff;
}
@media(max-width:560px){
  .qc-profile-contact-dialog{
    padding:24px 18px 18px;
    border-radius:22px;
  }
  .qc-profile-contact-row,
  .qc-profile-renew-row{
    padding:10px 12px;
  }
}


/* 2026-10-18 | Unified public pending-report state: no internal progress copy. */
.jc-ai-article-page.jc-ai-article-pending{
  padding-bottom:18px;
}
.jc-ai-article-page.jc-ai-article-pending .jc-ai-wait{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:76px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#8994a7;
  font-size:15px;
  font-weight:700;
  line-height:1.5;
  text-align:center;
}
@media(max-width:640px){
  .jc-odds-page .jc-ai-article-page.jc-ai-article-pending{padding-bottom:12px;}
  .jc-odds-page .jc-ai-article-page.jc-ai-article-pending .jc-ai-wait{min-height:64px;}
}

/* Keep JC date navigation responsive while the full day's data is fetched.
   Lightweight state change only; do not alter FINAL cards or mobile layout. */
#jcFootballDateLabel.qc-date-pending { opacity:.7; }
#jcFootballCards.qc-football-switching { opacity:.82; }
#jcFootballCards.qc-football-switching .jc-card-link { pointer-events:none; }
@media (prefers-reduced-motion:no-preference) {
  #jcFootballDateLabel.qc-date-pending { transition:opacity .12s ease; }
}

/* 2026-10-24 | responsive interaction feedback, all screen widths
   No page geometry, scoring, access gate or card styling is changed. */
button, a, [role="button"] { touch-action:manipulation; }
button:focus-visible, a:focus-visible, [role="button"]:focus-visible {
  outline:2px solid #3f66df;
  outline-offset:3px;
}
@media (pointer:coarse) {
  .jc-football-arrow:active,
  .jc-football-today:active,
  .jc-today-btn:active,
  .date-switch button:active,
  .qc-football-login-cta:active,
  .qc-premium-primary:active,
  .menu-btn:active,
  .qc-league-region-tabs button:active,
  .jc-card-link:active {
    opacity:.83;
  }
}

/* 2026-11-03: keep handicap-only double choices together in the narrow overview direction column. */
@media(max-width:760px){
  .qc-overview-page .jc-overview-market .jc-choice-inline.jc-handicap-inline{
    display:inline-flex!important; flex-wrap:nowrap!important; white-space:nowrap!important;
    gap:1px!important; max-width:none!important; letter-spacing:-.15px;
  }
  .qc-overview-page .jc-overview-market .jc-choice-inline.jc-handicap-inline .jc-choice-primary,
  .qc-overview-page .jc-overview-market .jc-choice-inline.jc-handicap-inline .jc-choice-secondary,
  .qc-overview-page .jc-overview-market .jc-choice-inline.jc-handicap-inline .jc-choice-sep{
    font-size:9px!important; white-space:nowrap!important;
  }
}
