/* Scheduling uses the same court, paper and typography as the player dossier. */
.ui-overlay:has(.schedule-drawer), .form-panel:has(.schedule-form) { background:var(--color-bg); }
.schedule-drawer { min-height:100dvh; display:flex; flex-direction:column; }
.schedule-drawer .overlay-heading { padding:20px 26px; background:var(--color-bg); }
.schedule-drawer .overlay-heading .eyebrow { color:var(--color-primary); font-size:9px; letter-spacing:1.8px; }
.schedule-drawer .overlay-heading h2 { margin:0; font-size:21px; letter-spacing:-.6px; }
.schedule-drawer .overlay-heading .icon-button { width:38px; height:38px; min-width:38px; border:1px solid var(--color-border); border-radius:50%; }
.schedule-drawer .schedule-form { flex:1; display:flex; flex-direction:column; }
.schedule-form > .overlay-body { display:flex; flex-direction:column; gap:18px; padding:22px 26px 28px; }
.schedule-drawer .schedule-form > .overlay-body { flex:1; }
.schedule-form > .overlay-footer { justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px 26px; background:var(--color-bg); box-shadow:none; }
.schedule-form > .overlay-footer .button { min-height:44px; }
.schedule-form > .overlay-footer .button-primary { gap:18px; }
.schedule-form .schedule-hero { flex:none; padding:22px; border-radius:14px; }
.schedule-hero-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.schedule-hero .participant-category { font-size:10px; line-height:1.5; }
.schedule-hero-status { display:inline-flex; align-items:center; gap:6px; color:var(--color-accent); font-size:10px; font-weight:600; }
.schedule-hero-status::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; }
.schedule-competition { margin:20px 0 18px; color:#d0e0d3; font-size:11px; line-height:1.65; }
.schedule-competition > span { color:#8cba9f; margin-inline:5px; }
.schedule-hero .match-duel { gap:12px; }
.schedule-contender { min-width:0; }
.schedule-contender:last-child { text-align:right; }
.schedule-side-label { color:#c6dacf; font-size:9px; line-height:1.5; letter-spacing:1.3px; text-transform:uppercase; }
.schedule-contender > strong { display:block; margin-top:7px; font:600 20px/1.5 var(--font-heading); letter-spacing:-.4px; overflow-wrap:anywhere; }
.schedule-contender > strong > span { display:block; }
.schedule-hero .participant-results-link { display:inline-block; max-width:100%; text-decoration-color:#ffffff50; text-underline-offset:4px; }
.schedule-hero .participant-court-art { width:240px; height:330px; right:-105px; top:5px; }
.schedule-form .schedule-intro { display:flex; align-items:center; gap:18px; padding-block:25px; }
.schedule-intro-icon { display:grid; place-items:center; flex:none; width:52px; height:66px; border:1px solid #d7f75b50; border-radius:10px; background:#ffffff08; color:var(--color-accent); }
.schedule-intro-icon .icon { width:34px; height:34px; }
.schedule-intro h3 { margin:6px 0 9px; font:600 22px/1.35 var(--font-heading); letter-spacing:-.6px; overflow-wrap:anywhere; }
.schedule-intro p { margin:0; color:#c6dacf; font-size:11px; line-height:1.65; }
.schedule-form .schedule-comparison { gap:12px; margin:0; }
.schedule-form .schedule-comparison > div { padding:16px 18px; border-color:#dce3d9; border-radius:12px; background:#fff; }
.schedule-comparison-label { display:flex; align-items:center; gap:8px; color:var(--color-muted); font-size:10px; }
.schedule-comparison-label .icon { width:15px; height:15px; }
.schedule-form .schedule-comparison p { margin:9px 0 0; color:var(--color-text); font:600 13px/1.65 var(--font-heading); }
.schedule-form .schedule-comparison.has-current-schedule:has(.schedule-new:not([hidden])) .schedule-current { border-color:#e5d2b1; background:#fff8ec; }
.schedule-form .schedule-comparison .schedule-new { border-color:#b9cfbc; background:#edf5eb; }
.schedule-form .schedule-new .schedule-comparison-label { color:var(--color-primary); }
.overlap-plan-summary { margin:0; }
.overlap-plan-surface, #overlap-plan-results { display:flex; flex:1; flex-direction:column; min-width:0; }
.overlap-plan-filter { margin:0; padding:12px 26px 0; }
.overlap-plan-filter .check-label { display:flex; align-items:center; gap:10px; font-size:13px; cursor:pointer; }
.overlap-plan-filter input[type=checkbox] { width:17px; height:17px; flex-shrink:0; margin:0; accent-color:var(--color-primary); }
@media(max-width:768px) { .overlap-plan-filter { padding-inline:14px; } }
.overlap-plan-options { display:grid; gap:12px; min-width:0; padding:0; margin:0; border:0; }
.overlap-plan-options legend { margin-bottom:8px; font-weight:600; }
.overlap-plan-day > h3 { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 12px; margin:0 0 8px; font-size:14px; }
.overlap-plan-day > h3 small { color:var(--color-muted); font-weight:500; }
.overlap-plan-day-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:8px; }
.overlap-plan-option:only-child, .overlap-plan-option:has(details[open]) { grid-column:1 / -1; }
.overlap-plan-option { min-width:0; border:1px solid var(--color-border); border-radius:12px; background:#fff; }
.overlap-plan-option:has(input:checked) { border-color:var(--color-primary); }
.overlap-plan-choice { gap:12px; padding:10px 12px; border:0; border-radius:11px; background:transparent; }
.overlap-plan-choice small { display:block; color:var(--color-muted); }
.overlap-plan-impact { display:block; color:var(--color-primary); font-weight:600; }
.overlap-plan-option-day { margin-block:5px; }
.overlap-plan-combination { display:flex; flex-wrap:wrap; gap:4px 10px; margin-block:3px; }
.overlap-plan-pagination { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.overlap-plan-details { margin:0 12px 4px; }
.overlap-plan-details summary { padding-block:8px; font-size:13px; cursor:pointer; }
.overlap-plan-match { margin:0 12px 12px; padding:14px; }
.overlap-plan-details .overlap-plan-match { margin-inline:0; }
.overlap-plan-match .section-note { margin:0 0 6px; }
.overlap-plan-match h3 { margin:0 0 12px; font-size:14px; }
.overlap-plan-match .schedule-comparison-label { font-size:12px; }
.schedule-form .schedule-edit { padding:0; border:1px solid #dce3d9; border-radius:12px; background:#fff; }
.schedule-form .schedule-edit > summary { display:flex; align-items:center; gap:12px; padding:16px 18px; list-style:none; }
.schedule-form .schedule-edit > summary::-webkit-details-marker { display:none; }
.schedule-form .schedule-edit > summary > span:nth-child(2) { flex:1; min-width:0; }
.schedule-form .schedule-edit > summary strong { display:block; font-size:13px; }
.schedule-form .schedule-edit > summary small { display:block; margin-top:3px; color:var(--color-muted); font-size:11px; font-weight:400; }
.schedule-edit-icon { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:9px; background:var(--color-soft); }
.schedule-edit-icon .icon { width:18px; height:18px; }
.schedule-form .schedule-edit > summary > .icon { width:17px; height:17px; transform:rotate(90deg); }
.schedule-form .schedule-edit[open] > summary { margin:0 18px 18px; padding-inline:0; border-bottom:1px solid var(--color-border); }
.schedule-form .schedule-edit[open] > summary > .icon { transform:rotate(-90deg); }
.schedule-form .schedule-edit > summary:focus-visible { outline:2px solid var(--color-primary); outline-offset:2px; border-radius:10px; }
.schedule-form .schedule-edit > :not(summary) { margin-inline:18px; }
.schedule-form .schedule-edit > .form-section { margin-bottom:18px; }
.schedule-save-actions { display:none; }
.schedule-form:has(.schedule-edit[open]) .schedule-save-actions { display:flex; flex-wrap:wrap; gap:8px; }
.schedule-form:has(.schedule-edit[open]) > .overlay-footer > a.button-primary { display:none; }
.schedule-form .form-section { padding:18px; border:1px solid #dce3d9; border-radius:12px; background:#fff; }
.schedule-form .form-section + .form-section { margin-top:0; }
.schedule-form .form-section h3 { display:flex; align-items:center; gap:8px; margin:0 0 18px; color:var(--color-primary); font-size:13px; letter-spacing:-.2px; }
.schedule-form .form-section h3::before { content:""; width:4px; height:14px; border-radius:3px; background:var(--color-accent); }
.schedule-form .schedule-edit .form-section { padding:0; border:0; border-radius:0; }
.schedule-form .schedule-edit .form-section h3 { display:none; }
.schedule-form .field-grid { gap:16px 14px; }
.schedule-form .field-help { font-size:11px; line-height:1.6; }
.schedule-form .check-label { line-height:1.6; }
.schedule-form .schedule-match-note { margin:0; font-size:12px; }
@media (max-width:600px) {
  .schedule-drawer .overlay-heading { padding:16px; }
  .schedule-drawer .overlay-heading h2 { font-size:19px; }
  .schedule-form > .overlay-body { gap:14px; padding:16px 14px 22px; }
  .schedule-form > .overlay-footer { padding:12px 14px; }
  .schedule-form > .overlay-footer .button { padding-inline:14px; font-size:12px; }
  .schedule-form:has(.schedule-edit[open]) .schedule-save-actions { flex-basis:100%; }
  .schedule-save-actions .button { flex:1; justify-content:center; }
  .schedule-form .schedule-hero { padding:18px 16px; }
  .schedule-hero .match-duel { gap:8px; }
  .schedule-contender > strong { font-size:17px; }
  .schedule-competition { margin:16px 0; font-size:10px; }
  .schedule-form .schedule-comparison { grid-template-columns:minmax(0,1fr); gap:8px; }
  .schedule-form .schedule-comparison > div { padding:14px 16px; }
  .schedule-form .form-section { padding:16px; }
  .schedule-form .schedule-intro { gap:12px; }
  .schedule-intro h3 { font-size:20px; }
  .schedule-intro-icon { width:42px; height:56px; }
  .schedule-intro-icon .icon { width:28px; height:28px; }
  .schedule-form .field-grid { grid-template-columns:minmax(0,1fr); }
  .schedule-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .schedule-form select { font-size:16px; }
}
.court-turn:not([hidden]) {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 2px 5px;
  border-radius: 4px;
  background: #fff1dc;
  color: #633d0e;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
}
.court-turn--free:not([hidden]) { background: #e0f2e8; color: #1c5238; }

.match-conflict-panel { display: grid; gap: 18px; align-content: start; }
.match-conflict-alternative { border-top: 1px solid var(--color-border); padding-top: 12px; }
.match-conflict-alternative[open] > section { margin-top: 14px; }
.match-conflict-explanation { margin: 0; font-size: 13px; line-height: 1.5; }
[data-schedule-conflicts] { display: grid; gap: 16px; min-width: 0; }
[data-conflict-basis] { min-width: 0; }
[data-conflict-basis] + [data-conflict-basis] { padding-top: 14px; border-top: 1px solid var(--color-border); }
[data-conflict-basis] h3 { margin: 0 0 10px; color: var(--color-primary); font-size: 16px; }
.match-conflict-panel h3 { margin: 0 0 10px; color: var(--color-primary); font-size: 16px; }
.match-conflict-summary { padding-bottom: 14px; border-bottom: 1px solid var(--color-border); }
.match-conflict-eyebrow, .match-conflict-item-heading, .match-conflict-heading-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.match-conflict-eyebrow { margin-bottom: 7px; color: var(--color-muted); font-size: 12px; }
.match-conflict-summary h3 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 8px; font-size: 19px; line-height: 1.35; overflow-wrap: anywhere; }
.match-conflict-summary h3 small, .match-conflict-opponent small { color: var(--color-muted); font-size: 11px; font-weight: 400; }
.match-conflict-heading-actions { margin-top: 8px; font-size: 13px; }
.match-conflict-time { display: inline-flex; align-items: center; gap: 7px; color: var(--color-muted); font-size: 12px; }
.match-conflict-time .icon { width: 16px; height: 16px; }
.match-conflict-chip { display: inline-flex; padding: 4px 8px; border-radius: 5px; background: #e3eee6; color: #28543c; font-size: 11px; font-weight: 700; }
.match-conflict-item { display: grid; gap: 7px; padding: 12px; margin-block: 10px; border-inline-start: 3px solid #b74435; }
.match-conflict-item.match-conflict-item--possible { border-inline-start-color: #b18432; }
.match-conflict-type { display: block; color: #982f23; font-size: 11px; font-weight: 700; }
.match-conflict-interval { display: inline-block; color: #805315; background: #f4e9d5; padding: 4px 7px; border-radius: 4px; font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
.match-conflict-item > strong { color: #982f23; font-size: 14px; line-height: 1.4; }
.match-conflict-opponent { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 7px; color: var(--color-text); font-size: 14px; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }
.match-conflict-item-meta { color: var(--color-muted); font-size: 11px; line-height: 1.5; }
.match-conflict-actions { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; font-size: 12px; }
.match-conflict-actions a { display: inline-flex; gap: 5px; align-items: center; }
.match-conflict-actions .icon { width: 14px; height: 14px; }
.match-conflict-capacity { display: grid; gap: 9px; margin-block: 10px; padding: 14px 16px; border-inline-start: 3px solid #b18432; font-size: 13px; }
.match-conflict-capacity p { margin: 0; color: var(--color-muted); font-size: 12px; }
.match-conflict-capacity-numbers { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; color: var(--color-muted); font-size: 12px; }
.match-conflict-capacity-numbers b { color: #805315; font-size: 22px; }
.match-conflict-capacity-games { display: grid; gap: 7px; margin-top: 10px; }
.match-conflict-capacity-games a { display: grid; gap: 4px; padding: 10px; border: 1px solid var(--color-border); border-radius: 6px; color: var(--color-text); font-size: 12px; text-decoration: none; }
.match-conflict-capacity-games small { color: var(--color-primary); }
.match-conflict-recommendation { padding: 16px; border: 1px solid #8dad94; border-radius: 10px; background: #edf4ed; }
.match-conflict-recommendation .match-conflict-item-heading h3 { margin: 0; }
.match-conflict-impact { display: flex; flex-wrap: wrap; gap: 5px 12px; margin-block: 9px 15px; color: #356746; font-size: 12px; font-weight: 700; }
.match-conflict-move { padding: 10px; margin-block: 8px; border: 1px solid #ccdacc; border-radius: 7px; background: #fff9; }
.match-conflict-move h4 { margin: 4px 0 8px; font-size: 13px; line-height: 1.5; color: var(--color-text); overflow-wrap: anywhere; }
.match-conflict-move h4 small { font-size: 11px; font-weight: 400; color: var(--color-muted); }
.match-conflict-comparison { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; }
.match-conflict-comparison dt { color: var(--color-muted); font-size: 11px; }
.match-conflict-comparison dd { margin: 0; color: var(--color-primary); font-size: 12px; font-weight: 650; }
.match-conflict-move > .text-link { display: inline-block; margin-top: 8px; font-size: 12px; }
.match-conflict-confirm { margin-top: 10px; }
.match-conflict-more > summary, .match-conflict-panel > .schedule-edit > summary { color: var(--color-primary); font-size: 13px; cursor: pointer; }
.match-conflict-panel > .schedule-edit > summary { font-weight: 650; }
.match-conflict-panel > .schedule-edit[open] > summary { margin-bottom: 12px; }
.match-conflict-details { border-top: 1px solid var(--color-border); padding-top: 12px; }
.match-conflict-details > summary { font-weight: 650; }
.match-conflict-details[open] > summary { margin-bottom: 12px; }
.match-conflict-details > .text-link { display: inline-block; margin-top: 12px; font-size: 13px; }
.match-slot-filter { margin-block: 8px 12px; }
.match-slot-choices { min-width: 0; margin: 0; padding: 0; border: 0; }
.match-slot-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.match-slot-grid--combined { grid-template-columns: minmax(0, 1fr); }
.match-slot-option { min-width: 0; border: 1px solid var(--color-border); border-radius: 7px; background: var(--color-surface); }
.match-slot-option:has(:checked) { background: var(--color-soft); border-color: var(--color-primary); }
.match-slot-option-line { display: flex; align-items: center; }
.match-slot-grid .radio-option { display: flex; flex: 1; align-items: center; gap: 8px; min-height: 44px; padding: 8px; margin: 0; border: 0; background: transparent; cursor: pointer; font-size: 13px; }
.match-slot-grid .radio-option small { display: block; color: var(--color-muted); font-size: 11px; }
.match-slot-grid input { flex: none; width: 17px; height: 17px; margin: 0; accent-color: var(--color-primary); }
.match-slot-locate { display: grid; flex: none; place-items: center; align-self: stretch; min-width: 36px; color: var(--color-primary); }
.match-slot-locate .icon { width: 16px; height: 16px; }
.match-slot-rounds { display: none; padding-inline: 8px; }
.match-slot-option:has(:checked) .match-slot-rounds { display: block; }
.match-slot-footer { margin-top: 12px; }
.match-slot-pages { margin-top: 8px; }
@media (max-width: 600px) {
  .match-slot-grid { grid-template-columns: minmax(0, 1fr); }
  .match-conflict-actions a { min-height: 40px; }
  .match-conflict-recommendation { padding: 12px; }
}
