.points-pitch-card { margin: 20px 0 2px; box-shadow: none; }
.points-pitch { min-height: 620px !important; }
.points-lineup-player { width: min(108px, 18vw); }
.points-shirt-button { cursor: pointer !important; }
.points-shirt-button:focus-visible { outline: 4px solid #fff; outline-offset: 4px; }
.points-role { width: auto; min-width: 27px; padding: 0 5px; white-space: nowrap; }
.jersey-points-badge { position: absolute; top: 29px; left: 2px; padding: 3px 5px; border: 2px solid #fff; color: #080808; background: var(--green); font-size: .55rem; font-weight: 1000; }
.substitution-badge { position: absolute; top: 29px; right: 2px; padding: 3px 5px; border: 2px solid #fff; color: #fff; background: #080808; font-size: .55rem; font-weight: 1000; }
.substitution-badge.in { color: #080808; background: var(--green); }
.auto-sub-out { opacity: .68; }
.lineup-events { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 20px 0; }
.lineup-event { margin: 0; padding: 7px 10px; border-left: 4px solid #686259; background: #eee8de; font-size: .76rem; }
.lineup-event.in { border-color: var(--success); }
.lineup-event.out { border-color: var(--danger); }
.lineup-event.captain { border-color: var(--green-dark); }
.bench-empty { align-self: center; color: var(--muted); font-size: .8rem; }
.points-dialog { width: min(520px, calc(100% - 24px)); max-height: min(820px, calc(100vh - 24px)); padding: 0; overflow-y: auto; border: 1px solid var(--line); color: var(--ink); background: var(--surface); box-shadow: var(--shadow); }
.points-dialog::backdrop { background: rgba(8, 8, 8, .7); }
.points-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px; color: #fff; background: #080808; }
.points-dialog-header h3 { margin: 3px 0; font-size: 1.45rem; }
.points-dialog-header small { color: #d8cdbb; }
.dialog-close { width: 36px; height: 36px; padding: 0; border: 1px solid #927f62; color: #fff; background: transparent; box-shadow: none; font-size: 1.4rem; cursor: pointer; }
.dialog-stat-section h4 { margin: 0; padding: 15px 22px 0; color: var(--green-dark); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.dialog-stat-section + .dialog-stat-section { border-top: 1px solid var(--line); }
.scoring-breakdown { padding: 12px 22px 18px; }
.scoring-breakdown-header, .scoring-breakdown-row { display: grid; grid-template-columns: minmax(0, 1fr) 74px 64px; gap: 12px; align-items: center; }
.scoring-breakdown-header { padding: 7px 0; color: var(--muted); border-bottom: 2px solid var(--ink); font-size: .65rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.scoring-breakdown-row { padding: 10px 0; border-bottom: 1px solid var(--line); }
.scoring-breakdown-header span:not(:first-child), .scoring-breakdown-row strong { text-align: right; }
.scoring-points { color: var(--green-dark); font-size: 1.05rem; }
.breakdown-list { padding: 12px 22px; }
.breakdown-list > div { display: flex; justify-content: space-between; gap: 20px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.breakdown-list p { color: var(--muted); }
.breakdown-total { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; padding: 1px; color: #fff; background: #30302f; }
.breakdown-total span { padding: 13px; text-align: center; font-size: .7rem; text-transform: uppercase; }
.breakdown-total strong { display: block; color: var(--green); font-size: 1.25rem; }
.points-dialog > .lineup-event { margin: 14px 22px 0; }
@media (max-width: 680px) {
    .points-pitch { min-height: 560px !important; }
    .points-lineup-player { width: min(84px, 19vw); }
    .points-pitch-card > .panel-heading .badge { display: none; }
    .breakdown-total { grid-template-columns: 1fr; }
}
