.feedback-page{padding-bottom:5rem}.feedback-intro{padding-block:4rem 2.5rem;max-width:1100px}.feedback-intro>p:not(.eyebrow){max-width:720px;font-size:1.1rem}.feedback-intro h1{font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.08;margin-block:1rem 1.4rem}.feedback-choices{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.feedback-choice,.feedback-form-card,.feedback-qr-card,.feedback-help,.feedback-unsubscribe,.portal-trip{border:1px solid var(--line);background:var(--surface);border-radius:22px;padding:clamp(1.4rem,3vw,2.4rem)}.feedback-choice{display:flex;flex-direction:column;align-items:flex-start}.feedback-choice h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2}.feedback-choice>.button{margin-top:auto}.feedback-choice small{margin-top:1rem;color:var(--muted);font-size:.86rem}.feedback-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--bg);color:var(--brand);font-size:1.8rem}.feedback-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:2rem;padding-top:4rem;align-items:start}.feedback-form-card h2{font-size:2rem}.feedback-form-card .field-grid{gap:1.2rem}.feedback-form-card .field{display:flex;flex-direction:column;gap:.45rem;font-weight:600}.feedback-form-card input:not([type=checkbox]):not([type=radio]),.feedback-form-card textarea,.feedback-form-card select{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);padding:.85rem;font:inherit;min-width:0}.feedback-form-card input:focus-visible,.feedback-form-card select:focus-visible,.feedback-form-card textarea:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.feedback-rating{border:0;padding:0;margin:0}.feedback-rating legend{font-weight:700;margin-bottom:.75rem}.rating-options{display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem}.rating-options label{position:relative}.rating-options input{position:absolute;opacity:0;width:1px;height:1px}.rating-options span{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;border:1px solid var(--line);border-radius:12px;padding:.8rem .35rem;min-height:104px;font-size:.79rem;cursor:pointer}.rating-options b{font-size:1.5rem}.rating-options input:checked+span{border:3px solid var(--brand);background:var(--bg);font-weight:750}.rating-options input:focus-visible+span{outline:3px solid var(--ink);outline-offset:3px}.feedback-detail summary{cursor:pointer;font-weight:650;padding-block:.7rem}.feedback-public-preview{padding:1.2rem;border:1px dashed var(--brand);border-radius:12px}.feedback-public-preview blockquote{margin:1rem 0;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-qr-card{background:var(--surface);text-align:center}.feedback-qr-card img{display:block;width:min(100%,296px);height:auto;margin:1.2rem auto;background:white;border-radius:12px}.feedback-downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}.feedback-downloads a{text-decoration:underline;font-weight:650}.feedback-help{margin-top:1.2rem}.feedback-published{padding-top:4rem}.feedback-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.feedback-form-card [role=status]:not(:empty),#portal-message:not(:empty){padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--bg);overflow-wrap:anywhere}.feedback-form-card .checkbox{display:flex;gap:.8rem;align-items:flex-start;line-height:1.5}.feedback-form-card .checkbox input{width:20px;height:20px;flex:0 0 20px;margin-top:.15rem}.feedback-form-card .full{grid-column:1/-1}.feedback-form-card [hidden],.feedback-page [hidden]{display:none!important}.portal-trip{text-align:left;margin-top:1rem}.portal-trip h2{font-size:1.35rem}.portal-status{display:inline-block;font-weight:700;border:1px solid var(--line);padding:.3rem .7rem;border-radius:8px}.feedback-unsubscribe{margin-block:2rem}.feedback-public-preview small{display:block}.feedback-card-footer{padding-top:1rem;margin-top:1rem;border-top:1px solid var(--line)}
@media(max-width:760px){.feedback-choices,.feedback-layout{grid-template-columns:1fr}.feedback-intro{padding-top:2.5rem}.feedback-layout{padding-top:2rem}.feedback-aside{display:grid;gap:1rem}.feedback-help{margin-top:0}.rating-options{grid-template-columns:repeat(5,minmax(0,1fr))}.rating-options span{font-size:.75rem;padding:.6rem .2rem;min-height:112px;overflow-wrap:anywhere}.feedback-form-card{padding:1.1rem}.feedback-form-card .field-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:no-preference){.feedback-choice{transition:transform .2s ease,border-color .2s ease}.feedback-choice:hover{transform:translateY(-3px);border-color:var(--brand)}}

.feedback-form-card .field-grid{display:grid;grid-template-columns:1fr 1fr}.feedback-form-card>.field-grid{margin-top:1.5rem}@media(max-width:760px){.feedback-form-card .field-grid{grid-template-columns:1fr}}

