.rrw-portal{max-width:900px;margin:0 auto;transition:opacity .18s ease}.rrw-portal-loading{opacity:.25;animation:rrw-portal-failsafe .2s ease 1.6s forwards}@keyframes rrw-portal-failsafe{to{opacity:1}}.rrw-portal-hero{display:flex;justify-content:space-between;gap:25px;align-items:center;background:#111;color:#fff;padding:24px;border-radius:14px;margin-bottom:18px}.rrw-portal-hero h2{color:#fff;margin:3px 0}.rrw-kicker{font-size:12px;letter-spacing:.12em;opacity:.7}.rrw-number{opacity:.75}.rrw-status{text-align:right}.rrw-status span{display:block;font-size:12px;opacity:.7}.rrw-status strong{display:block;font-size:17px}.rrw-success{background:#e7f6e8;color:#176b1f;padding:10px 14px;border-radius:8px;margin:12px 0}.rrw-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:20px;margin:14px 0}.rrw-card h3{margin-top:0}.rrw-message-card{margin-top:20px;scroll-margin-top:24px}.rrw-inner-card{background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:18px;margin:12px 0}.rrw-inner-card h4{margin:0 0 10px;font-size:18px}.rrw-price-range{font-size:25px;font-weight:800;margin:8px 0 12px}.rrw-option{display:flex;gap:12px;padding:16px;border:1px solid #ddd;border-radius:10px;margin:10px 0;cursor:pointer}.rrw-option input[type=radio]{margin-top:4px}.rrw-option span{display:block}.rrw-option small{display:block;margin-top:4px;color:#666}.rrw-limit-row{margin-top:12px!important}.rrw-limit-row input{width:150px}.rrw-suboption{margin-top:12px!important;font-size:14px}.rrw-contract-checks{padding:14px;background:#f5f5f5;border-radius:8px;margin:12px 0}.rrw-contract-checks label,.rrw-approval-form label{display:block;margin:10px 0}.rrw-diagnosis-note{font-size:13px;color:#666;margin:12px 0}.rrw-primary{font-weight:700!important}.rrw-inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.rrw-inline-form label{display:block}.rrw-inline-form input,.rrw-inline-form select,.rrw-card textarea,.rrw-inner-card textarea{width:100%}.rrw-doc-buttons{display:flex;gap:8px;flex-wrap:wrap}.rrw-documents-inline{margin-top:14px}.rrw-documents-inline.is-compact{margin-top:12px}.rrw-message{padding:12px 14px;border-radius:9px;margin:8px 0;background:#f3f3f3}.rrw-message.is-rewrk{border-left:4px solid #111}.rrw-message.is-customer{margin-left:50px;background:#eef4f8}.rrw-message strong,.rrw-message small{display:inline-block}.rrw-message small{margin-left:9px;color:#777}.rrw-message p{margin:7px 0 0}.rrw-muted{color:#777}.rrw-offer-total{font-size:18px;margin:15px 0}.rrw-decline-form{margin-top:10px}.rrw-choice-summary{padding:14px 16px;border-left:4px solid #111;background:#f7f7f7;border-radius:6px;margin-bottom:12px}.rrw-step-summary{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:12px}.rrw-step-summary span{color:#666}.rrw-mini-block{padding:12px 14px;background:#f7f7f7;border-radius:8px;margin:10px 0}.rrw-mini-block>span{display:block;font-size:12px;color:#777;text-transform:uppercase;letter-spacing:.04em}.rrw-mini-block p{margin:6px 0 0}

.rrw-process{display:grid;gap:10px}.rrw-process-step{border:1px solid #ddd;border-radius:12px;background:#fff;overflow:hidden;scroll-margin-top:24px}.rrw-process-step[open]{border-color:#bdbdbd;box-shadow:0 3px 14px rgba(0,0,0,.035)}.rrw-process-step>summary{display:grid;grid-template-columns:32px minmax(0,1fr) auto 22px;gap:10px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none;font-weight:700}.rrw-process-step>summary::-webkit-details-marker{display:none}.rrw-process-step>summary:after{content:'+';font-size:21px;line-height:1;grid-column:4}.rrw-process-step[open]>summary:after{content:'−'}.rrw-step-number{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:#ececec;font-size:13px}.rrw-process-step.is-current .rrw-step-number{background:#111;color:#fff}.rrw-process-step.is-done .rrw-step-number{background:#e7f6e8;color:#176b1f}.rrw-step-heading{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}.rrw-step-title{font-size:16px}.rrw-step-summary-text{font-size:13px;font-weight:600;color:#727272;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.rrw-process-step.is-current .rrw-step-summary-text{color:#444}.rrw-step-badge{font-size:11px;font-weight:700;padding:4px 8px;border-radius:999px;white-space:nowrap}.rrw-step-badge.is-done{background:#e7f6e8;color:#176b1f}.rrw-step-badge.is-current{background:#111;color:#fff}.rrw-step-badge.is-pending{background:#f0f0f0;color:#777}.rrw-step-body{border-top:1px solid #eee;padding:4px 18px 18px}.rrw-process-step.is-pending .rrw-step-body{color:#555}.rrw-process-step.is-pending:not([open]){opacity:.72}

.rrw-preloader{position:fixed;inset:0;z-index:99999;background:rgba(255,255,255,.96);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;transition:opacity .18s ease;animation:rrw-preloader-failsafe .2s ease 1.6s forwards}@keyframes rrw-preloader-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}.rrw-preloader.is-done{opacity:0;pointer-events:none}.rrw-preloader-mark{font-weight:900;font-style:italic;font-size:28px;letter-spacing:-1px}.rrw-preloader-line{width:120px;height:2px;background:#e5e5e5;position:relative;overflow:hidden}.rrw-preloader-line:after{content:'';position:absolute;left:-45%;top:0;width:45%;height:100%;background:#111;animation:rrw-loader 1s infinite ease-in-out}@keyframes rrw-loader{0%{left:-45%}100%{left:105%}}

/* QR-Erzeugung bleibt vollständig außerhalb des sichtbaren Layouts. */
#rrw-qr-generator{position:absolute!important;left:-99999px!important;top:0!important;width:256px!important;height:256px!important;overflow:hidden!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}

@media(max-width:650px){.rrw-portal-hero{display:block}.rrw-status{text-align:left;margin-top:16px}.rrw-inline-form{grid-template-columns:1fr}.rrw-message.is-customer{margin-left:15px}.rrw-process-step>summary{grid-template-columns:30px minmax(0,1fr) auto 18px;padding:14px}.rrw-process-step>summary:after{display:none}.rrw-step-heading{display:block}.rrw-step-title{display:block}.rrw-step-summary-text{display:block;margin-top:2px;font-size:12px}.rrw-step-badge{font-size:10px}.rrw-step-body{padding:4px 14px 15px}.rrw-option{padding:13px}.rrw-limit-row input{width:130px}}

/* v0.2.5: Anfrage/Ersteinschätzung bleibt als dauerhafter Kontext geöffnet. */
.rrw-process-step.is-pinned>summary{cursor:default}.rrw-process-step.is-pinned>summary:after{display:none}

/* Geschützte Kunden-Uploads innerhalb der Ursprungsanfrage. */
.rrw-customer-files{margin:12px 0}.rrw-customer-files-label{display:block;font-size:12px;color:#777;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.rrw-customer-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.rrw-customer-file{display:flex;min-height:92px;border:1px solid #e1e1e1;border-radius:9px;overflow:hidden;text-decoration:none!important;color:inherit!important;background:#fafafa;flex-direction:column}.rrw-customer-file img{display:block;width:100%;height:92px;object-fit:cover}.rrw-customer-file span{display:block;padding:7px 9px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rrw-customer-file.is-document{align-items:center;justify-content:center;padding:14px}.rrw-customer-file.is-document strong{font-size:18px}.rrw-customer-file.is-document span{max-width:100%}.rrw-companion-download.is-loading{opacity:.6;pointer-events:none}

/* QR-Canvas darf niemals im sichtbaren Layout aufblitzen. */
#rrw-qr-generator{display:none!important}

.rrw-file-preview-fallback{display:flex;height:92px;align-items:center;justify-content:center;background:#f1f1f1;color:#777;font-size:12px}
.rrw-error{background:#fff0ee;color:#9b271d;padding:10px 14px;border-radius:8px;margin:12px 0;border:1px solid #f0c7c2}.rrw-address-card{padding:16px;background:#f7f7f7;border-radius:10px;margin:14px 0}.rrw-address-card h5{margin:0 0 6px;font-size:16px}.rrw-address-card>label,.rrw-address-grid label{display:block;font-weight:600;margin:10px 0}.rrw-address-card input,.rrw-address-card select{width:100%;margin-top:5px}.rrw-address-grid{display:grid;gap:12px}.rrw-address-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){.rrw-address-grid-2{grid-template-columns:1fr}}
/* 0.2.18: Freigabe-Auswahl ergonomischer */
.rrw-option{cursor:pointer}
.rrw-option input,.rrw-option select,.rrw-option textarea{cursor:auto}
.rrw-option input[type="number"],.rrw-option input[type="text"],.rrw-option input[type="email"],.rrw-option input[type="tel"]{cursor:text}
.rrw-limit-row{display:flex!important;flex-direction:column;gap:6px;align-items:flex-start}
.rrw-limit-label{display:block!important}
.rrw-limit-control{display:inline-flex!important;align-items:center;gap:8px;max-width:100%}
.rrw-limit-control input{width:150px;max-width:100%;margin:0}
.rrw-limit-currency{display:inline-block!important;font-weight:600;line-height:1}
@media(max-width:650px){.rrw-limit-control input{width:130px}}

/* 0.2.19: Freigabeoptionen sauber entkoppelt; Diagnoseinfo nur bei Vorabfreigabe. */
.rrw-option{align-items:flex-start}
.rrw-option-content{display:block;flex:1;min-width:0}
.rrw-option-main{display:block;cursor:pointer}
.rrw-option-main strong,.rrw-option-main small{display:block}
.rrw-option.is-selected{border-color:#b9b9b9;background:#fcfcfc}
.rrw-suboption{display:flex!important;align-items:flex-start;gap:9px;cursor:pointer;line-height:1.45}
.rrw-suboption input[type="checkbox"]{flex:0 0 auto;margin-top:3px;cursor:pointer}
.rrw-suboption span{display:block!important;cursor:pointer}
.rrw-suboption.is-disabled{opacity:.42;cursor:not-allowed}
.rrw-suboption.is-disabled span,.rrw-suboption.is-disabled input{cursor:not-allowed!important}
.rrw-limit-control{white-space:nowrap}
.rrw-limit-currency{margin-left:0}

.rrw-cancel-inquiry-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid #eee;font-size:13px;color:#777}.rrw-cancel-inquiry-button{appearance:none;border:0;background:none;padding:0;color:#555;text-decoration:underline;text-underline-offset:2px;cursor:pointer;font:inherit}.rrw-cancel-inquiry-button:hover{color:#111}
