/* admin_postcards 组（admin/postcard-rounds / admin/postcard-round-edit / admin/postcard-round）專屬樣式。
 * 全部用 app.css 的 token；class 用 apc- 前綴。兼容 iOS Safari 14：不用 inset / flex gap / aspect-ratio / :is() / dvh / color-mix。
 */

/* ---- 期次卡片（列表 + 詳情頁頭部） */
.apc-card {
  margin-bottom: var(--sp-3);
}
.apc-card .card {
  margin-bottom: 0;
}
.apc-card--closed .card {
  opacity: 0.55;
}
.apc-card__hit {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  min-height: 44px;
}
.apc-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.apc-head__title {
  flex: 1 1 auto;
  min-width: 0;
  margin-right: var(--sp-2);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  word-break: break-word;
}
.apc-tags {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.apc-tags .tag {
  margin: 0 0 var(--sp-1) var(--sp-1);
}
.apc-meta {
  margin-top: var(--sp-1);
  word-break: break-word;
}
.apc-desc {
  margin-top: var(--sp-2);
  white-space: pre-wrap;
  word-break: break-word;
}
.apc-addr {
  white-space: pre-wrap;
  word-break: break-word;
}

/* ---- 統計格（grid，不用 flex gap） */
.apc-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: var(--sp-3);
}
.apc-stats .stat {
  padding: var(--sp-2) 4px;
}

/* ---- 卡片內的按鈕區（縱向撐滿） */
.apc-actions {
  display: flex;
  flex-direction: column;
  margin-top: var(--sp-3);
}
.apc-actions .btn {
  width: 100%;
  margin-top: var(--sp-2);
}
.apc-actions .btn:first-child {
  margin-top: 0;
}

/* ---- 固定底欄的讓位：用 margin（不用 .has-action-bar 的 padding，
   padding 會把容器自身的 rect 撐到壓過底欄，自動化檢查與滾動到底時都視為遮擋） */
.apc-has-bar {
  margin-bottom: calc(66px + var(--safe-bottom));
}

/* ---- 選擇切換鈕 */
.apc-pick {
  width: 100%;
  margin-top: var(--sp-2);
  min-height: var(--tap);
  border: 1px solid var(--separator);
  border-radius: var(--radius-sm);
  background: var(--fill);
  color: var(--label);
  font-size: 14px;
  text-align: center;
}
.apc-pick[aria-pressed='true'] {
  border-color: var(--tint);
  background: var(--tint-soft);
  color: var(--tint);
  font-weight: 600;
}

/* ---- 報名 / 配對名單 */
.apc-filters {
  margin: 0 0 var(--sp-3);
}
.apc-pick-hint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-2);
}
.apc-pick-hint__text {
  flex: 1 1 auto;
  min-width: 0;
  margin-right: var(--sp-2);
}
.apc-clear {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 var(--sp-1);
  border: 0;
  background: none;
  color: var(--tint);
  font-size: 14px;
}
.apc-side {
  margin-top: var(--sp-2);
  padding-top: var(--sp-2);
  border-top: var(--hairline) solid var(--separator);
}
.apc-side:first-of-type {
  margin-top: var(--sp-3);
}
.apc-side__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
.apc-side__name {
  font-weight: 600;
  word-break: break-word;
}
.apc-hint {
  margin-top: var(--sp-2);
}

/* ---- 編輯頁唯讀欄位 */
.apc-ro {
  margin-top: var(--sp-1);
  white-space: pre-wrap;
  word-break: break-word;
}
.apc-block {
  margin-top: var(--sp-4);
}
.apc-block__label {
  margin-bottom: var(--sp-2);
  font-size: 13px;
  color: var(--label-2);
}

/* ---- 解散彈層 */
.apc-sheet-field {
  margin-bottom: var(--sp-2);
}
.apc-sheet-actions {
  display: flex;
  flex-direction: column;
}
.apc-sheet-actions .btn {
  width: 100%;
  margin-top: var(--sp-2);
}
.apc-sheet-actions .btn:first-child {
  margin-top: 0;
}

/* ---- 一鍵配對結果 */
.apc-result {
  white-space: pre-wrap;
  word-break: break-word;
}
