.tournament fieldset{border:0;padding:0;margin:0;min-width:0}.tournament .club-tabs{margin:22px 0}.tournament .club-panel{margin:20px 0}.tournament summary{cursor:pointer;font-weight:700;line-height:1.6}.tournament details form{margin-top:20px}.tournament .club-fields{margin:18px 0}.tournament .club-fields>button{align-self:end;min-height:48px}.tournament .plan-field input,.tournament .plan-field select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:48px;font-size:16px;border:1px solid #cdd8cf;border-radius:8px;padding:10px;background:#fff;color:var(--ink)}.tournament [hidden]{display:none!important}.tournament-status{margin:22px 0}.tournament-download{display:inline-block;margin:14px 0}.tournament-order{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.tournament-seeds,.tournament-qualifiers,.tournament-source{background:#f4f6f0;border-radius:10px;padding:16px;margin:18px 0;overflow-wrap:anywhere}.tournament-seeds li{padding:6px 0;line-height:1.6}.tournament-match{border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:16px;background:#fff}.tournament-match .eyebrow{margin:0 0 12px}.tournament-match p.muted{font-size:12px}.tournament-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.tournament-side{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #d5ded5;border-radius:8px;overflow-wrap:anywhere}.tournament-side:nth-child(2){border-color:#bbd2e8;background:#f1f7fd}.tournament-side small{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.tournament-side span{font-size:13px;line-height:1.6}.tournament .club-actions{margin:14px 0}.tournament-draw h3{line-height:1.6;overflow-wrap:anywhere}.tournament .athlete-card{gap:14px}.tournament details>p{line-height:1.7}.tournament-status p{overflow-wrap:anywhere}@media(max-width:600px){.tournament .club-panel{padding:16px}.tournament-pair,.tournament-order{grid-template-columns:1fr}.tournament .club-fields{grid-template-columns:1fr}.tournament-match{padding:13px}.tournament .club-actions button{flex:1 1 180px}.tournament .club-tabs button{flex:1 1 150px}}

