/* Only the client-rating dialog; public reviews and internal notes retain their layout. */
.booking-cabinet .ab-client-feedback-dialog { width:min(560px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); margin:auto; padding:0; border:1px solid #e1e5ea; border-radius:20px; color:#1a1a1a; background:#fff; box-shadow:0 24px 90px #142c4940; }
.booking-cabinet .ab-client-feedback-dialog::backdrop { background:#15243866; backdrop-filter:blur(3px); }
.booking-cabinet .ab-client-feedback-dialog .ab-dialog-inner { padding:20px; }
.booking-cabinet .ab-client-feedback-dialog .ab-dialog-heading { height:30px; margin:0 0 18px; gap:16px; }
.booking-cabinet .ab-client-feedback-dialog .ab-dialog-heading h2 { margin:0; font-size:21px; font-weight:700; line-height:1.3; letter-spacing:-.025em; }
.booking-cabinet .ab-client-feedback-dialog .ab-dialog-heading > button { width:44px; height:44px; min-width:44px; min-height:44px; padding:10px; margin:-7px; color:#222; border:0; background:transparent; box-shadow:none; }
.booking-cabinet .ab-client-feedback-dialog .ab-dialog-heading > button svg { width:24px; height:24px; flex:0 0 24px; }
.booking-cabinet .ab-client-feedback-dialog p { line-height:1.5; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-client { margin:0; color:#1a1a1a; font-size:16px; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-client b { font-weight:700; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-visit { margin:8px 0 0; font-size:13px; color:#6b7280; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-completed { display:flex; align-items:center; gap:7px; margin:16px 0 0; color:#557867; font-size:13px; font-weight:500; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-completed svg { width:16px; height:16px; flex:0 0 16px; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-privacy { margin:16px 0 0; padding:14px 16px; border-bottom:1px solid #e1e5ea; font-size:14px; color:#1a1a1a; }
.booking-cabinet .ab-client-feedback-dialog .ab-client-feedback-form { display:block; padding:0; margin:0; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars { display:flex; justify-content:center; gap:6px; min-width:0; border:0; margin:16px 0 0; padding:10px 0; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars label { position:relative; display:flex; align-items:center; justify-content:center; width:50px; height:50px; flex:0 0 50px; padding:4px; color:#b8bdc3; font-size:34px; font-weight:500; line-height:1; cursor:pointer; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars input { position:absolute; inset:0; width:100%; height:100%; min-height:0; margin:0; opacity:0; cursor:pointer; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars :is(label,input,span,svg) { -webkit-tap-highlight-color:transparent; box-shadow:none; filter:none; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars span { pointer-events:none; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-star-filled { display:none; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars label:has(input:checked),
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars label:has(~ label input:checked) { color:#e8590c; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars label:has(input:checked) .ab-feedback-star-outline,
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars label:has(~ label input:checked) .ab-feedback-star-outline { display:none; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars label:has(input:checked) .ab-feedback-star-filled,
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars label:has(~ label input:checked) .ab-feedback-star-filled { display:block; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars label:has(input:focus-visible) { outline:2px solid #2563a6; outline-offset:2px; border-radius:8px; }
.booking-cabinet .ab-client-feedback-dialog .ab-field { display:flex; flex-direction:column; gap:6px; margin:15px 0; }
.booking-cabinet .ab-client-feedback-dialog .ab-field label { font-size:14px; line-height:1.5; font-weight:400; color:#6b7280; }
.booking-cabinet .ab-client-feedback-dialog textarea { display:block; width:100%; min-height:72px; height:72px; padding:11px 13px; border:1px solid #e1e5ea; border-radius:12px; background:#fff; color:#1a1a1a; font-size:16px; line-height:1.5; resize:vertical; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-rule { margin:0; color:#6b7280; font-size:13px; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-footer { display:flex; gap:10px; justify-content:flex-end; padding-top:12px; margin-top:12px; border:0; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-footer > button { flex:1 1 0; min-width:0; min-height:46px; padding:11px 18px; border:1px solid #e1e5ea; border-radius:14px; color:#555c66; background:#fff; font-size:14px; font-weight:600; line-height:1.35; box-shadow:0 2px 6px #18232f05; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-footer > button[type=submit] { flex:0 1 auto; min-width:160px; color:#fff; border-color:#111; background:linear-gradient(#282828,#111); }
@media(max-width:768px) {
 .booking-cabinet .ab-client-feedback-dialog .ab-feedback-footer > button { padding:10px 12px; min-height:44px; }
}

.booking-cabinet .ab-client-feedback-dialog .ab-feedback-stars svg { display:block; width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.booking-cabinet .ab-client-feedback-dialog .ab-feedback-star-filled svg { fill:currentColor; }
