/* Shared player editor: catalog, category enrollment and full-page fallback. */
.ui-overlay:has(.player-drawer),.form-panel:has(.player-form) { background:var(--color-bg); }
.player-drawer { min-height:100dvh; display:flex; flex-direction:column; }
.player-drawer .overlay-heading { padding:20px 26px; background:var(--color-bg); }
.player-drawer .overlay-heading .eyebrow { color:var(--color-primary); letter-spacing:1.8px; }
.player-drawer .overlay-heading .icon-button { width:38px; height:38px; min-width:38px; border:1px solid var(--color-border); border-radius: 50%; }
.player-drawer .player-form { flex:1; display:flex; flex-direction:column; }
.player-form > .overlay-body { display:flex; flex-direction:column; gap:18px; padding:22px 26px 28px; }
.player-drawer .player-form > .overlay-body { flex:1; }
.player-form > .overlay-body > .section-note { margin:0; line-height:1.7; }
.player-form .player-form-card { margin:0; padding:20px; border:1px solid var(--color-border); border-radius: 12px; background:var(--color-surface); }
.player-card-heading { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.player-card-number { display:grid; place-items:center; flex:none; width:34px; height:34px; border:1px solid var(--color-border); border-radius: 10px; background:var(--color-soft); color:var(--color-primary); font:600 var(--font-size-label) var(--font-heading); }
.player-form .player-card-heading h3 { margin:0; color:var(--color-primary); font-size:14px; letter-spacing:-.2px; }
.player-card-heading p { margin:4px 0 0; color:var(--color-muted); font-size:var(--font-size-detail); line-height:1.5; }
.player-form .field-grid { gap:18px 16px; }
.player-form .editor-field[data-field=name],.player-form .editor-field[data-field=photo],.player-form .editor-field[data-field=active] { grid-column:1/-1; }
.player-form .player-rating .field-grid { grid-template-columns:minmax(0,1fr); }
.player-form .player-rating .field-wide { grid-column:auto; }
.player-form .radio-options { gap:8px; }
.player-form .radio-option { justify-content:center; min-width:48px; padding:10px 12px; }
.player-form .editor-field[data-field=sex] .radio-option { min-width:112px; justify-content:flex-start; }
.player-form .editor-field[data-field=active] { padding:12px 14px; border:1px solid var(--color-border); border-radius: 9px; background:var(--color-surface-tint); gap:0; }
.player-form .editor-field[data-field=active] .check-label { min-height:32px; }
.player-form .editor-field[data-field=active] .field-help { margin:2px 0 0 24px; }
.player-form .field-help { font-size:var(--font-size-detail); line-height:1.6; }
.player-level-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.player-level-heading output { display:none; flex:none; min-width:60px; padding:5px 9px; border:1px solid var(--color-border); border-radius: 7px; background:var(--color-soft); color:var(--color-primary); text-align:center; font:600 15px var(--font-heading); }
.enhanced .player-level-heading output { display:block; }
.player-level-heading output span { font-size:var(--font-size-label); font-weight:400; color:var(--color-muted); }
.player-form input[type=range] { display:block; width:100%; min-height:44px; margin:0; padding:0 2px; border:0; border-radius: 0; background:transparent; accent-color:var(--color-primary); cursor:pointer; }
.player-form input[type=range]:focus-visible { outline:2px solid var(--color-primary); outline-offset:2px; border-radius: 5px; }
.player-level-limits { display:flex; justify-content:space-between; padding-inline:2px; color:var(--color-muted); font-size:var(--font-size-label); }
.player-form input[type=file] { padding:8px; font-size:12px; }
.player-form input[type=file]::file-selector-button { min-height:34px; margin-right:10px; padding:6px 10px; border:0; border-radius: 5px; background:var(--color-soft); color:var(--color-primary); font:500 12px var(--font-body); cursor:pointer; }
.player-form-note { margin:0; padding:0 2px; color:var(--color-muted); font-size:var(--font-size-detail); line-height:1.7; }
.player-form > .overlay-footer { justify-content:space-between; gap:12px; padding:16px 26px; background:var(--color-bg); box-shadow:none; }
.player-form > .overlay-footer .button { min-height:44px; }
.player-form > .overlay-footer .button-primary { gap:18px; }
.player-context { display:flex; align-items:flex-start; gap:12px; padding:14px; border:1px solid var(--color-border-strong); border-radius: 10px; background:var(--color-soft); }
.player-context-icon { display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius: 8px; background:var(--color-surface); color:var(--color-primary); }
.player-context strong { font-size:12px; }
.player-context p { margin:5px 0 0; color:var(--color-muted); font-size:var(--font-size-detail); line-height:1.6; }
.enrollment-create { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; margin-top:5px; color:var(--color-muted); font-size:12px; }
.enrollment-create .text-link { display:inline-flex; align-items:center; gap:4px; min-height:44px; }
.enrollment-create .icon { width:16px; height:16px; }
html:not(.enhanced) .enrollment-create [data-pair-player-create] { display:none; }
.enrollment-created { margin:5px 0 0; font-size:12px; }
.enrollment-drawer { display:flex; flex-direction:column; min-height:100dvh; background:var(--color-bg); }
.enrollment-drawer .overlay-heading .eyebrow { color:var(--color-primary); }
.enrollment-drawer .overlay-heading .icon-button { flex:none; width:44px; height:44px; border:1px solid var(--color-border); border-radius:50%; }
.enrollment-drawer .enrollment-form { display:flex; flex-direction:column; flex:1; gap:0; }
.enrollment-form > .overlay-body { display:grid; align-content:start; gap:16px; }
.enrollment-drawer .enrollment-form > .overlay-body { flex:1; }
.enrollment-form > .overlay-body > .notice { margin:0; }

.enrollment-context {
  display:flex; align-items:center; gap:14px; padding:16px;
  border-radius:var(--radius-card); background:var(--color-primary-surface); color:var(--color-on-primary);
}
.enrollment-context-icon, .enrollment-selection-icon {
  display:grid; flex:none; place-items:center; border-radius:9px;
}
.enrollment-context-icon { width:44px; height:44px; background:#ffffff20; }
.enrollment-context-icon .icon { width:22px; height:22px; }
.enrollment-context-details { display:grid; gap:3px; min-width:0; overflow-wrap:anywhere; }
.enrollment-context-label { color:var(--color-on-primary-accent); font-size:var(--font-size-label); font-weight:600; }
.enrollment-context-details strong { font:700 clamp(16px, 4vw, 20px)/1.25 var(--font-heading); }
.enrollment-context-tournament { color:#ffffffd9; font-size:12px; }

.enrollment-selection .collection-heading h3 { color:var(--color-primary); }
.enrollment-selection-icon { width:30px; height:30px; background:var(--color-soft); }
.enrollment-selection .field-grid { grid-template-columns:minmax(0, 1fr); gap:14px; padding:var(--collection-inset); }
.enrollment-selection .editor-field[data-field=player2] { border-top:1px solid var(--collection-rule); padding-top:14px; }
.enrollment-slot-number {
  display:inline-grid; place-items:center; width:24px; height:24px; margin-inline-end:4px;
  border-radius:6px; background:var(--color-soft); color:var(--color-primary); vertical-align:middle;
}
.enrollment-selection .enrollment-create { margin-top:0; }
.enrollment-form > .overlay-footer { justify-content:space-between; flex-wrap:wrap; }
.enrollment-form > .overlay-footer .button { min-height:44px; }
.player-repair-action { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-top:10px; }
@media(max-width:768px) {
  .player-drawer .overlay-heading { padding:16px 10px; }
  .player-form > .overlay-body { gap:14px; padding:16px 10px 22px; }
  .player-form > .overlay-footer { padding:12px 10px; }
  .player-form .player-form-card { padding:16px 12px; }
  .player-card-heading { gap:10px; margin-bottom:18px; }
  .player-form .player-rating .field-grid { grid-template-columns:minmax(0,1fr); }
  .player-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]) { font-size:16px; }
  .player-form input[type=file] { font-size:12px; }
}

.phone-country-label { display: block; font-size: .78rem; color: var(--color-muted); margin-top: .2rem; }
