.tournament-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tournament-card{align-self:start}
.tournament-card .card-header{gap:16px}
.tournament-card .card-header h2{font-size:15px}
.tournament-card-body{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;color:var(--muted);font-size:11px}
.tournament-detail{overflow:hidden}
.tournament-detail>.card-header{gap:16px}
.enroll-form,.close-registration{display:flex;align-items:end;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}
.enroll-form label,.close-registration label{display:grid;gap:7px;flex:1;font-size:11px;font-weight:600;color:#52645b}
.enroll-form select,.close-registration select{width:100%;min-height:39px;border:1px solid #dfe7e2;border-radius:7px;background:white;padding:9px 11px;color:var(--ink)}
.participant-list{padding:4px 22px}
.participant-row{display:flex;align-items:center;gap:14px;min-height:58px;border-bottom:1px solid #eff2f0}
.participant-row:last-child{border-bottom:0}
.participant-row>.rank{width:22px;color:#9ba79f;font-size:11px}
.participant-row>.row-actions{margin-left:auto}
.participant-row [data-direction="1"] .icon{transform:rotate(90deg)}
.participant-row [data-direction="-1"] .icon{transform:rotate(-90deg)}
.close-registration{border-top:1px solid var(--line);border-bottom:0}
.close-registration .field-help{font-weight:400}
.tournament-note{padding:15px 22px;border-top:1px solid var(--line);background:#f8faf9;color:var(--muted);font-size:11px}
.rules-card{margin-bottom:20px}
.bracket-card{margin-top:22px}
.bracket-grid{display:grid;grid-auto-columns:minmax(190px,1fr);grid-auto-flow:column;gap:18px;overflow-x:auto;padding:20px}
.bracket-round h3{margin:0 0 14px;color:var(--muted);font-size:11px;font-weight:600}
.bracket-match{margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.bracket-match>div{padding:10px 12px;font-size:11px;border-bottom:1px solid #eff2f0}
.bracket-match>div:last-of-type{border-bottom:0}
.bracket-match .match-winner{color:var(--green);font-weight:700;background:#f3f9f5}
.bracket-match>small{display:block;padding:7px 12px;background:#f8faf9;color:var(--muted);font-size:9px}
.match-incidents{padding:5px 10px;border-top:1px solid var(--line);background:#fffaf0}
.match-incidents>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;color:#75613b;font-size:9px}
.match-incidents .row-actions{gap:2px}
.match-incidents .icon-button{width:26px;height:26px}
.match-action{margin:8px 10px 10px;min-height:32px;padding:6px 9px;font-size:10px}
.match-result-body{max-height:min(72vh,780px);overflow-y:auto}
.score-period{min-width:0;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:8px}
.score-period legend{padding:0 6px;font-size:12px;font-weight:700;color:var(--ink)}
.match-detail-score{display:block;margin:12px 0;font-size:26px;text-align:center;color:var(--ink)}
.match-goal-list{display:grid;gap:8px;padding-left:22px;color:var(--muted);font-size:11px}
.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.score-grid label,.field{display:grid;gap:7px;font-size:11px;font-weight:600;color:#52645b}
.score-grid input,.scorer-row input,.penalty-kick select,.field input,.field select{width:100%;min-height:38px;border:1px solid #dfe7e2;border-radius:7px;background:#fff;padding:8px 10px;color:var(--ink)}
.own-goal-grid{margin-top:12px}
.scorer-fields{margin:20px 0}
.scorer-fields h3{font-size:13px}
.scorer-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #eff2f0;font-size:11px}
.scorer-row span{display:grid;gap:3px}
.scorer-row small{color:var(--muted);font-size:10px}
.scorer-row input{max-width:90px}
.goal-minute-events,.own-goal-events{display:grid;gap:6px;margin-top:6px}
.goal-minute-events label,.own-goal-events label{display:grid;grid-template-columns:1fr minmax(70px,90px);align-items:center;gap:6px;color:var(--muted);font-size:9px;font-weight:500}
.own-goal-events label{grid-template-columns:minmax(90px,1fr) minmax(65px,80px)}
.goal-minute-events input,.own-goal-events input,.own-goal-events select{width:100%;min-height:32px;border:1px solid #dfe7e2;border-radius:7px;background:#fff;padding:6px 8px;color:var(--ink)}
.penalty-fields{background:#fbfcfb}
.penalty-kick{display:grid;grid-template-columns:1fr minmax(120px,180px);align-items:center;gap:12px;padding:6px 0;font-size:11px}
.field-help{color:var(--muted);font-size:10px;font-weight:400}
.penalty-fields>.field{margin:12px 0}
.photo-fields{min-width:0;display:grid;gap:8px;flex:1}
.photo-clear{justify-self:start;min-height:32px;padding:6px 10px;font-size:10px}
@media(max-width:720px){.tournament-grid{grid-template-columns:1fr}.tournament-card-body{align-items:flex-start;flex-direction:column}.enroll-form,.close-registration{align-items:stretch;flex-direction:column;padding:16px}.participant-list{padding-inline:16px}.participant-row{gap:8px}.participant-row>.row-actions{gap:0}.page-heading:has(+.tournament-detail){align-items:flex-start;flex-wrap:wrap}}
