/* Fahrkurve Bewertungen */
.public-review-page{min-height:70vh;background:linear-gradient(180deg,#eef5f8 0,#fff 70%)}
.public-review-wrap{max-width:820px}
.public-review-card{background:#fff;border:1px solid #d7e4eb;border-radius:24px;padding:clamp(24px,5vw,54px);box-shadow:0 18px 50px rgba(15,47,71,.09)}
.public-review-card h1{margin:.15em 0 .45em;font-size:clamp(2rem,5vw,3.5rem)}
.public-review-lead{font-size:1.12rem;color:#405a6d}
.public-review-form{display:grid;gap:22px;margin-top:30px}
.review-stars-fieldset{margin:0;padding:0;border:0}
.review-stars-fieldset legend{margin-bottom:10px;font-weight:800}
.review-star-input{display:inline-flex;flex-direction:row-reverse;gap:5px}
.review-star-input input{position:absolute;opacity:0;pointer-events:none}
.review-star-input label{font-size:2.65rem;line-height:1;color:#d3dfe5;cursor:pointer;transition:transform .12s ease,color .12s ease}
.review-star-input label:hover,.review-star-input label:hover~label,.review-star-input input:checked~label{color:#f0a000}
.review-star-input label:hover{transform:scale(1.08)}
.review-star-input input:focus-visible+label{outline:3px solid #1284b8;outline-offset:4px;border-radius:6px}
.review-public-consent{align-items:flex-start!important}
.review-google-next{margin:28px 0;padding:22px;border:1px solid #cbe1ec;border-radius:18px;background:#f4fafc}
.review-google-next textarea{width:100%;margin:10px 0 14px}
.review-actions{display:flex;gap:10px;flex-wrap:wrap}
.review-copy-status{min-height:1.4em;margin:.6rem 0 0;color:#235c3b;font-weight:700}
.review-stars{color:#e49a00;letter-spacing:.08em;white-space:nowrap}
.review-manager-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.review-manager-hero h1{margin:.1em 0 .3em}
.review-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.review-manager-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px;margin:18px 0}
.review-source-list,.review-manager-list{display:grid;gap:12px}
.review-source-card,.review-manager-card{border:1px solid #d5e2e9;border-radius:16px;padding:16px;background:#fff}
.review-source-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);gap:18px;align-items:start}
.review-source-card>div{display:grid;gap:5px}
.review-source-card strong{font-size:1.03rem}
.review-source-import{display:grid;gap:8px}
.review-source-import label{font-size:.82rem}
.review-source-error{color:#a5322b!important;font-weight:700}
.review-add-source{margin-top:14px;padding-top:12px;border-top:1px solid #e0e9ee}
.review-add-source summary{font-weight:800;cursor:pointer}
.review-add-source form{margin-top:14px}
.review-bulk-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:12px}
.review-request-table td:nth-child(2){min-width:220px}
.review-request-table td:nth-child(2) small{display:block;color:#617789;margin-top:3px}
.review-manager-card-head{display:flex;justify-content:space-between;gap:16px;align-items:center}
.review-manager-card p{font-size:1.02rem;line-height:1.55}
.review-manager-meta{display:flex;gap:8px;flex-wrap:wrap;color:#5d7384;font-size:.82rem}
.review-manager-meta span{padding:4px 8px;border-radius:999px;background:#eff5f7}
.review-status-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.public-booking-review-strip{margin-top:28px;padding:22px;border:1px solid #cfdee6;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(15,47,71,.06)}
.public-booking-review-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.public-booking-review-score{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.public-booking-review-score strong{font-size:2.2rem;color:var(--navy)}
.public-booking-review-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.public-booking-review-cards blockquote{margin:0;padding:16px;border-radius:14px;background:#f3f8fa;line-height:1.5}
.public-booking-review-cards footer{margin-top:10px;font-size:.84rem;color:#5c7180}
.public-booking-review-source{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-weight:750}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:980px){.review-manager-grid{grid-template-columns:1fr}.review-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-source-card{grid-template-columns:1fr}}
@media(max-width:720px){.review-manager-hero,.public-booking-review-head{align-items:flex-start;flex-direction:column}.public-booking-review-cards{grid-template-columns:1fr}.review-stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.review-stat-grid{grid-template-columns:1fr}.public-review-card{border-radius:18px}.review-star-input label{font-size:2.25rem}}
.booking-reviews{margin-top:28px;padding:clamp(20px,3vw,32px);border:1px solid #cfdee6;border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(15,47,71,.07)}
.booking-reviews-head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.booking-reviews-head h2{margin:.15em 0 0}
.review-aggregate{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 10px;min-width:155px;padding:12px 16px;border-radius:16px;background:#f2f8fa}
.review-aggregate strong{grid-row:1/3;font-size:2.35rem;line-height:1;color:var(--navy)}
.review-aggregate small{color:#5c7180}
.public-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:20px}
.booking-review-card{padding:18px;border:1px solid #d9e5eb;border-radius:16px;background:#f8fbfc;box-shadow:none}
.booking-review-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.booking-review-card p{margin:12px 0;line-height:1.55;color:#26485f}
.booking-review-card small{color:#627887}
.review-source-note{margin:16px 0 0;color:#5d7384;font-size:.88rem}
.review-source-note a{font-weight:800}
@media(max-width:840px){.public-review-grid{grid-template-columns:1fr}.booking-reviews-head{align-items:flex-start;flex-direction:column}}
.student-profile-quick-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.student-profile-quick-actions form{margin:0}
.review-request-state{display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border-radius:999px;background:#eef5f8;color:#31556c;font-size:.82rem;font-weight:800}
