/* ==========================================================================
   Academy administration (updateacademy.php + updateacademy_*.php) and event editing
   (updateevent.php + updateevent_*.php). The frame, cards, fields, rows and sheets come from
   styles/settings.css (edit profile); this file only adds what those pages need on top:
   timetable, check-in grid, meters, composer, image editors. Tokens from styles/modern.css.
   Behaviour: scripts/bc-academy-admin.js. Markup helpers: functions_academy_admin.php.
   ========================================================================== */

/* ---------- Frame ---------- */
.bc-set-navbadge { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; font-size: 11.5px; font-weight: 700; line-height: 20px; text-align: center; color: #fff; background: var(--bc-amber); }
.bc-set-navlink.is-active .bc-set-navbadge { color: var(--bc-ink); background: var(--bc-surface); }
.bc-aa .bc-set-top-av a { display: block; line-height: 0; }
.bc-aa .bc-set-top-av .bc-av, .bc-aa .bc-set-top-av img { border-radius: 14px !important; }
.bc-aa-top-logo { width: 48px; height: 48px; border-radius: 14px; object-fit: cover; background: var(--bc-surface-3); box-shadow: inset 0 0 0 1px var(--bc-line); }
.bc-aa-top-icon { width: 48px; height: 48px; }
.bc-aa .bc-set-top-kicker { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bc-aa .bc-set-top-kicker .bc-set-chip { height: 20px; padding: 0 8px; font-size: 11px; letter-spacing: 0; text-transform: none; }
.bc-aa-draftnote { margin-bottom: 18px; }
.bc-aa-draftnote a { color: inherit !important; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.bc-aa-standalone { max-width: 980px; }
.bc-aa .bc-tiles--bare { margin: 0 0 18px; }
.bc-aa-mt { margin-top: 12px; }
/* First group heading of a form (after the hidden fields) has no rule above it */
.bc-aa .bc-set-body form > .bc-set-group:not(.bc-set-group ~ .bc-set-group) { margin-top: 2px; padding-top: 0; border-top: 0; }

/* ---------- Shared bits ---------- */
.bc-aa-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; align-items: start; }
.bc-aa-date { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 8px; }
.bc-aa-urlfield { display: flex; align-items: stretch; min-width: 0; border-radius: 14px; background: var(--bc-surface-2); box-shadow: inset 0 0 0 1px var(--bc-line-strong); }
.bc-aa-urlprefix { display: flex; align-items: center; padding: 0 4px 0 14px; font-size: 15px; color: var(--bc-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60%; }
.bc-set-card .bc-aa-urlfield > .bc-set-input { flex: 1 1 auto; min-width: 0; border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.bc-aa-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.bc-aa-btn-sm { min-height: 38px !important; padding: 0 13px !important; font-size: 13.5px !important; border-radius: 11px !important; }
.bc-aa-rowbtns { position: relative; z-index: 2; display: flex; gap: 6px; }
.bc-aa-danger-link { color: #be123c !important; margin-right: auto; }
.bc-aa-danger-link[hidden], .bc-aa-sheet-actions [hidden] { display: none !important; }
.bc-aa-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; }
.bc-aa-search { position: relative; flex: 1 1 220px; min-width: 0; }
.bc-aa-search > i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-size: 14px; color: var(--bc-faint); pointer-events: none; }
.bc-set-card .bc-aa-search > .bc-set-input { padding-left: 38px !important; min-height: 44px; }
.bc-aa-counts { display: flex; flex-wrap: wrap; gap: 6px; }
.bc-aa-check { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; font-size: 14px; color: var(--bc-ink-2); cursor: pointer; }
.bc-aa-check input { width: 18px; height: 18px; accent-color: var(--bc-ink); }
.bc-aa-listgroup + .bc-aa-listgroup { margin-top: 10px; }
.bc-aa-listhead { display: flex; align-items: center; gap: 8px; margin: 6px 0 4px; font-size: 12.5px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--bc-muted); }
.bc-aa-listhead span { min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px; font-size: 11.5px; line-height: 20px; text-align: center; letter-spacing: 0; background: var(--bc-surface-3); color: var(--bc-ink-2); }
.bc-aa-filtered, .is-archived-hidden { display: none !important; }
.bc-aa-nomatch { margin: 14px 0 4px; font-size: 14px; text-align: center; color: var(--bc-muted); }
.bc-aa-member .bc-set-row-act { gap: 6px; }
.bc-set-card .bc-aa-payment.is-archived { opacity: 0.62; }
.bc-aa-av .bc-av, .bc-aa-av img { border-radius: 50% !important; }

/* Pager */
.bc-aa-pager { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; margin: 16px 0 0; }
.bc-aa-pager > :last-child { justify-self: end; }
.bc-aa-pager-pos { font-size: 13px; font-weight: 600; color: var(--bc-muted); white-space: nowrap; }

/* ---------- Weekly timetable ---------- */
.bc-aa-ttwrap { container-type: inline-size; }
.bc-aa-tt { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.bc-aa-tt.is-empty { display: none; }
.bc-aa-tt-day { min-width: 0; display: flex; flex-direction: column; border-radius: 16px; background: var(--bc-surface-2); box-shadow: inset 0 0 0 1px var(--bc-line); }
.bc-aa-tt-day.is-today { background: rgba(91, 75, 209, 0.05); box-shadow: inset 0 0 0 1.5px rgba(91, 75, 209, 0.35); }
.bc-aa-tt-head { display: flex; align-items: baseline; gap: 6px; padding: 10px 10px 6px; }
.bc-aa-tt-short { font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--bc-ink); }
.bc-aa-tt-long { display: none; }
.bc-aa-tt-today { font-size: 10.5px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--bc-accent); }
.bc-aa-tt-count { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--bc-faint); }
.bc-aa-tt-list { display: flex; flex-direction: column; gap: 6px; padding: 0 6px 6px; flex: 1 1 auto; }
.bc-aa-tt-class {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  min-height: 64px;
  padding: 9px 10px 9px 12px;
  border: 0;
  border-radius: 12px;
  background: var(--bc-surface);
  box-shadow: 0 0 0 1px var(--bc-line), 0 1px 2px rgba(16, 16, 30, 0.05);
  font: inherit;
  text-align: left;
  color: var(--bc-ink-2);
  cursor: pointer;
  transition: box-shadow 0.18s var(--bc-ease), transform 0.18s var(--bc-ease);
}
.bc-aa-tt-class::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 0 3px 3px 0; background: var(--bc-accent); }
.bc-aa-tt-class:hover { box-shadow: 0 0 0 1px var(--bc-line-strong), var(--bc-shadow-2); transform: translateY(-1px); }
.bc-aa-tt-class:focus-visible { outline: none; box-shadow: var(--bc-ring) !important; }
.bc-aa-tt-class.is-hidden { background: transparent; box-shadow: inset 0 0 0 1.5px var(--bc-line-strong); }
.bc-aa-tt-class.is-hidden::before { background: var(--bc-faint); }
.bc-aa-tt-time { font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--bc-muted); }
.bc-aa-tt-name { font-size: 14px; font-weight: 650; line-height: 1.25; color: var(--bc-ink); overflow-wrap: anywhere; }
.bc-aa-tt-meta, .bc-aa-tt-flag { display: flex; align-items: center; gap: 5px; font-size: 12px; line-height: 1.3; color: var(--bc-muted); min-width: 0; }
.bc-aa-tt-meta i, .bc-aa-tt-flag i { font-size: 10px; color: var(--bc-faint); }
.bc-aa-tt-desc { font-size: 12px; line-height: 1.35; color: var(--bc-faint); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bc-aa-tt-add {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 36px; margin-top: auto; padding: 0 8px;
  border: 1.5px dashed var(--bc-line-strong); border-radius: 11px; background: transparent;
  font: 600 12.5px/1 var(--bc-font); color: var(--bc-muted); cursor: pointer;
  opacity: 0; transition: opacity 0.18s var(--bc-ease), color 0.18s var(--bc-ease), border-color 0.18s var(--bc-ease);
}
.bc-aa-tt-day:hover .bc-aa-tt-add, .bc-aa-tt-add:focus-visible, .bc-aa-tt-day.is-free .bc-aa-tt-add { opacity: 1; }
.bc-aa-tt-add:hover { color: var(--bc-accent); border-color: var(--bc-accent); }
.bc-aa-tt-add:focus-visible { outline: none; box-shadow: var(--bc-ring); }
@media (hover: none) { .bc-aa-tt-add { opacity: 1; } }

/* Narrow: one day per row, classes as a list */
@container (max-width: 760px) {
  .bc-aa-tt { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .bc-aa-tt-day { display: grid; grid-template-columns: 74px minmax(0, 1fr); align-items: start; }
  .bc-aa-tt-head { flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 0 10px 12px; }
  .bc-aa-tt-count { margin-left: 0; }
  .bc-aa-tt-list { padding: 6px 6px 6px 0; }
  .bc-aa-tt-class { min-height: 0; display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 2px 10px; align-items: baseline; }
  .bc-aa-tt-time { grid-row: span 3; font-size: 13px; }
  .bc-aa-tt-add { min-height: 40px; justify-content: flex-start; padding: 0 12px; }
  .bc-aa-tt-day.is-free .bc-aa-tt-list { padding-top: 6px; }
}

/* ---------- Attendance check-in ---------- */
.bc-aa-datenav { display: flex; align-items: center; gap: 4px; }
.bc-set-card .bc-aa-dateinput { width: auto; min-width: 150px; min-height: 42px; padding-top: 6px !important; padding-bottom: 6px !important; }
.bc-aa-classes { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; margin: 0 0 8px; }
.bc-aa-classopt { position: relative; margin: 0; cursor: pointer; }
.bc-aa-classopt input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.bc-aa-classopt-ui { position: relative; display: flex; flex-direction: column; gap: 2px; min-height: 68px; padding: 11px 38px 11px 14px; border-radius: 14px; background: var(--bc-surface-2); box-shadow: inset 0 0 0 1px var(--bc-line); transition: box-shadow 0.15s var(--bc-ease), background-color 0.15s var(--bc-ease); }
.bc-aa-classopt:hover .bc-aa-classopt-ui { background: var(--bc-surface-3); }
.bc-aa-classopt input:checked + .bc-aa-classopt-ui { background: var(--bc-surface); box-shadow: inset 0 0 0 2px var(--bc-ink), 0 6px 14px -10px rgba(11, 11, 16, 0.6); }
.bc-aa-classopt input:focus-visible + .bc-aa-classopt-ui { box-shadow: var(--bc-ring), inset 0 0 0 2px var(--bc-accent); }
.bc-aa-classopt-time { font-size: 12.5px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--bc-muted); }
.bc-aa-classopt-name { font-size: 15px; font-weight: 650; color: var(--bc-ink); line-height: 1.25; }
.bc-aa-classopt-desc { font-size: 12.5px; color: var(--bc-muted); line-height: 1.35; }
.bc-aa-classopt-check { position: absolute; right: 12px; top: 12px; font-size: 18px; color: var(--bc-ink); opacity: 0; transform: scale(0.6); transition: opacity 0.15s var(--bc-ease), transform 0.2s var(--bc-ease-spring); }
.bc-aa-classopt input:checked + .bc-aa-classopt-ui .bc-aa-classopt-check { opacity: 1; transform: none; }

.bc-aa-faces { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; margin: 0 0 16px; padding: 0; }
.bc-aa-face { position: relative; min-width: 0; }
.bc-aa-face > input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.bc-aa-face-ui {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  height: 100%; margin: 0; padding: 14px 8px 12px;
  border-radius: 16px; background: var(--bc-surface-2); box-shadow: inset 0 0 0 1px var(--bc-line);
  text-align: center; cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent;
  transition: background-color 0.15s var(--bc-ease), box-shadow 0.15s var(--bc-ease), transform 0.15s var(--bc-ease);
}
.bc-aa-face-ui:hover { background: var(--bc-surface-3); }
.bc-aa-face-ui:active { transform: scale(0.97); }
.bc-aa-face-av { position: relative; line-height: 0; }
.bc-aa-face-av img, .bc-aa-face-av .bc-av { width: 64px !important; height: 64px !important; margin: 0 !important; filter: grayscale(0.85); opacity: 0.72; transition: filter 0.2s var(--bc-ease), opacity 0.2s var(--bc-ease); }
.bc-aa-face-tick { position: absolute; right: -3px; bottom: -3px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font-size: 12px; color: #fff; background: var(--bc-green); box-shadow: 0 0 0 3px var(--bc-surface); opacity: 0; transform: scale(0.4); transition: opacity 0.15s var(--bc-ease), transform 0.25s var(--bc-ease-spring); }
.bc-aa-face-name { max-width: 100%; font-size: 13.5px; font-weight: 650; line-height: 1.25; color: var(--bc-ink-2); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.bc-aa-face-state { font-size: 11.5px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--bc-faint); }
.bc-aa-state-present, .bc-aa-state-already { display: none; }
.bc-aa-face .bc-set-chip { height: 22px; font-size: 11.5px; }
/* Present */
.bc-aa-face > input:checked + .bc-aa-face-ui { background: rgba(22, 163, 74, 0.08); box-shadow: inset 0 0 0 2px var(--bc-green); }
.bc-aa-face > input:checked + .bc-aa-face-ui .bc-aa-face-av img, .bc-aa-face > input:checked + .bc-aa-face-ui .bc-aa-face-av .bc-av { filter: none; opacity: 1; }
.bc-aa-face > input:checked + .bc-aa-face-ui .bc-aa-face-tick { opacity: 1; transform: none; }
.bc-aa-face > input:checked + .bc-aa-face-ui .bc-aa-face-name { color: var(--bc-ink); }
.bc-aa-face > input:checked + .bc-aa-face-ui .bc-aa-state-absent { display: none; }
.bc-aa-face > input:checked + .bc-aa-face-ui .bc-aa-state-present { display: inline; color: #15803d; }
.bc-aa-face > input:focus-visible + .bc-aa-face-ui { box-shadow: var(--bc-ring), inset 0 0 0 2px var(--bc-accent); }
/* Already checked in for the chosen class */
.bc-aa-face.is-already .bc-aa-face-ui { cursor: default; background: var(--bc-surface); box-shadow: inset 0 0 0 1.5px rgba(22, 163, 74, 0.35); }
.bc-aa-face.is-already .bc-aa-face-av img, .bc-aa-face.is-already .bc-aa-face-av .bc-av { filter: none; opacity: 1; }
.bc-aa-face.is-already .bc-aa-face-tick { opacity: 1; transform: none; background: rgba(22, 163, 74, 0.55); }
.bc-aa-face.is-already .bc-aa-state-absent { display: none; }
.bc-aa-face.is-already .bc-aa-state-already { display: inline; color: #15803d; text-transform: none; letter-spacing: 0; }
/* Needs a membership */
.bc-aa-face.is-blocked .bc-aa-face-ui { cursor: not-allowed; opacity: 0.55; }
.bc-aa-selcount.is-dirty { color: var(--bc-ink); }
.bc-aa-selcount.is-dirty::before { background: var(--bc-green); }

/* ---------- Meters (stats) ---------- */
.bc-aa-meters { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.bc-aa-meter { display: flex; align-items: center; gap: 12px; min-width: 0; }
.bc-aa-meter-lead { flex: 0 0 auto; line-height: 0; }
.bc-aa-meter-main { flex: 1 1 auto; min-width: 0; }
.bc-aa-meter-top { display: flex; align-items: baseline; gap: 10px; }
.bc-aa-meter-label { flex: 1 1 auto; min-width: 0; font-size: 14px; font-weight: 600; color: var(--bc-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc-aa-meter-val { flex: 0 0 auto; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--bc-ink); }
.bc-aa-meter-meta { margin: 1px 0 0; font-size: 12.5px; color: var(--bc-muted); }
.bc-aa-meter-bar { display: block; height: 6px; margin-top: 6px; border-radius: 999px; background: var(--bc-surface-3); overflow: hidden; }
.bc-aa-meter-bar > span { display: block; height: 100%; border-radius: inherit; background: var(--bc-brand-grad); }
.bc-aa-ranked .bc-list { margin: 0 -8px; }
.bc-aa .bc-set-body .bc-chart { margin: 0; }

/* ---------- Event: publish ---------- */
.bc-aa-progress { margin: 0 0 12px; }
.bc-aa-progress-top { display: flex; justify-content: space-between; gap: 10px; font-size: 13.5px; font-weight: 600; color: var(--bc-ink-2); }
.bc-aa-progress-top strong { font-variant-numeric: tabular-nums; color: var(--bc-ink); }
.bc-aa-reqs { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; margin: 0 0 20px; padding: 0; }
.bc-aa-reqs li { display: flex; align-items: center; gap: 9px; min-height: 36px; font-size: 14px; color: var(--bc-ink-2); }
.bc-aa-reqs li.is-ok i { color: var(--bc-green); }
.bc-aa-reqs li.is-missing i { color: #d97706; }
.bc-aa-reqs li.is-missing span { font-weight: 600; color: var(--bc-ink); }
.bc-aa-reqs a { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--bc-accent) !important; }
.bc-aa-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 6px; padding: 0; border: 0; min-width: 0; }
.bc-aa-choice legend { float: left; width: 100%; grid-column: 1 / -1; }
.bc-aa-choice-opt { position: relative; margin: 0; cursor: pointer; }
.bc-aa-choice-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.bc-aa-choice-ui { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 2px 10px; align-items: center; padding: 14px; border-radius: 14px; background: var(--bc-surface-2); box-shadow: inset 0 0 0 1px var(--bc-line); transition: box-shadow 0.15s var(--bc-ease), background-color 0.15s var(--bc-ease); }
.bc-aa-choice-ui i { grid-row: span 2; font-size: 16px; color: var(--bc-muted); text-align: center; }
.bc-aa-choice-ui strong { font-size: 15px; font-weight: 650; color: var(--bc-ink); }
.bc-aa-choice-ui small { font-size: 12.5px; color: var(--bc-muted); line-height: 1.35; }
.bc-aa-choice-opt input:checked + .bc-aa-choice-ui { background: var(--bc-surface); box-shadow: inset 0 0 0 2px var(--bc-ink), 0 6px 14px -10px rgba(11, 11, 16, 0.6); }
.bc-aa-choice-opt input:checked + .bc-aa-choice-ui i { color: var(--bc-ink); }
.bc-aa-choice-opt input:focus-visible + .bc-aa-choice-ui { box-shadow: var(--bc-ring), inset 0 0 0 2px var(--bc-accent); }
.bc-aa-choice[disabled] .bc-aa-choice-opt { cursor: not-allowed; opacity: 0.55; }

/* ---------- Image editors (academy logo, event logo / header) ---------- */
.bc-aa-logo-edit img#profileImage { border-radius: 24px !important; }
.bc-aa-croppie:empty { display: none; }
.bc-aa-croppie { margin: 0 0 16px; }
.bc-aa-imgedit { display: flex; align-items: flex-start; gap: 20px; flex-wrap: wrap; margin: 0 0 4px; }
.bc-aa-imgedit-logo { width: 148px; height: 148px; border-radius: 24px; object-fit: cover; background: var(--bc-surface-3); box-shadow: var(--bc-shadow-2), 0 0 0 1px var(--bc-line); transition: opacity 0.2s var(--bc-ease); }
.bc-aa-imgedit-empty { width: 148px; height: 148px; margin: 0; border-radius: 24px; font-size: 36px; }
.bc-aa-imgedit-side { flex: 1 1 260px; min-width: 0; }
.bc-aa-banner { position: relative; margin: 0 0 12px; aspect-ratio: 10 / 3; border-radius: 18px; overflow: hidden; background: var(--bc-surface-3); box-shadow: inset 0 0 0 1px var(--bc-line); }
.bc-aa-banner img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity 0.2s var(--bc-ease); }
.bc-aa-banner.is-empty { display: grid; place-items: center; border: 1.5px dashed var(--bc-line-strong); box-shadow: none; background: var(--bc-surface-2); }
.bc-aa-banner-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--bc-muted); }
.bc-aa-banner-empty i { font-size: 26px; color: var(--bc-faint); }
.bc-aa-imgedit-logo.is-removed, .bc-aa-banner img.is-removed { opacity: 0.2; }

/* ---------- Composer (message members / participants) ---------- */
.bc-aa-recipients { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding: 12px 14px; border-radius: 14px; background: var(--bc-surface-2); box-shadow: inset 0 0 0 1px var(--bc-line); }
.bc-aa-recipients p { margin: 0; font-size: 14px; color: var(--bc-ink-2); }
.bc-aa-recipients strong { color: var(--bc-ink); }
.bc-aa-stack { display: flex; flex: 0 0 auto; padding-left: 8px; }
.bc-aa-stack > div { margin-left: -8px; line-height: 0; }
.bc-aa-stack img, .bc-aa-stack .bc-av { width: 32px !important; height: 32px !important; margin: 0 !important; border: 2px solid var(--bc-surface) !important; }
.bc-aa-composer textarea.bc-set-input { min-height: 180px; }

/* ---------- Tablet / phone ---------- */
@media (max-width: 991px) {
  .bc-aa-grid2 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .bc-aa-checkin-card .bc-set-headact { width: 100%; }
  .bc-aa-datenav { width: 100%; }
  .bc-set-card .bc-aa-dateinput { flex: 1 1 auto; min-width: 0; }
  .bc-aa-classes { grid-template-columns: minmax(0, 1fr); }
  .bc-aa-faces { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 6px; }
  .bc-aa-face-ui { padding: 12px 6px 10px; }
  .bc-aa-face-av img, .bc-aa-face-av .bc-av { width: 56px !important; height: 56px !important; }
  .bc-aa-reqs, .bc-aa-choice { grid-template-columns: minmax(0, 1fr); }
  .bc-aa-pager .bc-set-btn span { display: none; }
  .bc-aa-pager .bc-set-btn { width: 44px; padding: 0; }
  .bc-aa-imgedit-logo, .bc-aa-imgedit-empty { width: 112px; height: 112px; }
  .bc-aa-member--decide .bc-set-row-act { width: 100%; justify-content: flex-end; padding-left: 56px; margin-top: 2px; }
  .bc-aa-rowbtns { flex: 1 1 auto; }
  .bc-aa-rowbtns .bc-set-btn { flex: 1 1 0; }
  .bc-aa-date { grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr) minmax(0, 1fr); gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .bc-aa-tt-class, .bc-aa-face-ui, .bc-aa-face-tick, .bc-aa-classopt-check { transition: none; }
}
.bc-aa-om-tip { display: inline-block; margin-top: 6px; font-size: 12.5px; color: #0f766e; } .bc-aa-om-tip a { font-weight: 600; }
