/* Conversation preparation: one reading column, persistent navigation. */
.pre-start-dialog { overflow: hidden; }
.pre-start-dialog.is-wizard { color: #111827; }
.pre-start-header { flex-shrink: 0; padding: 1.5rem 2rem 1rem; }
.pre-start-progress { display: flex; align-items: center; gap: 1rem; margin-bottom: .75rem; color: #4b5563; font-size: .875rem; }
.pre-start-progress-bars { display: flex; gap: .375rem; width: 4rem; }
.pre-start-progress-bars span { height: .25rem; flex: 1; border-radius: 1rem; background: #d1d5db; }
.pre-start-progress-bars span.is-current { background: #820933; }
.pre-start-dialog h2 { font-size: 1.75rem; font-weight: 700; line-height: 1.2; }
.pre-start-dialog h2:focus { outline: none; }
.pre-start-content { min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: .5rem 2rem 1.5rem; font-size: 1rem; line-height: 1.6; }
.pre-start-copy p + p { margin-top: .875rem; }
.pre-start-copy ul { list-style: disc; padding-left: 1.5rem; }
.pre-start-copy a { color: #820933; text-decoration: underline; }
.pre-start-case-title { margin-bottom: .5rem; font-weight: 700; }
.pre-start-checklist { margin-top: 1.5rem; }
.pre-start-checklist legend { margin-bottom: .5rem; font-weight: 700; }
.pre-start-introduction { margin-bottom: 1rem; color: #4b5563; font-size: .9375rem; }
.pre-start-checklist-items { display: grid; gap: .5rem; }
.pre-start-checklist-item { display: flex; gap: .75rem; align-items: flex-start; padding: .75rem; border: 1px solid #d1d5db; border-radius: .625rem; cursor: pointer; }
.pre-start-checklist-item:has(input:checked) { border-color: #820933; background: #fff5f7; }
.pre-start-checklist-item input { width: 1.25rem; height: 1.25rem; flex-shrink: 0; margin-top: .2rem; accent-color: #820933; }
.pre-start-message { margin-top: 1.25rem; }
.pre-start-message label { display: block; margin-bottom: .5rem; font-weight: 700; }
.pre-start-input-wrap { position: relative; min-width: 0; }
.pre-start-message textarea { display: block; width: 100%; min-height: 5rem; resize: vertical; padding: .875rem 1rem; border: 1px solid #9ca3af; border-radius: .625rem; background: #fff; color: #111827; font: inherit; }
.pre-start-message textarea::placeholder { color: #6b7280; }
.pre-start-message textarea[aria-invalid="true"] { border-color: #b91c1c; }
.pre-start-message textarea:disabled { background: #f9fafb; }
.pre-start-generate { position: absolute; bottom: .5rem; right: .5rem; }
.pre-start-check { margin-top: .75rem; }
.pre-start-feedback { margin-top: 1rem; font-size: .9375rem; }
.pre-start-explanation { margin-top: .75rem; padding: .875rem 1rem; border-left: 3px solid #820933; background: #fff5f7; color: #111827; }
.pre-start-footer { flex-shrink: 0; display: flex; justify-content: flex-end; gap: .75rem; border-top: 1px solid #e5e7eb; padding: 1rem 2rem; background: #fff; }
.pre-start-back { margin-right: auto; }
.pre-start-button { min-height: 2.75rem; border: 1px solid #820933; border-radius: .625rem; padding: .625rem 1.125rem; font-size: 1rem; font-weight: 700; line-height: 1.4; background: #fff; color: #820933; }
.pre-start-button:hover:not(:disabled) { background: #fff5f7; }
.pre-start-button.is-primary { background: #820933; color: #fff; }
.pre-start-button.is-primary:hover:not(:disabled) { background: #6d072b; }
.pre-start-button:disabled { cursor: not-allowed; opacity: .5; }
.pre-start-dialog :is(button, input, textarea, a):focus-visible { outline: 3px solid #820933; outline-offset: 3px; }
@media (min-width: 768px) {
  .pre-start-headline-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border: 1px solid #9ca3af; border-radius: .625rem; background: #fff; }
  .pre-start-headline-field:focus-within { border-color: #820933; box-shadow: 0 0 0 3px #fff5f7; }
  .pre-start-headline-field:has(textarea[aria-invalid="true"]) { border-color: #b91c1c; }
  .pre-start-headline-field textarea { border: 0; }
  .pre-start-dialog .pre-start-headline-field textarea:focus-visible { outline: none; }
  .pre-start-headline-field .pre-start-check { margin: .75rem; max-width: 15rem; }
}
@media (max-width: 639px) {
  .pre-start-header { padding: 1.25rem 1.25rem .875rem; }
  .pre-start-dialog h2 { font-size: 1.5rem; }
  .pre-start-content { padding: .25rem 1.25rem 1.25rem; }
  .pre-start-footer { padding: .875rem 1.25rem max(.875rem, env(safe-area-inset-bottom)); flex-wrap: wrap; }
  .pre-start-footer .is-primary { flex: 1 1 12rem; }
  .pre-start-check { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .pre-start-overlay { transition: none !important; }
  .pre-start-dialog { scroll-behavior: auto; }
}