/* A report starts with its subject; a score and contact details are optional. */
.feedback-layout{grid-template-columns:minmax(0,2.4fr) minmax(220px,1fr)}.feedback-qr-card h2{font-size:clamp(24px,2.3vw,32px);line-height:1.2}.feedback-qr-card img{width:min(100%,180px)}.feedback-qr-card p{font-size:14px}.feedback-downloads{gap:12px;font-size:13px}.feedback-section{border:0;padding:24px 0 8px;margin:0;min-width:0;border-top:1px solid var(--line)}.feedback-section>legend{font:650 19px/1.4 inherit;padding:0 12px 0 0;display:flex;align-items:center;gap:12px;max-width:100%}.feedback-section>legend>span{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;background:var(--soft);color:var(--brand);border-radius:50%;font-size:14px}.feedback-section>.field,.feedback-section>.checkbox{margin-bottom:20px}.feedback-section>p,.feedback-detail>p{font-size:14px;line-height:1.7}.feedback-topics{border:0;padding:8px 0 0;margin:0;min-width:0}.feedback-topics legend{font-size:15px;font-weight:650}.optional,.feedback-detail summary span{color:var(--muted);font-size:13px;font-weight:400}.feedback-topics legend .optional{display:block;margin-top:5px}.feedback-topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.feedback-topic-grid label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px;font-size:14px;cursor:pointer}.feedback-topic-grid label:has(input:checked){background:var(--soft);border-color:var(--brand)}.feedback-topic-grid input{width:18px;height:18px;flex-shrink:0;accent-color:var(--brand)}.feedback-safety{padding:18px;border:1px solid var(--brand);border-radius:10px;background:var(--soft);margin-top:18px}.feedback-safety p{font-size:14px;margin:8px 0}.feedback-detail{padding:4px 0;border-top:1px solid var(--line);margin-top:14px}.feedback-detail summary{display:flex;justify-content:space-between;gap:14px;list-style:none}.feedback-detail summary:after{content:'+';color:var(--brand);font-size:20px}.feedback-detail[open] summary:after{content:'−'}.feedback-detail[open] .feedback-rating{margin:16px 0 24px}.feedback-section #feedback-contact{margin-bottom:18px}.feedback-form-card #feedback-form{margin-top:32px}.feedback-section .field-grid{margin-block:14px}.feedback-aside{position:sticky;top:110px}.feedback-section>legend{font-family:inherit;font-size:19px;font-weight:650;line-height:1.4}
@media(max-width:850px){.feedback-layout{grid-template-columns:1fr}.feedback-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:18px}.feedback-help{margin:0}}@media(max-width:540px){.feedback-topic-grid,.feedback-aside{grid-template-columns:1fr}.feedback-detail summary{flex-wrap:wrap}.feedback-section>legend{font-size:18px}.feedback-qr-card{padding:20px}}
/* Hover lift without jitter (see site.css). */
.feedback-choice{position:relative}.feedback-choice:hover::after{content:"";position:absolute;left:-1px;right:-1px;top:100%;height:5px}

.feedback-shortcuts{align-items:center;gap:18px 28px;margin-top:24px}.feedback-shortcuts .text-link{min-height:44px;font-size:14px}@media(max-width:700px){.feedback-intro{padding-top:32px;padding-bottom:30px}.feedback-intro h1{font-size:44px}.feedback-intro>p:not(.eyebrow){font-size:16px;line-height:1.7}.feedback-shortcuts{display:grid;gap:8px}.feedback-shortcuts .button{font-size:14px}.feedback-shortcuts .text-link{justify-content:center}.feedback-choices{gap:16px}.feedback-choice{padding:24px}}

/* A visible outcome next to the submit action, including uncertain delivery. */
.form-required-hint{font-size:14px;color:var(--brand);margin:12px 0 18px}
#feedback-result[data-state],#change-result[data-state],#bewerbung-result[data-state]{border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;padding:16px 18px;background:var(--soft);color:var(--ink);font-size:15px;line-height:1.65;margin:20px 0}
#feedback-result[data-state=error],#feedback-result[data-state=uncertain],#change-result[data-state=error],#change-result[data-state=uncertain],#bewerbung-result[data-state=error],#bewerbung-result[data-state=uncertain]{border-left-style:double;border-left-width:6px;font-weight:600}
form[aria-busy=true]{cursor:progress}form[aria-busy=true] button{cursor:progress}

