.mini-activity-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.mini-activity-form-grid .full { grid-column: 1 / -1; }
.mini-activity-form-grid textarea { min-height: 160px; resize: vertical; }
.mini-activity-field-invalid { border-color: #d94b45 !important; box-shadow: 0 0 0 3px rgba(217, 75, 69, .13) !important; }
.mini-activity-action-status { margin: 14px 0; padding: 12px 14px; border: 1px solid #cbded8; border-radius: 10px; line-height: 1.55; }
.mini-activity-action-status.info { color: #245b50; background: #f0f8f5; }
.mini-activity-action-status.success { color: #17643f; border-color: #b9ddca; background: #edf9f2; }
.mini-activity-action-status.error { color: #a63731; border-color: #efbbb7; background: #fff3f2; }
.mini-activity-action-status[hidden] { display: none; }
.mini-activity-stepper { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 18px 0 22px; }
.mini-activity-stepper button { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; border-color: #d6e3df; background: #f7faf9; color: #52635e; }
.mini-activity-stepper button span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: #e2ebe8; font-size: 12px; font-weight: 700; }
.mini-activity-stepper button.active { border-color: #54a893; background: #eaf7f3; color: #075e52; box-shadow: 0 0 0 2px rgba(84, 168, 147, .12); }
.mini-activity-stepper button.active span { color: #fff; background: #258b75; }
.mini-activity-step-panel { min-height: 260px; padding: 22px; border: 1px solid #dfe8e5; border-radius: 14px; background: #fff; }
.mini-activity-step-panel[hidden] { display: none; }
.mini-activity-step-heading { margin-bottom: 20px; }
.mini-activity-step-heading h3 { margin: 0 0 5px; }
.mini-activity-step-heading p { margin: 0; }
.mini-activity-step-footer { position: sticky; z-index: 4; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 18px; padding: 13px 16px; border: 1px solid #d9e5e1; border-radius: 12px; background: rgba(255, 255, 255, .96); box-shadow: 0 -8px 26px rgba(19, 62, 52, .07); backdrop-filter: blur(8px); }
.mini-activity-step-footer .actions { margin: 0; }
.mini-activity-readiness { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 22px; }
.mini-activity-readiness > div { display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; padding: 13px 14px; border: 1px solid #dfe7e4; border-radius: 10px; }
.mini-activity-readiness > div span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; font-weight: 700; }
.mini-activity-readiness .ready span { color: #17643f; background: #dff3e7; }
.mini-activity-readiness .ready strong { color: #17643f; }
.mini-activity-readiness .missing span { color: #9a611d; background: #fff0d7; }
.mini-activity-readiness .missing strong { color: #9a611d; }
.mini-activity-checkbox { display: flex; align-items: end; padding-bottom: 10px; }
.mini-activity-checkbox label { display: flex; flex-direction: row; align-items: center; gap: 8px; }
.mini-activity-checkbox input { width: auto; }

.mini-activity-assistant-qr-field { padding: 18px; border: 1px solid #d7e5e0; border-radius: 14px; background: #f7fbf9; }
.mini-activity-assistant-qr-row { display: flex; gap: 20px; align-items: center; margin-top: 10px; }
.mini-activity-assistant-qr-preview { position: relative; display: grid; width: 150px; height: 150px; flex: 0 0 150px; place-items: center; overflow: hidden; border: 1px solid #d8e2df; border-radius: 14px; background: #fff; color: #7a8783; }
.mini-activity-assistant-qr-preview img { width: 100%; height: 100%; object-fit: contain; opacity: 0; }
.mini-activity-assistant-qr-preview.is-loaded img { opacity: 1; }
.mini-activity-assistant-qr-preview.is-loaded .mini-activity-assistant-qr-loading { display: none; }
.mini-activity-assistant-qr-loading { position: absolute; font-size: 12px; }
.mini-activity-assistant-qr-actions { display: grid; flex: 1; gap: 10px; }
.mini-activity-assistant-qr-actions p { margin: 0; line-height: 1.55; }
.mini-activity-assistant-qr-actions > div { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

.mini-activity-poster-row {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin: 14px 0 28px;
}

.mini-activity-poster-preview,
.mini-activity-poster-empty {
  width: 180px;
  aspect-ratio: 3 / 4;
  border-radius: 12px;
  border: 1px solid var(--border, #e3e7e5);
  object-fit: cover;
  background: #f5f7f6;
}

.mini-activity-poster-empty {
  display: grid;
  place-items: center;
  color: #78827e;
}

.mini-activity-poster-row > div:last-child,
.mini-activity-upload-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.mini-activity-detail-images {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
  margin: 14px 0;
}

.mini-activity-detail-images article {
  overflow: hidden;
  border: 1px solid var(--border, #e3e7e5);
  border-radius: 12px;
  background: #fff;
}

.mini-activity-detail-images img { display: block; width: 100%; max-height: 280px; object-fit: contain; background: #f5f7f6; }
.mini-activity-image-actions { display: flex; gap: 6px; padding: 9px; }
.mini-activity-image-actions button { flex: 1; padding-inline: 8px; }

.mini-activity-list-main { display: flex; align-items: center; gap: 12px; min-width: 280px; }
.mini-activity-list-main img,
.mini-activity-list-placeholder {
  width: 58px;
  height: 78px;
  flex: 0 0 auto;
  border-radius: 8px;
  object-fit: cover;
  background: #f0f3f2;
}
.mini-activity-list-placeholder { display: grid; place-items: center; color: #85908b; font-size: 12px; }
.mini-activity-table td { vertical-align: middle; }
.mini-activity-status-badge { white-space: nowrap; }
.mini-activity-status-badge.draft { border-color: #cfe0f4; background: #edf5ff; color: #225b9f; }
.mini-activity-status-badge.rejected { border-color: #efbbb7; background: #fff3f2; color: #a63731; }
.mini-activity-list-actions { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.mini-activity-registration-modal { width: min(1480px, calc(100vw - 42px)); max-height: 92vh; overflow: auto; border-radius: 18px; background: #fff; box-shadow: 0 26px 80px rgba(0,0,0,.28); }
.mini-activity-registration-modal-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; border-bottom: 1px solid #e4ece9; }
.mini-activity-registration-modal-actions p { margin: 0; }
.mini-activity-registration-table { max-height: calc(92vh - 142px); }
.mini-activity-registration-table table { min-width: 1180px; }
.mini-activity-registration-table td { vertical-align: middle; }
.mini-activity-registration-error { color: var(--danger, #b42318); }
.mini-activity-archive-panel { padding: 0; overflow: hidden; }
.mini-activity-archive-panel > summary { display: flex; align-items: center; gap: 10px; padding: 18px 20px; cursor: pointer; list-style: none; font-weight: 700; }
.mini-activity-archive-panel > summary::-webkit-details-marker { display: none; }
.mini-activity-archive-panel > summary::after { margin-left: auto; color: var(--muted, #697a75); content: '展开'; font-size: 13px; font-weight: 500; }
.mini-activity-archive-panel[open] > summary::after { content: '收起'; }
.mini-activity-archive-table { border-top: 1px solid var(--border, #e3e7e5); }
.mini-activity-archive-table tbody { opacity: .78; }

.mini-activity-pricing { grid-column: 1 / -1; margin-top: 24px; padding: 22px; border: 1px solid var(--border, #e3e7e5); border-radius: 14px; background: #f8fbfa; }
.mini-activity-pricing[hidden] { display: none; }
.mini-activity-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.mini-activity-section-heading h3 { margin: 0 0 4px; }
.mini-activity-variants { display: grid; gap: 14px; margin-top: 18px; }
.mini-activity-variant-row { display: grid; grid-template-columns: 1.2fr repeat(4, minmax(150px, 1fr)); gap: 12px; padding: 16px; border: 1px solid #dce6e2; border-radius: 12px; background: #fff; }
.mini-activity-variant-options { grid-column: 1 / -1; display: flex; align-items: center; gap: 18px; }
.mini-activity-variant-options label { display: inline-flex; align-items: center; gap: 6px; }
.mini-activity-variant-options input { width: auto; }
.mini-activity-variant-options .danger { margin-left: auto; }
.mini-activity-variant-points { display: grid; gap: 16px; }
.mini-activity-points-card { padding: 20px; border: 1px solid #dce6e2; border-radius: 14px; background: #f9fcfb; }
.mini-activity-points-card.is-disabled { opacity: .72; }
.mini-activity-points-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.mini-activity-points-card-head h4 { margin: 0 0 7px; }
.mini-activity-points-card-head p { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; }
.mini-activity-points-card-head > label { display: inline-flex; align-items: center; gap: 7px; }
.mini-activity-points-card-head input { width: auto; }
.mini-activity-points-rule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.mini-activity-points-rule-grid small { display: block; margin-top: 6px; color: var(--muted, #697a75); line-height: 1.45; }
.mini-activity-percent-input { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; }
.mini-activity-percent-input > span { font-weight: 700; }
.mini-activity-points-preview { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 16px; padding: 13px 14px; border-radius: 10px; color: #315e55; background: #eaf6f2; }
.mini-activity-points-card > .actions { justify-content: flex-end; margin-top: 14px; }

.mini-activity-sessions-panel { margin-top: 24px; padding: 22px; border: 1px solid var(--border, #e3e7e5); border-radius: 14px; background: #fbfcfb; }
.mini-activity-sessions { display: grid; gap: 12px; margin-top: 16px; }
.mini-activity-session-row { display: grid; grid-template-columns: 38px 1fr 150px 190px 190px auto; gap: 12px; align-items: end; padding: 14px; border: 1px solid #dce6e2; border-radius: 12px; background: #fff; }
.mini-activity-session-row.is-unsaved { border-style: dashed; border-color: #dfb66f; background: #fffdf8; }
.mini-activity-unsaved-session-notice { margin-top: 14px; padding: 11px 13px; border: 1px solid #efd5a7; border-radius: 9px; color: #8a5a17; background: #fff8eb; line-height: 1.5; }
.mini-activity-session-number { display: grid; width: 32px; height: 32px; margin-bottom: 9px; place-items: center; border-radius: 50%; background: #e3f1ed; color: #0a695f; font-weight: 700; }
.mini-activity-session-remove { margin-bottom: 8px; }

.mini-activity-preview-backdrop { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(11, 28, 26, .58); }
.mini-activity-preview-dialog { max-width: 520px; width: 100%; max-height: 94vh; overflow: auto; border-radius: 18px; background: #fff; box-shadow: 0 26px 80px rgba(0,0,0,.28); }
.mini-activity-receipt-preview-dialog { width: min(460px, calc(100vw - 40px)); max-height: 94vh; overflow: auto; border-radius: 18px; background: #fff; box-shadow: 0 26px 80px rgba(0,0,0,.28); }
.mini-activity-receipt-preview-dialog > img { display: block; width: 100%; }
.mini-activity-receipt-preview-dialog > p { margin: 14px 18px 20px; line-height: 1.55; }
.mini-activity-preview-toolbar { position: sticky; z-index: 2; top: 0; display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 14px 18px; border-bottom: 1px solid #e6ebe9; background: #fff; }
.mini-activity-preview-toolbar > div { display: grid; gap: 3px; }
.mini-activity-preview-toolbar > div span { color: #71807b; font-size: 12px; }
.mini-activity-phone { position: relative; width: min(390px, calc(100vw - 72px)); height: min(760px, calc(100vh - 150px)); margin: 22px auto; overflow: hidden; border: 10px solid #1e2524; border-radius: 36px; background: #f7f4ee; box-shadow: 0 12px 34px rgba(0,0,0,.18); }
.mini-activity-phone-status { display: flex; align-items: center; justify-content: space-between; height: 24px; padding: 0 20px; background: #fff; color: #173d3a; font-size: 10px; font-weight: 700; }
.mini-activity-phone-nav { display: flex; align-items: center; justify-content: space-between; height: 46px; padding: 0 18px; background: #fff; color: #173d3a; }
.mini-activity-phone-scroll { height: calc(100% - 138px); overflow-y: auto; }
.mini-activity-phone-heading { display: block; overflow: hidden; margin: 0 12px 11px; border-radius: 14px; background: #fff; box-shadow: 0 5px 14px rgba(33, 70, 63, .08); }
.mini-activity-phone-poster,.mini-activity-phone-detail { display: block; width: 100%; }
.mini-activity-phone-empty { display: grid; height: 300px; place-items: center; color: #7a8883; background: #eef3f1; }
.mini-activity-phone-copy { padding: 14px 14px 15px; background: #fff; }
.mini-activity-phone-copy h2 { margin: 0 0 8px; font-size: 21px; line-height: 1.35; }
.mini-activity-phone-copy p { margin: 0; color: #73827e; line-height: 1.55; }
.mini-activity-phone-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.mini-activity-phone-tags span { padding: 4px 8px; border-radius: 999px; color: #596964; background: #f0f3f2; font-size: 11px; }
.mini-activity-phone-tags span.primary { color: #08736b; background: #e6f5f1; }
.mini-activity-phone-sessions { display: grid; gap: 7px; margin-top: 12px; }
.mini-activity-phone-session { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 9px; border-radius: 9px; background: #f3f8f6; }
.mini-activity-phone-session-index { display: grid; width: 20px; height: 20px; flex: none; place-items: center; border-radius: 50%; color: #0a6c60; background: #d9ece7; font-size: 10px; font-weight: 700; }
.mini-activity-phone-session-copy { flex: 1; min-width: 0; }
.mini-activity-phone-session-main { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.mini-activity-phone-session-main strong { flex: none; color: #254640; font-size: 12px; white-space: nowrap; }
.mini-activity-phone-session-main strong em { margin-left: 4px; color: #0a706a; font-size: 10px; font-style: normal; font-weight: 500; }
.mini-activity-phone-session-main time { flex: 1; color: #385b56; font-size: 11px; font-weight: 620; line-height: 1.35; text-align: right; }
.mini-activity-phone-session-location { margin-top: 4px; color: #667874; font-size: 10px; line-height: 1.4; text-align: right; }
.mini-activity-phone-fact { display: flex; align-items: flex-start; margin-top: 10px; color: #526763; font-size: 12px; line-height: 1.5; }
.mini-activity-phone-fact b { width: 38px; flex: none; color: #0a706a; }
.mini-activity-phone-copy h4 { margin: 0; color: #173d3a; font-size: 14px; }
.mini-activity-phone-single-price { margin-top: 14px; padding: 10px; border: 1px solid #e5ebe8; border-radius: 9px; background: #fbfcfb; }
.mini-activity-phone-single-price > div { display: flex; align-items: baseline; justify-content: space-between; gap: 9px; margin-top: 8px; }
.mini-activity-phone-discount-badge { padding: 3px 5px; border-radius: 4px; color: #d66a1d; background: #fff1e6; font-size: 10px; }
.mini-activity-phone-single-price strong { margin-left: auto; }
.mini-activity-phone-variants { margin-top: 14px; }
.mini-activity-phone-variant { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: 6px; padding: 10px; border: 1px solid #e0e8e5; border-radius: 9px; background: #fbfcfb; }
.mini-activity-phone-variant.selected { border-color: #08736b; background: #edf8f5; box-shadow: 0 0 0 2px rgba(8,115,107,.08); }
.mini-activity-phone-variant > span { font-size: 13px; font-weight: 700; }
.mini-activity-phone-variant > span em { margin-left: 5px; color: #d66a1d; font-size: 10px; font-style: normal; font-weight: 500; }
.mini-activity-phone-single-price strong,.mini-activity-phone-variant strong,.mini-activity-phone-action strong { color: #e27525; }
.mini-activity-phone-single-price del,.mini-activity-phone-variant del { margin-right: 4px; color: #9aa5a1; font-size: 10px; font-weight: 400; }
.mini-activity-phone-details { display: block; overflow: hidden; background: #fff; }
.mini-activity-phone-detail-text { padding: 15px 14px 21px; background: #fff; line-height: 1.7; }
.mini-activity-phone-detail-empty { display: grid; min-height: 120px; place-items: center; color: #73827e; background: #fff; }
.mini-activity-phone-safe-space { height: 88px; }
.mini-activity-phone-action { position: absolute; right: 0; bottom: 0; left: 0; display: flex; align-items: center; gap: 9px; height: 68px; padding: 0 12px; border-top: 1px solid #e1e7e5; background: rgba(255,255,255,.96); box-shadow: 0 -4px 13px rgba(21,56,51,.08); }
.mini-activity-phone-action > div { display: flex; flex: 1; min-width: 0; align-items: baseline; gap: 4px; overflow: hidden; white-space: nowrap; }
.mini-activity-phone-action > div span { flex: none; color: #176b63; font-size: 11px; font-weight: 700; }
.mini-activity-phone-action > div strong { overflow: hidden; font-size: 17px; text-overflow: ellipsis; }
.mini-activity-phone-action button { width: 155px; height: 41px; margin: 0; padding: 0; border: 0; border-radius: 9px; color: #fff; background: #08736b; font-size: 14px; font-weight: 720; }

.mini-activity-checkin-panel { border-color: #cfe5dd; background: linear-gradient(135deg, #f0f8f5, #fff); }
.mini-activity-checkin-controls { display: flex; gap: 10px; margin-top: 16px; }
.mini-activity-checkin-controls input { flex: 1; min-width: 0; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.mini-activity-checkin-result { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 14px; padding: 14px 16px; border-radius: 10px; }
.mini-activity-checkin-result.success { background: #e3f5eb; color: #12603f; }
.mini-activity-checkin-result.warning { background: #fff0df; color: #8b571e; }
.mini-activity-camera-overlay { position: fixed; z-index: 1600; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(6, 22, 19, .78); }
.mini-activity-camera-dialog { width: min(520px, 100%); overflow: hidden; border-radius: 18px; background: #fff; }
.mini-activity-camera-frame { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: #0a1513; }
.mini-activity-camera-frame video { width: 100%; height: 100%; object-fit: cover; }
.mini-activity-camera-guide { position: absolute; top: 50%; left: 50%; width: 68%; aspect-ratio: 1; border: 3px solid #75e5bd; border-radius: 16px; box-shadow: 0 0 0 999px rgba(0,0,0,.22); transform: translate(-50%, -50%); }
.mini-activity-camera-dialog > p { margin: 15px; color: #5f716c; text-align: center; }

@media (max-width: 760px) {
  .mini-activity-stepper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mini-activity-readiness { grid-template-columns: 1fr; }
  .mini-activity-step-footer { position: static; align-items: stretch; flex-direction: column; }
  .mini-activity-step-footer .actions { display: grid; grid-template-columns: repeat(3, 1fr); }
  .mini-activity-form-grid { grid-template-columns: 1fr; }
  .mini-activity-form-grid .full { grid-column: auto; }
  .mini-activity-poster-row { flex-direction: column; }
  .mini-activity-variant-row,.mini-activity-points-rule-grid,.mini-activity-session-row { grid-template-columns: 1fr; }
  .mini-activity-points-card-head { flex-direction: column; }
  .mini-activity-session-number { margin-bottom: 0; }
  .mini-activity-checkin-controls { flex-direction: column; }
  .mini-activity-assistant-qr-row { align-items: stretch; flex-direction: column; }
  .mini-activity-list-actions { align-items: stretch; flex-direction: column; }
  .mini-activity-registration-modal { width: calc(100vw - 20px); }
  .mini-activity-registration-modal-actions { align-items: stretch; flex-direction: column; }
}
