.batch-tour {
  width: min(480px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
  padding: 24px; border: 1px solid #dce6e5; border-radius: 22px;
  color: #142d3c; background: #fff; box-shadow: 0 24px 80px #09281e33;
  overflow-y: auto; overscroll-behavior: contain;
}
.batch-tour::backdrop { background: #08291f33; backdrop-filter: blur(.5px); }
.batch-tour header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.batch-tour-eyebrow { color: #54706d; text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.batch-tour button { min-height: 44px; border: 1px solid #dce6e5; border-radius: 10px; padding: 9px 15px; font: 600 13px var(--font-body); color: #214e4a; background: #f5f4f2; cursor: pointer; }
.batch-tour button:focus-visible { outline: 3px solid #2a6a64; outline-offset: 3px; }
.batch-tour [data-tour-skip] { background: transparent; border-color: transparent; color: #676159; }
.batch-tour-symbol { display: grid; place-items: center; width: 76px; height: 76px; margin: 20px 0 16px; border-radius: 20px; background: #f1fcfb; }
.batch-tour:not([data-step="welcome"]) .batch-tour-symbol { display: none; }
.batch-tour:not([data-step="welcome"]) .batch-tour-batch { margin-top: 18px; }
.batch-tour-batch { margin: 0 0 8px; color: #54706d; font-size: 12px; overflow-wrap: anywhere; }
.batch-tour h2 { margin: 0; color: #023631; font: 700 25px/1.25 var(--font-display); letter-spacing: -.025em; text-wrap: balance; }
.batch-tour #batch-tour-body { margin: 12px 0 0; font-size: 14px; line-height: 1.7; color: #4e4942; }
.batch-tour footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 26px; padding-top: 18px; border-top: 1px solid #e5edec; }
.batch-tour [data-tour-count] { font-size: 12px; color: #54706d; white-space: nowrap; }
.batch-tour-actions { display: flex; gap: 8px; }
.batch-tour [data-tour-next] { background: #214e4a; border-color: #214e4a; color: #fff; }
.batch-tour [data-tour-back]:disabled { visibility: hidden; }
.batch-tour-practice { margin-top: 18px; padding: 16px; border: 1px solid #dce6e5; border-radius: 14px; background: #fafcfc; }
.batch-tour-practice p { margin: 5px 0 12px; color: #54706d; font-size: 11px; }
.batch-tour-practice-actions { display: flex; gap: 8px; }
.batch-tour-practice-actions button { flex: 1; padding-inline: 8px; transition: background-color 140ms ease, transform 140ms ease; }
.batch-tour-practice-actions button:active { transform: scale(.96); }
.batch-tour [data-tour-practice="present"][aria-pressed="true"] { color: #fff; background: #257069; border-color: #257069; }
.batch-tour [data-tour-practice="absent"][aria-pressed="true"] { color: #fff; background: #b22e4b; border-color: #b22e4b; }
.batch-tour [data-tour-practice-status] { display: block; margin-top: 10px; font-size: 12px; color: #54706d; }
.batch-tour-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.batch-tour-chips span { padding: 7px 11px; border-radius: 8px; background: #edf6f5; color: #214e4a; font-size: 12px; }
@media (max-width: 400px) { .batch-tour { padding: 20px; } .batch-tour h2 { font-size: 22px; } .batch-tour-actions { gap: 6px; } .batch-tour-actions button { padding-inline: 10px; } }
@media (prefers-reduced-motion: reduce) { .batch-tour-practice-actions button { transition: none; } .batch-tour-practice-actions button:active { transform: none; } }
