:root{color:#202124;font-synthesis:none;--red:#e63137;--red-dark:#c9232a;--ink:#202124;--muted:#70757a;--line:#e3e5e8;--surface:#fff;background:#f6f7f8;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}.inline-icon-actions{align-items:center;gap:4px;display:flex}.career-heading{align-items:center;gap:14px;display:flex}.career-heading h3,.career-heading p{margin:0}.career-heading p{color:var(--muted);margin-top:3px}.career-avatar{color:#1967a8;background:#e7f1ff;border-radius:50%;place-items:center;width:52px;height:52px;font-weight:800;display:grid}.career-metrics{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.career-metrics>div{border-right:1px solid var(--line);padding:16px}.career-metrics>div:last-child{border-right:0}.career-metrics span,.career-events span{color:var(--muted);font-size:12px;display:block}.career-metrics strong{margin-top:4px;font-size:22px;display:block}.career-events{border:1px solid var(--line);border-radius:8px;overflow:hidden}.career-events article{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding:14px 16px;display:flex}.career-events article:last-child{border-bottom:0}.career-events article>div:last-child{text-align:right}@media (width<=720px){.career-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.career-metrics>div{border-bottom:1px solid var(--line)}.career-events article{display:block}.career-events article>div:last-child{text-align:left;margin-top:8px}}*{box-sizing:border-box}html,body,#root{max-width:100%;overflow-x:hidden}body{background:#f6f7f8;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh}.sidebar{z-index:30;border-right:1px solid var(--line);background:#fff;flex-direction:column;width:236px;padding:20px 14px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand-block{border-bottom:1px solid var(--line);height:50px;color:inherit;align-items:center;gap:5px;padding:0 10px 14px;text-decoration:none;display:flex}.brand-block img{object-fit:contain;width:120px;height:44px}.brand-block span{color:#777;padding-top:11px;font-size:12px;font-weight:700}.brand-block:hover img{transform:translateY(-1px)}.brand-block img{transition:transform .15s}.approval-toggle{border:1px solid var(--line);min-height:38px;color:var(--muted);cursor:pointer;border-radius:6px;align-items:center;gap:9px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.approval-toggle input{opacity:0;pointer-events:none;position:absolute}.approval-toggle i{background:#c7cbd0;border-radius:10px;width:36px;height:20px;transition:background .15s;position:relative}.approval-toggle i:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}.approval-toggle input:checked+i{background:#22a76f}.approval-toggle input:checked+i:after{transform:translate(16px)}.pending-account{font-weight:700;color:#b7791f!important}.internal-label{vertical-align:middle;color:#805b00;background:#fff2cc;border-radius:4px;margin-left:8px;padding:3px 6px;font-size:9px;font-weight:800;display:inline-flex}.auth-create-account{margin-top:5px}.google-auth-button{width:100%;height:42px;margin-bottom:2px}.google-auth-mark{color:#4285f4;background:#fff;border:1px solid #dadce0;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:inline-grid}.auth-method-divider{color:var(--muted);text-transform:uppercase;align-items:center;gap:10px;margin:14px 0;font-size:9px;font-weight:700;display:flex}.auth-method-divider:before,.auth-method-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-method-divider span{white-space:nowrap}.sidebar-nav{gap:5px;padding:20px 0;display:grid}.nav-button{color:#61656a;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;height:42px;padding:0 12px;font-weight:600;text-decoration:none;display:flex}.nav-button:hover{color:#26282b;background:#f5f6f7}.nav-button.active{color:var(--red-dark);background:#fff0f0}.sidebar-footer{border-top:1px solid var(--line);grid-template-columns:36px 1fr 30px;align-items:center;gap:9px;margin-top:auto;padding:15px 4px 0;display:grid}.sidebar-footer strong,.sidebar-footer span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.sidebar-footer strong{font-size:12px}.sidebar-footer span{color:var(--muted);margin-top:2px;font-size:11px}.avatar,.mini-avatar{color:#2361a9;background:#e9f2ff;border-radius:50%;place-items:center;font-weight:700;display:grid}.avatar{width:36px;height:36px;font-size:12px}.main-area{min-height:100vh;margin-left:236px}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:70px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-title span{color:var(--muted);font-size:11px;font-weight:600;display:block}.topbar-title>strong{padding-top:3px;font-size:14px;display:block}.topbar-title button{color:var(--ink);background:0 0;border:0;align-items:center;gap:4px;padding:3px 0 0;font-size:14px;font-weight:700;display:flex}.topbar-tournament-select{align-items:center;display:flex;position:relative}.topbar-tournament-select select{appearance:none;width:min(420px,34vw);height:28px;color:var(--ink);text-overflow:ellipsis;background:0 0;border:0;padding:0 24px 0 0;font-size:14px;font-weight:700}.topbar-tournament-select svg{pointer-events:none;position:absolute;right:2px}.topbar-actions{align-items:center;gap:8px;display:flex}.icon-button{color:#656970;background:0 0;border:0;border-radius:6px;place-items:center;width:36px;height:36px;padding:0;display:inline-grid}.icon-button:hover{color:#222;background:#f1f2f3}.icon-button.compact{width:30px;height:30px}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.button.primary{color:#fff;background:var(--red);border-color:var(--red)}.button.primary:hover{background:var(--red-dark)}.button.secondary{color:#42464b;background:#fff;border-color:#d8dadd}.button.secondary:hover{background:#f7f8f8}.content{max-width:1560px;margin:0 auto;padding:26px 28px 46px}.event-heading{min-width:0;display:block}.event-heading>div:first-child{min-width:0}.eyebrow{color:#596068;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:5px;font-size:11px;font-weight:700;display:flex}.status-dot{background:#26a269;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #daf4e7}.status-dot.completed{background:#73777c;box-shadow:0 0 0 3px #e3e5e7}.completed-button:disabled{opacity:1;color:#5f6368;background:#eceeef;border-color:#d5d8db}h1,h2,h3,h4,p{margin-top:0}.event-heading h1,.page-title h1{margin-bottom:8px;font-size:25px;line-height:1.2}.event-heading p,.page-title p{color:var(--muted);margin-bottom:0;font-size:13px}.event-heading p{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.event-heading p span,.tournament-row p span,.public-meta span{background:#adb1b5;border-radius:50%;width:3px;height:3px;margin:0 5px}.event-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin-top:18px;display:flex}.event-actions .button{max-width:100%}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 18px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:13px;min-height:90px;padding:17px;display:flex}.timer-stat>div:nth-child(2){flex:1;min-width:0}.stat-icon{border-radius:6px;flex:none;place-items:center;width:39px;height:39px;display:grid}.stat-icon.red{color:#c72e34;background:#ffe8e8}.stat-icon.blue{color:#1769aa;background:#e4f2ff}.stat-icon.yellow{color:#8a6510;background:#fff4c7}.stat-icon.green{color:#16754c;background:#dff4e9}.stat div:last-child{min-width:0;display:block}.stat span{color:var(--muted);font-size:11px;font-weight:600;display:block}.stat strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:20px;display:block;overflow:hidden}.stat small{color:#888d91;white-space:nowrap;margin-top:1px;font-size:10px;display:block}.round-strip{border:1px solid var(--line);background:#fff;border-radius:7px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 15px;min-height:58px;margin-bottom:18px;padding:8px 10px;display:flex}.round-tabs{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.round-tabs button{color:#686d72;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;min-width:104px;height:40px;padding:0 10px;font-size:12px;font-weight:700;display:flex}.round-tabs button:hover:not(:disabled){background:#f3f4f5}.round-tabs button.active{color:#b9272d;background:#fff0f0}.round-tabs button:disabled{color:#b1b4b7}.round-tabs button span{border:1px solid #d7d9dc;border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;display:grid}.round-tabs button.active span{color:#fff;background:var(--red);border-color:var(--red)}.round-strip-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.round-history-controls{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.round-history-controls .button{white-space:nowrap;min-height:34px;padding:0 9px;font-size:10px}.preference-badge{color:#58616a;white-space:nowrap;background:#f2f4f5;border-radius:4px;padding:6px 9px;font-size:10px;font-weight:700}.preference-badge>svg{vertical-align:-3px;color:#24704e;margin-right:4px}.preference-badge.sync-pending{color:#805f10;background:#fff4c7}.preference-badge.sync-pending>svg{color:#9a7314}.round-safety{background:#f3fbf7;border:1px solid #cfe6d9;border-radius:7px;justify-content:space-between;align-items:center;gap:18px;min-height:62px;margin:-6px 0 18px;padding:11px 14px;display:flex}.round-safety.attention{background:#fffaf0;border-color:#ead99c}.round-safety>div:first-child{color:#176c48;align-items:center;gap:10px;display:flex}.round-safety.attention>div:first-child{color:#8a6510}.round-safety strong,.round-safety span{display:block}.round-safety strong{font-size:12px}.round-safety span{color:#70767c;margin-top:2px;font-size:10px}.round-safety-items{justify-content:flex-end;align-items:center;gap:16px;display:flex}.round-safety-items span{white-space:nowrap;margin:0}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.tables-section{min-width:0}.section-head{justify-content:space-between;align-items:flex-start;gap:10px;min-height:43px;display:flex}.section-head h2{margin-bottom:3px;font-size:16px}.section-head p{color:var(--muted);margin-bottom:0;font-size:11px}.section-head>span{color:var(--muted);padding-top:2px;font-size:11px;font-weight:600}.table-grid{grid-template-columns:repeat(2,minmax(320px,1fr));gap:12px;display:grid}.score-table{background:#fff;border:1px solid #dfe1e4;border-radius:7px;overflow:hidden}.score-table.complete{border-color:#b9dfcc}.score-table header{border-bottom:1px solid var(--line);background:#fafafb;align-items:center;gap:10px;height:45px;padding:0 12px;display:flex}.score-table.complete header{background:#f3fbf7}.score-table header>div{align-items:baseline;gap:6px;display:flex}.score-table header div span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:600}.score-table header div strong{font-size:19px}.table-size,.saved{align-items:center;gap:4px;font-size:10px;font-weight:600;display:inline-flex}.table-size{color:#777d82}.saved{color:#177249;margin-left:auto}.score-players{padding:4px 12px}.score-player{border-bottom:1px solid #eef0f1;grid-template-columns:25px minmax(0,1fr) 68px 35px 84px;align-items:center;gap:8px;min-height:48px;display:grid}.score-player:last-child{border-bottom:0}.score-player.withdrawn{color:#8a8e92;background:#f1f2f3;margin:0 -12px;padding:0 12px}.score-player.withdrawn .player-name strong{color:#7b7f83;text-decoration:line-through}.score-player.withdrawn input{color:#9a9da0;background:#e5e7e9}.participation-toggle{color:#a6262c;white-space:nowrap;background:#fff;border:1px solid #edc4c6;border-radius:5px;justify-content:center;align-items:center;gap:4px;min-height:30px;padding:0 7px;font-size:9px;font-weight:700;display:inline-flex}.participation-toggle:hover{background:#fff2f2}.participation-toggle.restore{color:#176f49;border-color:#aad7c1}.participation-toggle.restore:hover{background:#eef9f3}.participation-toggle:disabled{opacity:.45}.seat{color:#656b71;background:#f0f2f3;border-radius:4px;place-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:grid}.player-name{min-width:0}.player-name strong,.player-name small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.player-name strong{font-size:12px}.player-name small{color:#8b8f93;margin-top:2px;font-size:9px}.player-name-line{align-items:center;gap:4px;min-width:0;display:flex}.player-name-line>strong{flex:1;min-width:0}.repeat-meeting-hint .info-hint-trigger{color:#a52a2f;background:#fff2f2;border-color:#e5a8ab;width:20px;height:20px}.repeat-meeting-hint .info-hint-trigger:hover,.repeat-meeting-hint .info-hint-trigger:focus-visible,.repeat-meeting-hint.open .info-hint-trigger{color:#fff;background:#b82b32;border-color:#b82b32}.discipline-button{color:#666c71;white-space:nowrap;background:#fff;border:1px solid #d7dade;border-radius:5px;justify-content:center;align-items:center;gap:5px;min-height:28px;padding:0 7px;font-size:9px;font-weight:700;display:inline-flex}.discipline-button.compact{flex:none;width:25px;height:27px;min-height:0;padding:0}.discipline-card-mark{background:#fff;border:1px solid #8e9499;border-radius:2px;width:9px;height:13px;display:inline-block;box-shadow:0 1px 1px #0001}.discipline-button.cards-1{color:#6d5500;background:#fff9df;border-color:#e0c24f}.discipline-button.cards-1 .discipline-card-mark,.discipline-options .yellow .discipline-card-mark{background:#f0c52f;border-color:#c39d15}.discipline-button.cards-2{color:#a2252c;background:#fff0f1;border-color:#e4a6a9}.discipline-button.cards-2 .discipline-card-mark,.discipline-options .red .discipline-card-mark{background:#d83239;border-color:#b62329}.discipline-button:disabled{cursor:not-allowed;opacity:.5}.score-player input{text-align:center;background:#fff;border:1px solid #d6d9dc;border-radius:5px;width:68px;height:32px;padding:0 8px;font-weight:700}.score-player input:focus{border-color:var(--red);outline:2px solid #f5b9bc}.big-points{color:#2c3034;text-align:center;font-size:13px;font-weight:700}.big-points.preview-points{color:#176f49;background:#e1f4ea;border-radius:4px;min-width:28px;padding:5px 4px}.big-points small{color:#92969a;font-size:7px;display:block}.save-table{color:#555b61;border:0;border-top:1px solid var(--line);background:#fff;justify-content:center;align-items:center;gap:6px;width:100%;height:35px;font-size:11px;font-weight:700;display:flex}.save-table:hover{color:var(--red-dark);background:snow}.ranking-panel{border:1px solid var(--line);background:#fff;border-radius:7px;padding:15px}.ranking-list{margin:6px -4px 8px}.ranking-row{border-bottom:1px solid #eef0f1;grid-template-columns:24px 30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:50px;padding:6px 4px;display:grid}.ranking-row:last-child{border-bottom:0}.ranking-row.withdrawn{opacity:.48}.ranking-row.withdrawn>div:nth-child(3) strong{text-decoration:line-through}.rank-number{color:#80858a;text-align:center;font-size:11px;font-weight:700}.ranking-row.podium .rank-number{color:#b27606}.mini-avatar{width:30px;height:30px;font-size:9px}.ranking-row>div:nth-child(3){min-width:0}.ranking-row strong,.ranking-row span{display:block}.ranking-row>div:nth-child(3) strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ranking-row>div:nth-child(3) span{color:#92969a;margin-top:2px;font-size:9px}.rank-score{text-align:right}.rank-score strong{font-size:14px}.rank-score span{color:#8b8f93;margin-top:2px;font-size:8px}.text-button{color:#a6262c;background:#fff6f6;border:0;border-radius:5px;justify-content:center;align-items:center;gap:6px;width:100%;height:36px;font-size:10px;font-weight:700;display:flex}.tournament-participants{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.participant-status-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.participant-status-list>div{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:8px 9px 8px 12px;display:flex}.participant-status-list>div>div{min-width:0}.participant-status-list .participant-actions{flex:none;align-items:center;gap:5px;display:flex}.participant-status-list strong,.participant-status-list span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.participant-status-list strong{font-size:11px}.participant-status-list span{color:#18764d;text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:700}.participant-status-list .withdrawn{color:#777b7f;background:#f1f2f3}.participant-status-list .withdrawn strong{text-decoration:line-through}.participant-status-list .withdrawn span{color:#777b7f}.participant-status-list .button{min-height:32px;padding:0 9px;font-size:10px}.registration-player-with-card{justify-content:space-between;align-items:center;gap:8px;min-width:170px;display:flex}.registration-player-with-card>div{min-width:0}.category-badge{color:#27648b;text-transform:uppercase;background:#e8f3fb;border-radius:3px;width:fit-content;margin-top:3px;padding:2px 5px;font-size:8px;font-weight:800;display:block}.category-badge.senior{color:#73550b;background:#fff3ca}.restore-button{color:#176f49;background:#fff;border-color:#aad7c1}.restore-button:hover{background:#eef9f3}.page-section{max-width:1200px;margin:0 auto}.page-section.narrow{max-width:900px}.page-title{justify-content:space-between;align-items:flex-end;gap:20px;min-height:72px;margin-bottom:22px;display:flex}.page-title-actions{align-items:center;gap:8px;display:flex}.tournament-edit-notice{color:#245b43;background:#eef8f2;border:1px solid #bfe0cc;border-radius:7px;align-items:flex-start;gap:10px;margin:-8px 0 18px;padding:12px 14px;display:flex}.tournament-edit-notice>.info-hint{flex:none}.tournament-edit-notice div{gap:3px;display:grid}.tournament-edit-notice strong{font-size:12px}.tournament-edit-notice span{color:#4f6b5e;font-size:11px;line-height:1.45}.tournament-lifecycle-controls{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:minmax(260px,1fr) minmax(210px,280px) minmax(250px,320px);align-items:center;gap:18px;margin-bottom:18px;padding:16px 18px;display:grid}.tournament-lifecycle-controls h2{margin:3px 0 4px;font-size:15px}.tournament-lifecycle-controls p{color:var(--muted);margin:0;font-size:10px}.tournament-lifecycle-controls>label{color:#656a6f;gap:6px;font-size:10px;font-weight:700;display:grid}.tournament-lifecycle-controls select{width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #d5d8db;border-radius:5px;padding:0 10px;font-size:11px;font-weight:700}.tournament-lifecycle-controls .lifecycle-registration-switch{border-left:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:48px;padding-left:18px;display:flex}.lifecycle-registration-switch>span:first-child{gap:3px;display:grid}.lifecycle-registration-switch strong{color:var(--ink);font-size:11px}.lifecycle-registration-switch small{color:var(--muted);font-size:9px;font-weight:500}.overview-actions{align-items:center;gap:8px;display:flex}.event-timeline{gap:9px;margin-top:24px;display:grid}.event-timeline>h2{color:#555b60;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 3px;font-size:12px;display:flex}.event-timeline>h2 span{color:#72777c;background:#e9ebed;border-radius:11px;place-items:center;min-width:22px;height:22px;font-size:9px;display:inline-grid}.past-events{border-top:1px solid var(--line);padding-top:24px}.internal-events{border-top:1px dashed #cfd5dc;padding-top:24px}.internal-events>h2{color:#1b6ea8}.internal-events>h2 span{color:#1b6ea8;background:#e5f2fb}.overview-event-row{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:38px 52px minmax(0,1fr) auto 34px;align-items:center;gap:12px;min-height:78px;padding:11px 14px;display:grid}.overview-event-row h3{margin:2px 0 5px;font-size:13px}.overview-event-row p{color:var(--muted);align-items:center;margin:0;font-size:10px;display:flex}.overview-event-row p span{background:#adb1b5;border-radius:50%;width:3px;height:3px;margin:0 5px}.archive-row{grid-template-columns:38px 52px minmax(0,1fr) auto minmax(220px,auto)}.archive-actions{justify-content:flex-end;gap:8px;display:flex}.archive-actions .button{white-space:nowrap;min-height:36px;padding:0 10px;font-size:11px}.event-kind-icon{color:#ae252c;background:#fff0f0;border-radius:5px;place-items:center;width:34px;height:34px;display:grid}.event-kind-icon.league{color:#266795;background:#edf6fc}.event-kind-label{color:#7a7f84;text-transform:uppercase;font-size:8px;font-weight:800}.open-event-arrow{transform:rotate(180deg)}.data-toolbar{border:1px solid var(--line);color:#62676c;background:#fff;border-bottom:0;border-radius:7px 7px 0 0;align-items:center;gap:24px;height:50px;padding:0 16px;font-size:12px;font-weight:600;display:flex}.data-toolbar span{align-items:center;gap:7px;display:flex}.view-selector{border:1px solid var(--line);background:#fff;border-radius:7px;margin-bottom:14px;padding:14px 16px}.view-selector label{color:var(--muted);grid-template-columns:90px minmax(220px,520px);align-items:center;gap:12px;font-size:11px;font-weight:700;display:grid}.view-selector select,.selection-empty select{width:100%;height:40px;color:var(--ink);background:#fff;border:1px solid #d4d7da;border-radius:5px;padding:0 11px}.selection-empty select{max-width:460px;margin-top:12px}.ranking-title{border-bottom:1px solid var(--line);padding-bottom:18px}.data-table-wrap{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;overflow-x:auto}.data-toolbar+.data-table-wrap{border-radius:0 0 7px 7px}.registrations-table{min-width:980px}.waitlisted-row{color:#74797e;background:#f7f8f9}.waitlisted-row strong{color:#676c71}.compact-list-button{min-height:30px;padding:0 9px;font-size:10px}.consent-checklist{gap:4px;min-width:116px;display:grid}.consent-checklist label{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:9px;display:flex}.consent-checklist input,.mini-consents input{accent-color:#25a46d;pointer-events:none;width:14px;height:14px;margin:0}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{color:#73787d;border-bottom:1px solid var(--line);text-align:left;text-transform:uppercase;background:#f8f9fa;height:42px;padding:0 14px;font-size:10px}.data-table td{white-space:nowrap;border-bottom:1px solid #eceeef;min-height:49px;padding:11px 14px}.data-table tr:last-child td{border-bottom:0}.data-table td small{color:var(--muted);margin-top:3px;display:block}.player-name-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.player-name-actions>div{min-width:0}.player-name-actions>span{flex:none;gap:2px;display:flex}.switch-label{align-items:center;gap:7px;font-size:11px;font-weight:600;display:inline-flex}.switch-label input{opacity:0;pointer-events:none;position:absolute}.switch-label>span{background:#c7cacf;border-radius:9px;width:26px;height:16px;padding:2px;display:block}.switch-label>span:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .2s;display:block}.switch-label input:checked+span{background:#27a269}.switch-label input:checked+span:after{transform:translate(10px)}.ranking-table th:not(:nth-child(2)),.ranking-table td:not(:nth-child(2)){text-align:center}.place{color:#62676b;background:#f0f1f2;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:700;display:inline-grid}.place-1{color:#7c5908;background:#ffe7a2}.place-2{color:#5d6870;background:#e7eaec}.place-3{color:#835128;background:#f2d1b4}.tournament-list{gap:10px;display:grid}.tournament-row{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:76px;padding:12px 14px;display:grid}.tournament-main{min-width:0;color:inherit;text-align:left;background:0 0;border:0;padding:5px 0}.tournament-main:hover h3{color:var(--red-dark)}.date-tile{text-align:center;background:#fff2f2;border-radius:5px;place-content:center;width:48px;height:48px;display:grid}.date-tile strong{color:#bd272d;font-size:18px}.date-tile span{color:#7e3c3f;text-transform:uppercase;font-size:9px}.tournament-row h3{margin-bottom:5px;font-size:13px}.tournament-row p{color:var(--muted);align-items:center;margin:0;font-size:10px;display:flex}.status-pill{color:#685b28;background:#fff4c8;border-radius:4px;padding:6px 8px;font-size:9px;font-weight:700}.status-pill.live{color:#167049;background:#dff4e9}.tournament-actions{gap:3px;display:flex;position:relative}.tournament-menu{z-index:15;background:#fff;border:1px solid #dfe1e4;border-radius:6px;width:170px;padding:5px;position:absolute;top:38px;right:0;box-shadow:0 10px 28px #0002}.tournament-menu button{color:#3f4449;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;width:100%;height:36px;padding:0 9px;font-size:11px;font-weight:600;display:flex}.tournament-menu button:hover{background:#f3f4f5}.tournament-menu button.danger{color:#c3282f}.tournament-menu button.danger:hover{background:#fff0f0}.publication-check{align-items:flex-start}.publication-check span{gap:3px;display:grid}.publication-check small{color:var(--muted);font-size:10px;font-weight:500;line-height:1.4}.admin-heading-actions{align-items:center;gap:8px;display:flex}.auth-reset{justify-content:center}.moderator-section{border:1px solid var(--line);background:#fff;border-radius:7px;margin:24px 0;padding:18px}.moderator-form{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;padding:14px 0;display:grid}.moderator-form label{color:#555b60;gap:6px;font-size:10px;font-weight:700;display:grid}.moderator-form input{border:1px solid #d4d7da;border-radius:5px;height:38px;padding:0 10px}.moderator-form .form-error{grid-column:1/-1}.moderator-list>span{color:var(--muted);font-size:11px}.moderator-list>div{border-top:1px solid #eceeef;justify-content:space-between;align-items:center;min-height:46px;display:flex}.moderator-list small{color:var(--muted);margin-top:3px;display:block}.assign-moderator{gap:8px;margin:12px 0;display:flex}.assign-moderator select{background:#fff;border:1px solid #d4d7da;border-radius:5px;min-width:280px;height:38px;padding:0 10px}.moderator-stats{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:repeat(3,1fr);margin-bottom:18px;display:grid}.moderator-stats>div{border-right:1px solid var(--line);grid-template-columns:30px 1fr auto;align-items:center;gap:8px;min-height:72px;padding:14px 18px;display:grid}.moderator-stats>div:last-child{border-right:0}.moderator-stats svg{color:#a6282e}.moderator-stats span{color:var(--muted);font-size:10px;font-weight:700}.moderator-stats strong{font-size:22px}.moderator-control-layout{grid-template-columns:310px minmax(0,1fr);align-items:start;gap:16px;display:grid}.moderator-account-list{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.moderator-account-list>button{width:100%;min-height:76px;color:var(--ink);border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:11px 13px;display:grid}.moderator-account-list>button:last-child{border-bottom:0}.moderator-account-list>button:hover{background:#fafafa}.moderator-account-list>button.active{background:#fff3f3;box-shadow:inset 3px 0 #c92d34}.moderator-avatar{color:#a2262d;background:#ffe4e5;border-radius:5px;place-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:grid}.moderator-account-list strong,.moderator-account-list small,.moderator-account-list em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.moderator-account-list strong{font-size:11px}.moderator-account-list small{color:var(--muted);margin-top:3px;font-size:9px}.moderator-account-list em{color:#858a8f;margin-top:4px;font-size:8px;font-style:normal}.moderator-account-detail{border:1px solid var(--line);background:#fff;border-radius:7px;padding:18px}.moderator-detail-head{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:16px;display:grid}.moderator-profile-icon{color:#17684a;background:#e4f5ec;border-radius:6px;place-items:center;width:42px;height:42px;display:grid}.moderator-detail-head span{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:800}.moderator-detail-head h2{margin:3px 0;font-size:18px}.moderator-detail-head p{color:var(--muted);align-items:center;gap:5px;margin:0;font-size:10px;display:flex}.moderator-detail-actions{justify-content:flex-end;gap:7px;display:flex}.moderator-detail-actions .button{height:36px;padding:0 10px;font-size:9px}.moderator-login-info{align-items:center;gap:10px;min-height:62px;padding:12px 0;display:flex}.moderator-login-info>svg{color:#72777c}.moderator-login-info span,.moderator-login-info strong{display:block}.moderator-login-info span{color:var(--muted);font-size:9px}.moderator-login-info strong{margin-top:3px;font-size:11px}.moderator-assignments{border-top:1px solid var(--line);margin-top:8px}.moderator-assignments .section-head{min-height:58px;margin:0}.moderator-assignments h3{align-items:center;gap:7px;margin:0;font-size:13px;display:flex}.moderator-assignments .section-head>strong{color:#5e6469;background:#eef0f1;border-radius:4px;place-items:center;min-width:25px;height:25px;font-size:10px;display:grid}.moderator-assignment-row{border-top:1px solid #eceeef;grid-template-columns:minmax(180px,1fr) auto 78px;align-items:center;gap:10px;min-height:58px;padding:9px 0;display:grid}.moderator-assignment-row>div>strong,.moderator-assignment-row>div>span{display:block}.moderator-assignment-row>div>strong{font-size:11px}.moderator-assignment-row>div>span{color:var(--muted);align-items:center;gap:4px;margin-top:4px;font-size:9px;display:flex}.moderator-assignment-row .button{height:32px;padding:0 10px}.moderator-assignment-empty{min-height:52px;color:var(--muted);border-top:1px solid #eceeef;align-items:center;font-size:10px;display:flex}.moderator-error .button{margin-top:8px}.delete-account-content{padding:18px}.delete-account-content>p{color:var(--muted);margin:16px 0;font-size:11px;line-height:1.6}.administrator-list{gap:12px;display:grid}.administrator-list article{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:52px minmax(220px,1fr) minmax(170px,auto) auto;align-items:center;gap:16px;min-height:112px;padding:20px;display:grid}.administrator-list article.superadministrator{border-left:3px solid #1d8a61}.administrator-icon{color:#17684a;background:#e4f5ec;border-radius:6px;place-items:center;width:48px;height:48px;display:grid}.administrator-list article>div:nth-child(2)>span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.administrator-list h2{margin:4px 0;font-size:18px}.administrator-list p{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.administrator-created{min-width:160px;color:var(--muted);grid-template-columns:18px 1fr;gap:2px 7px;display:grid}.administrator-created svg{grid-row:1/3;align-self:center}.administrator-created span{text-transform:uppercase;font-size:8px}.administrator-created strong{color:var(--ink);font-size:10px}.administrator-meta{gap:10px;display:grid}.administrator-actions{gap:7px;display:flex}.administrator-actions .button{height:36px;padding:0 10px;font-size:9px}.password-account{background:#f5f6f7;border-radius:5px;align-items:center;gap:9px;padding:11px;display:flex}.password-account strong,.password-account span{display:block}.password-account strong{font-size:11px}.password-account span{color:var(--muted);margin-top:2px;font-size:9px}@media (width<=760px){.moderator-form{grid-template-columns:1fr}}@media (width<=600px){.home-link span{display:none}.rules-summary{grid-template-columns:1fr}.rules-thresholds>div{grid-template-columns:80px 1fr}.rules-thresholds>div span:last-child{grid-column:2}}@media (width<=380px){.public-header{padding-left:10px;padding-right:10px}.public-header img{width:82px}.public-header-actions{gap:3px}.public-header-actions .button,.public-header-actions .public-register-button{width:34px;padding:0;font-size:0}}@media (width<=760px){.round-summary-tables{grid-template-columns:1fr}.final-actions{flex-wrap:wrap}}.settings-block{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;min-height:95px;padding:20px 0;display:flex}.settings-block h2{margin-bottom:5px;font-size:14px}.settings-block p{max-width:520px;color:var(--muted);margin-bottom:0;font-size:11px}.settings-block select{background:#fff;border:1px solid #d5d8db;border-radius:5px;min-width:235px;height:38px;padding:0 10px;font-size:12px}.settings-footer{justify-content:flex-end;padding-top:20px;display:flex}.fixed-setting{color:#176c48;white-space:nowrap;background:#e4f5ec;border-radius:5px;align-items:center;gap:6px;padding:7px 9px;font-size:10px;font-weight:700;display:inline-flex}.segmented{background:#eceeef;border-radius:6px;padding:3px;display:flex}.segmented button{color:#686d72;white-space:nowrap;background:0 0;border:0;border-radius:4px;height:31px;padding:0 11px;font-size:10px;font-weight:700}.segmented button.active{color:#25282b;background:#fff;box-shadow:0 1px 3px #00000018}.toggle input{opacity:0;position:absolute}.toggle span{background:#c6c9cc;border-radius:12px;width:38px;height:22px;padding:3px;display:block}.toggle span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;display:block}.toggle input:checked+span{background:#25a169}.toggle input:checked+span:after{transform:translate(16px)}.modal-backdrop{z-index:100;background:#15171a99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(100%, var(--modal-width));background:#fff;border-radius:8px;max-height:calc(100vh - 40px);overflow:hidden auto;box-shadow:0 22px 60px #0004}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:flex}.modal-head h2{margin:0;font-size:17px}.form-stack{gap:16px;padding:20px;display:grid}.form-stack label,.form-stack legend{color:#555b60;gap:6px;font-size:11px;font-weight:700;display:grid}.form-stack input,.form-stack select{color:#202124;background:#fff;border:1px solid #d4d7da;border-radius:5px;width:100%;height:40px;padding:0 11px}.form-stack textarea{resize:vertical;color:#202124;width:100%;min-height:220px;font:inherit;background:#fff;border:1px solid #d4d7da;border-radius:5px;padding:11px;line-height:1.55}.form-stack textarea.compact-textarea{min-height:86px}.form-hint{color:var(--muted);margin:-8px 0 0;font-size:10px}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:var(--red);outline:2px solid #f5b9bc}.returning-player-search{background:#fff;border:1px solid #d4d7da;border-radius:5px;align-items:center;gap:8px;height:40px;padding:0 10px;display:flex}.returning-player-search:focus-within{border-color:var(--red);outline:2px solid #f5b9bc}.returning-player-search svg{color:var(--muted);flex:none}.form-stack .returning-player-search input{border:0;outline:0;height:36px;padding:0}.form-stack .returning-player-list{height:min(280px,38vh);padding:4px}.returning-player-list option{border-radius:3px;padding:9px 8px}.data-empty.compact{min-height:90px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-stack fieldset{border:0;margin:0;padding:0}.form-stack fieldset .segmented{width:fit-content;margin-top:7px}.database-note{color:#725a16;background:#fff7d8;border-radius:5px;align-items:center;gap:7px;min-height:32px;padding:0 10px;font-size:10px;font-weight:700;display:flex}.database-note span{background:#d4a61c;border-radius:50%;width:7px;height:7px}.database-note.connected{color:#176c48;background:#e4f6ed}.database-note.connected span{background:#28a46b}.database-note.warning-note{color:#725a16;align-items:flex-start;min-height:48px;padding:9px 11px;line-height:1.45}.database-note.warning-note svg{flex:none;margin-top:1px}.database-note.warning-note span{background:0 0;border-radius:0;width:auto;height:auto;display:block}.discipline-form fieldset{border:0;padding:0}.discipline-form legend{color:#555b60;margin-bottom:7px;font-size:11px;font-weight:700}.discipline-options{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.discipline-options button{color:#555b60;background:#fff;border:1px solid #d5d8db;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:7px;font-size:10px;font-weight:700;display:flex}.discipline-options button.selected{border-color:#2871a7;box-shadow:0 0 0 2px #2871a725}.discipline-options button.yellow{color:#6d5500;background:#fff9df}.discipline-options button.red{color:#a2252c;background:#fff0f1}.form-stack .check-label{grid-template-columns:18px 1fr;align-items:center;font-weight:500}.form-stack .check-label input{width:16px;height:16px}.modal-actions{border-top:1px solid var(--line);background:#fafafa;justify-content:flex-end;gap:8px;margin:5px -20px -20px;padding:15px 20px;display:flex}.modal-copy{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.history-list{padding:8px 20px 20px;display:grid}.history-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:66px;display:flex}.history-list strong,.history-list span{display:block}.history-list strong{font-size:12px}.history-list span{color:var(--muted);margin-top:3px;font-size:10px}.history-list .button{flex:none}.round-check-panel{text-align:center;padding:26px 22px 20px}.round-check-icon{color:#8a6510;background:#fff4c7;border-radius:7px;place-items:center;width:52px;height:52px;margin:0 auto 12px;display:grid}.round-check-panel h3{margin-bottom:7px;font-size:18px}.round-check-panel>p{color:var(--muted);font-size:11px}.round-check-panel ul{text-align:left;gap:8px;max-width:420px;margin:18px auto;padding:0;list-style:none;display:grid}.round-check-panel li{color:#705616;background:#fff8df;border-radius:5px;padding:9px 11px;font-size:11px}.round-check-panel.ready .round-check-icon{color:#176b49;background:#e1f4ea}.round-check-summary{background:#f5f7f8;border-radius:5px;flex-wrap:wrap;justify-content:center;gap:8px;max-width:470px;margin:16px auto 0;padding:10px;display:flex}.round-check-summary span{color:#555c62;border:1px solid var(--line);background:#fff;border-radius:4px;padding:4px 7px;font-size:9px;font-weight:700}.round-check-panel .modal-actions{margin-top:22px}.confirm-content{align-items:flex-start;gap:13px;padding:22px 20px;display:flex}.confirm-content h3{margin-bottom:6px;font-size:14px}.confirm-content p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.confirm-icon{color:#c3282f;background:#fff0f0;border-radius:6px;flex:none;place-items:center;width:40px;height:40px;display:grid}.confirm-actions{margin:0}.button.danger-button{color:#fff;background:#c92c33;border-color:#c92c33}.button.danger-button:hover{background:#ad2229}.button.test-delete-button{color:#fff;background:#1769aa;border-color:#1769aa}.button.test-delete-button:hover{background:#125786}.data-empty{min-height:150px;color:var(--muted);text-align:center;background:#fff;border:1px dashed #d7dade;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:25px;font-size:12px;display:flex}.data-empty strong{color:var(--ink);font-size:13px}.data-empty span{font-size:11px}.admin-tournament-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin:14px 0 22px;display:flex}.admin-tournament-heading h1{margin:8px 0 7px;font-size:25px}.admin-tournament-heading p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.admin-tournament-heading p span{background:#aeb2b6;border-radius:50%;width:3px;height:3px;margin:0 4px}.detail-stats{grid-template-columns:repeat(3,1fr);gap:12px;max-width:900px;margin-bottom:25px;display:grid}.registration-section-head{margin-bottom:8px}.registration-actions{gap:8px;display:flex}.danger-icon{color:#c3282f}.button:disabled{cursor:not-allowed;opacity:.5}.final-standings{border:1px solid var(--line);background:#fff;border-radius:7px;margin-top:24px;padding:20px}.final-actions{gap:8px;display:flex}.organizer-report{border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(3,1fr);margin:14px 0;display:grid;overflow:hidden}.organizer-report>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:64px;padding:12px}.organizer-report>div:nth-child(3n){border-right:0}.organizer-report>div:nth-last-child(-n+3){border-bottom:0}.organizer-report span,.organizer-report strong{display:block}.organizer-report span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.organizer-report strong{margin-top:5px;font-size:11px}.final-winner{color:#8a6510;background:#fff7d8;border:1px solid #ead17d;border-radius:6px;align-items:center;gap:14px;min-height:105px;margin:14px 0;padding:18px;display:flex}.final-winner span,.final-winner small{color:#786b45;font-size:10px;display:block}.final-winner strong{color:var(--ink);margin:4px 0;font-size:22px;display:block}.category-leaders{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 14px;display:grid}.category-leaders>div{background:#edf7fd;border:1px solid #c4dfef;border-radius:6px;align-content:center;gap:3px;min-height:68px;padding:11px 12px;display:grid}.category-leaders>div.senior{background:#fff8df;border-color:#ead894}.category-leaders span{color:#39708f;text-transform:uppercase;font-size:8px;font-weight:800}.category-leaders .senior span{color:#856715}.category-leaders strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.category-leaders small{color:var(--muted);font-size:9px}.ranking-panel .category-leaders{grid-template-columns:1fr;margin:12px 0 0}.final-category-leaders{margin:0 0 14px}.public-category-leaders,.league-category-leaders{margin:14px 0}.final-list>div{border-top:1px solid #eceeef;grid-template-columns:38px minmax(160px,1fr) 90px 90px 38px;align-items:center;gap:10px;min-height:54px;font-size:11px;display:grid}.final-list small{color:var(--muted);margin-top:3px;display:block}.tournament-display{z-index:500;color:#202124;background:#f4f6f7;position:fixed;inset:0;overflow:auto}.tournament-display>header{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr auto 48px;align-items:center;gap:24px;min-height:92px;padding:16px 28px;display:grid}.tournament-display>header>div:first-child{align-items:center;gap:20px;font-size:22px;font-weight:800;display:flex}.tournament-display img{object-fit:contain;width:150px;height:58px}.display-clock{color:#af252c;font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:32px;font-weight:800;display:flex}.display-close{border:1px solid var(--line);background:#fff;border-radius:6px;place-items:center;width:44px;height:44px;display:grid}.tournament-display>main{grid-template-columns:minmax(0,1fr) 360px;gap:24px;padding:28px;display:grid}.tournament-display h1{font-size:32px}.tournament-display h2{font-size:24px}.display-tables{grid-template-columns:repeat(2,minmax(280px,1fr));gap:16px;display:grid}.display-tables article{border:1px solid var(--line);background:#fff;border-radius:7px;gap:8px;padding:18px;display:grid}.display-tables article>strong{color:#b5282e;margin-bottom:6px;font-size:20px}.display-tables article>span{border-top:1px solid #eceeef;padding-top:8px;font-size:17px;font-weight:700}.tournament-display aside{border:1px solid var(--line);background:#fff;border-radius:7px;padding:20px}.tournament-display aside>div{border-top:1px solid #eceeef;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;min-height:48px;display:grid}.tournament-display aside>div b{color:#b5282e}.tournament-display aside>div span{color:var(--muted);font-size:12px}.auth-page{background:#f4f6f7;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(100%,430px);padding:28px;box-shadow:0 15px 45px #20212412}.auth-logo-link{width:145px;height:58px;display:block}.auth-logo-link img{object-fit:contain;width:145px;height:58px;transition:transform .15s;display:block}.auth-logo-link:hover img{transform:translateY(-1px)}.auth-divider{background:var(--line);height:1px;margin:14px 0 22px}.auth-icon{color:#196b4a;background:#e2f4eb;border-radius:7px;place-items:center;width:46px;height:46px;margin:22px 0 16px;display:grid}.auth-panel h1{margin-bottom:8px;font-size:23px}.auth-panel>p{color:var(--muted);margin-bottom:20px;font-size:12px;line-height:1.6}.auth-form{gap:15px;display:grid}.auth-form label{color:#555b60;gap:7px;font-size:11px;font-weight:700;display:grid}.auth-form input{border:1px solid #d4d7da;border-radius:5px;width:100%;height:42px;padding:0 11px}.input-with-icon{position:relative}.input-with-icon svg{color:#858a8f;position:absolute;top:12px;left:11px}.input-with-icon input{padding-left:37px}.auth-form .button{width:100%;height:42px}.auth-success{color:#176c48;background:#e5f6ed;border-radius:6px;align-items:flex-start;gap:10px;padding:14px;display:flex}.auth-success strong,.auth-success span{display:block}.auth-success strong{margin-bottom:3px;font-size:12px}.auth-success span{font-size:10px;line-height:1.5}.auth-loading{color:var(--muted);text-align:center;padding:35px 0;font-size:12px}.form-error{color:#aa242b;background:#fff0f0;border-radius:5px;padding:9px 10px;font-size:10px;line-height:1.4}.back-link{color:#60666c;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:11px;font-weight:700;display:inline-flex}.back-link:hover{color:var(--red-dark)}.public-shell{background:#f6f7f8;min-height:100vh}.public-header{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:7px;height:72px;padding:0 max(24px,50vw - 590px);display:flex}.public-logo-link{flex:none;align-items:center;display:flex}.public-header img{object-fit:contain;width:128px;height:52px}.public-header>span{color:#777;padding-top:12px;font-size:11px;font-weight:700}.public-header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.public-register-short{display:none}.public-more-menu{display:none;position:relative}.public-more-menu summary{color:#555b60;cursor:pointer;background:#fff;border:1px solid #d5d8db;border-radius:5px;place-items:center;width:38px;height:38px;list-style:none;display:grid}.public-more-menu summary::-webkit-details-marker{display:none}.public-more-menu summary span{display:none}.public-more-menu[open] summary{color:var(--red-dark);background:#fff4f4;border-color:#e3aeb1}.public-more-menu>div{z-index:80;border:1px solid var(--line);background:#fff;border-radius:6px;gap:2px;width:220px;padding:6px;display:grid;position:absolute;top:44px;right:0;box-shadow:0 14px 30px #1113}.public-more-menu a,.public-more-menu button{color:#363a3d;min-height:40px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:9px;padding:0 10px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.public-more-menu a:hover,.public-more-menu button:hover{color:var(--red-dark);background:#fff1f1}.public-content,.public-detail{max-width:1180px;margin:0 auto;padding:32px 24px 55px}.public-intro{border-bottom:1px solid var(--line);align-items:center;min-height:104px;display:flex}.public-intro h1{margin-bottom:7px;font-size:28px}.public-intro p{color:var(--muted);margin:0;font-size:13px}.public-tournament-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.public-tournament-card{border:1px solid var(--line);background:#fff;border-radius:7px;flex-direction:column;min-height:220px;padding:20px;display:flex}.public-card-date{color:#a52a30;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.public-tournament-card h2{margin:23px 0 10px;font-size:18px;line-height:1.35}.public-tournament-card>p{color:var(--muted);align-items:flex-start;gap:6px;margin:0;font-size:11px;line-height:1.5;display:flex}.public-card-footer{border-top:1px solid #eceeef;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:20px;display:flex}.public-card-footer>span{color:#656b70;background:#eef0f1;border-radius:4px;padding:5px 7px;font-size:9px;font-weight:700}.public-card-footer>span.open{color:#176c48;background:#e2f4eb}.public-card-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.public-card-actions .button{white-space:nowrap;min-height:34px;padding:0 10px;font-size:10px}.public-card-register{color:#fff;background:#176fba;border-color:#176fba}.public-card-register:hover{color:#fff;background:#115c9d;border-color:#115c9d}.public-card-view{padding-inline:11px!important}.public-state{min-height:130px;color:var(--muted);background:#fff;border:1px dashed #d6d9dc;border-radius:7px;place-items:center;margin-top:22px;font-size:12px;display:grid}.public-state.error{color:#a4262c}.public-detail>.back-link{margin-bottom:24px}.public-detail-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:150px;display:flex}.registration-status{color:#656a70;text-transform:uppercase;background:#eceeef;border-radius:4px;padding:5px 7px;font-size:9px;font-weight:700;display:inline-block}.registration-status.open{color:#146c47;background:#e0f4e9}.public-detail-heading h1{max-width:740px;margin:12px 0 9px;font-size:30px;line-height:1.2}.public-detail-heading p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.public-detail-heading p span{background:#aeb2b6;border-radius:50%;width:3px;height:3px;margin:0 5px}.capacity-box{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:10px;min-width:150px;padding:13px;display:flex}.capacity-box svg{color:#236aa5}.capacity-box strong,.capacity-box span{display:block}.capacity-box strong{font-size:15px}.capacity-box span{color:var(--muted);margin-top:2px;font-size:9px}.public-detail-grid{grid-template-columns:minmax(0,1fr) 440px;align-items:start;gap:36px;margin-top:28px;display:grid}.public-detail-grid.single-column{grid-template-columns:minmax(0,1fr)}.event-information{padding:4px 0}.event-information h2,.public-registration h2,.registration-closed h2,.registration-success h2{font-size:16px}.public-player-list{border:1px solid var(--line);background:#fff;border-radius:7px;margin-top:24px}.public-player-list-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;padding:0 16px;display:flex}.public-player-list-head h2{margin:0;font-size:15px}.public-player-list-head span{color:#fff;background:#b82a31;border-radius:4px;place-items:center;min-width:26px;height:26px;padding:0 7px;font-size:11px;font-weight:700;display:grid}.public-player-list article{border-bottom:1px solid #eceeef;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:10px 16px;display:flex}.public-player-list article:last-child{border-bottom:0}.public-player-list article strong{font-size:12px}.public-player-list article span{color:var(--muted);text-align:right;font-size:11px}.public-list-empty,.public-list-error{color:var(--muted);margin:0;padding:18px 16px;font-size:11px}.public-list-error{color:#a4262c}.public-final-results{border:1px solid var(--line);background:#fff;border-radius:7px;margin:24px 0 4px;overflow:hidden}.public-final-heading{color:#a52a30;border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:70px;padding:14px 18px;display:flex}.public-final-heading span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.public-final-heading h2{color:var(--ink);margin:3px 0 0;font-size:18px}.public-final-list>article{border-bottom:1px solid #eceeef;grid-template-columns:32px minmax(150px,1fr) 90px 90px 90px;align-items:center;gap:10px;min-height:54px;padding:8px 16px;font-size:10px;display:grid}.public-final-list>article:last-child{border-bottom:0}.public-final-list>article>strong{font-size:16px}.public-final-list>article b,.public-final-list>article span{display:block}.public-final-list>article span{color:var(--muted);margin-top:2px}.public-final-list>article em{color:#85610f;align-items:center;gap:5px;font-style:normal;font-weight:700;display:flex}.public-final-heading .button{margin-left:auto}.public-ranking-note{color:#58616a;border-bottom:1px solid var(--line);background:#f7f8f9;padding:9px 16px;font-size:10px;font-weight:650}.round-breakdown{border-top:2px solid var(--line);margin-top:24px}.round-breakdown>section{border-bottom:1px solid var(--line);padding:18px 0}.round-summary-head{justify-content:space-between;align-items:center;padding:0 4px 12px;display:flex}.round-summary-head h3{margin:0;font-size:15px}.round-summary-head span{color:var(--muted);font-size:10px;font-weight:700}.round-summary-tables{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.round-summary-tables>article{border:1px solid var(--line);background:#f8f9fa;border-radius:5px;padding:12px}.round-summary-tables h4{margin:0 0 8px;font-size:11px}.round-summary-tables article>div{border-top:1px solid #e2e4e6;grid-template-columns:minmax(100px,1fr) 70px 62px;align-items:center;gap:6px;min-height:29px;font-size:9px;display:grid}.round-summary-tables article>div strong{overflow-wrap:anywhere;min-width:0}.round-summary-tables article>div span{color:var(--muted)}.round-summary-tables article>div b{text-align:right}.round-summary-tables article>div.withdrawn{color:#85898d;background:#eceeef}.round-summary-tables article>div.withdrawn strong{text-decoration:line-through}@media print{body{background:#fff}.no-print,.public-header,.sidebar,.topbar,.mobile-nav,.toast,.public-detail-grid,.stats-grid,.round-strip,.dashboard-grid,.event-actions{display:none!important}.main-area,.content,.page-section,.public-detail{width:100%;max-width:none;margin:0;padding:0}.printable-report{box-shadow:none;border:0;margin:0;padding:0}.round-summary-tables{break-inside:auto;grid-template-columns:repeat(2,1fr)}.round-summary-tables>article,.final-list>div,.public-final-list>article{break-inside:avoid}}.tournament-rules{border:1px solid var(--line);background:#fff;border-radius:7px;margin-top:24px;overflow:hidden}.rules-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:14px 16px;display:flex}.rules-heading span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.rules-heading h2{margin:4px 0 0;font-size:16px}.rules-heading>strong{color:#9b2429;background:#fff0f0;border-radius:4px;padding:6px 8px;font-size:9px}.rules-heading>strong.can-run{color:#176c48;background:#e2f4eb}.rules-summary{grid-template-columns:100px 1fr 1fr;gap:12px;padding:14px 16px;display:grid}.rules-summary div{gap:4px;display:grid}.rules-summary span{color:var(--muted);text-transform:uppercase;font-size:9px}.rules-summary strong{font-size:11px;line-height:1.4}.tournament-rules>p{color:#7a5d18;margin:0;padding:0 16px 14px;font-size:10px}.rules-thresholds{border-top:1px solid var(--line)}.rules-thresholds>div{border-bottom:1px solid #eceeef;grid-template-columns:95px 1fr 1.3fr;align-items:center;gap:10px;min-height:38px;padding:7px 16px;font-size:9px;display:grid}.rules-thresholds>div:last-child{border-bottom:0}.rules-thresholds span{color:var(--muted)}.event-information dl{margin:18px 0 0}.event-information dl div{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;min-height:54px;padding:11px 0;display:grid}.event-information dt{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.event-information dd{margin:0;font-size:12px;font-weight:600}.event-information .sponsors-text,.event-sponsors p{white-space:pre-line}.event-sponsors{border:1px solid var(--line);background:#fff;border-radius:7px;max-width:900px;margin:-8px 0 24px;padding:14px 16px}.event-sponsors span{color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.event-sponsors p{color:#24272a;margin:0;font-size:12px;font-weight:650;line-height:1.55}.public-registration,.registration-closed,.registration-success{border:1px solid var(--line);background:#fff;border-radius:7px;padding:20px}.public-registration-modal{--modal-width:640px}.public-registration-modal>.public-registration,.public-registration-modal>.registration-success{border:0;border-radius:0;padding:20px}.public-calendar-modal{--modal-width:1100px}.public-advancements-modal{--modal-width:820px}.public-advancements-modal .modal-head>div h2{margin:2px 0 0}.public-advancements-content{padding:18px}.public-advancements-search{background:#fff;border:1px solid #d4d7da;border-radius:5px;align-items:center;gap:9px;height:42px;margin-bottom:12px;padding:0 12px;display:flex}.public-advancements-search svg{color:var(--muted);flex:none}.public-advancements-search input{border:0;outline:0;width:100%;height:38px}.public-advancements-list{gap:7px;display:grid}.public-advancements-list article{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:125px minmax(0,1fr) 28px;align-items:center;gap:14px;min-height:72px;padding:11px 14px;display:grid}.public-advancements-list time{color:var(--muted);font-size:10px;font-weight:700}.public-advancements-list strong,.public-advancements-list span,.public-advancements-list small{display:block}.public-advancements-list strong{font-size:13px}.public-advancements-list span{margin-top:3px;font-size:11px;font-weight:650}.public-advancements-list small{color:var(--muted);margin-top:3px;font-size:9px}.public-advancements-list>article>svg{color:#a27714}.tournament-metrics{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:repeat(5,minmax(0,1fr));margin:22px 0;display:grid;overflow:hidden}.tournament-metrics article{border-right:1px solid var(--line);align-items:center;gap:10px;min-height:78px;padding:13px 14px;display:flex}.tournament-metrics article:last-child{border-right:0}.tournament-metrics svg{color:#27699c;flex:none}.tournament-metrics span,.tournament-metrics strong,.tournament-metrics small{display:block}.tournament-metrics span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.tournament-metrics strong{margin-top:4px;font-size:11px;line-height:1.35}.tournament-metrics small{color:#858a8f;margin-top:2px;font-size:9px}.event-calendar{padding:18px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:46px;margin-bottom:12px;display:flex}.calendar-toolbar>div{align-items:center;gap:7px;display:flex}.calendar-toolbar>div:first-child svg{color:#b82a31}.calendar-toolbar strong{text-transform:capitalize;font-size:16px}.calendar-toolbar .button{min-height:34px}.calendar-scroll{border:1px solid var(--line);border-radius:7px;overflow-x:auto}.calendar-grid{background:#fff;grid-template-columns:repeat(7,1fr);min-width:760px;display:grid}.calendar-weekday{color:#686d72;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-transform:uppercase;background:#f5f6f7;place-items:center;height:34px;font-size:9px;font-weight:800;display:grid}.calendar-weekday:nth-child(7){border-right:0}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:112px;padding:7px}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#fafafa}.calendar-day.outside .calendar-day-number{color:#b3b6ba}.calendar-day-number{color:#555b60;place-items:center;width:25px;height:25px;font-size:10px;font-weight:700;display:grid}.calendar-day.today .calendar-day-number{color:#fff;background:#c72b32;border-radius:50%}.calendar-day-events{gap:4px;display:grid}.calendar-event{text-align:left;border:0;border-radius:4px;align-items:center;gap:4px;width:100%;min-height:23px;padding:3px 5px;font-size:8px;font-weight:700;display:flex;overflow:hidden}.calendar-event span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-event.tournament{color:#8f2429;background:#ffe8e9}.calendar-event.league{color:#1f628e;background:#e7f3fb}.calendar-event:disabled{cursor:default;opacity:1}.calendar-day-events small{color:var(--muted);font-size:8px}.calendar-legend{color:var(--muted);gap:18px;padding-top:12px;font-size:9px;font-weight:700;display:flex}.calendar-legend span{align-items:center;gap:6px;display:flex}.calendar-legend i{border-radius:3px;width:10px;height:10px}.calendar-legend i.tournament{background:#f0a5a8}.calendar-legend i.league{background:#98cbe9}.year-selector{color:var(--muted);align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.year-selector select{background:#fff;border:1px solid #d5d8db;border-radius:5px;height:38px;padding:0 30px 0 10px}.statistics-cards{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;display:grid}.statistics-cards article{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:11px;min-height:88px;padding:15px;display:flex}.statistics-cards svg{color:#b82a31}.statistics-cards span,.statistics-cards strong,.statistics-cards small{display:block}.statistics-cards span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.statistics-cards strong{margin-top:2px;font-size:21px}.statistics-cards small{color:#888d91;font-size:9px}.statistics-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:16px;display:grid}.statistics-table-section,.upcoming-statistics{border:1px solid var(--line);background:#fff;border-radius:7px;padding:0 16px 16px}.statistics-table-section .data-table-wrap{border-radius:5px}.statistics-table th:not(:first-child),.statistics-table td:not(:first-child){text-align:center}.upcoming-statistics .section-head>svg{color:#2b6d9d}.upcoming-statistics>div:last-child>article{border-top:1px solid #eceeef;grid-template-columns:45px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:9px 0;display:grid}.upcoming-statistics time{color:#a3262c;text-transform:uppercase;font-size:10px;font-weight:800}.upcoming-statistics span,.upcoming-statistics strong,.upcoming-statistics small{display:block}.upcoming-statistics span{color:#777c81;text-transform:uppercase;font-size:8px;font-weight:800}.upcoming-statistics strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;overflow:hidden}.upcoming-statistics small{color:var(--muted);margin-top:3px;font-size:8px}.statistics-error{color:#a4262c}.province-statistics{margin-top:16px}.province-statistics .section-head h2{align-items:center;gap:7px;display:flex}.province-statistics .section-head h2 svg{color:#2b6d9d}.province-statistics .province-missing td{color:#9b3035;background:#fff5f5}.advancement-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0 16px;display:grid}.advancement-stats article{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:11px;min-height:76px;padding:14px;display:flex}.advancement-stats svg{color:#b82a31}.advancement-stats strong,.advancement-stats span{display:block}.advancement-stats strong{font-size:20px}.advancement-stats span{color:var(--muted);text-transform:uppercase;margin-top:2px;font-size:9px;font-weight:700}.advancement-add-box{border:1px solid var(--line);background:#fff;border-radius:7px;justify-content:space-between;align-items:center;gap:20px;min-height:82px;margin-bottom:16px;padding:15px 16px;display:flex}.advancement-add-box h2{margin-bottom:4px;font-size:15px}.advancement-add-box p{color:var(--muted);margin:0;font-size:10px}.advancement-add-box select{background:#fff;border:1px solid #d4d7da;border-radius:5px;width:min(480px,46vw);height:40px;padding:0 34px 0 11px}.advancement-pending{border:1px solid var(--line);background:#fff;border-radius:7px;margin-bottom:16px;padding:0 16px 10px}.advancement-pending>div:last-child>article{border-top:1px solid #eceeef;justify-content:space-between;align-items:center;gap:14px;min-height:52px;display:flex}.advancement-pending strong,.advancement-pending span{display:block}.advancement-pending strong{font-size:11px}.advancement-pending span{color:var(--muted);margin-top:3px;font-size:9px}.advancement-pending .button{min-height:32px}.advancement-toolbar{grid-template-columns:minmax(260px,1fr) 220px;gap:8px;margin-bottom:10px;display:grid}.advancement-toolbar label{background:#fff;border:1px solid #d4d7da;border-radius:5px;align-items:center;gap:8px;height:40px;padding:0 10px;display:flex}.advancement-toolbar label svg{color:var(--muted)}.advancement-toolbar input{border:0;outline:0;width:100%;height:36px}.advancement-toolbar select{background:#fff;border:1px solid #d4d7da;border-radius:5px;height:40px;padding:0 30px 0 10px}.advancement-list{gap:8px;display:grid}.advancement-row{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:62px minmax(320px,1fr) minmax(220px,.65fr) 36px;align-items:center;gap:14px;min-height:104px;padding:12px 12px 12px 14px;display:grid}.advancement-row>time{border-right:1px solid var(--line);align-content:center;align-self:stretch;justify-items:center;display:grid}.advancement-row>time strong,.advancement-row>time span{display:block}.advancement-row>time strong{color:var(--red-dark);font-size:18px}.advancement-row>time span{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:700}.advancement-main{grid-template-columns:minmax(220px,1fr) minmax(170px,.65fr);align-items:center;gap:14px;min-width:0;display:grid}.advancement-main h3{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 3px;font-size:13px;overflow:hidden}.advancement-main p{color:var(--muted);margin:0;font-size:9px}.advancement-status{text-transform:uppercase;border-radius:4px;padding:3px 6px;font-size:8px;font-weight:800;display:inline-flex}.advancement-status.awarded{color:#166a48;background:#ddf3e8}.advancement-status.not-awarded{color:#765900;background:#fff2c7}.advancement-status.cancelled{color:#a2252c;background:#ffe6e7}.advancement-person{align-items:center;gap:8px;min-width:0;display:flex}.advancement-person>svg{color:#a27714;flex:none}.advancement-person strong,.advancement-person span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.advancement-person strong{font-size:11px}.advancement-person span{color:var(--muted);margin-top:3px;font-size:9px}.advancement-details{color:var(--muted);gap:5px;font-size:9px;display:grid}.advancement-details span{align-items:center;gap:5px;display:flex}.advancement-details strong{color:#9a2c32;line-height:1.35}.advancements-error{color:#a4262c}.advancement-modal-event{border:1px solid var(--line);background:#f7f8f9;border-radius:6px;align-items:center;gap:10px;padding:11px;display:flex}.advancement-modal-event svg{color:#a27714}.advancement-modal-event strong,.advancement-modal-event span{display:block}.advancement-modal-event span{color:var(--muted);margin-top:3px;font-size:10px}.advancement-delete-error{margin:0 20px 16px}.registration-heading{align-items:flex-start;gap:10px;margin-bottom:17px;display:flex}.registration-heading svg{color:#b82a31}.registration-heading h2{margin-bottom:4px}.registration-heading p{color:var(--muted);margin:0;font-size:10px}.public-registration form{gap:12px;display:grid}.public-registration label{color:#555b60;gap:6px;font-size:10px;font-weight:700;display:grid}.public-registration input,.public-registration select{background:#fff;border:1px solid #d4d7da;border-radius:5px;width:100%;height:38px;padding:0 10px}.public-registration .check-label{grid-template-columns:17px 1fr;align-items:center;font-weight:500}.public-registration .check-label input{width:15px;height:15px}.public-registration .button{width:100%;margin-top:3px}.registration-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:240px;display:flex}.registration-success>div{color:#176c48;background:#e2f4eb;border-radius:7px;place-items:center;width:46px;height:46px;margin-bottom:13px;display:grid}.registration-success p,.registration-closed p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.toast{z-index:200;color:#fff;background:#232629;border-radius:6px;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-size:12px;font-weight:600;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0003}.mobile-only,.mobile-nav,.mobile-brand{display:none}.info-label{align-items:center;gap:6px;display:inline-flex}.info-hint{vertical-align:middle;text-transform:none;letter-spacing:0;flex:none;display:inline-flex;position:relative}.info-hint-trigger{color:#687078;cursor:help;background:#fff;border:1px solid #aeb4ba;border-radius:50%;place-items:center;width:19px;height:19px;padding:0;display:inline-grid}.info-hint-trigger:hover,.info-hint-trigger:focus-visible,.info-hint.open .info-hint-trigger{color:#fff;background:#2871a7;border-color:#2871a7;outline:0}.info-hint-trigger:focus-visible{box-shadow:0 0 0 3px #2871a72e}.info-hint-bubble{z-index:260;color:#fff;letter-spacing:0;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;background:#24282c;border-radius:6px;width:max-content;max-width:min(280px,100vw - 32px);padding:9px 11px;font-size:11px;font-weight:500;line-height:1.45;transition:opacity .14s,transform .14s,visibility .14s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,4px);box-shadow:0 9px 24px #0003;text-transform:none!important}.info-hint-bubble:after{content:"";background:#24282c;width:8px;height:8px;position:absolute;top:100%;left:50%;transform:translate(-50%,-5px)rotate(45deg)}.info-hint.align-start .info-hint-bubble{left:0;transform:translateY(4px)}.info-hint.align-start .info-hint-bubble:after{left:10px}.info-hint.align-end .info-hint-bubble{left:auto;right:0;transform:translateY(4px)}.info-hint.align-end .info-hint-bubble:after{left:auto;right:6px}.info-hint:hover .info-hint-bubble,.info-hint:focus-within .info-hint-bubble,.info-hint.open .info-hint-bubble{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}.info-hint.align-start:hover .info-hint-bubble,.info-hint.align-start:focus-within .info-hint-bubble,.info-hint.align-start.open .info-hint-bubble,.info-hint.align-end:hover .info-hint-bubble,.info-hint.align-end:focus-within .info-hint-bubble,.info-hint.align-end.open .info-hint-bubble{transform:translate(0)}.info-hint-bubble.portal{opacity:1;visibility:visible;pointer-events:auto;max-width:calc(100vw - 28px);transition:none;position:fixed;bottom:auto;right:auto;transform:none;z-index:2147483000!important}.info-hint-bubble.portal.above:after{top:100%;left:var(--arrow-left,50%);transform:translate(-50%,-5px)rotate(45deg)}.info-hint-bubble.portal.below:after{top:auto;bottom:100%;left:var(--arrow-left,50%);transform:translate(-50%,5px)rotate(45deg)}.info-hint-bubble.portal.mobile{width:auto;max-width:none;padding:12px 14px;font-size:12px;bottom:78px;left:14px;right:14px;transform:none;z-index:2147483000!important}.info-hint-bubble.portal.mobile:after{display:none}.eyebrow .info-hint-trigger,.data-table th .info-hint-trigger{width:17px;height:17px}.section-head h2 .info-hint,.page-title h1 .info-hint,.settings-block h2 .info-hint,.rules-heading h2 .info-hint{margin-left:3px}.stat-label-with-help{align-items:center;gap:5px;display:inline-flex!important}.table-role{color:#285f86;white-space:nowrap;background:#eaf5fc;border:1px solid #c7dfef;border-radius:4px;align-items:center;gap:4px;width:fit-content;min-height:20px;padding:2px 6px;font-size:8px;font-weight:800;line-height:1;display:inline-flex}.table-role.role-timer{color:#7a5b00;background:#fff6d8;border-color:#ecd98e}.table-role.role-cleanup{color:#247052;background:#e7f5ee;border-color:#bedfce}.table-role.role-verifier{color:#7b3136;background:#fff0f1;border-color:#e9c2c5}.table-role.compact{border-radius:50%;justify-content:center;width:22px;min-width:22px;height:22px;padding:0}.score-player .player-name>small{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.league-game .score-player>div{gap:4px;min-width:0;display:grid}.tournament-highlights{border:1px solid var(--line);background:#fff;border-radius:7px;margin-top:18px;padding:18px}.tournament-highlights .section-head h2{align-items:center;gap:7px;display:flex}.tournament-highlights .section-head h2 svg{color:#2772a7}.tournament-highlights>div:last-child{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.tournament-highlights article{background:#f7f9fa;border:1px solid #e0e4e7;border-radius:6px;align-content:center;min-width:0;min-height:72px;padding:11px;display:grid}.tournament-highlights article span,.tournament-highlights article strong,.tournament-highlights article small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tournament-highlights article span{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:800}.tournament-highlights article strong{margin-top:5px;font-size:11px}.tournament-highlights article small{color:#276b9c;margin-top:3px;font-size:9px;font-weight:700}.tournament-notice{color:#765600;background:#fff6d5;border:1px solid #e9d078;border-radius:6px;align-items:center;gap:9px;min-height:46px;margin:14px 0;padding:10px 14px;font-size:11px;display:flex}.tournament-notice svg{flex:none}.tournament-notice.prominent{color:#fff;text-align:center;background:#a82a30;border:0;border-radius:0;justify-content:center;min-height:64px;margin:0;font-size:clamp(15px,2vw,24px)}.qr-modal{--modal-width:980px}.qr-toolbar{justify-content:flex-end;gap:8px;padding:14px 18px 0;display:flex}.qr-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:min(70vh,720px);padding:18px;display:grid;overflow:auto}.qr-card{border:1px solid var(--line);text-align:center;border-radius:7px;justify-items:center;gap:8px;min-width:0;padding:14px;display:grid}.qr-card strong{font-size:12px}.qr-card img{aspect-ratio:1;width:min(100%,210px);image-rendering:pixelated}.qr-card small{width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.notice-content{gap:14px;padding:18px;display:grid}.notice-templates{flex-wrap:wrap;gap:6px;display:flex}.notice-templates button{color:#4e555b;border:1px solid var(--line);text-align:left;background:#f5f7f8;border-radius:5px;min-height:32px;padding:5px 9px;font-size:9px}.notice-templates button:hover{color:#8f252b;background:#fff2f2;border-color:#e5b4b7}.notice-content label{color:#555b60;gap:6px;font-size:10px;font-weight:700;display:grid}.notice-content textarea{resize:vertical;font:inherit;border:1px solid #d4d7da;border-radius:5px;padding:10px}.notice-content>small{color:var(--muted);text-align:right;margin-top:-10px;font-size:9px}.pairing-rules{border:1px solid var(--line);border-radius:6px;padding:13px}.pairing-rules legend{padding:0 5px;font-size:10px;font-weight:800}.pairing-rules>div>strong{margin:12px 0 7px;font-size:10px;display:block}.pairing-player-list{background:#f7f8f9;border-radius:5px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;max-height:150px;padding:8px;display:grid;overflow:auto}.pairing-player-list .check-label{align-items:center;gap:6px;font-size:9px;font-weight:600;display:flex}.pairing-player-list input{width:15px;height:15px}@media (width<=980px){.tournament-highlights>div:last-child,.qr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.tournament-highlights>div:last-child,.qr-grid,.pairing-player-list{grid-template-columns:1fr}.qr-toolbar{justify-content:stretch}.qr-toolbar .button{flex:1}.tournament-notice{align-items:flex-start}}.league-layout{grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:16px;margin:20px 0;display:grid}.league-consent-note{color:#4f565c;border:1px solid var(--line);background:#f5f8fa;border-radius:6px;align-items:center;gap:9px;margin:16px 0 -4px;padding:11px 13px;font-size:10px;line-height:1.45;display:flex}.league-consent-note svg{color:#247451;flex:none}.league-panel,.matchday-section,.league-ranking{border:1px solid var(--line);background:#fff;border-radius:7px;padding:18px}.compact-player-list{border-top:1px solid var(--line);max-height:330px;overflow:auto}.compact-player-list>div{border-bottom:1px solid #eceeef;grid-template-columns:28px minmax(150px,1fr) auto;align-items:center;gap:8px;min-height:42px;font-size:11px;display:grid}.compact-player-list>div>span,.compact-player-list small{color:var(--muted)}.league-player-list>div{grid-template-columns:28px minmax(150px,1fr) auto auto}.league-player-list>div>div{gap:3px;min-width:0;display:grid}.league-player-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mini-consents{grid-auto-flow:column;gap:5px!important;display:flex!important}.league-player-actions{grid-auto-flow:column;gap:3px!important;display:flex!important}.matchday-tabs{grid-template-columns:repeat(6,minmax(54px,1fr));gap:6px;display:grid}.matchday-tab{min-width:0;position:relative}.matchday-select{border:1px solid var(--line);width:100%;min-height:58px;color:var(--ink);background:#f7f8f9;border-radius:5px;place-items:center;gap:2px;padding:6px 20px 6px 3px;display:grid}.matchday-tab.active .matchday-select{color:var(--red-dark);background:#fff0f0;border-color:#e5aeb1}.matchday-select strong{font-size:12px}.matchday-select span{font-size:8px}.matchday-edit{color:#626970;background:0 0;border:0;border-radius:4px;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:4px;right:4px}.matchday-edit:hover{color:var(--red-dark);background:#fff}.new-matchday{align-items:end;gap:10px;margin-top:14px;display:flex}.new-matchday label{color:var(--muted);flex:1;gap:6px;font-size:10px;font-weight:700;display:grid}.new-matchday input{border:1px solid #d4d7da;border-radius:5px;width:100%;height:40px;padding:0 10px}.matchday-section{margin-top:16px}.matchday-head{align-items:flex-start}.draw-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.draw-actions .button{white-space:nowrap}.attendance-toolbar{justify-content:flex-end;margin-bottom:10px;display:flex}.attendance-toolbar .button{min-height:34px}.attendance-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:7px;display:grid}.attendance-grid label{border:1px solid var(--line);background:#f8f9fa;border-radius:5px;align-items:center;gap:8px;min-height:38px;padding:0 10px;font-size:10px;font-weight:600;display:flex}.attendance-grid input{accent-color:#25a46d;width:16px;height:16px}.attendance-summary{color:var(--muted);align-items:center;gap:7px;margin:10px 0 18px;font-size:10px;font-weight:700;display:flex}.league-game{margin-top:20px}.league-game>h3{margin:0 0 10px;font-size:15px}.league-ranking{margin-top:16px}.matchday-date-modal{--modal-width:440px}@media (width<=1180px){.public-header-actions .public-resource-button,.public-header-actions .public-advancements-button,.public-header-actions .public-calendar-button,.public-header-actions .public-moderator-button,.public-header-actions .public-admin-button{width:38px;padding:0;font-size:0}.public-header-actions .button svg{margin:0}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.ranking-panel{display:block}.public-tournament-grid{grid-template-columns:repeat(2,1fr)}.league-layout{grid-template-columns:1fr}.attendance-grid,.tournament-metrics{grid-template-columns:repeat(3,1fr)}.tournament-metrics article:nth-child(3){border-right:0}.tournament-metrics article:nth-child(n+4){border-top:1px solid var(--line)}.statistics-layout{grid-template-columns:1fr}.advancement-row{grid-template-columns:54px minmax(0,1fr) 36px}.advancement-details{grid-column:2}}@media (width<=820px){body{padding-bottom:63px}.sidebar{transition:transform .2s;transform:translate(-102%);box-shadow:8px 0 24px #0002}.sidebar.open{transform:translate(0)}.main-area{margin-left:0}.topbar{height:60px;padding:0 14px}.mobile-brand{object-fit:contain;width:92px;height:38px;margin-left:7px;display:block}.topbar-title{display:none}.topbar-title button{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.content{padding:18px 14px 30px}.mobile-only{display:inline-grid}.desktop-only{display:none!important}.mobile-nav{z-index:40;height:63px;padding:4px 8px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-nav .nav-button{border-radius:5px;justify-content:center;height:54px}.event-heading,.page-title{align-items:flex-start}.event-heading{display:block}.event-heading h1,.page-title h1{font-size:21px}.event-actions{margin-top:15px}.event-actions .button{flex:1}.round-safety{flex-direction:column;align-items:flex-start}.round-safety-items{flex-wrap:wrap;justify-content:flex-start;width:100%}.round-strip{border-left:0;border-right:0;border-radius:0;margin-left:-14px;margin-right:-14px}.round-strip-actions{flex-direction:column;align-items:stretch}.round-history-controls .button{flex:1;min-width:94px}.preference-badge{display:none}.table-grid{grid-template-columns:1fr}.score-player{grid-template-columns:26px minmax(0,1fr) 76px 34px 84px;min-height:54px}.score-player input{width:76px;height:38px;font-size:16px}.save-table{height:42px}.page-title{min-height:0}.data-table{min-width:760px}.settings-block{flex-direction:column;align-items:flex-start;gap:12px}.settings-block select{width:100%}.tournament-lifecycle-controls{grid-template-columns:1fr}.tournament-lifecycle-controls .lifecycle-registration-switch{border-top:1px solid var(--line);border-left:0;padding:12px 0 0}.detail-stats{grid-template-columns:1fr}.admin-tournament-heading{flex-direction:column;align-items:flex-start}.public-detail-grid{grid-template-columns:1fr}.attendance-grid{grid-template-columns:repeat(2,1fr)}.moderator-control-layout{grid-template-columns:1fr}.moderator-account-list{grid-template-columns:repeat(2,1fr);display:grid}.moderator-account-list>button{border-right:1px solid var(--line)}.statistics-cards,.advancement-stats{grid-template-columns:repeat(2,1fr)}.advancement-add-box{flex-direction:column;align-items:stretch}.advancement-add-box select{width:100%}.participant-status-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-display>main,.display-tables{grid-template-columns:1fr}}@media (width<=560px){.topbar-title span{display:none}.topbar-title button{font-size:12px}.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stat{gap:9px;min-height:82px;padding:12px}.stat-icon{width:34px;height:34px}.stat strong{margin-top:2px;font-size:17px}.stat small{margin-top:2px}.event-actions{grid-template-columns:1fr 1fr;display:grid}.organizer-report{grid-template-columns:1fr 1fr}.organizer-report>div,.organizer-report>div:nth-child(3n),.organizer-report>div:nth-last-child(-n+3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.organizer-report>div:nth-child(2n){border-right:0}.organizer-report>div:nth-last-child(-n+2){border-bottom:0}.tournament-display>header{grid-template-columns:1fr auto 40px;gap:10px;padding:10px 14px}.tournament-display>header>div:first-child span{display:none}.tournament-display img{width:100px;height:42px}.display-clock{font-size:22px}.tournament-display>main{padding:16px 14px}.display-tables article>span{font-size:15px}.section-head p{max-width:260px}.score-table header{padding:0 10px}.score-players{padding:4px 9px}.page-title{display:block}.page-title .button{width:100%;margin-top:14px}.page-title-actions{grid-template-columns:1fr;gap:0;display:grid}.overview-actions{grid-template-columns:1fr 1fr;display:grid}.overview-actions .button{margin-top:14px}.participant-status-list,.discipline-options{grid-template-columns:1fr}.overview-event-row{grid-template-columns:34px 46px minmax(0,1fr) 30px;gap:8px;padding:10px}.overview-event-row .status-pill{grid-column:3;width:fit-content}.overview-event-row>.icon-button{grid-area:1/4}.overview-event-row .date-tile{width:44px;height:44px}.archive-row{grid-template-columns:34px 46px minmax(0,1fr)}.archive-row .status-pill{grid-column:3}.archive-actions{grid-column:1/-1;justify-content:stretch}.archive-actions .button{flex:1}.tournament-row{grid-template-columns:48px minmax(0,1fr) 32px}.tournament-row .status-pill{grid-column:2;width:fit-content}.tournament-row>.icon-button{grid-area:1/3}.form-row{grid-template-columns:1fr}.segmented{width:100%}.segmented button{flex:1;padding:0 6px}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:8px 8px 0 0;max-height:92vh}.modal-actions{position:sticky;bottom:0}.toast{justify-content:center;width:calc(100% - 28px);bottom:74px}.auth-page{align-items:stretch;padding:0}.auth-panel{border:0;border-radius:0;width:100%;min-height:100vh;padding:24px 20px}.public-header{height:62px;padding:0 14px}.public-header img{width:98px;height:42px}.public-header>span{display:none}.public-header-actions{gap:6px}.public-header-actions .public-resource-button,.public-header-actions .public-moderator-button,.public-header-actions .public-admin-button{display:none}.public-more-menu{display:block}.public-header-actions .button{width:38px;padding:0;font-size:0}.public-header-actions .button svg{margin:0}.public-header-actions .public-register-button{width:auto;padding:0 9px;font-size:9px}.public-register-long{display:none}.public-register-short{display:inline}.public-advancements-list article{grid-template-columns:1fr 24px;gap:7px 10px}.public-advancements-list time{grid-column:1/-1}.public-content,.public-detail{padding:22px 14px 40px}.public-intro{min-height:92px}.public-intro h1{font-size:24px}.public-tournament-grid,.advancement-toolbar{grid-template-columns:1fr}.advancement-pending>div:last-child>article{flex-direction:column;align-items:stretch;padding:10px 0}.advancement-pending .button{width:100%}.advancement-row{grid-template-columns:46px minmax(0,1fr) 32px;gap:10px;padding:12px}.advancement-main{grid-template-columns:1fr;gap:10px}.advancement-main h3{white-space:normal}.advancement-details{grid-column:1/-1;padding-left:56px}.public-detail-heading{flex-direction:column;align-items:flex-start;padding-bottom:20px}.public-detail-heading h1{font-size:24px}.capacity-box{width:100%}.public-detail-grid{gap:22px}.view-selector label{grid-template-columns:1fr}.matchday-tabs{grid-template-columns:repeat(3,1fr)}.matchday-head{flex-direction:column}.draw-actions{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.draw-actions .button{padding:0 7px;font-size:10px}.new-matchday{flex-direction:column;align-items:stretch}.new-matchday .button{width:100%}.attendance-grid,.moderator-stats{grid-template-columns:1fr}.moderator-stats>div{border-right:0;border-bottom:1px solid var(--line);min-height:56px}.moderator-stats>div:last-child{border-bottom:0}.moderator-account-list{grid-template-columns:1fr}.moderator-account-list>button{border-right:0}.moderator-detail-head{grid-template-columns:42px minmax(0,1fr)}.moderator-detail-actions{grid-column:1/-1;grid-template-columns:1fr;display:grid}.moderator-detail-actions .button{width:100%}.moderator-assignment-row{grid-template-columns:minmax(0,1fr) auto}.moderator-assignment-row .button{grid-column:1/-1;width:100%}.administrator-list article{grid-template-columns:44px minmax(0,1fr);padding:16px}.administrator-icon{width:42px;height:42px}.administrator-meta{border-top:1px solid var(--line);grid-column:1/-1;padding-top:12px}.administrator-actions{grid-column:1/-1;grid-template-columns:1fr;display:grid}.administrator-actions .button{width:100%}.event-information dl div{grid-template-columns:105px 1fr}.tournament-metrics{grid-template-columns:1fr}.tournament-metrics article{border-right:0;border-top:1px solid var(--line);min-height:62px}.tournament-metrics article:first-child{border-top:0}.statistics-cards{grid-template-columns:1fr 1fr}.calendar-toolbar{flex-direction:column;align-items:flex-start}.event-calendar{padding:12px}.info-hint-bubble,.info-hint.align-start .info-hint-bubble,.info-hint.align-end .info-hint-bubble{z-index:320;width:auto;max-width:none;padding:12px 14px;font-size:12px;position:fixed;bottom:78px;left:14px;right:14px;transform:translateY(6px)}.info-hint-bubble:after{display:none}.info-hint:hover .info-hint-bubble,.info-hint:focus-within .info-hint-bubble,.info-hint.open .info-hint-bubble,.info-hint.align-start:hover .info-hint-bubble,.info-hint.align-start:focus-within .info-hint-bubble,.info-hint.align-start.open .info-hint-bubble,.info-hint.align-end:hover .info-hint-bubble,.info-hint.align-end:focus-within .info-hint-bubble,.info-hint.align-end.open .info-hint-bubble{transform:translateY(0)}}