/* Protected journey overview. */
.portal-page .feedback-intro{max-width:1040px}.portal-page h1{font-size:clamp(36px,5vw,64px)}.portal-access{border:1px solid var(--line);border-radius:18px;background:var(--soft);padding:28px;margin:28px 0}.portal-access h2{font-size:28px}.portal-access .field{margin:20px 0}.portal-privacy{margin-block:20px;line-height:1.7}.portal-privacy summary{cursor:pointer;min-height:44px;align-content:center}.portal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-block:18px}.portal-trip{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;margin:20px 0}.portal-trip h2{font-size:28px;margin:18px 0}.portal-trip-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}.portal-status{font-size:14px;font-weight:700}.portal-reference{font-size:13px;color:var(--muted)}.portal-times{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:22px 0}.portal-times dt{color:var(--muted);font-size:14px;margin-bottom:8px}.portal-times dd{margin:0;font-size:17px;line-height:1.6;font-weight:600}.portal-hint{border-left:3px solid var(--brand);padding-left:14px}#portal-message{line-height:1.6}.portal-page input{font-size:16px}.portal-page #change-section{max-width:1000px;margin-bottom:50px} .portal-page [hidden]{display:none!important}@media(max-width:700px){.portal-access,.portal-trip{padding:22px 18px}.portal-times{grid-template-columns:1fr;gap:18px}.portal-actions{align-items:stretch}.portal-actions .button{width:100%}.portal-trip h2{font-size:24px}}

