/* M09 — access-code batches, wizard, redemptions (prefix .m09-) */
.m09-code { font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
.m09-name { font-weight: 500; }
.m09-note { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m09-warn { color: var(--rv-warning); font-weight: 500; }
.m09-reason { max-width: 260px; white-space: normal; }
.m09-kpi { margin-bottom: var(--rv-space-4); }
.m09-mcode { letter-spacing: .04em; }
.m09-scope { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.m09-scope__n { font-weight: 500; }
.m09-scope__item { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--rv-fs-small); color: var(--rv-text-secondary); }
.m09-more { align-self: flex-start; display: inline-flex; padding: 0 6px; border-radius: var(--rv-radius-pill); background: var(--rv-neutral-100); color: var(--rv-text-secondary); font-size: var(--rv-fs-small); line-height: 18px; }
.m09-clist { margin: 0; padding-left: var(--rv-space-5); }
.m09-clist li { margin: 2px 0; }
.m09-kv .rv-kv__row { grid-template-columns: 170px minmax(0, 1fr); }

/* summary strip (COD-03) */
.m09-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin-bottom: var(--rv-space-4); border: 1px solid var(--rv-card-border); border-radius: var(--rv-radius-card); background: var(--rv-divider); overflow: hidden; }
.m09-summary__item { display: flex; flex-direction: column; gap: 2px; padding: var(--rv-space-3) var(--rv-space-4); background: var(--rv-surface); min-width: 0; }
.m09-summary__item strong { font-size: var(--rv-fs-stat-sm); line-height: var(--rv-lh-stat-sm); font-variant-numeric: tabular-nums; }
.m09-summary__label { font-size: var(--rv-fs-small); color: var(--rv-text-secondary); }
.m09-tabbody { margin-top: var(--rv-space-4); }

/* wizard (COD-02) */
.m09-stepper { margin-bottom: var(--rv-space-4); }
.m09-wiz__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: var(--rv-space-4); align-items: start; }
.m09-wiz__aside { position: sticky; top: calc(var(--rv-header-height, 56px) + 12px); min-width: 0; }
.m09-course-checks .rv-options { max-height: 320px; overflow: auto; padding: 8px 10px; border: 1px solid var(--rv-divider); border-radius: var(--rv-radius-card); }
.m09-counts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rv-space-2); }
.m09-count { display: flex; flex-direction: column; padding: 8px 10px; border: 1px solid var(--rv-divider); border-radius: var(--rv-radius-card); background: var(--rv-surface-subtle); }
.m09-count strong { font-size: 22px; line-height: 30px; font-variant-numeric: tabular-nums; color: var(--rv-primary-900); }
.m09-count span { font-size: var(--rv-fs-small); color: var(--rv-text-secondary); }
.m09-count.is-bad { border-color: var(--rv-danger-border); background: var(--rv-danger-bg); }
.m09-count.is-bad strong { color: var(--rv-danger); }
.m09-rcp { font-size: 13px; }
.m09-rcp td { vertical-align: middle; }
.m09-endpv th[scope="row"] { font-weight: 500; text-align: left; }

/* redeem simulator / reveal / email preview */
.m09-sim .rv-table { font-size: 13px; }
.m09-pvt td { vertical-align: top; }
.m09-reveal { display: flex; flex-direction: column; align-items: center; gap: var(--rv-space-3); text-align: center; }
.m09-reveal__code { display: block; padding: 12px 16px; border: 1px dashed var(--rv-primary-400); border-radius: var(--rv-radius-card); background: var(--rv-primary-50); color: var(--rv-primary-900);
  font: 600 20px/28px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .06em; word-break: break-all; }
.m09-mail { border: 1px solid var(--rv-divider); border-radius: var(--rv-radius-card); overflow: hidden; }
.m09-mail__meta { padding: 10px 14px; background: var(--rv-surface-subtle); border-bottom: 1px solid var(--rv-divider); font-size: 13px; line-height: 22px; }
.m09-mail__meta span { display: inline-block; min-width: 48px; color: var(--rv-text-muted); }
.m09-mail__body { padding: 16px; font-size: 14px; line-height: 22px; }
.m09-mail__body p { margin: 0 0 10px; }
.m09-mail__body ul { margin: 0 0 10px; padding-left: 20px; }
.m09-mail__code { display: inline-block; padding: 8px 12px; border-radius: var(--rv-radius-card); background: var(--rv-primary-50); color: var(--rv-primary-900); font: 600 18px/26px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .05em; }

@media (max-width: 1199px) {
  .m09-wiz__grid { grid-template-columns: minmax(0, 1fr); }
  .m09-wiz__aside { position: static; }
  .m09-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .m09-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m09-kv .rv-kv__row { grid-template-columns: 112px minmax(0, 1fr); }
  .m09-note { white-space: normal; }
}
