/* Remaining cabinet details follow the final v16 source components. */
.booking-cabinet .ab-client-intro { margin:8px 0 0; font-size:13px; line-height:1.5; }
.booking-cabinet .ab-client-search { margin:16px 0 0; }
.booking-cabinet .ab-client-search input { min-height:36px; font-size:14px; }
.booking-cabinet .ab-client-search button { min-height:36px; padding:7px 14px; line-height:1.4; }
.booking-cabinet .ab-client-directory { max-width:none; }
.booking-cabinet .ab-client-row.ab-client-summary { width:100%; display:flex; align-items:center; gap:12px; min-height:66px; padding:16px 0; margin:0; border:0; border-bottom:1px solid #e1e4e8; border-radius:0; background:transparent; color:#202329; box-shadow:none; text-align:left; font:inherit; }
.booking-cabinet .ab-client-summary .ab-client-details > strong { font-size:15px; font-weight:500; line-height:1.5; }
.booking-cabinet .ab-client-summary .ab-client-details > small { display:block; margin-top:3px; color:#69707b; font-size:12px; line-height:1.5; }
.booking-cabinet .ab-client-summary > svg { width:17px; height:17px; flex:0 0 17px; color:#999; }
.booking-cabinet .ab-client-summary:focus-visible { outline:2px solid #2563a6; outline-offset:3px; }
.booking-cabinet .ab-client-visit-summary { margin:16px 0; }
.booking-cabinet .ab-client-next-visit { margin-top:10px; }
.booking-cabinet .ab-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:20px; }
.booking-cabinet .ab-modal-head h2 { margin:0; }
.booking-cabinet .ab-modal-head .ab-action--icon { flex:0 0 44px; padding:0; border-color:transparent; background:transparent; box-shadow:none; }
.booking-cabinet .ab-account-additional { margin-top:20px; border-top:1px solid #eceef0; padding-top:8px; }
.booking-cabinet .ab-account-additional > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; cursor:pointer; color:#69707b; font-size:13px; list-style:none; }
.booking-cabinet .ab-account-additional > summary::-webkit-details-marker { display:none; }
.booking-cabinet .ab-account-additional > summary::after { content:''; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-right:4px; }
.booking-cabinet .ab-account-additional[open] > summary::after { transform:rotate(225deg); }
.booking-cabinet .ab-account-additional .account-password-section { margin-top:20px; }
.booking-cabinet .ab-account-additional [data-account-logout] { margin-top:16px; }
.booking-cabinet .ab-account-additional > :not(summary) { margin-top:16px; }
@media(max-width:768px) {
 .booking-cabinet .ab-client-search input { font-size:16px; }
 .booking-cabinet .ab-client-row.ab-client-summary { flex-wrap:nowrap; }
 .booking-cabinet .ab-client-search button { min-height:44px; }
}
.booking-cabinet .ab-personal-filters { display:inline-flex; flex-wrap:nowrap; max-width:100%; gap:2px; margin:0 0 16px; padding:3px; border:0; border-radius:12px; background:#eef0f2; }
.booking-cabinet .ab-personal-filters > button { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:7px 14px; border:0; border-radius:9px; background:transparent; color:#777d85; font:500 13px/1.3 var(--font-family); flex:0 1 auto; min-width:0; white-space:nowrap; cursor:pointer; box-shadow:none; }
.booking-cabinet .ab-personal-filters > button[aria-pressed=true] { background:#fff; color:#24282e; box-shadow:none; }
.booking-cabinet .ab-personal-filters > button:focus-visible { outline:2px solid #2563a6; outline-offset:3px; }
@media(max-width:768px) { .booking-cabinet .ab-dialog { margin-inline:auto; } }

.booking-cabinet .ab-business-choices { display:grid; gap:10px; margin-top:20px; }
.booking-cabinet .ab-business-choices > button { width:100%; min-height:44px; }
.booking-cabinet button.ab-visit-row { width:100%; margin:0; background:transparent; color:inherit; text-align:left; font:inherit; font-weight:500; border:0; border-left:3px solid var(--ab-visit-color,#2563a6); border-bottom:1px solid #e4e8ed; border-radius:0; box-shadow:none; cursor:pointer; }
.booking-cabinet button.ab-visit-row:focus-visible { outline:2px solid #2563a6; outline-offset:2px; }
.booking-cabinet button.ab-visit-row.ab-status-pending .ab-row-status { background:#fff1de; color:#9a571f; }
.booking-cabinet button.ab-visit-row.ab-status-confirmed .ab-row-status { background:#eaf1fb; color:#315f9a; }
.booking-cabinet button.ab-visit-row.ab-status-completed .ab-row-status { background:#e9f4ed; color:#347459; }
.booking-cabinet button.ab-visit-row.ab-status-in_progress .ab-row-status { background:#f2ebfa; color:#745099; }
.booking-cabinet button.ab-visit-row.ab-status-cancelled .ab-row-status { background:#faece8; color:#a44339; }
.booking-cabinet button.ab-visit-row.ab-status-no_show .ab-row-status { background:#f9e9f1; color:#9a3e6c; }
.booking-cabinet button.ab-visit-row.ab-status-expired .ab-row-status { background:#edf0f3; color:#666e7a; }
