.full-double-bracket { min-width: 0; color: #192c28; }
body.role-screen .screen-tournament-layout:has(.screen-single-round) { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: 10px; }
body.role-screen .screen-tournament-layout:has(.screen-single-round) .screen-tournament-header { padding: 8px 16px; }
body.role-screen .screen-tournament-layout:has(.screen-single-round) .screen-tournament-header h2 { font-size: clamp(20px, 2.3vw, 34px); margin: 0; }
body.role-screen .screen-tournament-layout:has(.screen-single-round) .screen-tournament-header span { font-size: 14px; margin-top: 4px; }
body.role-screen .screen-tournament-layout:has(.screen-single-round) .screen-tournament-header > strong { min-height: 48px; font-size: 24px; }
.screen-single-round { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-height: 0; gap: 10px; }
.screen-single-round .screen-current-panel { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 10px; }
.screen-single-round .screen-current-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(0, 1fr); min-height: 0; }
.screen-single-round .screen-current-match { min-height: 0; padding: 12px; overflow: hidden; display: flex; flex-direction: column; justify-content: center; }
.screen-single-round .screen-current-match strong { font-size: clamp(18px, 1.8vw, 28px); overflow-wrap: anywhere; }
.screen-single-round .screen-current-match span { font-size: clamp(16px, 1.4vw, 24px); margin-top: 8px; }
.screen-single-round .screen-progress-panel { padding: 8px 12px; }
.screen-single-round .screen-progress-panel p { color: #bdd8ca; font-size: 16px; margin: 5px 0 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.screen-single-round .screen-bracket-nav { flex-wrap: wrap; align-items: center; }
.screen-single-round .screen-bracket-nav span { font-size: 13px; color: #bdd8ca; margin-left: auto; }
.bracket-key { font-size: 13px; color: #526e63; }
.full-bracket-section { margin: 16px 0; }
.full-bracket-section > h3 { margin: 0 0 10px; border-left: 4px solid #36af83; padding-left: 10px; }
.full-bracket-columns { display: flex; align-items: stretch; gap: 18px; overflow-x: auto; padding: 4px 4px 16px; }
.full-bracket-round { min-width: 204px; flex: 1 0 204px; display: flex; flex-direction: column; gap: 10px; }
.full-bracket-round h4 { margin: 0 0 4px; font-size: 14px; }
.full-bracket-match { position: relative; border: 1px solid #c4d9cf; border-radius: 6px; background: #f7fbf9; margin: auto 0; overflow: hidden; }
.full-bracket-match header { padding: 6px 8px; background: #e5f0eb; color: #405e51; font-size: 11px; }
.full-bracket-match > div { padding: 5px 8px; font-size: 13px; overflow-wrap: anywhere; border-top: 1px solid #e1eae5; }
.full-bracket-match b { color: #769586; margin-right: 6px; }
.full-bracket-match .winner { color: #087042; font-weight: 700; background: #daf3e5; }
.full-bracket-match footer { padding: 5px 8px; color: #93640d; font-size: 12px; }
.full-bracket-match.waiting { border-style: dashed; }
body.role-screen .screen-tournament-layout:has(.screen-double-complete) { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); min-height: 0; }
.screen-double-complete { min-width: 0; min-height: 0; overflow: auto; padding-right: 6px; }
.screen-double-complete .screen-podium { margin: 0 0 14px; min-height: 0; height: auto; align-items: stretch; gap: 10px; }
.screen-double-complete .screen-podium > div { min-height: 0; height: auto; padding: 10px 14px; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 16px; }
.screen-double-complete .screen-podium span { font-size: 16px; margin: 0; }
.screen-double-complete .screen-podium strong { font-size: 20px; margin: 0; }
.screen-double-complete .full-double-bracket { color: #edf8f2; }
.screen-double-complete .bracket-key { color: #b9cec4; }
.screen-double-complete .full-bracket-match { color: #17332a; }
@media (max-width: 700px) { .full-bracket-round { min-width: 185px; flex-basis: 185px; } }

.entry-summary { margin-left: 12px; font-size: 13px; font-weight: 400; color: #526e63; }
.entry-fee-list { max-height: 280px; overflow: auto; margin-top: 12px; border-top: 1px solid #dbe6df; }
body.role-screen .screen-tournament-layout:has(.screen-double-complete) { gap: 10px; }
body.role-screen .screen-tournament-layout:has(.screen-double-complete) .screen-tournament-header { padding: 10px 16px; }
body.role-screen .screen-tournament-layout:has(.screen-double-complete) .screen-tournament-header h2 { font-size: clamp(20px, 2vw, 32px); margin: 0; }
body.role-screen .screen-tournament-layout:has(.screen-double-complete) .screen-tournament-header span { font-size: 13px; margin-top: 4px; }
body.role-screen .screen-tournament-layout:has(.screen-double-complete) .screen-tournament-header > strong { min-height: 48px; min-width: 80px; font-size: 24px; }
.screen-double-complete { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; gap: 8px; overflow: hidden; padding: 0; }
.screen-double-complete .screen-podium { margin: 0; }
.screen-double-complete .screen-podium > div { padding: 7px 12px; }
.screen-double-complete .screen-podium strong { font-size: clamp(15px, 1.4vw, 23px); }
.screen-bracket-nav { display: flex; gap: 8px; }
.screen-bracket-nav button { padding: 7px 12px; border: 1px solid #426052; background: #25352e; color: #dae9e2; font-size: 14px; border-radius: 6px; cursor: pointer; }
.screen-bracket-nav button.active { background: #a6e6c7; color: #10291c; border-color: #a6e6c7; font-weight: 700; }
.screen-bracket-nav .rotation-toggle { margin-left: auto; }
.screen-bracket-page, .screen-bracket-page .full-double-bracket, .screen-bracket-page .full-bracket-section { min-height: 0; height: 100%; margin: 0; }
.screen-bracket-page .bracket-key, .screen-bracket-page .full-bracket-section > h3 { display: none; }
.screen-bracket-page .full-bracket-columns { display: flex; gap: 24px; height: 100%; overflow: hidden; padding: 0; }
.screen-bracket-page .full-bracket-round { flex: 1 1 0; min-width: 0; min-height: 0; gap: 4px; }
.screen-bracket-page .full-bracket-round h4 { color: #bdd8ca; font-size: clamp(13px, 1.2vw, 19px); margin: 0 0 3px; }
.screen-bracket-page .full-bracket-match { flex: 0 1 auto; min-height: 0; width: 100%; border-radius: 5px; overflow: hidden; background: #1d3028; color: #edf8f2; border-color: #587565; }
.screen-bracket-page .full-bracket-match header { padding: 2px 7px; font-size: clamp(10px, 1vw, 15px); line-height: 1.15; color: #a8cabb; background: #273e33; }
.screen-bracket-page .full-bracket-match > div { padding: 1px 7px; font-size: clamp(13px, 1.2vw, 20px); line-height: 1.15; border-color: #3a5145; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.screen-bracket-page .full-bracket-match .winner { color: #d3ffe6; background: #235a3e; }
.screen-bracket-page .full-bracket-match footer { color: #ffd480; }
.screen-bracket-footer { display: flex; justify-content: space-between; padding-right: 180px; color: #a7c2b3; font-size: 12px; }
.screen-bracket-page { position: relative; }
.bracket-connections { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.bracket-connections path { fill: none; stroke: #799d88; stroke-width: 1.5; }
.bracket-connections .loser-path { stroke: #b79c64; stroke-dasharray: 4 3; }
body.role-screen .screen-view:has(.screen-double-complete) { display: flex; flex-direction: column; gap: 8px; }
body.role-screen .screen-view:has(.screen-double-complete) .screen-tournament-layout { flex: 1; height: auto; margin: 0; }
body.role-screen .screen-view:has(.screen-double-complete) .screen-hero { flex-shrink: 0; padding: 8px 14px; height: 64px; }
body.role-screen .screen-view:has(.screen-double-complete) .screen-brand > img { width: 70px; height: 46px; }
body.role-screen .screen-view:has(.screen-double-complete) .screen-hero h2 { font-size: 24px; margin: 0; }
body.role-screen .screen-view:has(.screen-double-complete) .screen-hero span { font-size: 12px; }
body.role-screen .screen-view:has(.screen-double-complete) .screen-clock { font-size: 32px; }
@media (max-height: 800px) {
  body.role-screen .screen-view:has(.screen-double-complete) { padding: 10px; gap: 6px; }
  body.role-screen .screen-view:has(.screen-double-complete) .screen-hero { height: 42px; padding: 4px 10px; }
  body.role-screen .screen-view:has(.screen-double-complete) .screen-brand > img { height: 32px; width: 48px; }
  body.role-screen .screen-view:has(.screen-double-complete) .screen-hero h2 { font-size: 18px; }
  body.role-screen .screen-view:has(.screen-double-complete) .screen-hero span { display: none; }
  body.role-screen .screen-view:has(.screen-double-complete) .screen-clock { font-size: 24px; }
  body.role-screen .screen-tournament-layout:has(.screen-double-complete) .screen-tournament-header { padding: 5px 10px; }
  body.role-screen .screen-tournament-layout:has(.screen-double-complete) .screen-tournament-header span { display: none; }
  body.role-screen .screen-tournament-layout:has(.screen-double-complete) .screen-tournament-header > strong { min-height: 32px; font-size: 20px; }
  .screen-double-complete .screen-podium > div { padding: 4px 10px; }
  .screen-bracket-nav button { padding: 4px 10px; }
  .screen-bracket-page .full-bracket-match header { font-size: 10px; }
  .screen-bracket-page .full-bracket-match > div { font-size: 14px; }
  .screen-bracket-page .full-bracket-round h4 { font-size: 13px; }
}

.tournament-reward-dialog{width:min(1100px,94vw);max-height:90vh;overflow:auto;background:#f8faf9;color:#192c26;border:0;border-radius:16px;padding:24px}.tournament-reward-dialog::backdrop{background:#0009}.reward-rule-row{display:grid;grid-template-columns:70px 70px 130px 130px 130px minmax(150px,1fr) 90px;gap:8px;border-bottom:1px solid #ccc;padding:12px 0}.reward-rule-row label{font-size:13px;display:block}.reward-rule-row input{width:100%;box-sizing:border-box;padding:9px;border:1px solid #aaa;border-radius:6px;color:#152b23;background:#fff}.tournament-reward-dialog small{display:block;color:#5a6e62;margin-top:4px}@media(max-width:760px){.reward-rule-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
