.ref-game-card-dialog{
  width:min(1240px,96vw);
  max-width:none;
  height:min(94vh,980px);
  padding:0;
  border:0;
  border-radius:18px;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  overflow:hidden;
}
.ref-game-card-dialog::backdrop{background:rgba(15,16,19,.66)}
.ref-game-card-shell{height:100%;display:flex;flex-direction:column;background:#f6f5f3;color:#111216}
.ref-game-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;background:#fff;border-bottom:1px solid #e5e2de}
.ref-game-card-head h2{margin:0 0 5px;font-size:1.25rem}
.ref-game-card-head p{margin:0;color:#6c7079;font-size:.82rem;line-height:1.4}
.ref-game-card-close{flex:0 0 auto}
.ref-game-card-body{flex:1;min-height:0;overflow:auto;padding:16px 20px 20px}
.ref-game-card-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.ref-game-card-fields label{display:block;margin-bottom:5px;font-size:.75rem}
.ref-game-card-fields input{min-height:40px;padding:9px 10px;font-size:.82rem}
.ref-game-card-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.ref-card-summary-pill{display:inline-flex;align-items:center;min-height:29px;padding:5px 9px;border-radius:999px;background:#fff;border:1px solid #ddd8d3;color:#4e5056;font-size:.7rem;font-weight:900}
.ref-game-card-status{display:none;margin:0 0 12px;padding:10px 12px;border-radius:10px;font-size:.78rem;line-height:1.45}
.ref-game-card-status.visible{display:block}
.ref-game-card-status.error{background:#f9e9ed;border:1px solid #e7c6cf;color:#721c35}
.ref-game-card-status.warning{background:#fff6df;border:1px solid #ead49b;color:#6a5219}
.ref-game-card-status.ok{background:#eaf4ef;border:1px solid #c8e0d4;color:#285e4c}
.ref-game-card-preview-shell{width:100%;overflow:hidden;border:1px solid #d8d3ce;border-radius:12px;background:#d9d9d9;padding:10px}
.ref-game-card-preview-stage{width:1008px;height:768px;transform-origin:top left;background:#fff}
.ref-game-card-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:13px 20px;background:#fff;border-top:1px solid #e5e2de}
.ref-game-card-actions .btn{min-height:42px}
.ref-game-card-actions button:disabled{opacity:.5;cursor:not-allowed}

.ref-card-page{
  width:1008px;
  height:768px;
  box-sizing:border-box;
  overflow:hidden;
  background:#fff;
  color:#000;
  font-family:Arial,Helvetica,sans-serif;
  display:grid;
  grid-template-rows:48px 158px minmax(0,1fr);
}
.ref-card-title{display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;line-height:1;text-align:center}
.ref-card-upper,.ref-card-lower{display:grid;grid-template-columns:59% 41%;min-height:0}
.ref-card-team-details{padding:2px 8px 0 0}
.ref-card-field-row{display:grid;grid-template-columns:138px minmax(0,1fr);align-items:end;min-height:25px;font-size:16px}
.ref-card-field-label{text-align:right;padding-right:10px;font-weight:800;white-space:nowrap}
.ref-card-field-value{height:25px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:0;padding:1px 8px;border-bottom:1.5px solid #000;font-size:16px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ref-card-league-values{display:grid;grid-template-columns:1.35fr .7fr;align-items:center;gap:12px;font-weight:700;text-align:center}
.ref-card-report-head{padding:0 0 4px 8px;overflow:hidden}
.ref-card-report-title{text-align:center;font-size:19px;font-weight:800;line-height:24px}
.ref-card-report-line{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:end;min-height:25px;font-size:14px}
.ref-card-report-line.two-values{grid-template-columns:72px minmax(0,1fr) 48px minmax(0,.8fr)}
.ref-card-report-line.two-values .ref-card-report-value{font-size:12px}
.ref-card-report-label{text-align:right;padding-right:8px;font-weight:800;white-space:nowrap}
.ref-card-report-value{height:25px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:0;padding:1px 5px;border-bottom:1.5px solid #000;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ref-card-weather{display:grid;grid-template-columns:190px repeat(4,1fr);align-items:center;min-height:25px;font-size:14px;text-align:center}
.ref-card-weather .ref-card-report-label{text-align:right}

.ref-card-roster-wrap{min-height:0;padding-right:1px}
.ref-card-roster{width:100%;height:100%;border-collapse:collapse;table-layout:fixed;font-size:12.5px}
.ref-card-roster th,.ref-card-roster td{border:1px solid #000;padding:0 4px;vertical-align:middle}
.ref-card-roster thead tr:first-child{height:28px;font-size:15px}
.ref-card-roster thead tr:nth-child(2){height:22px;font-size:11px;font-weight:400}
.ref-card-roster tbody tr{height:19px}
.ref-card-roster th{font-weight:800;text-align:center}
.ref-card-roster .ref-card-player-cell{padding:0}
.ref-card-player-content{display:grid;grid-template-columns:30px minmax(0,1fr);height:100%;align-items:center}
.ref-card-sequence{height:100%;display:flex;align-items:center;padding-left:4px;border-right:1px solid #000}
.ref-card-player-name{padding:0 5px;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ref-card-jersey{text-align:center;font-weight:700}
.ref-card-yellow{background:#fff900}
.ref-card-red{background:#ff1010}

.ref-card-official{min-height:0;padding:0 0 0 9px;font-size:13px;display:flex;flex-direction:column}
.ref-card-sports-title{text-align:center;font-size:19px;font-weight:800;line-height:24px;padding:5px 0 1px}
.ref-card-sports-help{text-align:left;font-size:12px;line-height:16px;padding:0 0 4px}
.ref-card-score-line{display:grid;grid-template-columns:155px 1fr;align-items:end;min-height:27px}
.ref-card-score-label{text-align:right;padding-right:8px}
.ref-card-score-value{height:22px;border-bottom:1.3px solid #000}
.ref-card-report-section-label{text-align:right;font-weight:800;padding:5px 0 2px}
.ref-card-remarks{height:115px;border-bottom:1px solid #eee}
.ref-card-signatures{margin-top:auto}
.ref-card-signature-line{display:grid;grid-template-columns:155px minmax(0,1fr);align-items:end;min-height:52px}
.ref-card-signature-label{text-align:right;padding-right:8px;font-size:14px;font-weight:800;white-space:nowrap}
.ref-card-signature-value{height:26px;border-bottom:1.5px solid #000}
.ref-card-final-score{display:grid;grid-template-columns:155px 1fr 34px 1fr;align-items:end;min-height:48px}
.ref-card-final-score .ref-card-signature-label{padding-bottom:4px}
.ref-card-score-to{text-align:center;font-style:italic;padding-bottom:4px}

@media(max-width:760px){
  .ref-game-card-dialog{width:100vw;height:100dvh;max-height:none;border-radius:0}
  .ref-game-card-head{padding:14px}
  .ref-game-card-head p{font-size:.74rem}
  .ref-game-card-body{padding:12px}
  .ref-game-card-fields{grid-template-columns:1fr 1fr}
  .ref-game-card-actions{padding:10px 12px;justify-content:stretch}
  .ref-game-card-actions .btn{flex:1 1 140px}
}
@media(max-width:480px){
  .ref-game-card-fields{grid-template-columns:1fr}
  .ref-game-card-preview-shell{padding:5px}
}

@page{size:Letter landscape;margin:.25in}
@media print{
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  body.ref-card-print-body>*:not(.ref-card-page){display:none!important}
  body.ref-card-print-body .ref-card-page{width:10.5in;height:8in;break-inside:avoid;page-break-inside:avoid}
}
