/* 肥仔集會所 V58：活動流局與退款工作台 */

.event-cancellation-danger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px;
  border: 1px solid rgba(255, 83, 99, .52);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255, 58, 78, .13), rgba(64, 19, 34, .2));
  box-shadow: inset 4px 0 0 rgba(255, 83, 99, .72);
}

.event-cancellation-danger h4,
.event-cancellation-danger p { margin: 0; }
.event-cancellation-danger h4 { margin-bottom: 5px; color: #fff2f3; }
.event-cancellation-danger p:last-child { color: #f0c9ce; line-height: 1.55; }
.event-cancellation-danger .btn { flex: 0 0 auto; border-color: rgba(255, 99, 112, .65); color: #ffd9dd; }

.cancellation-confirm-modal { max-width: 720px; }
.cancellation-confirm-modal form { display: grid; gap: 15px; }
.cancellation-confirm-modal h3 { margin: 0; }

.cancel-event-summary,
.cancel-event-consequences {
  padding: 15px;
  border-radius: 15px;
}
.cancel-event-summary {
  border: 1px solid rgba(255, 181, 76, .36);
  background: linear-gradient(145deg, rgba(255, 132, 28, .12), rgba(24, 28, 49, .6));
}
.cancel-event-summary h4 { margin: 0 0 4px; color: #fff4df; font-size: 1.1rem; }
.cancel-event-summary > p { margin: 0; color: #d9ddea; line-height: 1.5; }
.cancel-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 13px;
}
.cancel-summary-grid span {
  min-width: 0;
  padding: 10px;
  border-radius: 11px;
  background: rgba(255, 255, 255, .055);
  color: #aeb5c9;
  font-size: .78rem;
}
.cancel-summary-grid strong { display: block; margin-top: 2px; color: #fff; font-size: 1rem; overflow-wrap: anywhere; }
.cancel-event-summary .cancel-one-plus-note,
.cancel-event-summary .cancel-team-note { margin-top: 10px; padding: 9px 11px; border-radius: 9px; }
.cancel-one-plus-note { background: rgba(42, 211, 190, .1); color: #c9fff7 !important; }
.cancel-team-note { background: rgba(255, 185, 79, .1); color: #ffe0ac !important; }

.cancel-event-consequences { border: 1px solid rgba(255, 83, 99, .35); background: rgba(255, 58, 78, .075); }
.cancel-event-consequences strong { color: #ffc7cd; }
.cancel-event-consequences ul { margin: 8px 0 0; padding-left: 20px; color: #e9d7da; line-height: 1.65; }
.cancellation-acknowledge { min-height: 48px; padding: 11px 13px; border: 1px solid rgba(255, 83, 99, .32); border-radius: 12px; background: rgba(255, 58, 78, .06); }
.cancellation-confirm-actions { position: sticky; bottom: -18px; z-index: 2; padding: 12px 0 max(4px, env(safe-area-inset-bottom)); background: linear-gradient(180deg, transparent, #171a2d 25%); }

.refund-workbench-filters { grid-template-columns: minmax(190px, .9fr) minmax(180px, .65fr) minmax(230px, 1.1fr); }
.refund-cancellation-kind,
.event-cancelled-admin-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid rgba(255, 121, 137, .42);
  border-radius: 999px;
  background: rgba(255, 73, 87, .12);
  color: #ffc5cc;
  font-size: .76rem;
  font-weight: 900;
  line-height: 1.2;
}
.event-cancelled-admin-badge { margin-left: 7px; vertical-align: middle; }
.refund-cancellation-kind.low_enrolment { border-color: rgba(255, 185, 79, .42); background: rgba(255, 162, 43, .1); color: #ffdda8; }
.cancelled-event-line { padding: 10px 12px; border-radius: 11px; background: rgba(255, 73, 87, .07); }

.admin-refund-choice-form {
  display: grid;
  gap: 9px;
  padding: 13px;
  border: 1px solid rgba(255, 185, 79, .32);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(255, 162, 43, .09), rgba(42, 211, 190, .045));
}
.admin-refund-option {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-height: 48px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 11px;
  background: rgba(255, 255, 255, .035);
  cursor: pointer;
}
.admin-refund-option input { flex: 0 0 auto; margin-top: 3px; }
.admin-refund-option span { display: grid; gap: 2px; min-width: 0; }
.admin-refund-option b { color: #fff; }
.admin-refund-option small { color: #b9bfd0; line-height: 1.45; overflow-wrap: anywhere; }
.admin-refund-option:has(input:checked) { border-color: rgba(42, 211, 190, .55); background: rgba(42, 211, 190, .09); }
.admin-refund-option.disabled { cursor: not-allowed; opacity: .58; }
.admin-refund-transfer-fields { padding: 10px; border-radius: 10px; background: rgba(78, 146, 255, .08); }
.admin-refund-transfer-fields select { width: 100%; }

.formation-panel.organizer-cancelled {
  border-color: rgba(255, 84, 102, .78);
  box-shadow: inset 4px 0 0 rgba(255, 84, 102, .72);
}

@media (max-width: 900px) {
  .refund-workbench-filters { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 640px) {
  .event-cancellation-danger { align-items: stretch; flex-direction: column; padding: 14px; }
  .event-cancellation-danger .btn { width: 100%; min-height: 48px; white-space: normal; }
  .cancel-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cancellation-confirm-actions { grid-template-columns: minmax(0, 1fr); }
  .cancellation-confirm-actions .btn,
  .admin-refund-choice-form > .btn { width: 100%; min-height: 48px; }
  .event-cancelled-admin-badge { margin: 6px 0 0; }
}
