/* Complaint selection: original textarea remains the single payload field. */
.symptom-selector { --symptom-accent: var(--link, #6755a2); --symptom-tint: color-mix(in srgb, var(--symptom-accent) 7%, var(--paper, #fffdf9)); --symptom-edge: color-mix(in srgb, var(--symptom-accent) 18%, var(--surface-edge, #e9e2d7)); min-width: 0; }
.symptom-selector [hidden] { display: none !important; }
.symptom-selector *, .symptom-selector *::before, .symptom-selector *::after { box-sizing: border-box; }
.symptom-selector .symptom-hint, .symptom-selector .symptom-count,
.symptom-selector .symptom-order-hint, .symptom-selector .symptom-message { font-size: .8125rem; line-height: 1.5; }
.symptom-selector .symptom-hint { margin: 0 0 12px; color: var(--muted, #64727a); }
.symptom-selector .symptom-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.symptom-selector .symptom-choice { display: grid; grid-template-columns: 24px minmax(0,1fr) 17px; align-items: center; gap: 8px; min-height: 58px; margin: 0; padding: 10px 12px; background: #fff; border: 1px solid var(--edge, #dbe2e6); border-color: var(--symptom-edge); border-radius: 15px; font-size: .875rem; line-height: 1.3; cursor: pointer; transition: border-color .15s, background-color .15s; }
.symptom-selector .symptom-choice > span:last-child { grid-column: 2; grid-row: 1; min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
.symptom-selector .symptom-choice-icon, .symptom-selector .symptom-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--symptom-accent); line-height: 1; }
.symptom-selector .symptom-choice-icon { grid-column: 1; grid-row: 1; width: 24px; height: 24px; padding: 2px; border-radius: 7px; background: var(--sunlight, #fff0bf); }
.symptom-selector .symptom-choice:nth-child(4n + 2) .symptom-choice-icon { background: var(--petal, #f9e4eb); }
.symptom-selector .symptom-choice:nth-child(4n + 3) .symptom-choice-icon { background: var(--meadow, #eaf3e5); }
.symptom-selector .symptom-choice:nth-child(4n + 4) .symptom-choice-icon { background: var(--apricot, #ffe8d2); }
.symptom-selector .symptom-glyph { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.symptom-selector .symptom-checkbox { grid-column: 3; grid-row: 1; appearance: none; width: 17px; height: 17px; margin: 0; border: 1.5px solid var(--muted, #64727a); border-radius: 50%; background: white; cursor: pointer; }
.symptom-selector .symptom-checkbox:checked { border-color: var(--symptom-accent); background: var(--symptom-accent); box-shadow: inset 0 0 0 3px white; }
.symptom-selector .symptom-choice:hover { border-color: var(--symptom-accent); }
.symptom-selector .symptom-choice:has(:checked) { border-color: var(--symptom-accent); background: var(--symptom-tint); box-shadow: inset 0 0 0 1px var(--symptom-accent); }
.symptom-selector .symptom-choice:has(:checked) .symptom-choice-icon { background: color-mix(in srgb, var(--symptom-accent) 12%, white); }
.symptom-selector .symptom-choice:has(:disabled):not(:has(:checked)) { opacity: .5; cursor: default; }
.symptom-selector .symptom-own { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 8px; margin-top: 12px; }
.symptom-selector .symptom-own-label { grid-column: 1 / -1; font-size: .8125rem; margin: 0; }
.symptom-selector .symptom-own-input, .symptom-selector .symptom-duration-select { width: 100%; min-width: 0; min-height: 44px; padding: 9px 12px; border: 1px solid var(--edge, #dbe2e6); border-radius: 11px; background: white; color: inherit; font: inherit; font-size: 1rem; }
.symptom-selector button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; margin: 0; border: 1px solid var(--edge, #dbe2e6); border-radius: 11px; background: white; color: var(--symptom-accent); font: inherit; font-size: .8125rem; line-height: 1.3; cursor: pointer; }
.symptom-selector .symptom-add { padding: 9px 13px; border-color: var(--symptom-edge); background: var(--symptom-tint, #f7f5fa); }
.symptom-selector button:hover:not(:disabled) { border-color: var(--symptom-accent); background: var(--wash, #f7f5fa); }
.symptom-selector button:disabled { opacity: .35; cursor: default; }
.symptom-selector :is(button,input,select):focus-visible { outline: 2px solid var(--symptom-accent); outline-offset: 3px; }
.symptom-selector .symptom-message { margin: 6px 0 0; color: var(--symptom-accent); }
.symptom-selector .symptom-message:empty { margin: 0; }
.symptom-selector .symptom-count { color: var(--muted, #64727a); margin: 6px 0 0; }
.symptom-selector .symptom-order-hint { margin: 18px 0 10px; }
.symptom-selector .symptom-list { display: grid; gap: 10px; list-style: none; padding: 0; margin: 0; }
.symptom-selector .symptom-card { padding: 14px 16px; margin: 0; min-width: 0; background: linear-gradient(115deg, var(--symptom-tint), var(--paper, #fffdf9) 68%); border: 1px solid var(--symptom-edge); border-radius: 19px; box-shadow: var(--soft-shadow, 0 12px 32px #4e403d08); }
.symptom-selector .symptom-card-top { display: grid; grid-template-columns: auto auto minmax(0,1fr) auto; align-items: center; gap: 8px; }
.symptom-selector .symptom-number { font-size: .75rem; color: var(--symptom-accent); font-variant-numeric: tabular-nums; }
.symptom-selector .symptom-icon { width: 28px; height: 28px; padding: 4px; border-radius: 50%; background: var(--petal, #f9e4eb); }
.symptom-selector .symptom-card:nth-child(3n + 2) .symptom-icon { background: var(--sunlight, #fff0bf); }
.symptom-selector .symptom-card:nth-child(3n) .symptom-icon { background: var(--meadow, #eaf3e5); }
.symptom-selector .symptom-title { min-width: 0; margin: 0; padding: 0; font-size: .9375rem; line-height: 1.35; font-weight: 600; overflow-wrap: anywhere; hyphens: auto; }
.symptom-selector .symptom-actions { display: flex; gap: 0; }
.symptom-selector .symptom-actions button { padding: 0; font-size: 1.15rem; border-color: transparent; background: transparent; }
.symptom-selector .symptom-measurements { display: grid; grid-template-columns: minmax(0,1fr) 160px; align-items: start; gap: 24px; margin-top: 8px; }
.symptom-selector .symptom-rating { min-width: 0; }
.symptom-selector .symptom-severity { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; }
.symptom-selector .symptom-range-label { margin: 0; font-size: .8125rem; }
.symptom-selector .symptom-score { color: var(--symptom-accent); font-size: .8125rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.symptom-selector .symptom-range { --symptom-progress: 0%; appearance: none; display: block; width: 100%; min-width: 0; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; accent-color: var(--symptom-accent); cursor: pointer; }
.symptom-selector .symptom-range::-webkit-slider-runnable-track { height: 7px; border-radius: 99px; background: linear-gradient(to right,var(--symptom-accent) 0 var(--symptom-progress),var(--edge,#e0dcec) var(--symptom-progress) 100%); }
.symptom-selector .symptom-range::-moz-range-track { height: 7px; border-radius: 99px; background: var(--edge,#e0dcec); }
.symptom-selector .symptom-range::-moz-range-progress { height: 7px; border-radius: 99px; background: var(--symptom-accent); }
.symptom-selector .symptom-range::-webkit-slider-thumb { appearance: none; width: 24px; height: 24px; margin-top: -8.5px; border: 3px solid white; border-radius: 50%; background: var(--symptom-accent); box-shadow: 0 0 0 1px var(--symptom-accent); }
.symptom-selector .symptom-range::-moz-range-thumb { width: 19px; height: 19px; border: 3px solid white; border-radius: 50%; background: var(--symptom-accent); box-shadow: 0 0 0 1px var(--symptom-accent); }
.symptom-selector .symptom-unrated .symptom-range { opacity: .6; }
.symptom-selector .symptom-range-ends { display: flex; justify-content: space-between; gap: 10px; margin-top: -6px; }
.symptom-selector .symptom-endpoint { justify-content: flex-start; padding: 0 2px; border-color: transparent; background: transparent; font-size: .75rem; color: var(--muted, #64727a); }
.symptom-selector .symptom-endpoint:last-child { justify-content: flex-end; }
.symptom-selector .symptom-duration { display: grid; gap: 6px; align-items: center; }
.symptom-selector .symptom-duration-label { margin: 0; font-size: .8125rem; }

/* Intake framing is opt-in and never changes other questionnaire pages. */
.intake-start { --intake-accent: var(--link, #6755a2); --intake-tint: color-mix(in srgb, var(--intake-accent) 6%, var(--paper, #fffdf9)); --intake-border: color-mix(in srgb, var(--intake-accent) 16%, var(--surface-edge, #e9e2d7)); max-width: 800px; padding-bottom: 36px; }
.intake-start [hidden] { display: none !important; }
.intake-start .legacy-intro, .intake-start .intake-intro { padding-block: 26px 14px; }
.intake-start .intake-lead { max-width: 52ch; margin: 8px 0; color: var(--muted, #64727a); font-size: 1rem; line-height: 1.5; }
.intake-start .intake-steps { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; padding: 0; margin: 16px 0 0; font-size: .8125rem; color: var(--muted, #64727a); }
.intake-start .intake-steps li { display: flex; align-items: center; gap: 6px; }
.intake-start .intake-steps span { display: inline-grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: var(--intake-tint, #f7f5fa); color: var(--intake-accent); font-size: .75rem; }
.intake-start .frage { min-width: 0; margin-top: 18px; padding-block: 14px; }
.intake-start legend { max-width: 100%; padding: 0; font-size: 1rem; line-height: 1.45; font-weight: 600; }
.intake-start .frage > :is(textarea, input, .intake-quick) { margin-top: 10px; }
.intake-start .frage > .symptom-selector { margin-top: 12px; }
.intake-start .intake-card { min-width: 0; margin: 18px 0; padding: 20px; border: 1px solid var(--intake-border); border-radius: 23px; background: var(--paper, #fffdf9); }
.intake-start .intake-card--documents { background: linear-gradient(135deg, color-mix(in srgb, var(--sunlight, #fff0bf) 42%, white), var(--paper, #fffdf9) 72%); }
.intake-start .intake-card--voice { background: linear-gradient(135deg, color-mix(in srgb, var(--petal, #f9e4eb) 48%, white), var(--paper, #fffdf9) 72%); }
.intake-start .intake-card-heading { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; }
.intake-start .intake-card-heading :is(h2,h3) { margin: 0; font-size: 1.125rem; line-height: 1.4; }
.intake-start .intake-step-number { display: inline-grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; color: var(--surface-ink,var(--intake-accent)); background: var(--intake-tint, #f7f5fa); font-size: .8125rem; }
.intake-start .intake-card > p, .intake-start .intake-card .hinweis { font-size: .875rem; line-height: 1.55; margin: 6px 0 12px; }
.intake-start .intake-card > .frage:first-child { margin-top: 0; padding-top: 0; }
.intake-start .intake-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 16px; }
.intake-start .intake-contact-grid .frage { margin: 0; padding: 0; border: 0; }
.intake-start .intake-contact-grid .intake-wide { grid-column: 1 / -1; }
.intake-start .intake-contact-grid label { display: block; margin: 0 0 6px; font-size: .875rem; }
.intake-start :is(input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select) { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--edge, #dbe2e6); border-radius: 11px; color: var(--ink, #29353e); background: white; font: inherit; font-size: 1rem; line-height: 1.4; }
.intake-start textarea { min-height: 96px; resize: vertical; }
.intake-start .intake-quick { gap: 8px; margin-block: 10px 0; }
.intake-start .intake-quick .wahl { padding: 10px 12px; border-radius: 12px; font-size: .875rem; }
.intake-start .wahl { margin: 0; font-size: .9375rem; line-height: 1.4; }
.intake-start .wahl > span { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
.intake-start input[type=checkbox], .intake-start input[type=radio] { accent-color: var(--intake-accent); flex-shrink: 0; }
.intake-start :is(button,input,select,textarea,a,summary):focus-visible { outline: 2px solid var(--intake-accent); outline-offset: 3px; }
.intake-start .intake-dropzone { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 24px 16px; border: 1.5px dashed var(--intake-accent); border-radius: 18px; background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--sunlight, #fff0bf) 25%, white)); text-align: center; }
.intake-start .intake-dropzone svg { width: 32px; height: 32px; color: var(--intake-accent); }
.intake-start .intake-dropzone p { margin: 0; font-size: .875rem; line-height: 1.45; }
.intake-start .intake-dropzone input[type=file] { max-width: 100%; font: inherit; font-size: .875rem; }
.intake-start input[type=file]::file-selector-button { min-height: 44px; margin-right: 10px; padding: 10px 15px; border: 1px solid var(--intake-border); border-radius: 999px; color: var(--surface-ink,var(--intake-accent)); background: var(--intake-tint, #f7f5fa); font: inherit; cursor: pointer; }
.intake-start .intake-document-list { display: grid; gap: 8px; padding: 0; margin: 12px 0 0; list-style: none; }
.intake-start .intake-file-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--intake-border); background: #fff; font-size: .875rem; }
.intake-start .intake-file-row :is(span,p) { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.intake-start .intake-file-row button, .intake-start .intake-voice-controls button { min-height: 44px; min-width: 44px; padding: 9px 14px; border: 1px solid var(--intake-border); border-radius: 999px; color: var(--intake-accent); background: #fff; font: inherit; font-size: .875rem; cursor: pointer; }
.intake-start .intake-voice-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.intake-start .intake-voice-controls .intake-record { color: #fff; background: var(--intake-accent); border-color: var(--intake-accent); }
.intake-start .intake-voice-controls button:disabled, .intake-start .intake-file-row button:disabled { opacity: .5; cursor: default; }
.intake-start .intake-voice-state { margin: 10px 0 0; color: var(--muted, #64727a); font-size: .8125rem; line-height: 1.5; }
.intake-start .intake-voice-state[data-recording=true] { color: var(--surface-ink,var(--intake-accent)); font-weight: 600; }
.intake-start .intake-voice-preview { display: block; width: 100%; margin-top: 12px; }
.intake-start .intake-history { margin-top: 16px; }
.intake-start .intake-history label { display: block; margin-bottom: 8px; font-size: .875rem; }
.intake-start .intake-history label span { color: var(--muted, #64727a); font-weight: 400; }
.intake-start .intake-support { margin: 20px 0; padding: 18px; border: 1px solid var(--intake-border); border-radius: 18px; background: linear-gradient(135deg, color-mix(in srgb, var(--meadow, #eaf3e5) 50%, white), var(--paper, #fffdf9)); }
.intake-start .intake-support h2 { margin: 0 0 8px; font-size: 1.05rem; line-height: 1.35; }
.intake-start .intake-support p { margin: 0; color: var(--muted, #64727a); font-size: .875rem; line-height: 1.5; }
.intake-start .intake-support-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 14px; }
.intake-start .intake-receipt-links { margin-top: 14px; padding: 12px 14px; border-left: 3px solid var(--intake-accent); background: var(--intake-tint, #f7f5fa); }
.intake-start .visually-hidden, .intake-start .intake-file-input { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.intake-start .intake-steps a { text-decoration: none; padding: 7px 10px; border-radius: 999px; background: var(--intake-tint); }
.intake-start .intake-card-heading { flex-wrap: wrap; }
.intake-start .intake-optional { color: var(--muted); font-size: .75rem; font-weight: 400; }
.intake-start .intake-card-heading > .intake-optional { margin-left: auto; }
.intake-start .intake-section-note { color: var(--muted); font-size: .875rem; line-height: 1.55; }
.intake-start .intake-complaints { border: 0; padding: 0; margin: 0; }
.intake-start .intake-contact-grid .intake-contact-wide { grid-column: 1 / -1; }
.intake-start .intake-file-button, .intake-start .intake-secondary { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 46px; padding: 10px 17px; border: 1px solid var(--intake-border); border-radius: 999px; color: var(--intake-accent); background: white; font: inherit; font-size: .875rem; line-height: 1.4; cursor: pointer; text-align: center; }
.intake-start .intake-file-button { background: var(--intake-accent); color: white; border-color: var(--intake-accent); }
.intake-start .intake-dropzone:focus-within { outline: 2px solid var(--intake-accent); outline-offset: 3px; }
.intake-start .intake-dropzone.is-unavailable { opacity: .65; }
.intake-start .intake-dropzone.is-unavailable .intake-file-button { cursor: default; }
.intake-start .intake-dropzone.is-dragging { background: var(--intake-tint); border-style: solid; }
.intake-start .intake-file-row { grid-template-columns: minmax(0,1fr) auto auto; }
.intake-start .intake-file-row small { color: var(--muted); }
.intake-start .intake-message-block { margin-top: 22px; padding: 20px; border: 1px solid var(--surface-edge, #e9e2d7); border-radius: 18px; background: linear-gradient(130deg, color-mix(in srgb, var(--petal, #f9e4eb) 48%, white), color-mix(in srgb, var(--apricot, #ffe8d2) 35%, white)); }
.intake-start .intake-message-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.intake-start .intake-message-heading h3 { margin: 0 0 8px; font-size: 1rem; line-height: 1.4; }
.intake-start .intake-voice-preview audio { display: block; width: 100%; margin: 0 0 10px; }
.intake-start .intake-inline-status { font-size: .8125rem; line-height: 1.5; color: var(--muted); margin: 8px 0; }
.intake-start .intake-inline-status:empty { margin: 0; min-height: 0; }
.intake-start .is-error { color: #8a303c; }
.intake-start :is(input,textarea,select)[aria-invalid=true] { border: 2px solid #8a303c; background: #fff5f5; }
.intake-start :is(.intake-secondary,.intake-file-button,.intake-voice-controls button,.intake-file-row button):hover:not(:disabled) { border-color: var(--intake-accent); box-shadow: 0 0 0 1px var(--intake-accent); }
.intake-start :is(.intake-secondary,.intake-file-button):disabled { opacity: .5; cursor: default; box-shadow: none; }
.intake-start :is(input,textarea,select):disabled { cursor: default; }
.intake-start .intake-more { margin-top: 20px; border-top: 1px solid var(--intake-border); padding-top: 12px; font-size: .875rem; }
.intake-start .intake-more label { display: block; margin: 15px 0 8px; }
.intake-start .intake-more summary { padding: 8px 0; cursor: pointer; }
.intake-start .intake-submit-note, .intake-start .intake-disclaimer { font-size: .8125rem; line-height: 1.55; color: var(--muted); }
.intake-start .senden .knopf { gap: 16px; padding: 15px 25px; }
@media (min-width: 700px) { .symptom-selector .symptom-choices { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 540px) {
  .symptom-selector .symptom-card { padding: 12px; }
  .symptom-selector .symptom-card-top { grid-template-columns: auto minmax(0,1fr) auto; gap: 7px; }
  .symptom-selector .symptom-card-top .symptom-icon { display: none; }
  .symptom-selector .symptom-measurements { grid-template-columns: minmax(0,1fr); gap: 4px; }
  .symptom-selector .symptom-duration { grid-template-columns: auto minmax(0,1fr); gap: 12px; }
  .symptom-selector .symptom-choice { padding: 9px; gap: 7px; }
  .intake-start .intake-card { padding: 16px; border-radius: 20px; }
  .intake-start .intake-contact-grid { gap: 12px; }
  .intake-start .intake-dropzone { padding: 20px 12px; }
  .intake-start .intake-message-block { padding: 15px; }
  .intake-start .intake-file-row { grid-template-columns: minmax(0,1fr) auto; }
  .intake-start .intake-file-row small { grid-column: 1; grid-row: 2; }
  .intake-start .intake-file-row button { grid-column: 2; grid-row: 1 / 3; }
  .intake-start .senden .knopf { width: 100%; }
}
@media (max-width: 360px) {
  .symptom-selector .symptom-choices { grid-template-columns: minmax(0,1fr); }
  .intake-start .intake-contact-grid { grid-template-columns: minmax(0,1fr); }
  .intake-start .intake-quick { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) { .symptom-selector .symptom-choice { transition: none; } }
@media (forced-colors: active) {
  .symptom-selector .symptom-checkbox { appearance: auto; }
  .symptom-selector .symptom-range { appearance: auto; }
  .symptom-selector .symptom-choice:has(:checked) { outline: 2px solid Highlight; outline-offset: -2px; }
  .intake-start .intake-dropzone { border-color: ButtonText; }
}

/* Retain F1 intake fields in the compact form. */
.intake-compact select { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid var(--intake-border); border-radius: 12px; color: var(--ink); background: #fff; font: inherit; font-size: 1rem; }

/* Guided intake: one active section, an honest position indicator and final review. */
.intake-start.intake-journey .intake-intro { padding-block:24px 0; }
.intake-journey .journey-time { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:10px 0 0; font-size:.875rem; color:var(--muted); }
.intake-journey .journey-duration { display:inline-flex; align-items:center; gap:7px; }
.intake-journey .journey-time svg { color:var(--intake-accent); flex-shrink:0; }
.intake-journey .journey-compass { margin:20px 0 22px; padding:18px 20px 14px; border:1px solid var(--surface-edge, #e9e2d7); border-radius:20px; background:radial-gradient(ellipse at 0 0, color-mix(in srgb, var(--sunlight, #fff0bf) 70%, white), transparent 70%), radial-gradient(ellipse at 100% 100%, color-mix(in srgb, var(--petal, #f9e4eb) 58%, white), transparent 68%), var(--paper, #fffdf9); box-shadow:var(--soft-shadow, 0 12px 32px #4e403d08); scroll-margin-top:20px; }
.intake-journey .journey-progress-label { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 15px; margin:0 0 12px; font-size:.8125rem; }
.intake-journey #journey-position { font-weight:600; color:var(--surface-ink,var(--intake-accent)); }
.intake-journey #journey-hint { color:var(--muted); }
.intake-journey progress { appearance:none; display:block; width:100%; height:5px; border:0; border-radius:10px; overflow:hidden; color:var(--intake-accent); background:var(--intake-border); }
.intake-journey progress::-webkit-progress-bar { background:var(--intake-border); }
.intake-journey progress::-webkit-progress-value { background:var(--intake-accent); border-radius:10px; }
.intake-journey progress::-moz-progress-bar { background:var(--intake-accent); border-radius:10px; }
.intake-journey .journey-stops { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; list-style:none; margin:12px 0 0; padding:0; }
.intake-journey .journey-stops li { position:relative; }
.intake-journey .journey-stops li:not(:last-child)::after { content:""; position:absolute; top:22px; left:calc(50% + 17px); width:calc(100% - 20px); height:2px; background:var(--intake-border); z-index:0; }
.intake-journey .journey-stops li.is-done:not(:last-child)::after { background:var(--intake-accent); }
.intake-journey .journey-stops li:has(button.is-done):not(:last-child)::after { background:var(--intake-accent); }
.intake-journey .journey-stops button { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:44px; padding:8px 4px; border:1px solid transparent; border-radius:12px; font:inherit; font-size:.8125rem; background:var(--paper,#fffdf9); color:var(--muted); cursor:pointer; }
/* J1: die Schritte als Punkte — Kreis statt Balken; erledigt = Gipfelkreuz (Häkchen), aktuell = größer und gefüllt. */
.intake-journey .journey-stops button span { width:20px; height:20px; border:2px solid var(--intake-border); border-radius:50%; flex-shrink:0; position:relative; transition:background .25s,border-color .25s,transform .25s; }
.intake-journey .journey-stops button[aria-current] span { width:23px; height:23px; }
.intake-journey .journey-stops button.is-done span { background:var(--intake-accent); border-color:var(--intake-accent); }
.intake-journey .journey-stops button.is-done span::after { content:"✓"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:.625rem; line-height:1; color:#fff; font-weight:700; }
.intake-journey .journey-stops button[aria-current] { background:#fff; border-color:var(--intake-accent); color:var(--intake-accent); font-weight:600; box-shadow:inset 0 0 0 1px var(--intake-accent); }
.intake-journey .journey-stops button[aria-current] span { background:currentColor; }
.intake-journey .journey-stops button[aria-current].is-done span { background:var(--intake-accent); }
.intake-journey .journey-stops button:hover:not(:disabled) { color:var(--intake-accent); background:#fff; }
.intake-journey .journey-stops button:disabled { cursor:default; opacity:.55; }
/* J14/J15: der Gipfelkreuz-Moment — kurzer Regenbogen-Schimmer, dezent, kein Ton; reduced-motion zeigt nur den Satz. */
.intake-journey .journey-compass { position:relative; overflow:hidden; }
.intake-journey .journey-gipfel { margin:12px 0 0; padding:9px 14px; border-radius:12px; font-size:.8125rem; font-weight:600; text-align:center; color:var(--surface-ink,var(--intake-accent)); background:linear-gradient(90deg,#ffe1ea,#fff6d6,#e3f7e3,#dcefff,#f0e3ff); background-size:220% 100%; background-position:0 0; }
@media (prefers-reduced-motion: no-preference) {
  .intake-journey .journey-gipfel:not([hidden]) { animation:journey-gipfel-schimmer 1.3s ease-out; }
  .intake-journey .journey-stops button.gipfel-pop span { animation:journey-gipfel-pop .5s ease-out; }
  .intake-journey .journey-compass.gipfel-konfetti::after {
    content:""; position:absolute; inset:0; pointer-events:none;
    background-image:
      radial-gradient(circle,#ff7ab6 3px,transparent 3.5px),
      radial-gradient(circle,#ffd23f 3px,transparent 3.5px),
      radial-gradient(circle,#4fd18b 3px,transparent 3.5px),
      radial-gradient(circle,#5aa9ff 3px,transparent 3.5px),
      radial-gradient(circle,#c792ff 3px,transparent 3.5px);
    background-repeat:no-repeat;
    background-position:18% 8%,38% 2%,56% 12%,76% 4%,90% 14%;
    animation:journey-konfetti-fall 1.1s ease-in forwards;
  }
}
.quittung.journey-gipfel-final .journey-summary-note { margin:6px 0 14px; padding:9px 14px; border-radius:12px; font-weight:600; color:var(--surface-ink,var(--intake-accent)); background:linear-gradient(90deg,#ffe1ea,#fff6d6,#e3f7e3,#dcefff,#f0e3ff); background-size:220% 100%; }
@media (prefers-reduced-motion: no-preference) {
  .quittung.journey-gipfel-final .journey-summary-note { animation:journey-gipfel-schimmer 1.4s ease-out; }
}
@keyframes journey-gipfel-schimmer { from { background-position:220% 0; } to { background-position:0 0; } }
@keyframes journey-gipfel-pop { 0% { transform:scale(1); } 45% { transform:scale(1.4); } 100% { transform:scale(1); } }
@keyframes journey-konfetti-fall { 0% { opacity:0; transform:translateY(-6px); } 25% { opacity:1; } 100% { opacity:0; transform:translateY(28px); } }
/* J4: der Weiter-Knopf leuchtet sanft, wenn die aktuelle Karte vollständig ist. */
.intake-journey .journey-actions .knopf.is-ready:not(:disabled) { box-shadow:0 0 0 3px color-mix(in srgb, var(--intake-accent) 28%, transparent), var(--soft-shadow, 0 12px 32px #4e403d08); }
@media (prefers-reduced-motion: no-preference) {
  .intake-journey .journey-actions .knopf.is-ready:not(:disabled) { animation:journey-weiter-glow 1.8s ease-in-out infinite; }
}
@keyframes journey-weiter-glow {
  0%,100% { box-shadow:0 0 0 3px color-mix(in srgb, var(--intake-accent) 22%, transparent), var(--soft-shadow, 0 12px 32px #4e403d08); }
  50% { box-shadow:0 0 0 6px color-mix(in srgb, var(--intake-accent) 34%, transparent), var(--soft-shadow, 0 12px 32px #4e403d08); }
}
/* J2: große Antwortflächen — mindestens 56 px hoch, auf dem Handy volle Breite (@560px greift bereits eine Spalte). */
.intake-start .intake-quick .wahl { min-height:56px; }
.intake-journey .intake-card { margin:0; padding:24px; box-shadow:var(--soft-shadow, 0 12px 32px #4e403d08); }
.intake-journey .intake-card-heading h2 { font-size:1.375rem; }
.intake-journey .intake-medications { margin-top:26px; border-top:1px solid var(--intake-border); padding-top:24px; }
.intake-journey .journey-actions { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin:22px 0 8px; }
.intake-journey .journey-actions .knopf { min-height:48px; margin-left:auto; font-size:.9375rem; padding:14px 22px; }
.intake-journey #journey-local-note { text-align:right; }
.intake-journey .journey-unsent { font-size:.75rem; color:var(--intake-accent); border:1px solid var(--intake-border); border-radius:99px; padding:4px 8px; }
.intake-journey .journey-summary-block { padding:16px 0; border-bottom:1px solid var(--intake-border); }
.intake-journey .journey-summary-heading { display:flex; gap:12px; align-items:center; justify-content:space-between; }
.intake-journey .journey-summary-heading h3 { margin:0; font-size:1rem; line-height:1.4; }
.intake-journey .journey-summary-heading button { min-height:44px; padding:8px 12px; border:1px solid var(--intake-border); border-radius:99px; background:#fff; font:inherit; color:var(--intake-accent); font-size:.8125rem; cursor:pointer; }
.intake-journey .journey-summary-block dl { margin:8px 0 0; }
.intake-journey .journey-summary-block dl > div { margin:12px 0; }
.intake-journey .journey-summary-block dt { color:var(--muted); font-size:.8125rem; line-height:1.5; }
.intake-journey .journey-summary-block dd { margin:3px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:.9375rem; line-height:1.6; }
.intake-journey .journey-request-explanation { padding:18px; margin-top:20px; border:1px solid var(--surface-edge, #e9e2d7); border-radius:16px; background:linear-gradient(120deg, color-mix(in srgb, var(--meadow, #eaf3e5) 55%, white),var(--paper, #fffdf9)); }
.intake-journey .journey-request-explanation strong { font-size:1rem; }
.intake-journey .journey-request-explanation p { margin:8px 0 0; font-size:.875rem; line-height:1.6; }
.intake-journey .journey-next-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0; }
.intake-journey .journey-next-paths a { display:flex; flex-direction:column; justify-content:center; gap:8px; min-height:110px; padding:20px; border:1px solid var(--intake-border); border-radius:18px; background:linear-gradient(145deg, #fff, color-mix(in srgb, var(--sunlight, #fff0bf) 30%, white)); color:var(--intake-accent); text-decoration:none; }
.intake-journey .journey-next-paths a:nth-child(even) { background:linear-gradient(145deg, #fff, color-mix(in srgb, var(--meadow, #eaf3e5) 40%, white)); }
.intake-journey .journey-next-paths a:hover { border-color:var(--intake-accent); box-shadow:var(--soft-shadow, 0 12px 32px #4e403d08); }
.intake-journey .journey-next-paths strong { font-size:1.125rem; }
.intake-journey .journey-next-paths span { font-size:.875rem; color:var(--muted); line-height:1.5; }
@media(max-width:540px) {
 .intake-journey .journey-compass { padding:14px 12px 10px; margin-top:12px; }
 .intake-journey .journey-stops { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
 .intake-journey .journey-stops button { font-size:.8125rem; gap:6px; }
 .intake-journey .intake-card { padding:18px 15px; }
 .intake-journey .journey-actions .knopf { width:100%; order:-1; margin-left:0; }
 .intake-journey #journey-local-note { text-align:left; }
 .intake-journey .journey-next-paths { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) { .intake-journey .intake-treatment .intake-quick { grid-template-columns:minmax(0,1fr); } }

/* Equal entry points; patient wishes stay in the same form. */
.intake-entries { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:5px; margin:18px 0 20px; border:1px solid var(--surface-edge, #e9e2d7); border-radius:16px; background:linear-gradient(110deg, color-mix(in srgb, var(--sunlight, #fff0bf) 42%, white), color-mix(in srgb, var(--meadow, #eaf3e5) 42%, white)); scroll-margin-top:16px; }
.intake-entries button { min-height:46px; padding:10px 12px; border:1px solid transparent; border-radius:11px; background:transparent; font:inherit; font-size:.875rem; color:var(--muted); cursor:pointer; }
.intake-entries button[aria-pressed=true] { background:#fff; border-color:var(--intake-accent); color:var(--intake-accent); font-weight:600; box-shadow:inset 0 0 0 1px var(--intake-accent); }
.intake-entries button:hover:not(:disabled) { color:var(--intake-accent); background:#fff; }
.intake-entries button:disabled { opacity:.5; cursor:default; }
.intake-amount-label { display:block; grid-column:1/-1; font-size:.8125rem; color:var(--muted); }
.intake-amount-label input { margin-top:6px; }
/* Keep form text readable on phones and prevent focus zoom in iOS Safari. */
@media(max-width:600px) {
 .intake-start .intake-amount-label input { font-size:16px; }
 .intake-journey .intake-file-button { width:100%; min-height:52px; }
}

/* Extra contrast on warm tinted surfaces; filled action buttons keep --link. */
.symptom-selector :is(.symptom-add,.symptom-number,.symptom-score),
.intake-start .intake-steps a { color:var(--surface-ink,var(--link)); }

/* Structured first/follow-up paths. Inactive answers stay out of submission. */
.intake-start .clinical-branch { padding:0; margin:0; border:0; min-width:0; }
.intake-start .clinical-branch > .frage { border-top:1px solid var(--intake-border); }
.symptom-selector .symptom-other { margin-block:12px; }
.symptom-selector .symptom-other > summary { cursor:pointer; color:var(--symptom-accent); font-size:.875rem; padding:10px 0; }
.intake-start .intake-secondary[aria-pressed="true"] { background:var(--intake-tint); border-color:var(--intake-accent); box-shadow:inset 0 0 0 1px var(--intake-accent); }

.symptom-selector .symptom-diagnosed { min-height:44px; margin-top:10px; padding:8px 13px; border:1px solid var(--symptom-edge); border-radius:999px; color:var(--symptom-accent); background:white; font-size:.8125rem; }
.symptom-selector .symptom-diagnosed[aria-pressed="true"] { background:var(--symptom-tint); border-color:var(--symptom-accent); box-shadow:inset 0 0 0 1px var(--symptom-accent); }

/* EMA 28.09.2026, 12:45: kein „Gipfel“, kein Konfetti, kein Regenbogen — eine ruhige Bestätigung in Praxissprache. */
.intake-journey .journey-compass.gipfel-konfetti::after { content: none; animation: none; }
.intake-journey .journey-gipfel:not([hidden]), .quittung.journey-gipfel-final .journey-summary-note { animation: none; background: var(--intake-soft, #f2eef9); }

/* 30.09.2026 · Abschluss-Bestätigung (alle Bögen) und Konto-Gate des Präparatekatalogs */
.intake-consent-block { margin-top: 20px; padding: 16px; border: 1px solid var(--intake-border); border-radius: 14px; background: var(--intake-tint); }
.intake-consent-block h3 { margin: 0 0 8px; font-size: 1.05rem; }
.intake-consent-block .intake-section-note { margin: 0 0 12px; }
.intake-consent-block .intake-consent { display: flex; gap: 12px; align-items: flex-start; margin: 8px 0; padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid var(--intake-border); }
.intake-consent-block .intake-consent input { margin-top: 3px; flex: 0 0 auto; width: 20px; height: 20px; }
.intake-consent-block .intake-consent:has(input:checked) { border-color: var(--intake-accent); }
.intake-consent-block .intake-consent:has(input:focus-visible) { outline: 2px solid var(--intake-accent); outline-offset: 2px; }

/* 30.09.2026 (F1-Zusammenführung) — Freitextkarte „Präparatewunsch / bisherige Behandlung“ in Schritt 0 der Rezeptanfrage,
   Zeichnung wie auf der Startseite (home-botanical-line); ersetzt das frühere Katalog-Panel (Katalog nur noch hinter /konto/). */
#praxis-rivoir-design .sortenwahl-inner { display:flex; align-items:flex-start; gap:18px; margin-top:8px; }
#praxis-rivoir-design .sortenwahl-art svg { width:56px; height:62px; flex:0 0 auto; }
#praxis-rivoir-design .sortenwahl-art .home-botanical-stem { fill:none; stroke:var(--b-c,#564596); stroke-width:3; stroke-linecap:round; opacity:.55; }
#praxis-rivoir-design .sortenwahl-art .home-botanical-leaf path { fill:color-mix(in srgb,var(--b-c,#564596) 20%,#fff); stroke:var(--b-c,#564596); stroke-width:2.2; stroke-linejoin:round; opacity:.85; }
#praxis-rivoir-design .sortenwahl-art .home-botanical-bud { fill:var(--complement,#f6b80b); opacity:.7; }
#praxis-rivoir-design .sortenwahl-text { flex:1; min-width:0; }
#praxis-rivoir-design .sortenwahl-hinweis textarea { width:100%; min-width:0; min-height:46px; padding:10px 12px; background:#fff; color:var(--ink); border:1px solid var(--intake-border); border-radius:12px; font:inherit; font-size:.9375rem; margin-top:6px; }
@media(max-width:600px) { #praxis-rivoir-design .sortenwahl-inner { flex-direction:column; align-items:flex-start; } }

/* 29.09.2026 (F143, aus praxis.css der Werkstatt übernommen, 30.09. F1): Wirkung bisheriger Behandlungen ist die einzige
   Ja/Nein-Frage im Bogen, bei der Farbe inhaltlich etwas aussagt — gedämpfte Markenfarben, keine Ampel. */
.intake-quick .wahl:has(input[value="Ausreichend"]:checked) { border-color: #386848; background: color-mix(in srgb, #386848 8%, var(--paper, #fff)); }
.intake-quick .wahl:has(input[value="Teilweise"]:checked) { border-color: #96742a; background: color-mix(in srgb, #96742a 8%, var(--paper, #fff)); }
.intake-quick .wahl:has(input[value="Nicht ausreichend"]:checked) { border-color: #a83850; background: color-mix(in srgb, #a83850 8%, var(--paper, #fff)); }
