zreev-account-personal-fields,zreev-account-contact{display:block;min-width:0;font:inherit}
.zreev-profile-group{margin-top:24px;min-width:0}
.zreev-profile-group h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#152033;font:inherit;font-size:.875rem;font-weight:600;line-height:1.5}
.zreev-profile-info{display:inline-grid;place-items:center;width:14px;height:14px;border:1px solid #98a2b3;border-radius:50%;color:#98a2b3;font-size:10px;font-weight:600;cursor:help}
.zreev-profile-panel{padding:0 16px;border:0;border-radius:12px;background:#f3f4f6;min-width:0}
:is(#patient-desktop-app,#specialist-desktop-app) .zreev-profile-panel .pd-profile-fields{display:block;margin:0;padding:0;background:transparent;border:0;border-radius:0}
:is(#patient-desktop-app,#specialist-desktop-app) .zreev-profile-panel .pd-profile-field{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;min-height:72px;border:0}
:is(#patient-desktop-app,#specialist-desktop-app) .zreev-profile-panel .pd-profile-field>div{display:grid;gap:4px;min-width:0}
:is(#patient-desktop-app,#specialist-desktop-app) .zreev-profile-panel .pd-profile-field dt{font-size:.75rem;color:#98a2b3;line-height:1.5}
:is(#patient-desktop-app,#specialist-desktop-app) .zreev-profile-panel .pd-profile-field dd{margin:0;color:#152033;font-size:.875rem;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
:is(#patient-desktop-app,#specialist-desktop-app) .zreev-profile-panel .pd-profile-edit{border:0;padding:0;background:transparent;color:#2f6bff;font:inherit;font-size:.8125rem;font-weight:500;white-space:nowrap;cursor:pointer}
.zreev-profile-verification-note{margin:10px 0 0;color:#98a2b3;font-size:.75rem;line-height:1.5}
.zreev-profile-panel button:disabled{opacity:.5;cursor:default}
.zreev-profile-panel :focus-visible{outline:2px solid #2f6bff;outline-offset:3px}
.manager-contact-form{margin:8px 0 16px;padding:16px 0 0;border-top:1px solid #e5eaf2;display:grid;gap:16px;min-width:0}
.manager-contact-form h4,.manager-contact-form p{margin:0;font:inherit;font-size:.875rem;line-height:1.5}
.manager-contact-form h4{font-weight:600}
.manager-contact-form>label{display:grid;gap:8px;font-size:.875rem;font-weight:600}
.manager-contact-form input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;color:#152033;font:inherit}
.manager-contact-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.manager-contact-actions button{padding:10px 16px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;color:#334155;font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}
.manager-contact-actions button:first-child{margin-right:auto}
.manager-contact-actions .manager-contact-primary{border-color:#2f6bff;background:#2f6bff;color:#fff}
.manager-contact-error{margin:12px 0;color:#b42318;font-size:.875rem;line-height:1.5}
.manager-contact-success{margin:16px 0 12px;line-height:1.5}
.manager-contact-login{display:inline-block;margin-bottom:16px;color:#2f6bff;font-weight:600;text-decoration:none}
@media(max-width:600px){.zreev-profile-panel{padding:0 14px}.manager-contact-actions{gap:8px}.manager-contact-actions button{padding:10px 12px}}

:is(#patient-desktop-app,#specialist-desktop-app) .zreev-profile-panel .pd-profile-field.is-editing>div{width:100%;gap:6px}
.zreev-inline-field-form,.manager-contact-form.zreev-inline-field-form{margin:0;padding:0;border:0;background:transparent;display:block;min-width:0}
.zreev-inline-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0}
.zreev-inline-controls>input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;color:#152033;font:inherit;font-size:.875rem;font-weight:400}
.zreev-inline-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center}
.zreev-inline-actions button{min-height:40px;padding:8px 14px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;color:#2f6bff;font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;white-space:nowrap}
.zreev-inline-actions .zreev-inline-save{border-color:#2f6bff;background:#2f6bff;color:#fff}
.zreev-inline-actions button:disabled{opacity:.5;cursor:default}
.zreev-inline-error{display:block;margin:8px 0 0;color:#b42318;font-size:.8125rem;line-height:1.5}.zreev-inline-error:empty{display:none}.zreev-inline-error[hidden]{display:none}
.zreev-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}
.zreev-inline-field-form .zreev-birthday-fields{max-width:360px;gap:10px;margin:0}.zreev-inline-field-form .zreev-birthday-fields label{display:grid;gap:4px;color:#55647b;font-size:.75rem;font-weight:400}.zreev-inline-field-form .zreev-birthday-fields input{font-size:.875rem;font-weight:400;min-height:44px}
@media(max-width:600px){.zreev-inline-controls{grid-template-columns:1fr;gap:12px}.zreev-inline-actions{justify-content:flex-end}.zreev-inline-field-form .zreev-birthday-fields{max-width:none}}

.manager-contact-form.zreev-inline-field-form:not([data-personal-edit-form]){display:grid;gap:16px}

/* Patient settings share the data tab's panels, spacing and type scale. */
#patient-desktop-app .pd-profile-content { color:#152033; font-size:.875rem; line-height:1.5; }
#patient-desktop-app .pd-profile-content .pd-profile-details > h2 { margin:0; font-size:1.375rem; line-height:1.75rem; font-weight:600; }
#patient-desktop-app .pd-profile-content .pd-profile-description { margin:8px 0 24px; color:#64748b; font-size:.875rem; line-height:1.5; }
#patient-desktop-app .pd-profile-content :is(.zreev-security-details,.zreev-preferences-details) .zreev-profile-panel,
#patient-desktop-app .pd-profile-content .zreev-account-preferences-form,
#patient-desktop-app .pd-profile-content .pd-profile-global-note,
#patient-desktop-app .pd-profile-content .pd-profile-payments,
#patient-desktop-app .pd-profile-content .pd-profile-qr,
#patient-desktop-app .pd-profile-content .pd-booking-empty {
  box-sizing:border-box; min-width:0; border:0; border-radius:12px; background:#f3f4f6; box-shadow:none; color:#152033;
}
#patient-desktop-app .pd-profile-content .zreev-security-details .zreev-profile-panel { margin-top:24px; padding:0 16px; }
#patient-desktop-app .pd-profile-content .zreev-preferences-details .zreev-profile-panel { margin-top:24px; padding:16px; }
#patient-desktop-app .pd-profile-content zreev-account-preferences { margin:24px 0 0; }
#patient-desktop-app .pd-profile-content .zreev-account-preferences-form { padding:16px; font:inherit; }
#patient-desktop-app .pd-profile-content .zreev-region-grid { gap:16px; margin-bottom:16px; }
#patient-desktop-app .pd-profile-content .zreev-region-grid label { gap:6px; color:#98a2b3; font-size:.75rem; font-weight:400; line-height:1.5; }
#patient-desktop-app .pd-profile-content .zreev-region-grid :is(input,select) { min-height:44px; padding:10px 12px; border:1px solid #d0d5dd; border-radius:12px; background:#fff; color:#152033; font:inherit; font-size:.875rem; }
#patient-desktop-app .pd-profile-content .zreev-preference-toggle { padding:16px 0; border:0; gap:16px; }
#patient-desktop-app .pd-profile-content .zreev-preference-toggle:first-of-type { padding-top:0; }
#patient-desktop-app .pd-profile-content .zreev-preference-toggle strong { font-size:.875rem; font-weight:400; }
#patient-desktop-app .pd-profile-content :is(.zreev-preference-toggle small,.zreev-preference-note) { color:#64748b; font-size:.75rem; line-height:1.5; }
#patient-desktop-app .pd-profile-content .zreev-preference-note { margin:8px 0 16px; }
#patient-desktop-app .pd-profile-content .zreev-preference-toggle input { appearance:none; position:relative; width:36px; height:20px; flex:0 0 36px; margin:0; border:0; border-radius:999px; background:#cbd5e1; cursor:pointer; }
#patient-desktop-app .pd-profile-content .zreev-preference-toggle input::before { content:""; position:absolute; top:3px; left:3px; width:14px; height:14px; border-radius:50%; background:#fff; transition:transform .15s; }
#patient-desktop-app .pd-profile-content .zreev-preference-toggle input:checked { background:#2f6bff; }
#patient-desktop-app .pd-profile-content .zreev-preference-toggle input:checked::before { transform:translateX(16px); }
#patient-desktop-app .pd-profile-content .zreev-preference-toggle input:disabled { opacity:.5; cursor:default; }
#patient-desktop-app .pd-profile-content .zreev-account-preferences-form > button { display:block; margin-left:auto; min-height:40px; padding:8px 14px; border:1px solid #2f6bff; border-radius:12px; background:#2f6bff; color:#fff; font:inherit; font-size:.8125rem; font-weight:600; }
#patient-desktop-app .pd-profile-content .pd-profile-global-note { margin-top:24px; padding:16px; font-size:.875rem; line-height:1.5; }
#patient-desktop-app .pd-profile-content .pd-profile-global-note p { margin:0; color:#64748b; font-size:.875rem; }
#patient-desktop-app .pd-profile-content .pd-profile-global-note a { display:inline-block; margin-top:12px; color:#2f6bff; font-size:.8125rem; text-decoration:none; }
#patient-desktop-app .pd-profile-content :is(.pd-profile-payments,.pd-booking-empty,.pd-profile-qr) { margin-top:24px; padding:16px; }
#patient-desktop-app .pd-profile-content .pd-profile-payments table { font-size:.875rem; }
#patient-desktop-app .pd-profile-content .pd-profile-payments th { color:#98a2b3; font-size:.75rem; }
#patient-desktop-app .pd-profile-content .pd-profile-payments tbody tr:last-child td { border-bottom:0; }
#patient-desktop-app .pd-profile-content .pd-profile-payments td small { color:#64748b; font-size:.75rem; }
#patient-desktop-app .pd-profile-content .pd-booking-empty { text-align:left; }
#patient-desktop-app .pd-profile-content .pd-booking-empty strong { font-size:.875rem; font-weight:600; }
#patient-desktop-app .pd-profile-content .pd-booking-empty p { margin:8px 0 0; color:#64748b; font-size:.875rem; line-height:1.5; }
#patient-desktop-app .pd-profile-content .pd-profile-qr { align-items:center; gap:24px; }
#patient-desktop-app .pd-profile-content .pd-profile-qr > img { border-radius:12px; background:#fff; max-width:100%; }
#patient-desktop-app .pd-profile-content .pd-profile-qr h3 { font-size:.875rem; font-weight:600; }
#patient-desktop-app .pd-profile-content .pd-profile-qr p { font-size:.875rem; line-height:1.5; color:#64748b; }
#patient-desktop-app .pd-profile-content .pd-profile-qr a { font-size:.8125rem; }
#patient-desktop-app .pd-profile-content :is(.pd-profile-edit,.pd-profile-global-note a):hover { text-decoration:underline; }
#patient-desktop-app .pd-profile-content :focus-visible { outline:2px solid #2f6bff; outline-offset:3px; }
@media(max-width:600px) {
  #patient-desktop-app .pd-profile-content :is(.zreev-account-preferences-form,.pd-profile-global-note,.pd-profile-payments,.pd-booking-empty,.pd-profile-qr) { padding:14px; }
  #patient-desktop-app .pd-profile-content .pd-profile-payments { overflow-x:auto; }
  #patient-desktop-app .pd-profile-content .pd-profile-payments table { min-width:520px; }
  #patient-desktop-app .pd-profile-content .pd-profile-qr { align-items:flex-start; flex-direction:column; gap:16px; }
}
@media(forced-colors:active) {
  #patient-desktop-app .pd-profile-content .zreev-preference-toggle input { appearance:auto; }
  #patient-desktop-app .pd-profile-content .zreev-preference-toggle input::before { content:none; }
}
@media(prefers-reduced-motion:reduce) {
  #patient-desktop-app .pd-profile-content .zreev-preference-toggle input::before { transition:none; }
}

#patient-desktop-app .pd-profile-content .pd-language-picker { height:44px; }

/* Payment history presents date, facility, service and transaction amount separately. */
#patient-desktop-app .pd-profile-content .pd-profile-payments th:nth-child(1) { width:20%; }
#patient-desktop-app .pd-profile-content .pd-profile-payments th:nth-child(2) { width:28%; }
#patient-desktop-app .pd-profile-content .pd-profile-payments th:nth-child(3) { width:36%; }
#patient-desktop-app .pd-profile-content .pd-profile-payments th:nth-child(4) { width:16%; }
#patient-desktop-app .pd-profile-content .pd-profile-payments :is(th,td):last-child { text-align:right; }

/* Region controls form a single borderless panel; calendar actions stay visible. */
#patient-desktop-app .pd-profile-content .zreev-preferences-details zreev-account-preferences { margin-top:0; }
#patient-desktop-app .pd-profile-content .zreev-region-grid { gap:12px; padding-bottom:14px; margin-bottom:0; border-bottom:1px solid #e5eaf2; }
#patient-desktop-app .pd-profile-content .zreev-region-grid :is(input,select),
#patient-desktop-app .pd-profile-content .zreev-region-language select { min-height:38px; padding:8px 12px; border:1px solid #cbd5e1; border-radius:6px; background:#fff; color:#152033; font:inherit; font-size:.8125rem; }
#patient-desktop-app .pd-profile-content .zreev-region-language { display:grid; gap:6px; max-width:270px; color:#64748b; font-size:.75rem; }
#patient-desktop-app .pd-profile-content .zreev-nearby-toggle { padding:14px 0; }
#patient-desktop-app .pd-profile-content .zreev-nearby-toggle strong { font-weight:500; }
#patient-desktop-app .pd-profile-content .zreev-preferences-details .zreev-account-preferences-form > button { margin-top:18px; background:transparent; color:#2f6bff; font-weight:400; }
#patient-desktop-app .pd-profile-content zreev-google-calendar[data-view="profile"] { display:block; margin-top:24px; }
#patient-desktop-app zreev-google-calendar[data-view="profile"] :is(.zreev-integrations-tabs,.zreev-integration-grid) { display:none; }
#patient-desktop-app zreev-google-calendar[data-view="profile"] .zreev-calendar-control { border:0; padding:16px; background:#f3f4f6; box-shadow:none; }
#patient-desktop-app zreev-google-calendar[data-view="profile"] .zreev-calendar-control h2 { font-size:.875rem; font-weight:600; }
#patient-desktop-app zreev-google-calendar[data-view="profile"] .zreev-calendar-control :is(dl,p,button) { font-size:.8125rem; }

.zreev-inline-field-form .zreev-contact-edit-note { margin:8px 0 0; color:#98a2b3; font-size:.75rem; line-height:1.5; }
.zreev-inline-field-form .zreev-contact-resend { margin-top:8px; }

.zreev-contact-phone-fields { display:grid; grid-template-columns:6rem minmax(0,1fr); gap:10px; min-width:0; }
.zreev-contact-phone-fields input { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid #d0d5dd; border-radius:12px; background:#fff; color:#152033; font:inherit; font-size:.875rem; }
@media(max-width:400px) { .zreev-contact-phone-fields { grid-template-columns:5rem minmax(0,1fr); gap:8px; } }

/* Contact verification stays on the browser top layer, above profile editors. */
.zreev-contact-verification{box-sizing:border-box;width:min(30rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:2rem;border:0;border-radius:16px;background:#fff;color:#172033;box-shadow:0 24px 80px #0f172a33;overflow:auto;}
.zreev-contact-verification::backdrop{background:rgba(15,23,42,.4);}
.zreev-contact-verification h2{margin:0 0 1rem;font-size:1.4rem;line-height:1.3;}
.zreev-contact-verification .zreev-contact-code-description{margin:0 0 1.5rem;font-size:1rem;line-height:1.6;color:#334155;}
.zreev-contact-verification .zreev-inline-controls{display:flex;flex-direction:column;align-items:stretch;gap:1rem;}
.zreev-contact-verification input[name=code]{box-sizing:border-box;width:100%;min-width:0;font-size:1.25rem;letter-spacing:.2em;padding:.875rem;}
.zreev-contact-verification .zreev-contact-edit-note{display:none;}
.zreev-contact-verification .zreev-contact-resend{margin-top:1rem;font-size:.875rem;}