/* Personal inquiry portal: separate access, status and recovery states. */
.portal-page .feedback-intro{padding-top:36px;max-width:1040px}
.portal-page .feedback-intro h1{font-size:clamp(32px,4vw,48px);line-height:1.16;max-width:760px;margin:16px 0}
.portal-page .feedback-intro>p:not(.eyebrow){font-size:17px;line-height:1.7}
.portal-page .portal-actions{margin:22px 0 14px}
.portal-page #portal-message:not(:empty){border:0;background:transparent;padding:0;margin:18px 0;color:var(--muted);font-size:15px;max-width:none}
.portal-page[data-portal-state=loading] #portal-message{border-left:3px solid var(--brand);padding:16px 20px;background:var(--surface);border-radius:0 12px 12px 0}
.portal-page .portal-problem{display:grid;grid-template-columns:52px minmax(0,1fr);gap:22px;padding:32px;margin:24px 0;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.portal-page .portal-state-icon{width:52px;height:52px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--brand)}
.portal-page .portal-state-icon svg{width:26px;height:26px}
.portal-page .portal-problem h2{font-size:clamp(25px,3vw,32px);line-height:1.2;margin:8px 0 14px;max-width:650px}
.portal-page .portal-problem p{line-height:1.7;max-width:660px}
.portal-page .portal-problem .button{margin-top:8px}
.portal-page .portal-problem .portal-problem-note{font-size:14px;color:var(--muted);margin-bottom:0}
.portal-page .portal-link-switch{margin:28px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.portal-page .portal-link-switch>summary{cursor:pointer;min-height:56px;padding:16px 8px;font-size:16px;font-weight:600;color:var(--ink)}
.portal-page .portal-link-switch>summary:focus-visible{outline:3px solid var(--brand);outline-offset:4px;border-radius:4px}
.portal-page .portal-access{background:var(--surface);border:0;padding:8px 20px 24px;margin:0;border-radius:0}
.portal-page .portal-access>h2{font-size:25px;margin:8px 0 12px}
.portal-page .portal-access p{max-width:720px;line-height:1.7}
.portal-page .portal-privacy{font-size:14px;color:var(--muted);margin:8px 0 24px}
.portal-page .portal-trip{padding:30px;margin-top:18px}
.portal-page .portal-trip h2{font-family:var(--font-sans,inherit);font-size:24px;line-height:1.4;overflow-wrap:anywhere}
.portal-page .portal-status{background:var(--soft);color:var(--ink);border-color:var(--line)}
.portal-page .portal-times{padding:22px 0;border-block:1px solid var(--line)}
.portal-page #change-section{max-width:1000px}
@media(max-width:700px){.portal-page .feedback-intro{padding-top:24px}.portal-page .portal-problem{grid-template-columns:1fr;padding:24px 20px;gap:14px}.portal-page .portal-problem h2{font-size:27px}.portal-page .portal-problem .button{width:100%;justify-content:center}.portal-page .portal-access{padding:8px 8px 20px}.portal-page .portal-trip{padding:24px 20px}.portal-page .portal-trip h2{font-size:22px}.portal-page .portal-times{gap:20px}.portal-page .portal-link-switch>summary{padding-inline:4px}}

/* Refined journey cards: hierarchy through spacing, type and labelled states. */
.portal-page .feedback-intro{padding-bottom:0}
.portal-page .feedback-intro>h1{font-size:clamp(32px,4vw,44px);letter-spacing:-.025em}
.portal-page .feedback-intro>p:not(.eyebrow){max-width:760px}
.portal-page #portal-message:not(:empty){font-size:14px;margin:26px 0 16px;line-height:1.6}
.portal-page .portal-trip{padding:0;border-radius:20px;overflow:hidden;margin:18px 0 26px;box-shadow:0 8px 30px rgb(14 43 77 / 3%)}
.portal-page .portal-trip-heading{padding:22px 28px;border-bottom:1px solid var(--line);align-items:center}
.portal-page .portal-status{display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:var(--ink);font-size:15px;line-height:1.45}
.portal-page .portal-status-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;flex:none}
.portal-status-icon svg,.portal-time-icon svg,.portal-change-icon svg{width:22px;height:22px;display:block}
.portal-page .portal-trip--pending .portal-status-icon{color:#8b5b08;background:#fff4d7;border-color:#ead49e}
.portal-page .portal-trip--confirmed .portal-status-icon,.portal-page .portal-trip--complete .portal-status-icon{color:#16694d;background:#e8f5ee;border-color:#b7d8c5}
.portal-page .portal-trip--closed .portal-status-icon{color:#9b3434;background:#fceeee;border-color:#e9c2c2}
.portal-page .portal-reference{font-size:13px;letter-spacing:.035em;font-variant-numeric:tabular-nums}
.portal-page .portal-trip h2{font-family:Arial,Helvetica,sans-serif;font-size:22px;letter-spacing:-.025em;margin:26px 28px 22px;color:var(--ink);font-weight:600}
.portal-page .portal-times{padding:0;margin:0 28px 24px;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;grid-template-columns:1fr 1fr}
.portal-page .portal-times>div{position:relative;padding:24px 22px 24px 58px;min-width:0}
.portal-page .portal-time-primary{background:var(--soft)}
.portal-page .portal-time-return{border-left:1px solid var(--line)}
.portal-page .portal-time-icon{position:absolute;left:22px;top:26px;color:var(--brand)}
.portal-page .portal-times dt{font-size:14px;line-height:1.45;margin-bottom:8px}
.portal-page .portal-times dd{font-size:17px;line-height:1.6;overflow-wrap:anywhere}
.portal-page .portal-hint{margin:0 28px 24px;padding:0 0 0 16px;font-size:15px;line-height:1.7;color:var(--muted)}
.portal-page .portal-trip .portal-actions{border-top:1px solid var(--line);margin:0;padding:18px 28px}
.portal-page .portal-trip .portal-actions .button{min-height:44px;font-size:14px}
.portal-page #portal-toolbar{gap:22px}
.portal-page .portal-link-switch{margin-top:24px}
.portal-page #change-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:40px;max-width:1040px;margin:32px auto 64px;padding:32px;background:var(--surface);border-radius:20px}
.portal-page .portal-change-intro h2{font-size:30px;line-height:1.2;margin:20px 0 16px;letter-spacing:-.02em}
.portal-page .portal-change-intro p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 22px}
.portal-page .portal-change-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;color:var(--brand)}
.portal-page .portal-contact-link{color:var(--brand);font-weight:600;text-decoration:none;font-size:16px;display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--line)}
.portal-page #change-form{display:grid;gap:20px;align-content:start;min-width:0}
.portal-page #change-form .field{display:grid;gap:9px;font-size:14px;font-weight:600;margin:0}
.portal-page #change-form :is(input,select,textarea){font-size:16px;line-height:1.5;border-radius:10px;max-width:100%;min-width:0}
.portal-page #change-form textarea{min-height:128px;padding:14px;font-weight:400}
.portal-page #change-form select{padding:13px 36px 13px 14px}
.portal-page #change-form .checkbox{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.6;margin:0}
.portal-page #change-form .checkbox input{width:20px;height:20px;margin-top:2px;flex-shrink:0}
.portal-page #change-form>p{margin:0}
.portal-page #change-result:empty{display:none}
html[data-theme=dark] .portal-page .portal-time-primary{background:transparent}
html[data-theme=dark] .portal-page .portal-trip{box-shadow:none}
html[data-theme=dark] .portal-page .portal-status-icon{background:transparent;color:var(--brand);border-color:var(--line)}
@media(max-width:760px){
 .portal-page .portal-trip-heading{padding:18px 20px;align-items:flex-start;gap:12px}
 .portal-page .portal-trip h2{margin:22px 20px;font-size:21px}
 .portal-page .portal-times{grid-template-columns:1fr;margin:0 20px 22px}
 .portal-page .portal-times>div{padding:20px 18px 20px 52px}
 .portal-page .portal-time-icon{left:18px;top:22px}
 .portal-page .portal-time-return{border-left:0;border-top:1px solid var(--line)}
 .portal-page .portal-hint{margin:0 20px 22px}
 .portal-page .portal-trip .portal-actions{padding:16px 20px}
 .portal-page #change-section{grid-template-columns:1fr;gap:26px;padding:24px 20px;width:calc(100% - 36px);margin-top:28px}
 .portal-page .portal-change-intro h2{font-size:28px;margin:14px 0}
 .portal-page #change-form .button{width:100%;justify-content:center}
}
