.player-editor-form{display:grid!important;gap:16px!important}.player-editor-form .player-editor-fields{display:grid!important;grid-template-columns:112px minmax(0,1fr);column-gap:20px;row-gap:12px;border:0!important;padding:0!important;margin:0!important;min-width:0}.player-editor-fields>legend{padding:0;margin-bottom:10px;font-size:13px}.player-editor-fields>legend:empty{display:none}.player-editor-fields>.form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 16px!important;margin:0!important}.player-editor-fields label{margin:0!important;font-size:12px;min-width:0}.player-editor-fields input:not([type=file]):not([type=hidden]),.player-editor-fields .country-trigger{min-height:44px!important;padding:10px 12px!important;font-size:14px!important;width:100%;min-width:0}.player-editor-fields>.tournament-roster-search{grid-column:1/-1;margin:0!important}.player-editor-fields>input[type=hidden]{display:none}.player-editor-fields .participant-photo-field{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0!important;min-width:0}.player-editor-fields .participant-photo-field>img,.player-photo-placeholder{width:112px;height:112px;border-radius:12px;object-fit:cover;background:#e9efea;border:1px solid #bdcac4}.player-photo-placeholder{display:grid;place-items:center;color:#7a8e88}.player-photo-placeholder svg{width:56px;height:56px}.participant-photo-field:has(img:not([hidden])) .player-photo-placeholder{display:none}.player-editor-fields .participant-photo-choose{position:relative;display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px!important;font:600 12px/1.3 system-ui!important;text-align:center;white-space:normal}.player-editor-fields .participant-photo-field .plain{font:12px/1.4 system-ui;min-height:36px}.player-editor-form>.auth-error:empty{display:none}.player-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0!important}.player-editor-actions>.btn{min-height:44px;padding:12px 28px;flex:1;max-width:280px}.player-editor-actions>.plain{font-size:12px;min-height:44px}.player-crop-dialog{width:min(440px,calc(100vw - 24px));padding:18px;border-radius:16px;border:1px solid #8da5aa;background:#fff;color:#183943;max-height:calc(100dvh - 24px);overflow:auto}.player-crop-dialog::backdrop{background:#102d36b0}.player-crop-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.player-crop-dialog h2{font:650 22px/1.2 system-ui;margin:0}.player-crop-dialog header button{font:28px/1 system-ui;min-width:40px;min-height:40px}.player-crop-dialog canvas{display:block;width:100%;aspect-ratio:1;height:auto;border-radius:8px;touch-action:none;cursor:grab;background:#e9efea}.player-crop-dialog canvas:active{cursor:grabbing}.player-crop-zoom{display:flex;gap:12px;align-items:center;margin-top:14px}.player-crop-zoom input{flex:1;min-width:0;padding:0;accent-color:#315f62;min-height:40px}.player-crop-dialog p{font:12px/1.5 system-ui;color:#657b82;margin:0 0 14px}.player-crop-dialog footer{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}.player-crop-dialog footer button{font-size:13px;padding:12px;min-height:44px}.site-dark .player-crop-dialog{background:#203f49;color:#f0f4e9}.site-dark .player-crop-dialog p{color:#bfd0d2}.site-dark .player-photo-placeholder{background:#2c4a54;color:#c3d1cf;border-color:#557078}
@media(max-width:600px){.player-editor-form .player-editor-fields{grid-template-columns:1fr;gap:12px}.player-editor-fields .participant-photo-field{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:10px}.player-editor-fields .participant-photo-field>img,.player-editor-fields .player-photo-placeholder{width:68px;height:68px}.player-editor-fields .participant-photo-field>input[type=hidden]{display:none}.player-editor-fields .participant-photo-choose{max-width:160px}.player-editor-fields>.form-grid{gap:10px!important}.player-editor-fields input{font-size:16px!important}.player-editor-fields .country-trigger{font-size:14px!important}.player-editor-actions>.btn{max-width:none}.player-crop-dialog{padding:14px}}
@media(max-height:650px){.player-crop-dialog canvas{width:min(100%,44dvh);margin:auto}}
/* One spacing scale for tournament, participant and document forms. */
#modal:has(#tournament-form,#division-form,.player-editor-form,.competition-documents-dialog){padding:24px;width:min(800px,calc(100% - 24px));max-height:94dvh;border-radius:14px}
#modal:has(#tournament-form,#division-form,.player-editor-form,.competition-documents-dialog)>.close{top:18px;right:18px;width:36px;height:36px;line-height:1}
#modal:has(#tournament-form,#division-form,.player-editor-form,.competition-documents-dialog) h2{font:650 clamp(22px,4vw,28px)/1.25 var(--font);padding-right:40px;margin:0 0 20px}
#tournament-form,#division-form{display:grid;gap:16px;margin:0}#tournament-form .form-grid,#division-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}#tournament-form label,#division-form label{margin:0;font-size:12px;min-width:0}#tournament-form input,#tournament-form select,#division-form input,#division-form select{padding:10px 12px;min-height:44px;font-size:14px;margin-top:6px;width:100%;min-width:0}#tournament-form .competition-tournament-details{margin:0;display:grid;gap:16px}#tournament-form .competition-system-choices,#division-form>.competition-system-choices{margin:0}#tournament-form .competition-system-choices button,#division-form .competition-system-choices button{font-weight:600;min-height:44px}#tournament-form details,#division-form details{margin:0;padding:12px 0;border-top:1px solid var(--line)}#tournament-form details>summary,#division-form details>summary{font-size:13px;font-weight:600}#tournament-form .tournament-main-fields label:has([name=title]),#tournament-form .tournament-main-fields label:has([name=venue]),#tournament-form label:has([name=judges]){grid-column:1/-1}#tournament-form>.auth-error:empty,#division-form>.auth-error:empty{display:none}#tournament-form>.btn,#division-form>.btn{margin:0;min-height:44px;font:650 14px/1.4 var(--font);padding:12px}#tournament-form fieldset,#division-form fieldset{margin:12px 0 0;padding:12px;min-width:0}
@media(max-width:600px){#modal:has(#tournament-form,#division-form,.player-editor-form,.competition-documents-dialog){padding:18px}#tournament-form .form-grid,#division-form .form-grid{gap:10px}#tournament-form input,#division-form input{font-size:16px}#modal:has(#tournament-form,#division-form,.player-editor-form,.competition-documents-dialog)>.close{top:12px;right:12px}}
.player-editor-form>.form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 16px!important}.player-editor-form>.form-grid label{margin:0;font-size:12px;min-width:0}.player-editor-form>.form-grid input,.player-editor-form>.form-grid select{width:100%;min-width:0;min-height:44px;padding:10px 12px;font-size:14px}.player-editor-actions>.btn{margin-left:auto!important}.player-editor-form .participant-photo-field>[hidden]{display:none!important}
#tournament-content-form,#tournament-schedule-form,#tournament-schedule-generate,#assign-match{display:grid;gap:14px;margin:0}#tournament-content-form label,#tournament-schedule-form label,#tournament-schedule-generate label{font-size:12px;margin:0;min-width:0}#tournament-content-form input,#tournament-content-form textarea,#tournament-schedule-form input,#tournament-schedule-form select,#tournament-schedule-generate input,#tournament-schedule-generate select{font-size:14px;min-height:44px;padding:10px 12px;width:100%;min-width:0}#tournament-schedule-form .form-grid,#tournament-schedule-generate .form-grid{gap:12px}#tournament-content-form>.btn,#tournament-schedule-form .btn,#tournament-schedule-generate>.btn,#assign-match>.btn{font-size:14px;min-height:44px;margin-top:0}
