/* Final scores: clear team order, club identity, and an explicit Vigevano outcome. */
:root{--result-win:#13723e;--result-win-bg:#eaf6ee;--result-loss:#b32939;--result-loss-bg:#fff0f2}
.scoreboard{display:grid;gap:5px;min-width:0;width:100%}
.scoreboard-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:46px;padding:8px 14px;border-radius:5px;color:var(--ink)}
.scoreboard.has-crests .scoreboard-line{grid-template-columns:44px minmax(0,1fr) auto}
.scoreboard-crest{width:40px;height:40px;object-fit:contain}
.scoreboard-line.is-winner{background:#eff3f8}
.scoreboard .scoreboard-team{font:400 1rem/1.4 var(--body);text-align:left;max-width:none;overflow-wrap:anywhere;letter-spacing:0;text-transform:none}
.scoreboard .scoreboard-team.is-vigevano{color:var(--blue);font-weight:500;text-transform:uppercase;letter-spacing:.025em}
.scoreboard .is-winner .scoreboard-team{font-weight:800}
.scoreboard .scoreboard-number{font:500 2.125rem/1.1 var(--body);letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-align:right;color:#677181;min-width:2.3ch;white-space:nowrap}
.scoreboard .is-winner .scoreboard-number{font-weight:800;color:var(--navy)}
.result-outcome{display:inline-flex;align-items:center;gap:8px;border-radius:6px;padding:5px 10px 5px 5px;font:700 .875rem/1.2 var(--body);white-space:nowrap;text-transform:none;letter-spacing:0}
.result-outcome.is-win{color:var(--result-win);background:var(--result-win-bg)}
.result-outcome.is-loss{color:var(--result-loss);background:var(--result-loss-bg)}
.outcome-letter{display:grid;place-items:center;width:28px;height:28px;border-radius:4px;background:currentColor;font:800 1rem/1 var(--body)}
.is-win .outcome-letter{background:var(--result-win);color:white}
.is-loss .outcome-letter{background:var(--result-loss);color:white}
.result-status,.result-competition,.result-note{font:500 .8125rem/1.5 var(--body);color:var(--muted);letter-spacing:.02em}
.result-status{text-transform:uppercase}
.result-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font:400 .875rem/1.5 var(--body);margin:0 0 20px;color:var(--muted)}
.result-legend>span{display:inline-flex;gap:7px;align-items:center}
.result-legend>span:first-child b{color:var(--blue);font-weight:600}
.legend-win{color:var(--result-win)}.legend-loss{color:var(--result-loss)}
.schedule-game.is-complete{margin:16px 0;padding:22px;border:1px solid var(--line);border-left:4px solid var(--result-loss);border-radius:8px;grid-template-columns:80px minmax(0,1fr) 135px;gap:24px;background:white;box-shadow:0 3px 14px #07162905}
.schedule-game.is-complete.result-win{border-left-color:var(--result-win)}
.schedule-game.is-complete .scoreboard{margin-block:14px 12px;max-width:640px}
.schedule-game.is-complete .game-main>p{padding-left:14px}
.schedule-game.is-complete .game-actions{gap:7px;align-items:flex-end}
.schedule-game.is-complete .game-meta{font-size:.875rem}
.schedule-game.is-complete .game-main:hover .scoreboard-team{color:var(--ink)}
.schedule-game.is-complete .game-main:hover .scoreboard-team.is-vigevano{color:var(--blue)}
.result-card{display:grid;grid-template-columns:145px minmax(0,1fr) 145px;align-items:center;gap:24px;margin-top:14px;padding:22px 24px;border:1px solid var(--line);border-left:4px solid var(--result-loss);border-radius:8px;background:white;box-shadow:0 3px 14px #07162905}
.result-card.result-win{border-left-color:var(--result-win)}
.result-card-date{font-size:.8125rem;color:var(--muted);text-transform:uppercase;line-height:1.5}
.result-card-main{min-width:0}.result-card-main .result-competition{margin:0 0 10px;padding-left:14px}
.result-card .scoreboard{max-width:580px}.result-card .scoreboard-line{min-height:44px}
.result-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.result-card-actions>.text-link{font-size:.875rem;gap:10px}
.result-note{padding-left:14px;margin-top:8px}
.match-detail.is-complete{border:1px solid var(--line);border-top:4px solid var(--result-loss);background:white;border-radius:10px;padding:32px;max-width:920px;margin-inline:auto;box-shadow:0 10px 40px #07162908}
.match-detail.is-complete.result-win{border-top-color:var(--result-win)}
.scoreboard-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:22px;margin-bottom:18px;border-bottom:1px solid var(--line);font-size:.875rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.match-detail.is-complete .scoreboard-line{min-height:94px;padding:16px 24px;gap:24px;grid-template-columns:72px minmax(0,1fr) auto}
.match-detail.is-complete .scoreboard-crest{width:68px;height:68px}
.match-detail.is-complete .scoreboard-team{font-size:1.375rem}
.match-detail.is-complete .scoreboard-number{font-size:3.5rem}
.match-detail.is-complete .match-venue{margin:25px 0 10px}
.result-highlight>div{flex:1}.promotion-score{max-width:510px;display:flex;align-items:center;gap:25px}
.result-highlight .scoreboard-line{background:transparent;padding:6px 0;min-height:42px;gap:18px}
.result-highlight .scoreboard .scoreboard-team{font-size:1.125rem;color:#e1e8f4}
.result-highlight .scoreboard .scoreboard-team.is-vigevano{color:#174591;background:white;padding:4px 10px;border-left:4px solid var(--yellow);border-radius:2px}
.result-highlight .scoreboard .scoreboard-number{font-size:2rem;color:#e1e8f4;margin:0}
.result-highlight .scoreboard .is-winner .scoreboard-number{color:var(--yellow);font-weight:800}
@media(max-width:1050px){.schedule-game.is-complete{grid-template-columns:65px minmax(0,1fr) 125px;gap:18px;padding:20px 16px}.result-card{grid-template-columns:110px minmax(0,1fr) 125px;gap:16px;padding:20px 18px}.scoreboard.has-crests .scoreboard-line{grid-template-columns:36px minmax(0,1fr) auto;gap:12px}.scoreboard-crest{width:34px;height:34px}}
@media(max-width:760px){
 .schedule-game.is-complete{grid-template-columns:1fr;gap:16px;padding:18px;margin-top:16px}
 .schedule-game.is-complete .game-date{border:0;padding:0;text-align:left;display:flex;align-items:baseline;gap:8px}
 .schedule-game.is-complete .game-date>strong{font-size:2rem}.schedule-game.is-complete .game-date>span{font-size:.8125rem;margin:0}
 .schedule-game.is-complete .game-main{grid-column:1}.schedule-game.is-complete .game-actions{grid-column:1;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px 16px;flex-wrap:wrap;padding-top:14px}
 .schedule-game.is-complete .game-actions .result-status{display:none}.schedule-game.is-complete .game-actions>.text-link:last-child{margin-left:auto}
 .schedule-game.is-complete .game-main>p{margin-top:12px;padding-left:0;font-size:.8125rem}
 .scoreboard-line{padding:9px 10px;gap:12px}.scoreboard .scoreboard-team{font-size:1rem}.scoreboard .scoreboard-number{font-size:2rem}
 .result-card{grid-template-columns:minmax(0,1fr);gap:14px;padding:18px}
 .result-card-date{font-size:.8125rem}.result-card-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:14px}
 .result-card-main .result-competition{padding-left:0}.result-card .scoreboard{max-width:none}
 .match-detail.is-complete{padding:20px 14px}.scoreboard-heading{padding-bottom:16px;margin-bottom:12px;gap:10px;font-size:.8125rem}
 .match-detail.is-complete .scoreboard-line{grid-template-columns:46px minmax(0,1fr) auto;min-height:82px;padding:12px 10px;gap:12px}
 .match-detail.is-complete .scoreboard-crest{width:42px;height:42px}.match-detail.is-complete .scoreboard-team{font-size:1rem}.match-detail.is-complete .scoreboard-number{font-size:2.5rem}
 .promotion-score{gap:18px;flex-wrap:wrap}.promotion-score .scoreboard{min-width:180px;flex:1}.result-highlight .scoreboard .scoreboard-team{font-size:1rem}.result-highlight .scoreboard .scoreboard-number{font-size:2rem}
 .result-legend{gap:8px 14px}.result-legend>span:first-child{flex-basis:100%}
}
@media(prefers-contrast:more){.scoreboard-line.is-winner{outline:1px solid var(--ink)}.scoreboard .scoreboard-number{color:var(--ink)}}
@media(max-width:760px){
 .schedule-game.is-complete .game-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
 .schedule-game.is-complete .game-actions>.result-outcome{justify-self:start}
 .schedule-game.is-complete .game-actions>.result-status{display:block;justify-self:end}
 .schedule-game.is-complete .game-actions>.text-link{grid-row:2}
 .schedule-game.is-complete .game-actions>.text-link:last-child{justify-self:end;margin-left:0}
}
