/* 预约和签到管理局部设计：与已审核预约稿一致，业务接口和数据语义由 reservation-workspace.js 保持。 */
body.admin-standard #app #workspace-reservations-panel {
  --reservation-module-line: var(--adm-module-line, #d0d5dd);
  --reservation-line: var(--adm-line, #e6e9ef);
  --reservation-muted: var(--adm-muted, #626a79);
  --reservation-ink: var(--adm-ink, #171b24);
  --reservation-rules-bg: var(--adm-rules-bg, #f3eff9);
  --reservation-rules-ink: var(--adm-rules-ink, #59467b);
  --reservation-basic-bg: var(--adm-basic-bg, #eaf2fa);
  --reservation-basic-ink: var(--adm-basic-ink, #25496d);
}

body.admin-standard #app #workspace-reservations-panel .reservation-settings-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--reservation-module-line);
  border-radius: 8px;
  background: #fff;
}

body.admin-standard #app #workspace-reservations-panel .reservation-settings-card > .switch-line,
body.admin-standard #app #workspace-reservations-panel .reservation-settings-card > .reservation-settings-grid,
body.admin-standard #app #workspace-reservations-panel .reservation-settings-card > .reservation-settings-actions {
  padding-left: 20px;
  padding-right: 20px;
}

body.admin-standard #app #workspace-reservations-panel .reservation-settings-card > .switch-line {
  min-height: 76px;
  margin: 0;
  padding-top: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--reservation-line);
}

body.admin-standard #app #workspace-reservations-panel .reservation-design-section-title {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-height: 52px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--reservation-line);
  background: var(--reservation-rules-bg);
  color: var(--reservation-rules-ink);
}

body.admin-standard #app #workspace-reservations-panel .reservation-design-section-title strong {
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
}

body.admin-standard #app #workspace-reservations-panel .reservation-design-section-title span {
  color: var(--reservation-muted);
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
}

body.admin-standard #app #workspace-reservations-panel .reservation-design-section-title.rewards {
  grid-column: 1 / -1;
  margin: 4px -20px 0;
  padding-left: 20px;
  padding-right: 20px;
}

body.admin-standard #app #workspace-reservations-panel .reservation-settings-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 24px;
  margin: 0;
  padding-top: 20px;
  padding-bottom: 20px;
}

body.admin-standard #app #workspace-reservations-panel .reservation-settings-grid > label {
  min-width: 0;
  gap: 8px;
  color: var(--reservation-ink);
  font-size: 14px;
  line-height: 22px;
  font-weight: 600;
}

body.admin-standard #app #workspace-reservations-panel .reservation-settings-grid > label small,
body.admin-standard #app #workspace-reservations-panel .switch-line small {
  color: var(--reservation-muted);
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
}

body.admin-standard #app #workspace-reservations-panel .reservation-settings-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 14px;
  padding-bottom: 14px;
  border-top: 1px solid var(--reservation-line);
}

body.admin-standard #app #workspace-reservations-panel .reservation-section {
  overflow: hidden;
  border: 1px solid var(--reservation-module-line);
  border-radius: 8px;
  background: #fff;
}

body.admin-standard #app #workspace-reservations-panel .reservation-section-heading {
  align-items: center;
  margin: 0;
  padding: 14px 20px;
  border: 0;
  border-bottom: 1px solid var(--reservation-line);
  background: var(--reservation-basic-bg);
  color: var(--reservation-basic-ink);
}

body.admin-standard #app #workspace-reservations-panel .reservation-section-heading h3,
body.admin-standard #app #workspace-reservations-panel .reservation-section-heading p {
  margin: 0;
}

