:root{--sidebar:0px}body{margin:0}.bp-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px max(20px,calc((100vw - 1180px)/2));background:#1d292d;color:#fff}.bp-brand{display:flex;align-items:center;gap:14px;font-weight:750;letter-spacing:.09em}.bp-brand small{display:block;color:#a9b9af;font-size:10px;margin-top:3px}.bp-top .brand-mark{width:36px;height:42px;font-size:28px}.bp-main{max-width:1180px;margin:auto;padding:32px 20px 60px}.bp-main .page-head h1{font-size:30px}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.setup-roster{display:grid;gap:12px;margin-top:18px}.setup-player{display:grid;grid-template-columns:1fr 140px;gap:10px}.setup-player input,.setup-player select{min-width:0;width:100%;font-size:14px;padding:10px;border:1px solid var(--line);border-radius:8px;background:white}.bp-main .field{font-size:13px}.bp-main .field input,.bp-main .field select{font-size:15px}.bp-main .form-card{margin-bottom:20px}.bp-main .btn{font-size:13px}.bp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0}.side-switch{display:flex;gap:10px;flex-wrap:wrap}.side-switch button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.bp-main .room-body{padding:28px}.bp-main .room-flow{justify-content:space-between}.bp-main .room-description,.bp-main .notice{font-size:14px}.bp-main .player-tile strong{font-size:13px}.bp-main .map-name strong{font-size:15px}.bp-main .round-label{font-size:12px}.bp-note{font-size:12px;color:var(--muted);margin:14px 0}.history-card{margin-top:24px;padding:24px}.history-card summary{cursor:pointer;font-weight:700;font-size:16px}.history-card article{border-top:1px solid var(--line);padding:20px 0}.evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.evidence-grid img{width:100%;height:140px;object-fit:contain;background:#f3f5ef;border-radius:8px}.evidence-grid figcaption{font-size:11px}.proof-preview{display:block;width:100%;max-width:160px;height:90px;object-fit:contain;margin-top:8px}.bp-main .upload-box{flex-wrap:wrap}.bp-main .upload-box input{max-width:100%}.bp-main .modal .player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bp-main .shared-decisions .note{font-size:12px}.bp-main .shared-decisions dd{font-size:14px}.bp-main .field-grid{margin:18px 0}.bp-main .result-half{min-width:0}.reset-btn{margin-left:auto}.finished{text-align:center;padding:45px 22px}.finished h2{font-size:28px;margin:20px 0}.bp-main button:focus-visible,.bp-main a:focus-visible{outline:3px solid #d5754b;outline-offset:3px}.bp-main .modal-backdrop{z-index:110}.bp-main .maps-grid{margin:20px 0}.bp-main .initial-lineup-grid{margin-top:18px}.bp-main .ready-team small{display:block}.bp-main .result-half .upload-row{grid-template-columns:1fr 1fr}figure{margin:0}.error-panel{color:#a94332;background:#fff0ec;border:1px solid #e7b9aa;padding:16px;border-radius:12px;margin:15px 0}.bp-footer{margin-top:22px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
@media(max-width:700px){.setup-grid{grid-template-columns:1fr}.bp-main{padding:24px 14px 40px}.bp-main .room-body{padding:18px}.bp-main .page-head h1{font-size:24px}.bp-main .room-flow{overflow:auto;justify-content:flex-start}.side-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}.side-switch button{white-space:normal}.bp-main .player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.evidence-grid{grid-template-columns:1fr 1fr}.setup-player{grid-template-columns:1fr 120px}.bp-main .result-half .upload-row{grid-template-columns:1fr}.bp-main .score-team>strong{font-size:13px}.bp-main .team-score-editor{gap:8px}.bp-main .room-description,.bp-main .notice{font-size:12px}.bp-main .map-name strong{font-size:12px}.bp-main .room-flow span{white-space:nowrap}.bp-toolbar{margin-top:12px}.bp-main .btn{font-size:12px}.bp-main .modal .player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.login-card{max-width:540px;margin:30px auto}.login-card .field{margin:18px 0}.password-row{display:flex;gap:8px}.password-row input{min-width:0;flex:1}.matches-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.match-card{padding:24px}.match-card h3{font-size:19px;margin:16px 0}.match-card .btn{margin-top:14px}.section-title{font-size:20px;margin:30px 0 18px}.team-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-top:1px solid var(--line)}.team-row small{display:block;color:var(--muted);margin-top:5px}.member-input-row{display:grid;grid-template-columns:1fr 1fr 140px;gap:10px;margin:12px 0}.member-input-row input,.member-input-row select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px;background:white}.online-room-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.online-chat{position:sticky;top:18px;padding:18px}.online-chat header{margin-bottom:12px}.online-chat h2,.support-panel h2{font-size:18px}.online-chat .badge{margin-top:8px}#chat-log{height:420px;overflow-y:auto;overscroll-behavior:contain;padding:6px 2px;overflow-wrap:anywhere}.chat-message{background:#f4f6f1;border-radius:10px;padding:12px;margin:10px 0;font-size:12px}.chat-message small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.chat-message p{white-space:pre-wrap;margin-top:8px}.staff-message{background:#fff1d9;border-left:3px solid #bd8f45}.online-chat form{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:14px}.online-chat textarea{width:100%;resize:vertical;max-height:160px;min-height:70px;border:1px solid var(--line);border-radius:8px;padding:10px}.support-panel{margin-top:22px}.ticket{padding:18px 0;border-top:1px solid var(--line)}.ticket p{margin:12px 0}.ticket details{margin-top:16px}.resolution{padding:15px;background:#eef5ec;border-radius:8px;white-space:pre-wrap}.form-status{color:#a94332;font-size:13px;margin-top:14px}.online-room-columns .maps-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.online-room-columns .room-body{padding:22px}.online-room-columns .room-flow{gap:10px;overflow:auto}.online-room-columns .page-head h1{font-size:25px}.online-room-columns .player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.online-room-columns .evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.online-room-columns .room-description{font-size:13px}.online-room-columns .room-flow span{white-space:nowrap}.online-room-columns .room-flow .icon{display:none}.proof-block{margin:14px 0}.ticket details p{white-space:pre-wrap}.bp-main summary{cursor:pointer}
@media(max-width:950px){.online-room-columns{grid-template-columns:1fr}.online-chat{position:static}#chat-log{height:280px}.online-room-columns .player-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){.matches-grid{grid-template-columns:1fr}.member-input-row{grid-template-columns:1fr 1fr}.member-input-row select{grid-column:1/-1}.team-row{align-items:flex-start;flex-direction:column}.online-room-columns .player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.online-room-columns .room-body{padding:16px}.match-card{padding:18px}.bp-toolbar h1{font-size:24px}.support-panel .card-title{flex-wrap:wrap}.bp-main .table-wrap{overflow:auto}.ticket .button-row{flex-wrap:wrap}}

.round-timer-panel{padding:20px 24px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.round-timer-panel h2{font-size:18px;margin-top:5px}.round-timer-controls{text-align:right;flex-shrink:0}#round-clock{font-size:36px;font-variant-numeric:tabular-nums}.test-fill-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;margin-bottom:14px;border:1px dashed #b9c5b4;border-radius:12px;background:#f4f7ed}.test-fill-bar small{color:#627466}.round-timer-controls .button-row{margin-top:8px}@media(max-width:650px){.round-timer-panel{align-items:flex-start;flex-direction:column}.round-timer-controls{text-align:left}#round-clock{font-size:32px}}

/* Staff management stays in the existing BP application. */
.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}.admin-search{max-width:520px;margin:20px 0}.schedule-row,.record-row{display:flex;align-items:center;gap:18px;padding:16px 20px;border-bottom:1px solid var(--border,#dce3db)}.schedule-row:last-child,.record-row:last-child{border-bottom:0}.schedule-row>div:first-child,.record-main{flex:1;min-width:0}.schedule-row h3,.record-row h3{font-size:16px;line-height:1.5;margin:5px 0}.schedule-row p,.record-row p{margin:4px 0;font-size:12px}.compact-records{display:block;background:white;border:1px solid #dce3db;border-radius:14px;overflow:hidden}.record-winner{display:grid;gap:6px;max-width:220px}.record-winner small{font-size:12px}.credential-table small{display:block;margin-top:5px;color:#738080;font-size:12px}.credential-table td:last-child{white-space:nowrap}.credential-value{display:inline-block;min-width:9ch;margin-right:14px}.next-match{border-top:3px solid #387c64}.window-notice{margin:12px 0 20px}.schedule-list{margin-top:20px}.next-label{display:block;color:#397c64;font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:12px}
@media(max-width:700px){.record-row,.schedule-row{flex-wrap:wrap;padding:14px}.record-main,.schedule-row>div:first-child{flex-basis:100%}.record-winner{flex:1}.admin-nav .btn{flex:1 1 40%;justify-content:center}.schedule-row .button-row{width:100%}.credential-table{min-width:570px}}

.staff-compact{padding-top:18px}.staff-compact .bp-toolbar{margin:8px 0 12px}.staff-compact .bp-toolbar h1{font-size:26px}.staff-compact .admin-nav{margin:12px 0}.staff-compact>.bp-note{margin:8px 0 14px}.staff-compact .section-title{font-size:18px;margin:20px 0 10px}.staff-prep{padding:12px 16px}.staff-prep summary{font-size:13px;font-weight:700}.staff-prep .card-title{margin:12px 0 4px}.staff-prep .bp-note{margin:8px 0 0}.staff-matches{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.staff-match-row{display:flex;align-items:center;gap:16px;padding:11px 16px;border-bottom:1px solid var(--line)}.staff-match-row:last-child{border:0}.staff-match-info{flex:1;min-width:0}.staff-match-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.staff-match-row h3{font-size:14px;line-height:1.4;margin:4px 0;overflow-wrap:anywhere}.staff-match-row .bp-note{font-size:11px;margin:3px 0 0}.staff-compact .active-pagination{justify-content:flex-end;font-size:12px;margin-top:10px}.staff-compact .record-row{padding:10px 16px}.staff-compact .record-row h3{font-size:14px}.staff-compact .record-row p{font-size:11px}.staff-compact .schedule-row{padding:12px 0}.staff-compact .schedule-row h3{font-size:14px}
@media(max-width:600px){.staff-match-row{padding:10px 12px;gap:9px}.staff-match-row h3{font-size:13px}.staff-match-row .btn{padding:7px 8px;font-size:11px;white-space:normal;max-width:76px}.staff-compact .bp-toolbar h1{font-size:22px}.staff-match-meta{gap:6px}.staff-match-meta>span:first-child{font-size:9px}.staff-compact .record-row{padding:10px 12px}}

.system-time{font-variant-numeric:tabular-nums}.team-plan-list{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.team-plan-row{display:grid;grid-template-columns:1.1fr 1fr auto;gap:14px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);font-size:13px}.team-plan-row:last-child{border:0}.team-plan-row p{margin:4px 0 0;font-size:11px}.team-plan-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.team-plan-row>div{min-width:0;overflow-wrap:anywhere}@media(max-width:650px){.team-plan-row{grid-template-columns:1fr auto;gap:10px}.team-plan-row>div:first-child{grid-column:1/-1}.team-plan-row>.bp-note{font-size:10px;max-width:110px}}

.lineup-changes{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:13px;background:#f7f9f5}.lineup-changes p{margin:5px 0}.swap-out,.swap-in{display:inline-block;min-width:34px;font-size:11px;font-weight:750}.swap-out{color:#a15a42}.swap-in{color:var(--green)}.lineup-count{font-weight:650;font-size:13px}.initial-lineup-grid .player-tile[aria-disabled=true]:not(.selected){opacity:.45;cursor:not-allowed}
/* Shared tournament calendar and compact, connected knockout bracket. */
.tournament-overview{padding:24px;margin:24px 0}.calendar-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:22px 0}.calendar-strip>div{border-left:3px solid #397b62;padding:4px 12px;display:grid;gap:4px}.calendar-strip span,.calendar-strip small{font-size:11px;color:#6c7b7b}.calendar-strip strong{font-size:19px}.knockout-calendar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #dce3da;padding-top:18px;gap:16px}.knockout-calendar>div{display:grid;gap:6px}.knockout-calendar strong{font-size:18px;color:#37795f}.knockout-calendar small{font-size:11px;color:#6c7b7b}.tournament-bracket{margin-top:32px}.tournament-bracket h2{margin:4px 0 10px}.bracket-scroll{overflow:auto;padding:4px 2px 20px;max-width:100%}.bracket-grid{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:26px;min-width:1050px}.bracket-column>header,.bronze-bracket>header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 2px;border-bottom:2px solid #397b62;margin-bottom:12px;font-size:14px}.bracket-column header span{font-size:12px;color:#76847d}.bracket-cards{display:grid;gap:12px}.ko-match{position:relative;background:#fff;border:1px solid #dae3db;border-radius:12px;padding:12px;min-width:0}.ko-match.is-own{border:2px solid #397b62}.bracket-meta{display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:10px;letter-spacing:.05em;color:#6b7a77;margin-bottom:10px}.bracket-meta .badge{font-size:10px;padding:4px 6px}.bracket-team{display:flex;gap:8px;align-items:center;padding:7px 0;font-size:13px;line-height:1.4;min-height:40px;border-top:1px solid #eef1ed}.bracket-team>span:nth-child(2){overflow-wrap:anywhere;flex:1}.seed-label{flex:none;font-size:10px;color:#849087;min-width:14px}.is-winner{font-weight:700;color:#2c765b}.winner-mark{color:#2c765b}.bracket-time{font-size:10px;color:#6d7d75;margin:8px 0;line-height:1.5}.bracket-actions{display:flex;flex-wrap:wrap;gap:5px}.bracket-actions .btn{font-size:10px;padding:6px 9px;min-height:30px}.bracket-column:not(.stage-final) .ko-match::after{content:'';position:absolute;left:100%;width:27px;top:50%;border-top:1px solid #b7cbbb}.bronze-bracket{grid-row:7 / span 2;align-self:start}.seed-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.seed-confirm{display:flex;align-items:flex-start;gap:10px;font-size:13px;margin:20px 0}.knockout-wait{padding:28px;margin-bottom:18px}.knockout-wait h2{margin:10px 0}.knockout-wait .btn{margin-top:12px}.bracket-link{margin:12px 0}.tournament-bracket .notice{font-size:13px;padding:14px 18px}@media(max-width:700px){.calendar-strip{grid-template-columns:repeat(3,1fr);gap:16px 5px}.knockout-calendar{grid-template-columns:repeat(2,1fr)}.tournament-overview{padding:18px}.seed-input-grid{grid-template-columns:1fr}.bracket-grid{gap:20px}.ko-match{padding:10px}.tournament-bracket .card-title{flex-wrap:wrap}.tournament-bracket .card-title>.btn{width:100%}}

.bracket-grid{--ko-row:200px;--ko-gap:26px;gap:var(--ko-gap)}.staff-compact .bracket-grid{--ko-row:230px}.bracket-column{display:grid;grid-template-rows:48px repeat(8,var(--ko-row));min-width:0}.bracket-column>header{grid-row:1;margin:0}.bracket-cards{display:contents}.bracket-cards>.ko-match{align-self:center;grid-column:1}.stage-r16 .ko-match:nth-child(1){grid-row:2}.stage-r16 .ko-match:nth-child(2){grid-row:3}.stage-r16 .ko-match:nth-child(3){grid-row:4}.stage-r16 .ko-match:nth-child(4){grid-row:5}.stage-r16 .ko-match:nth-child(5){grid-row:6}.stage-r16 .ko-match:nth-child(6){grid-row:7}.stage-r16 .ko-match:nth-child(7){grid-row:8}.stage-r16 .ko-match:nth-child(8){grid-row:9}.stage-qf .ko-match:nth-child(1){grid-row:2 / span 2}.stage-qf .ko-match:nth-child(2){grid-row:4 / span 2}.stage-qf .ko-match:nth-child(3){grid-row:6 / span 2}.stage-qf .ko-match:nth-child(4){grid-row:8 / span 2}.stage-sf .ko-match:nth-child(1){grid-row:2 / span 4}.stage-sf .ko-match:nth-child(2){grid-row:6 / span 4}.stage-final>.bracket-cards>.ko-match{grid-row:2 / span 8}.bracket-column:not(.stage-final) .ko-match::after{width:calc(var(--ko-gap)/2);height:calc(var(--ko-row)/2);border-right:1px solid #b7cbbb}.stage-qf .ko-match::after{height:var(--ko-row)!important}.stage-sf .ko-match::after{height:calc(var(--ko-row)*2)!important}.bracket-column:not(.stage-final) .ko-match:nth-child(even)::after{top:auto;bottom:50%;border-top:0;border-bottom:1px solid #b7cbbb}.bracket-column:not(.stage-r16)>.bracket-cards>.ko-match::before{content:'';position:absolute;right:100%;top:50%;width:calc(var(--ko-gap)/2 + 1px);border-top:1px solid #b7cbbb}.ko-match .bracket-team{font-size:13px}.ko-match .bracket-team.is-winner{color:#2c765b}.bracket-actions:empty{display:none}
.bracket-column{grid-template-columns:minmax(0,1fr)}.bracket-column>header,.bronze-bracket{grid-column:1}

.start-guidance{display:grid;gap:20px;margin:24px 0}.start-guidance h3{font-size:1.05rem;margin:0 0 8px}.start-guidance p{margin:0;line-height:1.85}.start-guidance ol{margin:0;padding-left:1.5em;line-height:1.85}.start-guidance li+li{margin-top:6px}.start-period{margin-top:20px}.staff-adjudication{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.staff-adjudication h3{margin:8px 0}.staff-adjudication .bp-note{margin:0}.staff-adjudication .btn{flex-shrink:0}label[hidden]{display:none!important}@media(max-width:650px){.staff-adjudication{align-items:stretch;flex-direction:column}}

.checkin-panel{padding:24px;margin:24px 0}.checkin-panel h2{font-size:1.3rem;margin:0}.checkin-times p{margin:8px 0}.checkin-teams{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.checkin-teams>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid var(--line,#dce2dc);border-radius:12px;padding:14px}.checkin-teams strong{flex:1;min-width:160px}.checkin-teams small{width:100%;color:#737f82}.checkin-missed{border-color:#d88267}@media(max-width:650px){.checkin-teams{grid-template-columns:1fr}}

/* Global notices must cover the embedded lineup dialog (z-index:110). */
#modal-root{position:relative;z-index:1000}#modal-root>.modal-backdrop{z-index:1000}#modal-root .error-panel{color:#a94332;white-space:pre-line}

.private-support-entry{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}.private-support-entry h2{font-size:1.1rem;margin:0}.private-support-entry .bp-note{margin:8px 0}.private-support-entry>.btn{flex-shrink:0}.private-support-channel{padding:24px;max-width:900px;margin:0 auto}.private-support-channel header{display:flex;justify-content:space-between;align-items:center;gap:16px}.private-support-channel h2{margin:8px 0}.private-support-channel .card-title{flex-wrap:wrap;gap:12px}#private-log{height:42vh;min-height:240px;overflow-y:auto;padding:12px;border:1px solid #dce2dc;border-radius:12px;margin:16px 0;overflow-wrap:anywhere}.private-support-channel .chat-message p{white-space:pre-wrap}.private-support-channel .support-system{background:#f2f5f1;font-size:.9rem}.private-support-row{padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #dce2dc}.private-support-row h3{margin:8px 0;font-size:1.05rem}.private-support-row p{margin:4px 0}.private-support-row .btn{flex-shrink:0}.support-snippet{white-space:pre-wrap;overflow-wrap:anywhere}.private-support-channel textarea{resize:vertical}.error-text{color:#a94332}@media(max-width:650px){.private-support-entry,.private-support-channel header,.private-support-row{align-items:stretch;flex-direction:column}.private-support-channel{padding:16px}.private-support-row .btn{align-self:flex-start}}

.chat-image-composer{margin:10px 0}.chat-image-composer>small{display:block;color:#737f82;margin:7px 0}.chat-image-add{position:relative;overflow:hidden;display:inline-flex}.chat-image-add input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.chat-image-drafts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chat-image-draft{margin:0;padding:10px;border:1px solid #dce2dc;border-radius:10px;min-width:0}.chat-image-draft img{width:100%;height:100px;object-fit:contain;border-radius:6px}.chat-image-draft figcaption{overflow-wrap:anywhere;font-size:12px}.chat-image-draft small{display:block;margin:6px 0}.chat-image-draft .btn{padding:6px 10px;font-size:12px}.chat-message-image img{display:block;max-width:100%;max-height:300px;object-fit:contain;border-radius:8px;margin-top:10px}.chat-message-image a{display:inline-block}.chat-message p{white-space:pre-wrap}
