/* 统一内容区排版；保留专用签表、顶部导航和导出的独立样式。 */
@media screen {
 #app,.modalbody,.modalfoot {--ui-control-font:13px;--ui-section-gap:20px;}
 #app .columns > *,#app .panelhead > *,#app .pagehead > * {min-width:0;}
 #app .pagehead {gap:16px;margin-bottom:24px;}
 #app .pagehead h1 {font-size:28px;line-height:1.3;letter-spacing:-.6px;margin:0 0 8px;}
 #app .pagehead p {font-size:13px;line-height:1.65;}
 #app .pagehead .actions {align-self:center;gap:8px;}
 #app .panel {margin-bottom:20px;}
 #app .panelhead {align-items:center;gap:12px;margin-bottom:16px;}
 #app .panelhead h2 {display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;font-size:18px;line-height:1.5;margin:0;}
 #app .panelhead h2 > span {display:inline;margin:0;font-size:12px;font-weight:400;line-height:1.5;}
 #app .panel > h2 {font-size:18px;line-height:1.5;}
 #app .reportintro {font-size:13px;line-height:1.85;margin-bottom:0;color:#42424a;}
 #app .hint,#app .rule,.modalbody .hint {font-size:12px;line-height:1.8;}
 #app .muted,.modalbody .muted {font-size:12px;line-height:1.75;}
 #app .actions {gap:8px;align-items:center;}
 #app .actions > button:not(.match),#app .pagehead button,.modalfoot button {
   font-size:13px;line-height:1.45;min-height:40px;
 }
 #app .court .actions > button {font-size:12px;}
 #app .queueitem .num {flex:0 0 24px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;}
 #app .queueitem small {display:block;font-size:12px;line-height:1.6;margin-top:4px;}
 #app .stat label {font-size:12px;line-height:1.5;margin-bottom:8px;}
 #app .stat strong {font-variant-numeric:tabular-nums;line-height:1.2;}
 #app .stat small {font-size:12px;line-height:1.5;}
 #app .datatable :is(th,td) {padding:12px 14px;vertical-align:middle;line-height:1.6;}
 #app .datatable th {font-size:12px;font-weight:500;}
 #app .datatable td {font-size:13px;font-variant-numeric:tabular-nums;}
 #app .datatable :is(th,td):first-child {text-align:center;}
 /* 积分明细与赛果核对表：表头和各列内容统一居中，历史赛事同步生效。 */
 #app .datatable:has(th:nth-child(8)) :is(th,td) {text-align:center;}
 #app .datatable td.total {font-size:16px;font-weight:600;}
 #app .datatable :is(.grade,.player-grade,button) {vertical-align:middle;}
 #app .datatable :is(.grade,.player-grade) {font-size:11px!important;line-height:1.5;padding:2px 5px;}
 #app .datatable button.small {min-height:32px;font-size:12px;padding:5px 8px;line-height:1.5;}
 .modalhead {align-items:center;gap:16px;}
 .modalhead h2 {font-size:20px;line-height:1.4;margin:0;}
 .modalhead > [data-close] {flex:none;}
 .modalfoot {align-items:center;gap:8px;}
 :is(#app,.modalbody) .field {min-width:0;margin-bottom:18px;}
 :is(#app,.modalbody) .field > label {font-size:13px;line-height:1.5;margin:0 0 8px;}
 :is(#app,.modalbody) .field > :is(input,select) {
   box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;
   height:44px;min-height:44px;padding:10px 12px;margin:0;font-size:14px;line-height:22px;
 }
 :is(#app,.modalbody) .formgrid:has(> .field) {gap:18px;margin-bottom:18px;align-items:start;}
 :is(#app,.modalbody) .formgrid > .field,dialog:has(#newDate) .formgrid > .field {margin-bottom:0;}
 .modalbody .formgrid > div > label {font-size:13px;line-height:1.5;margin-bottom:8px;}
 .modalbody .formgrid > div > :is(input:not([type=checkbox]):not([type=radio]),select) {box-sizing:border-box;width:100%;min-width:0;height:44px;min-height:44px;padding:10px 12px;font-size:14px;line-height:22px;}
 .scoreboard {align-items:start;gap:12px;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);}
 .scoreboard > div {display:contents;min-width:0;}
 .scoreboard > div:first-child > b {grid-column:1;grid-row:1;}
 .scoreboard > div:last-child > b {grid-column:3;grid-row:1;}
 .scoreboard > div:first-child > .number-options {grid-column:1;grid-row:2;}
 .scoreboard > div:last-child > .number-options {grid-column:3;grid-row:2;}
 .scoreboard > div > b {display:flex;align-items:center;justify-content:center;min-height:44px;margin-bottom:10px;font-size:14px;line-height:1.5;overflow-wrap:anywhere;}
 .scoreboard > span {grid-column:2;grid-row:2;align-self:end;display:flex;align-items:center;justify-content:center;height:44px;font-size:18px;}
 .scoreboard .number-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
 .scoreboard .number-options:has(label:nth-child(4)) {grid-template-columns:repeat(4,minmax(0,1fr));}
 .scoreboard .number-options label {min-width:0;}
 .scoreboard .number-options span {font-size:22px;line-height:1.2;font-weight:600;min-height:44px;padding:8px 2px;}
 .clean-types {align-items:start;}
 .clean-types > section {min-width:0;}
 .clean-types .number-options span {font-weight:600;}
 @media(max-width:600px) {
   #app .pagehead {gap:12px;margin-bottom:20px;}
   #app .pagehead h1 {font-size:24px;}
   #app .pagehead p {font-size:12px;}
   #app .pagehead .actions {align-self:stretch;}
   #app .panelhead h2,#app .panel > h2 {font-size:17px;}
   #app .actions > button:not(.match),#app .pagehead button {font-size:12px;}
   .modalfoot button {min-height:44px;}
   :is(#app,.modalbody) .field > :is(input,select) {font-size:16px;}
   :is(#app,.modalbody) .field > input[type=date] {-webkit-appearance:none;appearance:none;min-inline-size:0;text-align:left;}
   :is(#app,.modalbody) .field > input[type=date]::-webkit-date-and-time-value {min-width:0;min-height:22px;line-height:22px;text-align:left;}
   :is(#app,.modalbody) .field > input[type=date]::-webkit-datetime-edit {padding:0;}
   :is(#app,.modalbody) .formgrid:has(> .field) {grid-template-columns:minmax(0,1fr);}
   .modalbody .formgrid > div > :is(input:not([type=checkbox]):not([type=radio]),select) {font-size:16px;}
   .scoreboard {gap:8px;}
   .scoreboard > div > b {font-size:13px;}
 }
}
