.scanner-heading{align-items:center}.category-tabs{display:flex;gap:7px;margin-bottom:12px}.category-tabs button{min-height:38px;padding:0 15px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--muted);cursor:pointer}.category-tabs button.active{border-color:#19794a;background:#0d2b1e;color:var(--green)}.category-tabs button:disabled{cursor:not-allowed;opacity:.52}.category-tabs em{margin-left:6px;font-size:9px;font-style:normal}.scanner-filters{display:grid;grid-template-columns:auto auto minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr) minmax(170px,1.2fr) auto auto;gap:8px;margin-bottom:12px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--card)}.scanner-filters button,.scanner-filters input,.scanner-filters select{height:36px;min-width:0;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#0b0e0c;color:var(--text);font-size:12px}.scanner-filters button{cursor:pointer}.scanner-filters button.active{border-color:#19794a;background:#0d2b1e;color:var(--green)}.check-filter{display:flex;align-items:center;gap:7px;padding:0 5px;color:#aeb6b1;font-size:11px;white-space:nowrap}.check-filter input{width:14px;height:14px;margin:0;accent-color:var(--green)}.scanner-info{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--muted);font-size:11px}.scanner-info strong{color:var(--text)}.help{position:relative;display:inline-grid;place-items:center;width:19px;height:19px;margin-left:5px;border:1px solid #475149;border-radius:50%;color:#b8c0bb;cursor:help}.help:hover:after{content:attr(data-help);position:absolute;right:0;top:26px;width:280px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#1a1e1b;color:#d8ded9;line-height:1.45;box-shadow:0 12px 30px #0008;z-index:20}.scanner-wrap{max-height:calc(100vh - 292px);overflow:auto;border:1px solid var(--line);border-radius:11px;background:var(--card)}.scanner-table{width:100%;min-width:1050px;border-collapse:separate;border-spacing:0;font-size:12px}.scanner-table th{position:sticky;top:0;height:42px;padding:0 10px;border-bottom:1px solid #303730;background:#171b18;color:#aab3ad;font-size:10px;letter-spacing:.35px;text-align:center;white-space:nowrap;z-index:5}.scanner-table th:nth-child(2){text-align:left}.scanner-table th.sortable{cursor:pointer}.scanner-table th.sortable:hover{color:var(--green)}.scanner-table td{height:48px;padding:5px 10px;border-bottom:1px solid #1d221f;text-align:center}.scanner-table tbody tr:hover td{background:#17201a}.scanner-table tbody tr{cursor:pointer}.scanner-table .league-row{cursor:default}.scanner-table .league-row td{height:34px;padding:7px 12px;background:#0d100e;color:#aab3ad;text-align:left;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.scanner-table .league-row img{width:18px;height:18px;margin-right:8px;object-fit:contain;vertical-align:middle}.scanner-time{font-weight:800;white-space:nowrap}.scanner-time.live{color:var(--red)}.scanner-match{display:grid;grid-template-columns:minmax(100px,1fr) 24px 13px 24px minmax(100px,1fr);gap:6px;align-items:center;min-width:330px}.scanner-match span:first-child{text-align:right}.scanner-match span:last-child{text-align:left}.scanner-match span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.scanner-match img{width:23px;height:23px;object-fit:contain}.percent-cell{min-width:84px}.percent-pill{display:inline-flex;align-items:baseline;justify-content:center;gap:4px;min-width:68px;padding:5px 7px;border-radius:6px;background:#202420;color:#b9c0bb}.percent-pill b{font-size:12px}.percent-pill small{font-size:8px;opacity:.7}.percent-pill.high{background:#123025;color:#6ee7ab}.percent-pill.good{background:#193025;color:#a2d9b7}.percent-pill.mid{background:#302c1d;color:#d8c886}.percent-pill.low{background:#2a2020;color:#c9aaaa}.percent-pill.none{background:transparent;color:#5f6862}.scanner-loading td{height:70px;color:var(--muted);cursor:default}.load-progress{height:3px;background:#161b18}.load-progress i{display:block;height:100%;background:var(--green);transition:width .2s}.scanner-empty{padding:55px!important;color:var(--muted);text-align:center!important}.sort-arrow{margin-left:4px;color:var(--green)}@media(max-width:1180px){.scanner-filters{grid-template-columns:repeat(4,1fr)}.scanner-filters .check-filter{grid-column:span 2}.scanner-wrap{max-height:calc(100vh - 335px)}}@media(max-width:760px){.category-tabs{overflow-x:auto}.scanner-filters{grid-template-columns:1fr 1fr}.scanner-filters select,.scanner-filters input[type=search]{grid-column:1/-1}.scanner-info{align-items:flex-start;flex-direction:column}.scanner-wrap{max-height:none}.scanner-table{min-width:1050px}}

/* Refinamento do scanner profissional */
.scanner-heading{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #1c211e}.scanner-heading h1{font-size:28px}.scanner-heading p:last-child{font-size:13px}.category-tabs{margin-bottom:8px}.category-tabs button{border-color:transparent;background:#101310}.category-tabs button.active{border-color:#1c6542}.scanner-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;background:#0e110f}.filter-fields{display:grid;grid-template-columns:auto auto 132px minmax(145px,1fr) minmax(145px,1fr) minmax(125px,.8fr) minmax(145px,1fr);gap:7px;flex:1;min-width:0}.filter-toggles{display:flex;align-items:center;gap:8px}.check-filter{height:34px;padding:0 9px;border-radius:7px;background:#131713}.scanner-info{min-height:45px;margin-bottom:8px}.scanner-counts{display:flex;gap:8px}.scanner-counts>span{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:5px;padding:7px 11px;border:1px solid #222823;border-radius:8px;background:#101310}.scanner-counts strong{font-size:17px}.scanner-counts small{font-size:10px;color:var(--muted)}.scanner-method{display:flex;align-items:center}.scanner-wrap{max-height:calc(100vh - 316px)}.scanner-table{min-width:1000px;table-layout:fixed}.scanner-table th{height:38px;padding:0 6px}.scanner-table th:first-child{width:72px}.scanner-table th:nth-child(2){width:34%}.scanner-table th:nth-child(n+3){width:10.4%}.scanner-table td{height:43px;padding:4px 6px}.scanner-table .league-row td{height:40px;padding:5px 10px;background:#0b0e0c}.league-separator{display:flex;align-items:center;gap:8px;letter-spacing:0;text-transform:none}.league-separator img,.league-trophy{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px;margin:0!important;color:#667168}.league-separator strong{display:block;color:#cbd2cd;font-size:11px;letter-spacing:.45px;text-transform:uppercase}.league-separator small{display:block;margin-top:2px;color:#68726b;font-size:9px;font-weight:500;text-transform:none}.scanner-time{color:#8e9891;font-size:11px;font-weight:600}.scanner-match{display:grid;grid-template-columns:minmax(0,1fr) 13px minmax(0,1fr);gap:7px;min-width:0}.scanner-match>i{color:#59625c;font-size:11px;font-style:normal;text-align:center}.scanner-team{display:flex;align-items:center;gap:7px;min-width:0}.scanner-team.home{justify-content:flex-end}.scanner-team.away{justify-content:flex-start}.scanner-team b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.scanner-team img{width:22px;height:22px;flex:0 0 22px;object-fit:contain}.percent-cell{min-width:0}.percent-pill{display:flex;flex-direction:column;align-items:center;gap:0;min-width:58px;padding:3px 4px}.percent-pill b{font-size:13px;line-height:1.1}.percent-pill small{margin-top:2px;font-size:8px}.no-analysis-cell{color:#4f5852!important;font-size:10px;letter-spacing:.3px}.no-analysis-cell span{display:inline-block;padding:4px 9px;border-radius:5px;background:#0d100e}.scanner-table tbody tr:not(.league-row):hover td{background:#162019}.sort-arrow{font-size:10px}
@media(max-width:1250px){.scanner-filters{align-items:stretch;flex-direction:column}.filter-toggles{justify-content:flex-end}.scanner-wrap{max-height:calc(100vh - 354px)}}@media(max-width:1080px){.filter-fields{grid-template-columns:repeat(3,1fr)}.scanner-table{min-width:1000px}}@media(max-width:760px){.filter-fields{grid-template-columns:1fr 1fr}.filter-fields select,.filter-fields input[type=search]{grid-column:auto}.filter-toggles{justify-content:flex-start;flex-wrap:wrap}.scanner-method{display:none}.scanner-wrap{max-height:none}}

/* Coluna adicional de gols no primeiro tempo */
.scanner-table th:nth-child(2){width:30%}.scanner-table th:nth-child(n+3){width:9%}.scanner-table td{padding-left:5px;padding-right:5px}

/* Estrutura inicial do scanner de jogadores */
.analysis-view[hidden]{display:none}.player-market-bar{min-height:52px;display:flex;align-items:center;gap:10px;margin:8px 0;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#0e110f}.player-market-bar>span{color:#8f9992;font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.player-market-bar select{height:35px;min-width:190px;padding:0 10px;border:1px solid #29302b;border-radius:7px;background:#111512;color:var(--text);font-size:12px}.player-market-bar small{margin-left:auto;color:#68726b;font-size:10px}.player-scanner-wrap{max-height:calc(100vh - 325px)}.player-scanner-table{min-width:900px}.player-scanner-table th:first-child{width:22%;text-align:left}.player-scanner-table th:nth-child(2){width:28%;text-align:left}.player-scanner-table th:nth-child(n+3){width:10%;text-align:center}.player-scanner-empty{height:210px!important;color:#68726b;text-align:center!important}.player-scanner-empty span,.player-scanner-empty strong,.player-scanner-empty small{display:block}.player-scanner-empty span{margin-bottom:8px;color:var(--green);font-size:26px}.player-scanner-empty strong{color:#c8cfca;font-size:13px}.player-scanner-empty small{margin-top:6px;font-size:10px}.player-status-legend{display:flex;justify-content:flex-end;gap:7px;padding:9px 2px}.player-status-legend span{padding:4px 7px;border:1px solid #2a302c;border-radius:5px;color:#737d76;font-size:8px;font-weight:800}.player-status-legend .official{border-color:#185d3b;color:#59d99a}.player-status-legend .probable{border-color:#66551e;color:#c9ae55}@media(max-width:760px){.player-market-bar{align-items:flex-start;flex-direction:column}.player-market-bar small{margin-left:0}.player-scanner-wrap{max-height:none}}
.player-row td{height:50px}.player-person{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;text-align:left}.player-person img{width:30px;height:30px;border-radius:50%;object-fit:cover;background:#202621}.player-person strong,.player-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-person strong{font-size:11px}.player-person small{margin-top:2px;color:#727c75;font-size:9px}.player-match{display:flex;align-items:center;gap:5px;overflow:hidden;text-align:left;white-space:nowrap}.player-match img{width:18px;height:18px;object-fit:contain}.player-match span{overflow:hidden;text-overflow:ellipsis}.player-status{display:inline-block;padding:4px 6px;border:1px solid #303630;border-radius:5px;color:#7d867f;font-size:8px;font-weight:850}.player-status.official{border-color:#185d3b;background:#10271c;color:#62dca0}.player-status.probable{border-color:#66551e;background:#282311;color:#d0b65d}.market-line{color:#d8ded9;font-weight:750}.player-no-data{color:#555e58;font-size:10px}
.recent-sample{display:block;margin-top:2px;color:#667069;font-size:8px}
.metric-fraction{display:inline-flex;align-items:center;justify-content:center;gap:4px}.sample-indicator{position:relative;width:6px;height:6px;display:inline-block;flex:0 0 6px;border:1px solid currentColor;border-radius:50%;color:#87918b;background:currentColor;cursor:help;outline:none}.sample-indicator.short{color:#b19a61}.sample-indicator.insufficient{color:#987878}.sample-indicator.good{color:#79aa8b}.sample-indicator.strong{color:#55c98c}.sample-indicator:hover:after,.sample-indicator:focus-visible:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 9px);width:max-content;max-width:210px;padding:6px 8px;transform:translateX(-50%);border:1px solid #343c36;border-radius:6px;background:#171c18;color:#d8ded9;font-size:9px;font-style:normal;font-weight:600;line-height:1.35;white-space:normal;box-shadow:0 8px 22px #0009;z-index:30}.sample-indicator:focus-visible{box-shadow:0 0 0 2px #0e110f,0 0 0 3px currentColor}.percent-pill.sample-short,.percent-pill.sample-insufficient{outline:1px solid rgba(255,255,255,.045);background-image:linear-gradient(rgba(8,11,9,.16),rgba(8,11,9,.16))}.scanner-table tr.without-analysis td{color:#717a74;background:#0e110f;opacity:.72}.scanner-table tr.without-analysis:hover td{opacity:.9}.scanner-table tr.without-analysis .scanner-team img{filter:saturate(.55);opacity:.72}
.history-building{display:inline-block;max-width:92px;color:#626c65;font-size:9px;line-height:1.25}

/* Scanner enxuto de jogadores relevantes */
.player-scanner-table{min-width:850px}.player-scanner-table th:first-child{width:23%;text-align:left}.player-scanner-table th:nth-child(2){width:31%;text-align:left}.player-scanner-table th:nth-child(3){width:14%}.player-scanner-table th:nth-child(n+4){width:10.6%;text-align:center}.player-filter{display:flex;align-items:center;gap:7px;margin-left:6px}.player-filter>span{color:#8f9992;font-size:9px;font-weight:800;text-transform:uppercase}.player-filter select{min-width:155px}.player-data-filter{margin-left:0}.player-average{display:inline-block;min-width:58px;padding:6px 7px;border-radius:6px;background:#171b18;font-size:14px;font-weight:900}.player-average.high{background:#123025;color:#6ee7ab}.player-average.mid{background:#302c1d;color:#d8c886}.player-average.low{color:#aeb6b1}.player-season-number{font-size:13px;font-weight:800}.player-team-name{display:block;color:#c9d0cb;font-size:10px;font-weight:750}.player-match-name{display:block;margin-top:2px;color:#707a73;font-size:9px}
.corners-scanner-table{min-width:1050px}.corners-scanner-table th:first-child{width:7%}.corners-scanner-table th:nth-child(2){width:29%}.corners-scanner-table th:nth-child(n+3){width:10.66%}.corners-scanner-table .percent-pill.none{min-width:92px;font-size:9px}.corner-average b{color:#d7ddd9}.corner-average small{display:flex;align-items:center;gap:4px}.corners-scanner-wrap{max-height:calc(100vh - 300px)}
.bankroll-add{padding:6px 8px;border:1px solid #24583c;border-radius:6px;background:#102219;color:#67d99d;font-size:9px;font-weight:750;white-space:nowrap;cursor:pointer}.bankroll-add:hover{border-color:#2f8a58;background:#153323;color:#8bebba}

/* Etapa 2 — cobertura e estados do scanner */
.analysis-coverage{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(240px,1.3fr) minmax(260px,1fr);align-items:center;gap:14px;margin:-1px 0 10px;padding:10px 12px;border:1px solid #222a24;border-radius:10px;background:linear-gradient(180deg,#101511,#0d110e)}
.analysis-coverage>div:first-child{display:flex;flex-direction:column;gap:2px}.analysis-coverage b{font-size:11px;color:#d9e0db}.analysis-coverage span{font-size:10px;color:#7f8b83}.analysis-coverage small{color:#69746c;font-size:9px;line-height:1.35}.coverage-track{height:7px;overflow:hidden;border-radius:999px;background:#202721}.coverage-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1e8d55,#42d88b);transition:width .28s ease}.no-analysis-cell.status-queued span{color:#9aa49d;background:#151a16}.no-analysis-cell.status-loading span{color:#69daa0;background:#10251a;border:1px solid #1d5d3b}.no-analysis-cell.status-loading span:after{content:'  •';animation:scannerPulse 1s infinite}.no-analysis-cell.status-nodata span{color:#c1ad72;background:#242014}.no-analysis-cell.status-error span{color:#c88f8f;background:#241818}@keyframes scannerPulse{0%,100%{opacity:.45}50%{opacity:1}}@media(max-width:900px){.analysis-coverage{grid-template-columns:1fr}.analysis-coverage small{display:none}}