body.admin-standard #app #workspace-reservations-panel .reservation-section-heading p {
  margin-top: 4px;
  color: var(--reservation-muted);
  font-size: 13px;
  line-height: 20px;
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-table-wrap {
  margin: 0;
  border: 0;
  border-radius: 0;
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-table {
  min-width: 920px;
  margin: 0;
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-table th {
  white-space: nowrap;
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-table td {
  vertical-align: top;
  overflow-wrap: anywhere;
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-row.group td {
  background: #fbfcfe;
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-row.child td:first-child {
  padding-left: 30px;
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-title strong {
  display: block;
  color: var(--reservation-ink);
  font-size: 14px;
  line-height: 22px;
  font-weight: 600;
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-title span,
body.admin-standard #app #workspace-reservations-panel .reservation-target-note {
  display: block;
  margin-top: 3px;
  color: var(--reservation-muted);
  font-size: 13px;
  line-height: 20px;
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  white-space: nowrap;
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-actions .table-action {
  padding: 0 5px;
}

body.admin-standard #app #workspace-reservations-panel .reservation-more {
  position: relative;
  display: inline-block;
}

body.admin-standard #app #workspace-reservations-panel .reservation-more summary {
  cursor: pointer;
  list-style: none;
  padding: 0 6px;
  color: var(--adm-link, #245aba);
  font-size: 14px;
  line-height: 22px;
}

body.admin-standard #app #workspace-reservations-panel .reservation-more summary::-webkit-details-marker {
  display: none;
}

body.admin-standard #app #workspace-reservations-panel .reservation-more-menu {
  position: fixed;
  z-index: 25;
  top: calc(100% + 4px);
  right: auto;
  display: grid;
  min-width: 88px;
  padding: 4px;
  border: 1px solid var(--reservation-module-line);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 6px 18px #172b4d1f;
}

body.admin-standard #app #workspace-reservations-panel .reservation-more-menu button {
  min-height: 32px;
  padding: 4px 8px;
  border: 0;
  background: #fff;
  color: var(--adm-link, #245aba);
  text-align: left;
  cursor: pointer;
}

body.admin-standard #app #workspace-reservations-panel .reservation-more-menu button:hover {
  background: var(--adm-weak, #f2f4f7);
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-table .tag.status-enabled {
  color: #218a58;
  background: #ecfdf3;
}

body.admin-standard #app #workspace-reservations-panel .reservation-target-table .tag.status-disabled {
  color: #626a79;
  background: #f2f4f7;
}

body.admin-standard #app #workspace-reservations-panel .reservation-summary-card,
body.admin-standard #app #workspace-reservations-panel .statistics-table {
  border-color: var(--reservation-module-line);
  border-radius: 8px;
}

body.admin-standard #app #workspace-reservations-panel .reservation-summary-heading {
  padding: 14px 20px;
  background: var(--reservation-basic-bg);
}

body.admin-standard #app #workspace-reservations-panel .reservation-summary-heading h3 {
  color: var(--reservation-basic-ink);
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
}

body.admin-standard #app #workspace-reservations-panel .reservation-summary-heading p,
body.admin-standard #app #workspace-reservations-panel .reservation-event-total {
  color: var(--reservation-muted);
  font-size: 13px;
  line-height: 20px;
}

body.admin-standard #app #workspace-reservations-panel .reservation-event-total strong {
  color: var(--adm-brand, #d92d24);
  font-size: 24px;
  line-height: 32px;
}

@media (max-width: 900px) {
  body.admin-standard #app #workspace-reservations-panel .reservation-settings-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

body.admin-standard #app #workspace-reservations-panel .reservation-settings-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
body.admin-standard #app #workspace-reservations-panel .reservation-settings-grid > label { grid-column: span 2; }
body.admin-standard #app #workspace-reservations-panel .reservation-settings-grid > .reward-setting:nth-last-child(-n+2) { grid-column: span 3; }
body.admin-standard #app #workspace-reservations-panel .reservation-settings-grid > .switch-line { display: grid; align-content: start; margin: 0; }
body.admin-standard #app #workspace-reservations-panel .workspace-panel-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
body.admin-standard #app #workspace-reservations-panel .workspace-panel-heading h2 { margin: 0; }
body.admin-standard #app #workspace-reservations-panel .workspace-panel-heading p { display: none; }
body.admin-standard #app #workspace-reservations-panel #reservation-agreements-open { margin-left: auto; }
body.admin-standard #app #workspace-reservations-panel summary.reservation-summary-heading { cursor: pointer; color: var(--adm-link, #245aba); }
body.admin-standard #app #workspace-reservations-panel .reservation-statistics-explanation { margin: 16px 20px; color: var(--reservation-muted); }
body.admin-standard #app #workspace-reservations-panel .reservation-more-menu .danger-action { color: var(--adm-brand, #d92d24); }
@media (max-width: 900px) {
 body.admin-standard #app #workspace-reservations-panel .reservation-settings-grid { grid-template-columns: minmax(0, 1fr); }
 body.admin-standard #app #workspace-reservations-panel .reservation-settings-grid > label { grid-column: 1 / -1 !important; }
}