.tournament textarea{box-sizing:border-box;width:100%;min-width:0;padding:12px;font:inherit;font-size:16px;border:1px solid #cdd8cf;border-radius:8px;resize:vertical}.tournament .tournament-qualifiers form{margin-top:16px}
/* Responsive manual referee console */
.judo-scoreboard{width:min(1200px,96vw);max-width:96vw;max-height:94dvh;overflow:auto;border:0;border-radius:16px;padding:24px;background:#111924;color:#fff}.judo-scoreboard::backdrop{background:#000c}.judo-scoreboard h2{font-size:1.25rem;color:#fff}.judo-scoreboard .score-note{font-size:.85rem;color:#ccd6e3}.score-display{display:grid;grid-template-columns:1fr 1fr;gap:14px}.score-side{padding:18px;border-radius:10px;min-width:0}.score-side.white{background:#f8fafc;color:#111827}.score-side.blue{background:#084fb4;color:white}.score-side h3{font-size:clamp(18px,2.4vw,30px);margin:8px 0;overflow-wrap:anywhere}.score-side p{font-size:.85rem}.score-values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.score-cell{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;text-align:center}.score-cell span{width:100%;font-size:.7rem;min-height:28px}.score-cell strong{width:100%;font-size:clamp(26px,4vw,58px);font-variant-numeric:tabular-nums}.score-cell button{min-width:30px;min-height:38px;padding:3px 9px;background:#fff;color:#111;border:1px solid #aaa;border-radius:5px}.score-clock{font-variant-numeric:tabular-nums;font-size:clamp(32px,7vw,90px);font-weight:800;text-align:center;color:#ffdc45;padding:10px}.score-hold{text-align:center;font-size:24px;color:#8bea9e;margin-bottom:18px}.score-controls{border:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.score-controls label{color:white}.score-controls input,.score-controls select{box-sizing:border-box;width:100%;min-width:0;padding:12px;color:#111;background:white;border:1px solid #aaa;border-radius:6px}.score-controls button{min-height:48px;white-space:normal}.score-message{color:#ffe48a}.judo-scoreboard:fullscreen{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}@media(max-width:640px){.judo-scoreboard{padding:14px}.score-display{grid-template-columns:1fr}.score-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.score-side{padding:12px}.score-cell span{min-height:20px}.score-side h3{margin:2px 0}.score-side p{margin:4px 0}}
.mat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:18px}.mat-card{min-width:0}.mat-card p{overflow-wrap:anywhere}.mat-card details{max-height:360px;overflow:auto}.mat-card h3{font-size:1.5rem}.mat-card .club-actions{display:flex;flex-wrap:wrap}
.tournament-image-preview{width:96px;height:96px;object-fit:contain;border-radius:8px;background:#fff}.score-athlete-photo{display:block;width:110px;height:110px;object-fit:contain;background:white;border-radius:10px;margin:0 auto 12px}.score-club-logo{display:block;width:48px;height:48px;object-fit:contain;background:white;border-radius:6px;margin:0 0 8px}.score-hold{display:grid;grid-template-columns:1fr 1fr;gap:14px}.score-hold-side{border:1px solid #8291a7;padding:12px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;border-radius:8px}.score-hold-side strong{display:block;width:100%;font-size:36px;font-variant-numeric:tabular-nums}.score-hold-side button{min-height:44px;font-size:14px}.score-hold-side.white{background:#f8fafc;color:#152236}.score-hold-side.blue{background:#084fb4;color:#fff}@media(max-width:640px){.score-hold{grid-template-columns:1fr}.score-athlete-photo{width:80px;height:80px}}
.score-side .score-club-logo{width:64px;height:64px;margin:16px auto 0}.judo-scoreboard .score-hold-side.blue button,.judo-scoreboard .score-hold-side.blue button:hover,.judo-scoreboard .score-hold-side.blue button:focus-visible{color:#000;background:#fff;border:1px solid #bdc8d7}.score-match-picker{border:1px solid #52657c;border-radius:10px;padding:12px;margin:0 0 18px;min-width:0}.score-match-picker legend{font-weight:700}.score-match-picker select{width:100%;min-height:44px;max-width:100%;background:#fff;color:#111;padding:10px;border-radius:6px}.score-match-picker .plan-field{color:#fff}.score-match-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:8px;max-height:220px;overflow:auto;margin-top:12px}.score-match-list button{padding:12px;text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.45;min-height:48px;background:#f1f5fa;color:#111}.score-match-list button:disabled{opacity:.65}.score-match-list button.is-current{border:2px solid #ffdc45;opacity:1;background:#283c52;color:#fff}
.judo-scoreboard .score-hold-side{display:grid;grid-template-columns:1fr;gap:8px;text-align:center;align-content:start;min-width:0}.score-hold-side>.score-hold-title{width:100%;margin:0;padding:0;text-align:center;font-size:24px;font-weight:800;line-height:1.2;color:inherit}.score-hold-recipient{font-size:14px;display:block}.score-hold-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.judo-scoreboard .score-hold-side .score-hold-actions button,.judo-scoreboard .score-hold-side .score-hold-actions button:hover,.judo-scoreboard .score-hold-side .score-hold-actions button:focus-visible{color:#000;background:#fff;border:1px solid #bdc8d7;min-height:46px;min-width:0;width:100%;padding:10px 4px;font-size:14px;white-space:normal;border-radius:6px}
.score-hold-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.score-correction{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:2px solid #d9ad31;border-radius:8px;margin:8px 0 0;padding:12px;background:#f8fafc;color:#111;font-size:14px;min-width:0}.score-correction legend{font-size:16px}.score-correction p,.score-correction button{grid-column:1/-1;margin:0;white-space:normal}.score-correction label{display:grid;gap:5px;text-align:left}.score-correction input{width:100%;min-width:0;box-sizing:border-box;padding:9px;color:#111;background:#fff;border:1px solid #738196;border-radius:4px;font-size:18px}.score-correction-error{color:#a11b1b}.judo-scoreboard .score-correction button{color:#000;background:#fff;border:1px solid #bdc8d7;min-height:44px}
.score-clock-cluster{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;margin:12px 0 22px}.score-clock-cluster .score-clock{width:max-content;max-width:100%;box-sizing:border-box;line-height:1.1;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.score-clock-gs{font-size:18px;font-weight:800;color:#ffdc45;letter-spacing:.06em}.judo-scoreboard .score-clock-toggle{display:block;box-sizing:border-box;flex:none;width:var(--clock-button-width,100%);max-width:100%;height:var(--clock-button-height,100px);min-height:48px;margin:0;padding:8px 16px;border:2px solid #9de3bc;border-radius:12px;background:#c4f5d7;color:#062e1b;font-size:clamp(22px,4vw,42px);font-weight:850;line-height:1.1;text-align:center;cursor:pointer;touch-action:manipulation}.judo-scoreboard .score-clock-toggle.is-running{background:#ffe1cf;border-color:#ffac80;color:#592108}.judo-scoreboard .score-clock-toggle:hover:not(:disabled){filter:brightness(.94)}.judo-scoreboard .score-clock-toggle:focus-visible{outline:4px solid #ffdc45;outline-offset:4px}.judo-scoreboard .score-clock-toggle:disabled{cursor:not-allowed;opacity:.55}
/* Full screen keeps the supplied two-column scoreboard on every screen. */
.judo-scoreboard [hidden]{display:none!important}.score-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.judo-scoreboard .score-toolbar button{min-height:42px;padding:8px 14px;font-size:14px;background:#e6edf5;color:#102033;border:1px solid #91a1b5;border-radius:7px;cursor:pointer}.score-toolbar button:focus-visible{outline:3px solid #ffdc45;outline-offset:2px}.score-main,.score-stage{min-width:0}.score-extra{margin-top:18px}.score-extra>.score-match-picker{margin-top:12px}.score-correction-overlay{position:absolute;z-index:6;top:50%;left:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:min(460px,92vw);max-height:85dvh;overflow:auto;box-shadow:0 0 0 100vmax #0009,0 12px 50px #000a}
.judo-scoreboard.is-score-fullscreen{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;box-sizing:border-box;margin:0;border:0;border-radius:0;padding:0;overflow:hidden;display:flex;flex-direction:column;background:#101923}.is-score-fullscreen>.score-toolbar{flex:none;z-index:3;gap:6px;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));margin:0;justify-content:center;border-bottom:1px solid #26384e;background:#101923}.judo-scoreboard.is-score-fullscreen .score-toolbar button{font-size:12px;min-height:38px;padding:8px 10px}.is-score-fullscreen>h2,.is-score-fullscreen>.score-note{display:none}.is-score-fullscreen>.score-stage{position:relative;flex:1;min-height:0;overflow:hidden}.is-score-fullscreen .score-main{position:absolute;left:50%;top:50%;width:960px;height:840px;box-sizing:border-box;padding:12px;display:grid;grid-template-rows:minmax(0,1fr) 222px 160px;gap:12px;transform:translate(-50%,-50%) scale(var(--score-stage-scale,1));transform-origin:center}.is-score-fullscreen .score-display{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0}.is-score-fullscreen .score-side{padding:14px;border-radius:8px;min-height:0;overflow:hidden}.is-score-fullscreen .score-athlete-photo{width:90px;height:90px;margin:0 auto 10px}.is-score-fullscreen .score-side>small{font-size:10px;line-height:1.2}.is-score-fullscreen .score-side h3{font-size:24px;line-height:1.2;margin:8px 0;overflow-wrap:anywhere}.is-score-fullscreen .score-side>p{font-size:11px;line-height:1.35;margin:10px 0}.is-score-fullscreen .score-values{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.is-score-fullscreen .score-cell{gap:4px}.is-score-fullscreen .score-cell>span{font-size:10px;line-height:1.2;min-height:24px}.is-score-fullscreen .score-cell strong{font-size:50px;line-height:1.2}.is-score-fullscreen .score-cell button{min-width:24px;min-height:32px;padding:4px 9px;font-size:12px}.is-score-fullscreen .score-side .score-club-logo{width:48px;height:48px;margin:12px auto 0}.is-score-fullscreen .score-clock-cluster{gap:14px;margin:0;justify-content:center}.is-score-fullscreen .score-clock{font-size:72px;padding:10px;line-height:1.1}.is-score-fullscreen .score-clock-toggle{font-size:34px;min-height:0;border-radius:9px;padding:8px 16px}.is-score-fullscreen .score-clock-gs{font-size:14px;line-height:1}.is-score-fullscreen .score-hold{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;min-height:0}.is-score-fullscreen .score-hold-side{padding:8px 10px;gap:5px;border-radius:6px;min-height:0;align-content:space-between}.is-score-fullscreen .score-hold-side>.score-hold-title{font-size:20px;line-height:1.2}.is-score-fullscreen .score-hold-side strong{font-size:34px;line-height:1.1}.is-score-fullscreen .score-hold-recipient{font-size:12px;line-height:1.2}.is-score-fullscreen .score-hold-actions{gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.judo-scoreboard.is-score-fullscreen .score-hold-actions button{font-size:12px;min-height:36px;padding:6px 3px}.is-score-fullscreen>.score-extra{display:none}.is-score-fullscreen.score-tools-open>.score-extra{display:block;position:absolute;z-index:4;top:64px;left:50%;transform:translateX(-50%);box-sizing:border-box;width:min(900px,96vw);max-height:calc(100dvh - 80px);overflow:auto;background:#172435;padding:18px;border:1px solid #8091a8;border-radius:12px;margin:0;box-shadow:0 20px 60px #000b}.is-score-fullscreen>.score-message{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);z-index:3;max-width:90%;margin:0;background:#101923ee;border-radius:6px;padding:4px 8px;font-size:12px;pointer-events:none}.is-score-fullscreen>.score-message:empty{display:none}@media(max-width:540px){.is-score-fullscreen.score-tools-open>.score-extra{padding:12px}.is-score-fullscreen .score-extra .score-controls{grid-template-columns:1fr}.judo-scoreboard.is-score-fullscreen .score-toolbar button{font-size:11px;padding:7px 8px}}
.scoreboard-shell{box-sizing:border-box;padding:0;border:0;background:transparent;max-width:100vw;max-height:100dvh;overflow:visible}.scoreboard-shell::backdrop{background:#000c}.is-score-fullscreen .score-side>small{display:block}
.judo-scoreboard{box-sizing:border-box}.is-score-fullscreen.score-tools-open>.score-extra{top:var(--score-tools-top,64px);max-height:calc(100dvh - var(--score-tools-top,64px) - 12px)}

/* Registration approval and credential forms share the tournament layout. */
.access-header h1{margin-bottom:18px}.access-navigation{display:flex;flex-wrap:wrap;gap:10px}.access-navigation button{min-height:48px;white-space:normal}.access-content{margin-top:24px;min-width:0}.access-form{max-width:850px}.access-form h2{line-height:1.4}.access-form .club-fields{align-items:end}.access-form .access-feedback{grid-column:1/-1;overflow-wrap:anywhere}.access-badge{display:inline-block;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:700;background:#fff1cc;color:#6f4d06}.access-badge.approved{background:#dcf5e4;color:#155c37}.access-badge.rejected,.access-badge.revoked{background:#fde5e4;color:#8b2525}.access-card-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.access-card-heading h3{overflow-wrap:anywhere;margin:0}.access-details{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,3fr);gap:12px 20px;margin:24px 0}.access-details dt{font-weight:700;color:var(--muted)}.access-details dd{margin:0;overflow-wrap:anywhere}.access-application details>.access-form{border:0;padding:0;box-shadow:none}.access-feedback{line-height:1.6}.access-application summary{min-height:44px}.access-form input:focus-visible{outline:3px solid #467f60;outline-offset:2px}.access-navigation button:focus-visible{outline:3px solid #467f60;outline-offset:2px}@media(max-width:600px){.access-details{grid-template-columns:1fr;gap:5px}.access-details dd{margin-bottom:14px}.access-navigation button{flex:1 1 100%}.access-card-heading{align-items:start;flex-direction:column}}

/* White page and entry fields in the tournament section, at every screen size. */
body.learning-open:has(#learning-tools .tournament){--paper:#fff;background:#fff}
body.learning-open:has(#learning-tools .tournament) :is(header,.mobile-nav,.learning-shortcuts),#learning-tools .tournament{background:#fff}

/* Dedicated registration entry points and a form-only operator page. */
#sidecats{min-height:0;overflow-y:auto;overscroll-behavior:contain}.tournament-register-nav{white-space:normal;line-height:1.5;border:1px solid var(--teal);color:var(--teal)}.tournament-register-home{background:#fff;border:2px solid var(--teal)}.tournament-register-quick{display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;line-height:1.5;min-height:44px}.learning-shortcuts:has(.tournament-register-quick){flex-wrap:wrap}.learning-shortcuts .tournament-register-quick{flex:1 1 100%}
body.entry-only-page{background:#fff;--paper:#fff}.entry-only-page #entry-portal{max-width:1400px;margin:0 auto;padding:20px 24px 40px;min-height:100dvh}.entry-only-page .access-header h1{font-size:28px;line-height:1.3}.entry-only-page .access-form{margin-inline:auto}.entry-only-panel .club-tabs{margin:0 0 24px}.entry-only-panel .club-panel{margin:0 0 20px;padding:28px}.entry-only-panel .club-panel h2{font-size:24px;margin:0 0 24px}.entry-only-panel .club-fields{gap:20px;margin:0}.entry-only-panel .plan-field input,.entry-only-panel .plan-field select{min-height:52px;background:#fff}.entry-only-panel .club-fields>button{min-height:52px}.entry-tournament-name{font-size:14px;color:var(--muted);margin:0 0 16px}.entry-only-panel .tournament-status{position:static;box-shadow:none;background:#fff;margin:18px 0 0}.entry-only-panel .tournament-status.has-error{background:#fff1df}.entry-records{margin:28px 0}.entry-records .athlete-card{margin:12px 0}.entry-session{display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap;margin-top:20px;padding:16px 0;border:0}.entry-session-link{display:inline-flex;align-items:center;min-height:44px;color:var(--teal);font-size:14px;text-decoration:underline;background:transparent}.entry-only-page .access-feedback{overflow-wrap:anywhere}@media(max-width:600px){.entry-only-page #entry-portal{padding:16px 12px calc(24px + env(safe-area-inset-bottom,0px))}.entry-only-panel .club-panel{padding:20px 16px}.entry-only-panel .club-panel h2{font-size:22px}.entry-only-panel .club-fields{gap:16px}.entry-only-page .access-header h1{font-size:24px}}

.organization-panel{min-width:0}.organization-panel>h2{margin-top:24px}.organization-status{min-height:26px;font-size:14px;line-height:1.7;margin:20px 0}.organization-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:20px 0}.organization-tools label{flex:1 1 240px}.organization-tools select{width:100%;min-width:0;max-width:100%;min-height:48px;padding:12px;border:1px solid #c9d8ce;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:16px}.organization-tools button{min-height:48px}.organization-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.organization-stat{border:1px solid #cadbd1;border-radius:14px;padding:20px;background:#edf5ef;display:flex;flex-direction:column;gap:10px;min-width:0}.organization-stat strong{font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}.organization-stat span{font-size:13px;line-height:1.5}.organization-section h3,.organization-info h3{margin:0;font-size:19px;line-height:1.5}.organization-section .organization-section{padding:0;border:0;margin-bottom:0}.organization-section .organization-section>h3{display:none}.organization-table{width:100%;min-width:590px;border-collapse:collapse;font-size:14px}.organization-table caption{position:absolute;clip-path:inset(100%);width:1px;height:1px;overflow:hidden}.organization-table th,.organization-table td{padding:14px;text-align:left;vertical-align:top;line-height:1.6;border-bottom:1px solid #dfe7e1;overflow-wrap:anywhere}.organization-table th{background:#edf3ef;font-weight:700}.organization-table tbody tr:nth-child(even){background:#fafcfb}.organization-table-wrap{margin-bottom:0}.organization-info .access-details{margin-bottom:0}@media(max-width:700px){.organization-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.organization-stat{padding:16px}.organization-tools>*{flex:1 1 100%}.organization-tools label{flex-basis:100%}.organization-table{font-size:13px}.organization-table th,.organization-table td{padding:12px}}@media(max-width:350px){.organization-stats{grid-template-columns:1fr}}
