.competition-board{background:var(--canvas);min-height:100vh;color:var(--text-primary);padding:var(--space-4);font-family:var(--font-ui)}.board-header{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:2px solid var(--brand);padding-bottom:var(--space-3);display:flex}.board-header>div{align-items:baseline;gap:var(--space-4);min-width:0;display:flex}.board-header b{color:var(--brand);font-size:var(--text-xl)}.board-header h1{font-size:var(--text-lg);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.board-header span,.board-config span{color:var(--text-secondary)}.board-config{margin:var(--space-4) 0;padding:var(--space-4);background:var(--surface);border:1px solid var(--border-default);justify-items:start;gap:var(--space-3);display:grid}.board-config>button{height:var(--control-sm);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-size:var(--text-sm)}.board-config>button:hover{border-color:var(--accent);color:var(--accent)}.board-config>div:first-child{justify-content:space-between;justify-self:stretch;gap:var(--space-4);display:flex}.board-column-toggles{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.board-column-toggles label{align-items:center;gap:var(--space-2);display:flex}.board-default-settings{gap:var(--space-3);display:grid}.board-default-columns{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.board-default-columns label{align-items:center;gap:var(--space-2);display:flex}.board-config-toggle{height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);flex:none}.board-config-toggle:hover{border-color:var(--accent);color:var(--accent)}.board-scroll{border:1px solid var(--border-strong);background:var(--surface);max-height:calc(100vh - 130px);overflow:auto}.competition-board table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.competition-board th,.competition-board td{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:var(--space-2);text-align:center;white-space:nowrap}.competition-board tbody th{text-align:left;background:var(--surface);z-index:1;min-width:210px;position:sticky;left:0}.competition-board thead th{background:var(--surface-sunken);z-index:2;font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary);position:sticky}.competition-board tbody th small{color:var(--text-secondary);font-weight:var(--weight-normal);display:block}.competition-board thead tr:first-child th{top:0}.competition-board .board-athlete-head{z-index:3;left:0}.competition-board .board-lift-head{color:var(--text-primary);font-size:var(--text-xs);border-bottom-color:var(--border-strong)}.competition-board{--board-head-row:29px}.competition-board .board-round-head th{top:var(--board-head-row);font-family:var(--font-mono)}.competition-board thead th.lift-end,.competition-board td.lift-end{border-right:1px solid var(--border-strong)}.competition-board tbody tr:nth-child(2n) th,.competition-board tbody tr:nth-child(2n) td{background:var(--surface-hover)}.competition-board tr.on-platform th{box-shadow:inset 4px 0 var(--brand)}.board-attempt{min-width:56px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.competition-board .board-attempt.pending{color:var(--text-secondary)}.competition-board .board-attempt.unsubmitted{color:var(--text-tertiary)}.competition-board .board-attempt.good{background:var(--attempt-good-fill);color:var(--text-on-accent);font-weight:var(--weight-semibold)}.competition-board .board-attempt.bad{background:var(--attempt-bad-fill);color:var(--text-on-accent);font-weight:var(--weight-semibold)}.competition-board .board-attempt.active{background:var(--attempt-current-fill);color:var(--text-on-accent);font-weight:var(--weight-semibold);box-shadow:inset 0 0 0 2px var(--surface)}.competition-board .board-attempt.good,.competition-board .board-attempt.bad,.competition-board .board-attempt.active{border-bottom-color:#ffffff4d;border-right-color:#ffffff8c}.competition-board td.lift-end{border-right:2px solid var(--border-strong)}.competition-board .board-attempt.good.lift-end,.competition-board .board-attempt.bad.lift-end,.competition-board .board-attempt.active.lift-end{border-right:2px solid #fff}.board-cell--total,.board-cell--forecastTotal,.board-cell--subtotal,.board-cell--glPoints{font-family:var(--font-mono)}.board-cell--total,.board-cell--place{font-weight:var(--weight-semibold);color:var(--text-primary)}.board-cell--lot,.board-cell--bodyweight{font-family:var(--font-mono);color:var(--text-secondary)}.board-cell--forecastTotal,.board-cell--forecastPlace{color:var(--text-tertiary)}.competition-board footer{color:var(--text-tertiary);font-size:var(--text-xs);padding-top:var(--space-3)}.competition-board.compact{--board-head-row:23px}.competition-board.compact th,.competition-board.compact td{padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.jury-screen{background:var(--canvas);min-height:100vh;color:var(--text-primary);font-family:var(--font-ui)}.jury-screen>header{background:var(--identity);color:#fff;align-items:center;gap:var(--space-8);min-height:70px;padding:var(--space-3) var(--space-6);display:flex}.jury-screen>header h1{font-size:var(--text-xl);margin:0}.jury-screen>header span{color:var(--border-default)}.jury-screen>main{grid-template-columns:minmax(280px,30%) 1fr;min-height:calc(100vh - 70px);display:grid}.jury-screen aside{border-right:1px solid var(--border-default);padding:var(--space-4);overflow:auto}.jury-screen aside button{text-align:left;gap:var(--space-1);width:100%;margin-bottom:var(--space-2);background:var(--surface);color:var(--text-primary);border:1px solid var(--border-default);grid-template-columns:1fr auto;display:grid}.jury-screen aside button span{color:var(--text-secondary);grid-column:1}.jury-screen aside button em{grid-area:1/2/3;align-self:center;font-style:normal}.jury-screen aside button.active{border-color:var(--accent);background:var(--accent-subtle)}.jury-review{max-width:850px;padding:var(--space-8)}.jury-review h2{font-size:var(--text-2xl)}.jury-attempt{align-items:end;gap:var(--space-4);display:flex}.jury-attempt strong{font:var(--weight-bold) var(--text-4xl) var(--font-mono)}.jury-lights{gap:var(--space-4);margin:var(--space-6) 0;display:flex}.jury-lights i{aspect-ratio:1;border-radius:var(--radius-full);background:var(--border-strong);width:64px}.jury-lights i.good{background:var(--surface);border:4px solid var(--border-strong)}.jury-lights i.bad{background:var(--attempt-bad-fill)}.jury-review label{gap:var(--space-2);display:grid}.jury-review textarea{resize:vertical;min-height:110px}.jury-actions{gap:var(--space-3);margin-top:var(--space-4);display:flex}.jury-history{padding:var(--space-3);border-left:3px solid var(--accent);background:var(--accent-subtle)}.results-tabs{gap:var(--space-2);border-bottom:1px solid var(--border-default);margin:var(--space-4) 0;display:flex}.results-tabs button{color:var(--text-secondary);background:0 0;border:0;border-bottom:2px solid #0000}.results-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.result-actions{gap:var(--space-2);display:flex}.results-export-panel{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-default);background:var(--surface);display:grid}.results-export-panel>div:first-child{gap:var(--space-1);display:grid}.results-export-panel span{color:var(--text-secondary)}.results-export-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.opl-export-fields{align-items:end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-default);grid-template-columns:repeat(3,minmax(150px,1fr)) auto;display:grid}.opl-export-fields label{gap:var(--space-2);display:grid}.results-wide-table{border:1px solid var(--border-default);overflow:auto}.results-wide-table table,.stats-module table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.results-wide-table th,.results-wide-table td,.stats-module th,.stats-module td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-default);text-align:right;white-space:nowrap}.results-wide-table th:nth-child(2),.results-wide-table td:nth-child(2),.stats-module th:first-child{text-align:left}.results-wide-table tbody th small{color:var(--text-secondary);font-weight:var(--weight-normal);display:block}.stats-module dl{border-block:1px solid var(--border-default);grid-template-columns:repeat(4,1fr);display:grid}.stats-module dl div{padding:var(--space-4);border-right:1px solid var(--border-default)}.stats-module dt{color:var(--text-secondary)}.stats-module dd{margin:var(--space-2) 0 0;font:var(--weight-semibold) var(--text-2xl) var(--font-mono)}.athlete-photo-field{gap:var(--space-2);grid-row:span 2;align-content:start;display:grid}.athlete-photo-field img,.athlete-photo-field>span{object-fit:cover;background:var(--surface-sunken);width:140px;height:140px;color:var(--text-secondary);place-items:center;display:grid}.athlete-photo-field input{max-width:240px}.athletes-module{flex-direction:column;display:flex}.athletes-module>.module-intro{order:0}.athletes-module>.roster-accordion{order:1}.athletes-module>.active-registration-workspace{order:2}.athletes-module>.organizer-accordion{order:3}.athlete-intro-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.athlete-intro-actions>button,.athlete-intro-actions>.import-athletes{min-height:var(--control-md);align-items:center;gap:var(--space-2);padding:0 var(--space-3);white-space:nowrap;display:inline-flex}.registration-accordion{margin-bottom:var(--space-3);border:1px solid var(--border-default);background:var(--surface)}.registration-accordion>summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:58px;padding:var(--space-3) var(--space-4);cursor:pointer;background:var(--surface);list-style:none;display:flex}.registration-accordion>summary::-webkit-details-marker{display:none}.registration-accordion>summary>div{gap:2px;display:grid}.registration-accordion>summary small{color:var(--accent);font-size:var(--text-2xs);letter-spacing:var(--tracking-label)}.registration-accordion>summary strong{font-size:var(--text-md)}.registration-accordion>summary>span{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);display:flex}.registration-accordion>summary>span:after{content:"+";border:1px solid var(--border-default);width:26px;height:26px;color:var(--text-primary);font:var(--weight-semibold) var(--text-md) var(--font-mono);place-items:center;display:grid}.registration-accordion[open]>summary{border-bottom:1px solid var(--border-default);background:var(--surface-sunken)}.registration-accordion[open]>summary>span:after{content:"−"}.registration-accordion-content{gap:var(--space-3);padding:var(--space-3);display:grid}.roster-accordion-content{padding:0}.roster-accordion-content>.toolbar{padding:var(--space-3);border-bottom:1px solid var(--border-default);margin:0}.roster-accordion-content>.toolbar .delete-all-athletes{align-items:center;gap:var(--space-1);min-height:34px;padding:0 var(--space-2);border-color:color-mix(in srgb,var(--danger) 55%,var(--border-default));color:var(--danger);font-size:var(--text-xs);white-space:nowrap;background:0 0;display:inline-flex}.roster-accordion-content>.toolbar .delete-all-athletes:disabled{opacity:.45;cursor:not-allowed}.roster-accordion-content>.roster-sheet-wrap,.organizer-accordion>.import-organizer{border:0}.active-registration-workspace{gap:var(--space-3);margin-bottom:var(--space-3);scroll-margin-top:var(--space-4);display:grid}.import-athletes{min-height:var(--control-md);padding:0 var(--space-3);border:1px solid var(--border-default);cursor:pointer;align-items:center;display:inline-flex}.import-athletes input{opacity:0;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.registration-link-card{align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-default);border-left:4px solid var(--accent);background:var(--surface);grid-template-columns:minmax(260px,1fr) minmax(280px,2fr) auto;display:grid}.registration-link-card h3,.registration-link-card p{margin:0}.registration-link-card code{padding:var(--space-2);text-overflow:ellipsis;color:var(--text-secondary);background:var(--surface-sunken);overflow:hidden}.registration-link-card>div:last-child{gap:var(--space-2);flex-wrap:wrap;display:flex}.registration-link-card>select{min-height:var(--control-md);padding:0 var(--space-3);border:1px solid var(--border-default);background:var(--surface-sunken);color:var(--text-primary)}.import-preview{border-left-color:var(--info,#2563eb)}.import-organizer{border-left-color:var(--warning,#d97706);grid-template-columns:minmax(260px,1fr) auto}.organizer-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.detected-category-groups{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-default);grid-column:1/-1;display:grid}.detected-category-groups>header,.detected-category-groups>footer{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.detected-category-groups>header>div{gap:var(--space-1);display:grid}.detected-category-groups>header strong{align-items:center;gap:var(--space-2);display:flex}.detected-category-groups>header strong i,.category-assignment-flow header>i{color:#fff;background:var(--accent);width:25px;height:25px;font:var(--weight-semibold) var(--text-xs) var(--font-mono);flex:none;place-items:center;font-style:normal;display:grid}.detected-category-groups>header .category-selection-tools{align-items:center;gap:var(--space-3);display:flex}.category-selection-tools>div{column-gap:var(--space-2);grid-template-columns:auto auto;align-items:center;min-width:170px;display:grid}.category-selection-tools>div b{color:var(--accent);font:var(--weight-semibold) var(--text-3xl) var(--font-mono);grid-row:1/3}.category-selection-tools>div span{color:var(--text-primary);font-size:var(--text-xs)}.category-selection-tools>div small{color:var(--text-secondary);font-size:var(--text-2xs)}.detected-category-groups>header span,.detected-category-groups>footer>span{color:var(--text-secondary);font-size:var(--text-xs)}.category-groups-by-sex{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.category-sex-column{--category-group-color:var(--accent);border-top:3px solid var(--category-group-color);min-width:0}.category-sex-column.male{--category-group-color:#2563eb}.category-sex-column.female{--category-group-color:#dc3c32}.category-sex-column>header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.category-sex-column>header strong{color:var(--category-group-color);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-label)}.category-sex-column>header span{color:var(--text-secondary);font-size:var(--text-xs)}.category-sex-column .category-group-options{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.category-sex-column .category-group-options input{accent-color:var(--category-group-color)}.category-sex-column .category-group-options label.selected{border-color:var(--category-group-color);background:color-mix(in srgb,var(--category-group-color) 9%,var(--surface))}.category-group-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.category-group-options>p{color:var(--text-secondary);margin:0}.category-group-options label{align-items:center;gap:var(--space-2);min-width:210px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);background:var(--surface-sunken);cursor:pointer;display:flex}.category-group-options label.selected{border-color:var(--accent);background:var(--accent-subtle)}.category-group-options label>span{gap:2px;display:grid}.category-group-options label b{font-size:var(--text-sm)}.category-group-options label small{color:var(--text-secondary);font-size:var(--text-xs)}.category-group-options label em{color:var(--text-tertiary);font-size:var(--text-2xs);font-style:normal}.category-group-options label.assigned{--assignment-color:var(--flight-color,var(--success));border-color:color-mix(in srgb,var(--assignment-color) 55%,var(--border-default));background:color-mix(in srgb,var(--assignment-color) 9%,var(--surface));box-shadow:inset 4px 0 var(--assignment-color)}.category-group-options label.assigned.selected{outline:2px solid var(--category-group-color);outline-offset:-2px}.category-group-options label.assigned b{color:var(--assignment-color);opacity:.88;text-decoration:line-through;text-decoration-thickness:1px}.category-group-options label.assigned em{color:var(--assignment-color);font-weight:var(--weight-semibold)}.category-group-options label.assigned em:before{content:"●";margin-right:5px}.category-group-options label.multi-flight-assignment{--assignment-color:#7c3aed}.category-group-options label.partially-assigned em{color:var(--warning);font-weight:var(--weight-semibold)}.detected-category-groups>footer>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.category-assignment-flow{gap:var(--space-3);padding-top:var(--space-1);grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);display:grid}.category-assignment-flow>section{align-content:start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-default);background:var(--surface-sunken);display:grid}.category-assignment-flow header{align-items:flex-start;gap:var(--space-2);display:flex}.category-assignment-flow header>div{gap:2px;display:grid}.category-assignment-flow header strong{font-size:var(--text-sm)}.category-assignment-flow header span{color:var(--text-secondary);font-size:var(--text-xs)}.destination-fields{gap:var(--space-2);grid-template-columns:minmax(140px,1fr) minmax(110px,.7fr) minmax(150px,1fr);align-items:end;display:grid}.destination-fields label,.destination-fields>div{gap:var(--space-1);color:var(--text-secondary);font-size:var(--text-xs);display:grid}.destination-fields select{width:100%;min-height:var(--control-md);padding:0 var(--space-2);border:1px solid var(--border-default);color:var(--text-primary);background:var(--surface)}.destination-fields>div{min-height:var(--control-md);padding:0 var(--space-3);border-left:3px solid var(--accent);background:var(--surface);align-content:center}.destination-fields>div strong{color:var(--text-primary);font-size:var(--text-sm)}.destination-fields>div small{font-size:var(--text-2xs)}.assignment-confirm>button{width:100%;min-height:var(--control-md)}.assignment-confirm>small{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.missing-assignment-target{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2);color:var(--warning);display:flex}.assignment-success{padding:var(--space-3);border-left:3px solid var(--success);color:var(--success);background:var(--success-subtle);font-size:var(--text-sm);margin:0}.assignment-results{gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-default);display:grid}.assignment-results>header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.assignment-results>header>div{gap:2px;display:grid}.assignment-results>header strong{font-size:var(--text-sm)}.assignment-results>header span{color:var(--text-secondary);font-size:var(--text-xs)}.assignment-results>header em{padding:var(--space-1) var(--space-2);font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-semibold);text-transform:uppercase}.assignment-results>header em.complete{color:var(--success);background:var(--success-subtle)}.assignment-results>header em.pending{color:var(--warning);background:var(--warning-subtle)}.assignment-results>div{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.assignment-results article{border:1px solid var(--border-default);background:var(--surface)}.assignment-results article>header{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:38px;padding:0 var(--space-3);border-bottom:1px solid var(--border-default);background:var(--surface-sunken);display:flex}.assignment-results article>header strong{font-size:var(--text-sm)}.assignment-results article>header span{color:var(--text-secondary);font-size:var(--text-xs)}.assignment-results article>div>div{align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--border-default);grid-template-columns:30px 72px 74px 1fr;display:grid}.assignment-results article>div>div:last-child{border-bottom:0}.assignment-results article>div b{color:#fff;background:var(--flight-color);width:26px;height:26px;font:var(--weight-semibold) var(--text-xs) var(--font-mono);place-items:center;display:grid}.assignment-results article>div span,.assignment-results article>div strong{font-size:var(--text-xs)}.assignment-results article>div small{color:var(--text-secondary);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-quick-assignments{padding-top:var(--space-2);border-top:1px solid var(--border-default)}.roster-quick-assignments summary{color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer}.roster-quick-assignments p{margin:var(--space-2) 0;color:var(--text-secondary);font-size:var(--text-xs)}.roster-quick-assignments>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.import-review{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border-default);border-top:4px solid var(--accent);background:var(--surface);display:grid}.import-review-head{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.import-review-head h3{margin:var(--space-1) 0;font-size:var(--text-xl)}.import-review-head p,.import-review-head span{color:var(--text-secondary);margin:0}.import-review-head p strong{color:var(--text-primary)}.import-review-status{justify-items:end;min-width:190px;display:grid}.import-review-status b{font:var(--weight-semibold) var(--text-3xl) var(--font-mono)}.import-review-status span{font-size:var(--text-xs)}.import-review-status em{margin-top:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-semibold);text-transform:uppercase}.import-review-status em.complete{color:var(--success);background:var(--success-subtle)}.import-review-status em.pending{color:var(--warning);background:var(--warning-subtle)}.import-review-summary{border-block:1px solid var(--border-default);grid-template-columns:repeat(5,minmax(120px,1fr));margin:0;display:grid}.import-review-summary div{padding:var(--space-3);border-right:1px solid var(--border-default)}.import-review-summary div:last-child{border-right:0}.import-review-summary dt{color:var(--text-secondary);font-size:var(--text-xs)}.import-review-summary dd{margin:var(--space-1) 0 0;font:var(--weight-semibold) var(--text-xl) var(--font-mono)}.import-review-explanation{color:var(--text-secondary);margin:0}.import-review-table-wrap{border:1px solid var(--border-default);max-height:480px;overflow:auto}.import-review-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:var(--text-xs);font-variant-numeric:tabular-nums}.import-review-table th{z-index:1;padding:var(--space-2) var(--space-3);text-align:left;white-space:nowrap;color:var(--text-secondary);background:var(--surface-sunken);border-bottom:1px solid var(--border-strong);position:sticky;top:0}.import-review-table td{padding:var(--space-2) var(--space-3);white-space:nowrap;border-bottom:1px solid var(--border-default)}.import-review-table tbody tr:hover{background:var(--surface-hover)}.import-review-table tr.needs-organization{background:var(--warning-subtle)}.import-review>footer{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.import-review>footer p{color:var(--text-secondary);margin:0}.import-review>footer div{gap:var(--space-2);flex-shrink:0;display:flex}.import-read-error{gap:var(--space-1) var(--space-4);padding:var(--space-4);border:1px solid var(--danger);border-left:4px solid var(--danger);background:var(--danger-subtle);grid-template-columns:1fr auto;display:grid}.import-read-error p{margin:0}.import-read-error button{grid-area:1/2/3}.roster-sheet-wrap{border:1px solid var(--border-default);background:var(--surface);min-height:300px;max-height:calc(100vh - 250px);overflow:auto}.roster-sheet{border-collapse:collapse;width:max-content;min-width:100%;font-size:var(--text-xs);font-variant-numeric:tabular-nums}.roster-sheet th{z-index:2;padding:var(--space-2) var(--space-3);text-align:left;white-space:nowrap;color:var(--text-secondary);background:var(--surface-sunken);border-bottom:1px solid var(--border-strong);position:sticky;top:0}.roster-sheet td{height:52px;padding:var(--space-2) var(--space-3);white-space:nowrap;border-bottom:1px solid var(--border-default)}.roster-sheet th:nth-child(2),.roster-sheet td:nth-child(2){background:var(--surface);min-width:240px;max-width:280px;box-shadow:8px 0 12px -10px var(--text-primary),1px 0 var(--border-strong);isolation:isolate;position:sticky;left:0}.roster-sheet th:nth-child(2){z-index:4;background:var(--surface-sunken)}.roster-sheet td:nth-child(2){z-index:3}.roster-sheet tbody tr:hover,.roster-sheet tbody tr:hover td:nth-child(2){background:var(--surface-hover)}.roster-sheet tr.needs-organization{background:var(--warning-subtle)}.roster-sheet tr.needs-organization td:nth-child(2){background:color-mix(in srgb,var(--warning) 12%,var(--surface))}.roster-sheet .athlete-name-button{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.roster-sheet em.complete,.roster-sheet em.pending{padding:var(--space-1) var(--space-2);font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-semibold)}.roster-sheet em.complete{color:var(--success);background:var(--success-subtle)}.roster-sheet em.pending{color:var(--warning);background:var(--warning-subtle)}.roster-opener{border:1px solid var(--border-default);background:var(--surface-sunken);flex-wrap:wrap;align-items:center;width:112px;display:flex}.roster-opener:focus-within{border-color:var(--accent)}.roster-opener input{width:78px;min-height:34px;padding:0 var(--space-2);color:var(--text-primary);font:var(--weight-semibold) var(--text-sm) var(--font-mono);background:0 0;border:0;outline:0}.roster-opener input:disabled{color:var(--text-secondary);cursor:not-allowed}.roster-opener span{color:var(--text-secondary);font-size:var(--text-2xs)}.roster-opener .attempt-origin{padding:var(--space-1) var(--space-2);border-top:1px solid var(--border-default);flex-basis:100%}.roster-mobile-help{display:none}@media (width<=650px){.roster-mobile-help{font-size:var(--text-xs);color:var(--text-secondary);margin:var(--space-4);display:block}.roster-sheet-wrap{min-height:0;max-height:none;overflow:visible}.roster-sheet,.roster-sheet tbody{width:100%;min-width:0;display:block}.roster-sheet thead{display:none}.roster-sheet tbody tr{padding:var(--space-3);gap:var(--space-3);border-bottom:1px solid var(--border-strong);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.roster-sheet td{white-space:normal;border:0;min-width:0;height:auto;padding:0;display:none}.roster-sheet td[data-label]{grid-column:span 3;display:block}.roster-sheet td[data-label]:before{content:attr(data-label);font-size:var(--text-2xs);color:var(--text-secondary);margin-bottom:var(--space-1);display:block}.roster-sheet td:nth-child(2){min-width:0;max-width:none;box-shadow:none;background:0 0;order:-1;grid-column:span 6;position:static}.roster-sheet td:nth-child(2):before{display:none}.roster-sheet .athlete-name-button{min-height:var(--space-12);white-space:normal;text-align:left;max-width:100%;font-size:var(--text-base)}.roster-sheet td.roster-opener-cell{grid-column:span 2}.roster-sheet td.roster-opener-cell:nth-child(17){grid-column:1/span 2}.roster-sheet .roster-opener{width:100%}.roster-sheet .roster-opener input{min-width:0;width:calc(100% - var(--space-4));min-height:var(--space-12);padding:0 var(--space-1)}.roster-sheet input,.roster-sheet select{max-width:100%;min-height:var(--space-12)}}.not-applicable{text-align:center;width:112px;color:var(--text-tertiary);display:block}.roster-number-input{width:78px;min-height:34px;padding:0 var(--space-2);border:1px solid var(--border-default);color:var(--text-primary);background:var(--surface-sunken);font:var(--weight-semibold) var(--text-sm) var(--font-mono)}.roster-number-input:focus{border-color:var(--accent);outline:0}.roster-number-input.lot{width:62px}.roster-assignment{min-width:110px;min-height:34px;padding:0 var(--space-2);border:1px solid var(--border-default);color:var(--text-primary);background:var(--surface-sunken)}.roster-assignment.platform{min-width:160px}.roster-assignment.session{min-width:150px}@media (width<=900px){.registration-link-card{grid-template-columns:1fr}.detected-category-groups>header,.detected-category-groups>footer{flex-direction:column;align-items:stretch}.detected-category-groups>footer>div{justify-content:flex-end}.athletes-module>.module-intro{flex-direction:column;align-items:flex-start}.athlete-intro-actions{justify-content:flex-start}}@media (width<=650px){.athlete-intro-actions{width:100%}.athlete-intro-actions>button,.athlete-intro-actions>.import-athletes{flex:1 1 calc(50% - var(--space-2));justify-content:center}.roster-accordion-content>.toolbar{flex-wrap:wrap;height:auto}.roster-accordion-content>.toolbar input{flex-basis:65%}.roster-accordion-content>.toolbar .delete-all-athletes{justify-content:center;width:100%}}@media (width<=600px){.detected-category-groups>header .category-selection-tools{flex-direction:column;align-items:stretch}.category-selection-tools>div{min-width:0}.category-selection-tools>button{width:100%}}@media (width<=760px){.category-groups-by-sex{grid-template-columns:1fr}}@media (width<=900px){.category-assignment-flow{grid-template-columns:1fr}.destination-fields{grid-template-columns:1fr 1fr}.destination-fields>div{grid-column:1/-1}}@media (width<=520px){.assignment-results article>div>div{grid-template-columns:30px 65px 1fr}.assignment-results article>div small{grid-column:2/-1}}@media (width<=900px){.import-review-head,.import-review>footer{flex-direction:column;align-items:stretch}.import-review-status{justify-items:start}.import-review-summary{grid-template-columns:repeat(2,1fr)}.import-review-summary div{border-bottom:1px solid var(--border-default)}.import-review>footer div{justify-content:flex-end}}.platform-athlete-photo{opacity:.12;filter:grayscale(.35);background-position:50%;background-size:cover;position:absolute;inset:0}.platform-athlete-photo:after{content:"";background:var(--surface-sunken);opacity:.35;position:absolute;inset:0}.platform-display>:not(.platform-athlete-photo){z-index:1;position:relative}.paperwork{background:var(--canvas);min-height:100vh;color:var(--text-primary);padding:var(--space-6);font-family:var(--font-ui)}.paperwork-tools{margin-bottom:var(--space-4);justify-content:flex-end;display:flex;position:sticky;top:0}.podium-sheet{gap:var(--space-5);margin:var(--space-3) 0 var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.podium-sheet article{break-inside:avoid}.podium-sheet h3{padding-bottom:var(--space-1);border-bottom:1px solid var(--border-default);font-size:var(--text-sm)}.podium-sheet ol{margin:var(--space-2) 0 0;padding:0;list-style:none}.podium-sheet li{align-items:baseline;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs);grid-template-columns:20px minmax(0,1fr) auto;display:grid}.podium-sheet li>span{font-family:var(--font-mono);font-weight:var(--weight-semibold)}.podium-sheet li>b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.podium-sheet li>small{color:var(--text-secondary);grid-column:2}.podium-sheet li>em{font-style:normal;font-family:var(--font-mono);font-variant-numeric:tabular-nums;grid-area:1/3/3;align-self:center}.podium-signature{margin-top:var(--space-10);color:var(--text-secondary);font-size:var(--text-xs)}.paper-page{max-width:1100px;min-height:720px;margin:0 auto var(--space-6);padding:var(--space-8);background:var(--surface);box-shadow:var(--shadow-md);break-after:page}.paper-page h1{border-bottom:2px solid var(--brand);padding-bottom:var(--space-2)}.paper-page table{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.paper-page th,.paper-page td{border:1px solid var(--border-strong);padding:var(--space-2);text-align:left;height:28px}.paperwork-supplement{padding-top:0}.attempt-card-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.attempt-paper-card{border:1px solid var(--border-strong);padding:var(--space-3);break-inside:avoid}.attempt-paper-card header,.attempt-paper-card footer{justify-content:space-between;gap:var(--space-3);display:flex}@media print{.paperwork{background:var(--surface);padding:0}.paperwork-tools{display:none}.paper-page{box-shadow:none;max-width:none;min-height:auto;margin:0}}@media (width<=800px){.jury-screen>main{grid-template-columns:1fr}.jury-screen aside{border-right:0;border-bottom:1px solid var(--border-default);max-height:35vh}.stats-module dl{grid-template-columns:1fr 1fr}.board-header>div{display:block}}.cloud-room{padding:var(--space-6);color:var(--text-primary);background:var(--canvas);overflow-anchor:none;min-height:100vh}.cloud-room header{justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--border-default);height:auto;min-height:0;padding:0 0 var(--space-4);display:flex;position:static}.cloud-room header>span{position:static}.cloud-room nav{gap:var(--space-2);margin-block:var(--space-4);flex-wrap:wrap;display:flex}.cloud-room__current{align-items:center;gap:var(--space-6);padding-block:var(--space-4);border-bottom:1px solid var(--border-default);flex-wrap:wrap;display:flex}.cloud-room__current strong{font-size:var(--text-xl)}.cloud-room__scroll{margin-block:var(--space-4);overflow-x:auto}.cloud-room table{border-collapse:collapse;width:100%}.cloud-room th,.cloud-room td{padding:var(--space-2);border-bottom:1px solid var(--border-default);text-align:left;white-space:nowrap}.cloud-room th[scope=row]{white-space:normal;min-width:12rem;max-width:16rem}.cloud-room td{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.cloud-room small{font-size:var(--text-xs);color:var(--text-secondary);font-weight:400;display:block}.cloud-room tr[aria-current=true]{outline:2px solid var(--accent);outline-offset:-2px}.cloud-room__attempt.good{background:var(--attempt-good-fill);color:var(--text-on-accent)}.cloud-room__attempt.bad{background:var(--attempt-bad-fill);color:var(--text-on-accent);text-decoration:line-through}.cloud-room footer{margin-top:var(--space-6);font-size:var(--text-xs);color:var(--text-secondary)}@media (width<=640px){.cloud-room{padding:var(--space-3)}.cloud-room header{flex-direction:column}}
