/* Tournament operations. Uses the season palette and keeps data controls compact. */
.judge-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:32px; }
.judge-heading h1 { margin:0; font-size:clamp(25px,3vw,40px); }
.judge-heading .lead { margin:12px 0 0; font-size:16px; }
.judge-heading .judge-schedule-action { flex-shrink:0; max-width:280px; text-align:center; border-radius:12px; }
.judge-queues { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:1px; margin:0 0 40px; padding:1px; background:var(--line); border-radius:14px; overflow:hidden; }
.judge-queues .queue-link { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:20px; min-width:0; min-height:150px; margin:0; padding:18px; border:0; border-radius:0; background:var(--surface); color:var(--ink); box-shadow:none; text-decoration:none; transition:background-color 180ms, color 180ms; }
.queue-label { min-height:40px; font-size:13px; font-weight:600; line-height:1.45; }
.judge-queues .queue-count { display:block; width:auto; min-width:0; height:auto; padding:0; background:transparent; border-radius:0; color:inherit; font-family:var(--display); font-size:clamp(27px,3vw,40px); font-weight:600; line-height:1.1; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.judge-queues .queue-link[aria-current=page] { background:var(--accent); color:var(--accent-ink); border:0; box-shadow:none; }
.judge-queues .queue-link:focus-visible { position:relative; outline-offset:-4px; z-index:1; }
.judge-context { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 24px; }
.judge-context h2 { margin:0; color:var(--ink); font-family:var(--display); font-size:22px; }
.judge-context p { margin:0; font-size:13px; }
.match-filters,.batch-filters { gap:16px; margin:20px 0 24px; padding:20px; border-radius:14px; background:var(--surface); }
.match-filters>label { flex:1 1 155px; min-width:0; }
.match-filters .filter-search { flex:2 1 250px; }
.match-filters input,.match-filters select,.batch-filters input,.batch-filters select { width:100%; max-width:none; min-height:44px; }
.match-filters label,.batch-filters label { font-size:13px; font-weight:500; color:var(--muted); }
.filter-actions { display:flex; align-items:center; gap:16px; }
.filter-actions>a { display:inline-flex; min-height:44px; align-items:center; color:var(--muted); font-size:13px; text-decoration:none; }
.match-filters .filter-more { flex-basis:100%; margin:0; border-top:1px solid var(--line); padding-top:4px; }
.match-filters .filter-more>summary { display:list-item; min-height:40px; padding-block:10px; color:var(--ink); font-size:13px; }
.match-filters .filter-more>.filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:0; padding:12px 0 0; border-radius:0; background:none; }
.judge-workspace .match-list-table { font-size:14px; }
.judge-workspace .match-list-table th { font-size:12px; font-weight:500; color:var(--muted); }
.judge-workspace .match-list-table td { padding:18px 16px; vertical-align:middle; }
.judge-workspace .match-list-table td:first-child>a { color:var(--ink); font-weight:650; font-variant-numeric:tabular-nums; }
.judge-workspace .match-list-table small { margin-top:6px; font-size:12px; line-height:1.45; }
.judge-workspace .row-actions { flex-wrap:nowrap; min-width:0; gap:6px; }
.judge-workspace .row-actions>a { min-height:40px; padding:8px 11px; border:0; border-radius:8px; background:var(--raised); color:var(--ink); font-size:13px; font-weight:500; }
.judge-workspace .row-actions>a:first-child { background:var(--soft); color:var(--accent); }
.judge-management { margin-top:56px; padding-top:30px; border-top:1px solid var(--line); }
.judge-management-heading { margin-bottom:24px; }
.judge-management-heading h2 { margin:0 0 8px; font-size:24px; }
.judge-management-heading p { margin:0; font-size:14px; }
.judge-management>details { margin:0; padding:0; background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; }
.judge-management>details:last-child { border-bottom:1px solid var(--line); }
.judge-management>details>summary { min-height:64px; align-content:center; padding:18px 4px; font-size:15px; font-weight:500; }
.judge-management>details[open] { padding-bottom:24px; }
.judge-management>details[open]>summary { margin-bottom:8px; }
.judge-management>details h2 { margin:24px 0 16px; font-size:19px; }
.judge-management .workflow-steps { max-width:80ch; padding-left:24px; }
.judge-management .workflow-steps li { margin-bottom:20px; padding-left:8px; color:var(--muted); line-height:1.65; }
.judge-management .workflow-steps strong { color:var(--ink); }
.judge-management .workflow-steps li::marker { color:var(--accent); font-weight:700; }
.judge-management ul { padding-left:20px; }
.judge-management li { margin-bottom:12px; }
.judge-edit-page,.judge-preview-page { max-width:1000px; margin-inline:auto; }
.judge-edit-page>.back-link,.judge-preview-page>.back-link,.judge-batch-page>.back-link { margin-bottom:20px; }
.judge-edit-page>h1,.judge-batch-page>h1,.judge-preview-page h1 { max-width:900px; margin-bottom:18px; font-size:clamp(26px,3.2vw,40px); line-height:1.25; text-wrap:balance; }
.judge-edit-page>.lead,.judge-batch-page>.lead,.judge-preview-page .lead { font-size:16px; line-height:1.7; }
.judge-edit-page .editor { max-width:none; margin-top:28px; padding:28px; background:var(--surface); border-radius:16px; }
.judge-edit-page .field { max-width:none; margin-bottom:24px; }
.judge-edit-page .field>label,.batch-timing .field>label { font-size:14px; font-weight:600; }
.judge-edit-page .field>small,.batch-timing .field>small { line-height:1.55; }
.judge-edit-page .editor textarea { min-height:120px; }
.judge-edit-page .result-context { max-width:none; margin:28px 0 0; padding:28px 0; border:0; border-block:1px solid var(--line); border-radius:0; background:none; }
.result-fixture { display:grid; grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr); align-items:center; gap:20px; }
.result-fixture strong { color:var(--ink); font-family:var(--display); font-size:clamp(18px,2.5vw,28px); font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.result-fixture strong:last-child { text-align:right; }
.result-versus { text-align:center; font-size:24px; color:var(--muted); }
.judge-edit-page .result-context p { margin:16px 0 0; font-size:13px; }
.judge-edit-page .result-context #result-series-help { margin-top:20px; color:var(--ink); font-size:15px; }
.judge-edit-page .result-score-fields { gap:20px; margin:24px 0; }
.judge-edit-page .result-score-fields>.field { margin:0; padding:0; border:0; border-radius:0; }
.judge-edit-page .result-score-fields label { min-height:44px; font-size:14px; line-height:1.5; }
.judge-edit-page .result-score-fields input { min-height:100px; padding:12px 20px; font-family:var(--display); font-size:48px; font-weight:600; text-align:center; }
.judge-edit-page .result-summary { margin:24px 0; padding:20px; border-radius:12px; background:var(--raised); color:var(--ink); font-size:15px; line-height:1.6; }
.judge-edit-page .result-summary[data-state=ready] { background:var(--soft); color:var(--accent); }
.judge-edit-page .member-editor { margin:12px 0; padding:18px; border-radius:12px; border:1px solid var(--line); background:transparent; }
.judge-edit-page .member-editor>summary { min-height:32px; align-content:center; }
.judge-edit-page .form-actions,.judge-batch-page .form-actions { margin-top:30px; padding-top:24px; border-top:1px solid var(--line); gap:12px 24px; }
.judge-edit-page .form-actions>a,.judge-batch-page .form-actions>a,.preview-actions>a:not(.button) { color:var(--muted); font-size:14px; text-decoration:none; }
.operation-steps { display:flex; flex-wrap:wrap; gap:24px; list-style:none; margin:28px 0; padding:0; }
.operation-steps li { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:13px; }
.operation-steps li>span { display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--line); border-radius:8px; font-variant-numeric:tabular-nums; }
.operation-steps [aria-current=step] { color:var(--ink); font-weight:650; }
.operation-steps [aria-current=step]>span { background:var(--accent); border-color:transparent; color:var(--accent-ink); }
.operation-steps .is-complete>span { background:var(--soft); color:var(--accent); border-color:transparent; }
.batch-filters>label { flex:1 1 160px; }
.batch-editor { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr); align-items:start; gap:28px; max-width:none; margin-top:28px; }
.batch-editor>.notice,.batch-editor>.form-actions { grid-column:1/-1; }
.batch-editor>.form-actions { margin:0; }
.batch-editor .batch-matches { min-width:0; max-height:700px; padding:0 0 12px; border:1px solid var(--line); border-radius:14px; background:var(--surface); scrollbar-gutter:stable; }
.batch-editor .batch-matches>legend { margin-left:16px; padding:0 8px; font-weight:650; font-size:15px; }
.batch-editor .batch-selection-tools { display:flex; flex-wrap:wrap; gap:14px; margin:0 0 12px; padding:20px; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.batch-editor .batch-selection-tools label { display:grid; gap:8px; flex-basis:100%; padding:0; font-size:13px; line-height:1.5; }
.batch-editor .batch-selection-tools .toolbar { margin:0; gap:8px; }
.batch-editor .batch-selection-tools .toolbar button { min-height:40px; padding:8px 12px; font-size:12px; }
.batch-editor .batch-selection-tools output { flex-basis:100%; color:var(--ink); font-size:13px; font-variant-numeric:tabular-nums; }
.batch-editor .batch-selection-tools p { margin:0; font-size:12px; line-height:1.5; }
.batch-editor [data-batch-options] { padding:0 12px; }
.batch-editor [data-batch-options] label { display:flex; align-items:flex-start; gap:12px; min-height:56px; padding:14px 12px; border-radius:8px; font-size:13px; font-weight:400; line-height:1.6; }
.batch-editor [data-batch-options] input { flex:0 0 20px; margin:1px 0 0; }
.batch-editor [data-batch-options] label:has(input:checked) { background:var(--soft); color:var(--ink); }
.batch-timing { min-width:0; padding:24px; border-radius:14px; background:var(--surface); }
.batch-timing h2 { margin:0 0 24px; font-size:20px; }
.batch-timing .field { max-width:none; }
.batch-timing input,.batch-timing select,.batch-timing textarea { font-size:16px; min-height:44px; }
.batch-next-hint { margin:24px 0 0; padding-top:20px; border-top:1px solid var(--line); font-size:13px; line-height:1.6; }
.preview-heading { max-width:none; }
.preview-context { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:24px; margin:28px 0; padding:20px 24px; background:var(--surface); border-radius:12px; }
.preview-context p { margin:0; font-size:14px; overflow-wrap:anywhere; }
.preview-context p+p { color:var(--muted); }
.judge-preview-page .table-scroll { margin-block:24px; }
.judge-preview-page h2 { font-size:22px; }
.judge-preview-page th { font-size:13px; font-weight:500; }
.judge-preview-page td { font-size:14px; }
.judge-preview-page .preview-actions { gap:12px 24px; padding:24px 0; margin:28px 0 16px; border-block:1px solid var(--line); }
.judge-preview-page>.notice { margin-block:24px; }
.judge-preview-page>details { margin-top:28px; }
.judge-preview-page>details>summary { min-height:44px; align-content:center; color:var(--muted); font-size:13px; font-weight:500; }
@media (hover:hover) and (pointer:fine) {
  .judge-queues .queue-link:not([aria-current=page]):hover { background:var(--raised); }
  .judge-workspace .match-list-table tbody tr:hover { background:var(--raised); }
  .judge-workspace .row-actions>a:hover { background:var(--soft); color:var(--accent); }
  .filter-actions>a:hover,.judge-management>details>summary:hover { color:var(--accent); }
}
@media (max-width:1100px) {
  .judge-heading { align-items:flex-start; }
  .judge-queues { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .judge-queues .queue-link { min-height:100px; }
  .judge-queues .queue-count { font-size:34px; }
  .judge-workspace .match-list-table { min-width:900px; }
  .batch-editor { grid-template-columns:minmax(0,1fr) minmax(260px,.8fr); gap:20px; }
}
@media (max-width:767px) {
  .judge-heading { display:block; margin-bottom:24px; }
  .judge-heading .lead { font-size:14px; }
  .judge-heading .judge-schedule-action { max-width:none; margin-top:20px; font-size:13px; }
  .judge-queues { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:32px; }
  .judge-queues .queue-link { flex-direction:row; align-items:center; min-height:72px; padding:12px; gap:8px; }
  .judge-queues .queue-label { min-height:0; font-size:11px; flex:1; }
  .judge-queues .queue-link:last-child { grid-column:1/-1; flex-direction:row; align-items:center; min-height:48px; }
  .judge-queues .queue-link:last-child .queue-label { min-height:0; }
  .judge-queues .queue-count { font-size:24px; }
  .judge-context { display:block; }
  .judge-context h2 { font-size:20px; }
  .judge-context p { margin-top:10px; line-height:1.6; }
  .match-filters,.batch-filters { padding:16px; gap:16px 12px; }
  .match-filters>label { flex:1 1 calc(50% - 12px); }
  .match-filters .filter-search { flex-basis:100%; }
  .filter-actions { width:100%; justify-content:space-between; }
  .filter-actions button { flex:1; }
  .match-filters .filter-more>.filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
  .judge-workspace .match-list-table { min-width:0; }
  .judge-workspace .match-list-table td { padding:8px 12px; }
  .judge-workspace .match-list-table .row-actions { gap:8px; }
  .judge-workspace .match-list-table .row-actions>a { flex:1; min-height:44px; padding:10px; }
  .judge-management { margin-top:40px; padding-top:24px; }
  .judge-management-heading h2 { font-size:21px; }
  .judge-management>details>summary { font-size:14px; line-height:1.6; }
  .judge-edit-page .editor { padding:20px 16px; }
  .judge-edit-page .result-context { padding:20px 0; }
  .result-fixture { grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr); gap:12px; }
  .result-fixture strong { font-size:16px; }
  .judge-edit-page .result-score-fields { gap:12px; }
  .judge-edit-page .result-score-fields label { font-size:13px; }
  .judge-edit-page .result-score-fields input { min-height:84px; font-size:36px; padding:12px; }
  .judge-edit-page .result-summary { padding:16px; font-size:14px; }
  .operation-steps { gap:12px; justify-content:space-between; margin:24px 0; }
  .operation-steps li { gap:6px; font-size:11px; }
  .operation-steps li>span { width:24px; height:24px; border-radius:6px; }
  .batch-editor { grid-template-columns:1fr; gap:24px; }
  .batch-editor .batch-matches { max-height:540px; }
  .batch-editor .batch-selection-tools { padding:16px; }
  .batch-timing { padding:20px 16px; }
  .batch-timing h2 { font-size:18px; }
  .preview-context { grid-template-columns:1fr; gap:12px; padding:20px; }
  .judge-preview-page .preview-actions { align-items:stretch; }
  .judge-preview-page .preview-actions>form,.judge-preview-page .preview-actions>.button { flex-basis:100%; }
  .judge-preview-page .preview-actions button { width:100%; }
}
@media (prefers-reduced-motion:reduce) { .judge-queues .queue-link { transition:none; } }
html[data-motion=reduce] .judge-queues .queue-link { transition:none; }
@media print { .judge-management,.operation-steps,.filter-actions,.judge-schedule-action { display:none; } }
