/* Personal session controls share the booking-dialog shell. */
.login-form-wrap .remember-me { gap: 5px; font-size: 12px; font-weight: 500; }
.login-form-wrap .remember-me > span { display: flex; align-items: center; gap: 8px; }
.login-form-wrap .remember-me input { width: 18px; height: 18px; min-height: 18px; padding: 0; accent-color: var(--plum); }
.login-form-wrap .remember-me small { color: var(--muted); margin-left: 26px; font-size: 11px; }
.account-menu { position: relative; }
.signed-in-user .account-profile-button { display: flex; align-items: center; gap: 8px; width: auto; height: auto; text-align: left; background: transparent; border: 0; padding: 4px; color: inherit; }
.account-profile-button > span { display: grid; gap: 4px; }
.account-menu-options { position: absolute; right: 0; top: calc(100% + 12px); z-index: 50; min-width: 210px; background: white; border: 1px solid #dfd4d2; border-radius: 12px; box-shadow: 0 10px 30px #30172a22; padding: 8px; }
.signed-in-user .account-menu-options button { width: 100%; height: auto; display: flex; gap: 8px; align-items: center; padding: 12px; font-size: 13px; }

.salon-desk-ui .signed-in-user > .account-menu, .signed-in-user .account-menu-options { display: block; }
@media(max-width: 760px) { .signed-in-user { grid-template-columns: auto auto auto; } .signed-in-user .account-profile-button strong { max-width: 90px; } }

.session-dialog { width: min(720px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.session-dialog > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 24px; border-bottom: 1px solid #e6dcd9; }
.session-dialog h2 { margin: 4px 0; font-family: Georgia, serif; font-size: 28px; }
.session-dialog header p, .session-help { color: var(--muted); font-size: 13px; line-height: 1.5; }
.session-dialog .modal-close { position: static; flex-shrink: 0; }
.session-dialog-body { overflow-y: auto; padding: 0 24px 24px; }
.session-card { border: 1px solid #e6dcd9; border-radius: 14px; padding: 18px; margin: 12px 0; }
.session-card-heading { display: flex; align-items: flex-start; gap: 12px; }
.session-card h3 { margin: 0; font-size: 16px; overflow-wrap: anywhere; }
.session-card p { margin: 4px 0; font-size: 13px; }
.session-badge { display: inline-block; background: #e1f0e8; color: #3b715c; border-radius: 12px; font-size: 12px; padding: 3px 8px; margin-top: 6px; }
.session-card dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 16px 0; }
.session-card dt { color: var(--muted); font-size: 12px; }
.session-card dd { margin: 4px 0 0; font-size: 13px; }
.session-actions, .session-dialog > footer { display: flex; gap: 10px; flex-wrap: wrap; }
.session-dialog button:not(.modal-close) { padding: 9px 12px; border-radius: 8px; }
.session-dialog > footer { justify-content: space-between; padding: 16px 24px; border-top: 1px solid #e6dcd9; }
.session-card label { display: grid; gap: 6px; margin-bottom: 10px; }
.session-card input { padding: 10px; border: 1px solid #dfd4d2; border-radius: 8px; width: 100%; }
.session-confirm { border: 1px solid #c6a7b6; border-radius: 12px; padding: 16px; background: #faf4f6; }
@media(max-width: 600px) { .session-card dl { grid-template-columns: 1fr; } .session-dialog > header, .session-dialog-body, .session-dialog > footer { padding: 16px; } }

.session-dialog > footer { font-size: 14px; color: var(--ink); }
.session-dialog button:not(.modal-close) { min-height: 44px; font-size: 14px; }
.session-card label { font-size: 13px; }
