/* Screen chrome and a separately named match-sheet print page.
   No selector targets the approved licence artwork or its print document. */
.champ-print-root { display:none; }
@media screen {
  .champ-pool-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:16px; }
  .champ-pool { padding:16px; border:1px solid var(--dc-border); border-radius:12px; background:var(--dc-page); min-width:0; }
  .champ-pool h3 { margin:0; }
  .champ-pool ul { list-style:none; padding:0; margin:0 0 16px; }
  .champ-pool li { padding:8px 0; border-bottom:1px solid var(--dc-border); overflow-wrap:anywhere; font-size:13px; }
  .champ-pool li:last-child { border:0; }
  .champ-pool .champ-empty-team,.champ-move-note { color:var(--dc-muted); font-size:12px; }
  .champ-existing-title { margin-top:24px; }
  .champ-match-filters { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
  .champ-match-filters button { padding:8px 12px; min-height:40px; font:inherit; font-size:13px; background:white; color:var(--dc-muted); border:1px solid var(--dc-control-border); border-radius:8px; cursor:pointer; }
  .champ-match-filters button[aria-pressed=true] { color:var(--dc-blue-hover); background:var(--dc-tint); border-color:var(--dc-blue); }
  .champ-duration { display:block; color:var(--dc-muted); margin-top:4px; }
  .champ-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .champ-form-grid>label { min-width:0; }
  .champ-form-full { grid-column:1 / -1; }
  .champ-history-dialog { width:min(1080px,calc(100% - 24px)); }
  .champ-score-review { padding:12px; background:var(--dc-tint); border-radius:8px; color:var(--dc-text); }
  @media(max-width:400px) { .champ-form-grid { grid-template-columns:minmax(0,1fr); } }
  .championship-workspace { display:grid; gap:16px; min-width:0; }
  .content .champ-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0; }
  .champ-selectors { display:flex; flex-wrap:wrap; gap:12px; }
  .champ-selectors label,.champ-state-filter { display:grid; gap:6px; color:var(--dc-muted); font-size:12px; font-weight:600; }
  .champ-selectors select,.champ-state-filter select { min-height:40px; min-width:140px; max-width:100%; border:1px solid var(--dc-control-border); border-radius:8px; padding:8px 12px; background:var(--dc-white); color:var(--dc-text); font:inherit; }
  .champ-tabs { display:flex; flex-wrap:wrap; gap:6px; }
  .champ-tabs .tab { background:var(--dc-white); border:1px solid var(--dc-control-border); border-radius:8px; color:var(--dc-muted); font-size:12px; font-weight:600; padding:8px 12px; min-height:40px; cursor:pointer; }
  .champ-tabs .tab.active { background:var(--dc-tint); border-color:var(--dc-blue); color:var(--dc-blue-hover); }
  .champ-section-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
  .content .champ-section-heading p { margin-bottom:0; }
  .champ-row-actions { display:flex; flex-wrap:wrap; gap:6px; }
  .content .champ-row-actions .btn { min-height:34px; white-space:normal; }
  .champ-versus,.champ-tiebreak-note { color:var(--dc-muted); font-size:12px; }
  .champ-activation,.champ-decision { padding:12px 16px; border:1px solid var(--dc-border); border-radius:8px; background:var(--dc-tint); color:var(--dc-text); font-size:13px; }
  .champ-decision { margin-top:12px; background:var(--dc-page); }
  .champ-decision span { display:block; color:var(--dc-muted); font-size:12px; margin-top:4px; }
  .champ-decision.needs-review { border-color:#A08025; background:var(--dc-warning-bg); color:var(--dc-warning); }
  .champ-state-filter { max-width:200px; margin-bottom:16px; }
  .champ-dialog { width:min(560px,calc(100% - 24px)); }
  .champ-dialog form { display:flex; flex-direction:column; max-height:calc(100dvh - 80px); min-height:0; }
  .champ-dialog .ui-dialog-heading,.champ-dialog .ui-dialog-actions,.champ-dialog .champ-form-error { flex:0 0 auto; }
  .champ-dialog .ui-dialog-actions { flex-wrap:wrap; gap:8px; }
  .champ-dialog .ui-dialog-actions>button { max-width:100%; white-space:normal; }
  .champ-dialog .champ-form-fields { display:grid; gap:16px; margin:20px 0; min-height:0; flex:0 1 auto; overflow-y:auto; padding-right:4px; }
  .champ-dialog .champ-form-fields label { display:grid; gap:6px; color:var(--dc-muted); font-size:12px; font-weight:600; }
  .champ-dialog .champ-form-fields input,.champ-dialog select,.champ-dialog textarea { width:100%; min-width:0; min-height:40px; padding:9px 12px; border:1px solid var(--dc-control-border); background:var(--dc-white); color:var(--dc-text); border-radius:8px; font:14px/1.5 var(--dc-font); }
  .champ-dialog textarea { resize:vertical; }
  .champ-dialog [aria-busy=true] { cursor:wait; }
  .champ-dialog button:disabled { background:#EFF2F6; color:var(--dc-muted); border-color:var(--dc-border); cursor:wait; }
  .champ-dialog .champ-form-error { color:var(--dc-danger); font-size:13px; }
  .champ-form-error:empty { display:none; }
  .champ-dialog .ui-score-fields { margin:0; gap:12px; }
  .champ-dialog .ui-score-fields input { font-size:24px; font-weight:600; }
  .champ-team-choices { display:grid; gap:8px; max-height:40dvh; overflow-y:auto; padding:2px; }
  .champ-dialog label.champ-team-choice { display:flex; align-items:center; gap:12px; padding:12px; border:1px solid var(--dc-border); border-radius:8px; background:var(--dc-page); }
  .champ-dialog .champ-team-choice input { min-height:18px; height:18px; width:18px; flex:0 0 18px; accent-color:var(--dc-blue); }
  .champ-team-choice small { display:block; margin-top:4px; font-size:11px; color:var(--dc-muted); }
  .champ-reorder { padding:0; margin:0; list-style:none; display:grid; gap:8px; }
  .champ-reorder li { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; align-items:center; padding:8px 12px; background:var(--dc-page); border:1px solid var(--dc-border); border-radius:8px; }
  .champ-reorder li span { overflow-wrap:anywhere; font-size:13px; }
  .champ-reorder button { min-height:36px; width:36px; padding:4px; font-size:18px; }
  .champ-sheet-dialog { width:min(1080px,calc(100% - 24px)); }
  .champ-sheet-actions { display:flex; justify-content:flex-end; gap:8px; margin-bottom:20px; }
  .champ-sheet-dialog .champ-sheet { padding:16px; border:1px solid var(--dc-border); border-radius:8px; }
  @media(max-width:760px) {
    .content .champ-toolbar { align-items:stretch; flex-direction:column; padding:16px; }
    .champ-selectors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .champ-selectors label { min-width:0; }
    .champ-selectors select { min-width:0; width:100%; font-size:16px; }
    .champ-dialog { padding:20px 16px; }
    .champ-dialog .champ-form-fields input,.champ-dialog select,.champ-dialog textarea { font-size:16px; }
    .champ-standings .module-table tr { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:12px; }
    .champ-standings .module-table td { display:flex; flex-direction:column; gap:3px; padding:0; min-width:0; }
    .champ-standings .module-table td:nth-child(2) { grid-column:2 / -1; }
    .champ-standings .module-table td::before { font-size:10px; }
    .champ-standings .module-table td:last-child { color:var(--dc-blue-hover); font-weight:700; }
    .champ-content .module-table td .champ-row-actions { min-width:0; }
    .champ-content .module-table td:last-child:has(.champ-row-actions) { grid-template-columns:minmax(0,1fr); }
    .champ-content .module-table td:last-child:has(.champ-row-actions)::before { display:none; }
    .champ-sheet-dialog { padding:12px; }
    .champ-sheet-dialog .champ-sheet { padding:12px; }
  }
}
/* Match sheet styling is isolated from every licence selector. */
.champ-sheet { color:#0B1730; background:white; font:12px/1.4 Arial,sans-serif; }
.champ-sheet * { box-sizing:border-box; }
.champ-sheet h1 { font-size:22px; line-height:1.2; margin:8px 0; }
.champ-sheet h2 { font-size:14px; line-height:1.3; margin:12px 0 6px; }
.champ-sheet p { margin:6px 0 12px; }
.champ-sheet-head { display:flex; justify-content:space-between; gap:20px; border-bottom:2px solid #176BDE; padding-bottom:12px; }
.champ-sheet-head span { font-size:11px; font-weight:bold; letter-spacing:.08em; }
.champ-sheet-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.champ-sheet-brand img { width:56px; height:56px; object-fit:contain; flex:0 0 56px; }
.champ-sheet-observations>div { white-space:pre-wrap; padding:8px; overflow-wrap:anywhere; }
.champ-sheet-confirmed { padding:12px 0; border-top:1px solid #7C8AA0; }
.champ-blank-row { height:28px; }
.champ-sheet-score { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:12px; align-items:center; padding:16px 0; text-align:center; }
.champ-sheet-score span { font-size:20px; white-space:nowrap; }
.champ-sheet-note,.champ-sheet-reference { color:#526176; font-size:10px; }
.champ-sheet-teams { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.champ-sheet-teams section { min-width:0; }
.champ-sheet table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:10px; }
.champ-sheet th,.champ-sheet td { padding:6px 3px; border:1px solid #7C8AA0; text-align:left; overflow-wrap:anywhere; }
.champ-sheet th { background:#F5F8FC; }
.champ-sheet th:first-child { width:7%; }
.champ-sheet th:nth-child(2),.champ-sheet th:nth-child(3) { width:24%; }
.champ-sheet th:nth-child(4) { width:18%; }
.champ-sheet thead { display:table-header-group; }
.champ-sheet tr { break-inside:avoid; }
.champ-sheet-observations>div { min-height:64px; border:1px solid #7C8AA0; }
.champ-sheet-signatures { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:16px 0; min-height:60px; }
@media screen and (max-width:760px) {
 .champ-sheet-head { flex-direction:column; gap:4px; }
 .champ-sheet-teams { grid-template-columns:minmax(0,1fr); }
 .champ-sheet-score { grid-template-columns:minmax(0,1fr); gap:8px; }
 .champ-sheet-signatures { grid-template-columns:minmax(0,1fr); }
}
@page championship-sheet { size:A4 portrait; margin:12mm; }
@media print {
 body.match-sheet-print { background:white; margin:0; }
 body.match-sheet-print #app,body.match-sheet-print #toast,body.match-sheet-print .sprite,body.match-sheet-print dialog { display:none!important; }
 body.match-sheet-print .champ-print-root { display:block; page:championship-sheet; }
 body.match-sheet-print .champ-sheet { width:100%; }
 body.match-sheet-print .champ-sheet-actions { display:none; }
}
