/* Deliberately scoped: the established login/contact/payment styling is intact. */
#professional-profiler { display: grid; gap: 28px; margin-top: 22px; }
#professional-profiler.after-payment-profiler { margin-top: 48px; padding-top: 32px; border-top: 2px solid #dedede; }
#professional-profiler .professional-profile-introduction { display: grid; gap: 12px; }
#professional-profiler .professional-profile-introduction p { margin: 0; }
#professional-profiler .professional-portal-sign-in { display: block; width: fit-content; margin-bottom: 16px; color: #333; line-height: 1.6; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
#professional-profiler .professional-portal-sign-in:focus-visible { outline: 2px solid #666; outline-offset: 4px; }
#professional-profiler .professional-portal-sign-in-inline { display: inline; width: auto; margin: 0; }
#professional-profiler .professional-profile-questions { display: grid; gap: 28px; }
#professional-profiler .card { padding: 24px; background: #fff; border: 1px solid #dedede; border-radius: 12px; }
#professional-profiler .card-header { display: flex; gap: 12px; margin-bottom: 20px; }
#professional-profiler h2 { margin: 0 0 8px; font-size: 21px; line-height: 1.35; }
#professional-profiler p { margin: 8px 0; color: #555555; line-height: 1.6; }
/* Compact end-page copy without changing the profiler's question spacing. */
#professional-profiler.profile-finished { gap: 8px; margin-top: 16px; padding: 24px; background: #fff; border: 1px solid #dedede; border-radius: 12px; }
#professional-profiler.profile-finished > h1 { margin: 0 0 4px; line-height: 1.2; }
#professional-profiler.profile-finished > h1.profile-confirmed-heading { font-size: 22px; }
#professional-profiler.profile-finished > p { margin: 0; line-height: 1.45; }
#professional-profiler .fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
#professional-profiler .field { display: grid; gap: 8px; min-width: 0; }
#professional-profiler .field + .field { margin-top: 24px; }
#professional-profiler .fields > .field { margin-top: 0; }
#professional-profiler .full { grid-column: 1 / -1; }
#professional-profiler label { color: #282828; font-weight: 600; line-height: 1.5; }
#professional-profiler input:not([type=checkbox]), #professional-profiler select, #professional-profiler textarea { box-sizing: border-box; width: 100%; min-height: 44px; padding: 11px 12px; border: 1px solid #bcbcbc; border-radius: 7px; background: #fff; color: #262626; font: inherit; }
#professional-profiler textarea { resize: vertical; }
#professional-profiler input:focus, #professional-profiler select:focus, #professional-profiler textarea:focus, #professional-profiler button:focus-visible { outline: 2px solid #666666; outline-offset: 3px; }
#professional-profiler input:disabled, #professional-profiler select:disabled, #professional-profiler textarea:disabled { background: #f0f0f0; color: #777777; }
#professional-profiler small { color: #636363; line-height: 1.5; }
#professional-profiler .field-error { color: #333333; font-weight: 600; }
#professional-profiler .npi-field-error { color: #b42318; font-weight: 600; }
#professional-profiler [aria-invalid=true] { border-color: #333333; }
#professional-profiler .profiler-combobox { position: relative; }
#professional-profiler .field .profiler-combobox input { padding-right: 38px; }
#professional-profiler .profiler-combobox-chevron { position: absolute; right: 14px; top: 9px; font-size: 20px; color: #666; pointer-events: none; }
#professional-profiler .profiler-combobox-popup { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 20; max-height: 260px; overflow-y: auto; overscroll-behavior: contain; background: #fff; border: 1px solid #bbb; border-radius: 7px; box-shadow: 0 6px 18px rgb(0 0 0 / .13); padding: 5px; }
#professional-profiler .profiler-combobox-option { padding: 10px 12px; min-height: 44px; border-radius: 4px; cursor: pointer; font-size: 14px; overflow-wrap: anywhere; }
#professional-profiler .profiler-combobox-option[aria-selected="true"] { font-weight: 650; }
#professional-profiler .profiler-combobox-option.is-active, #professional-profiler .profiler-combobox-option:hover { background: #eee; color: #222; }
#professional-profiler .profiler-combobox-empty { padding: 12px; font-size: 13px; color: #666; }
#professional-profiler .choices { display: grid; gap: 14px; margin-top: 16px; }
#professional-profiler .choice { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; }
#professional-profiler input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 3px 0 0; accent-color: #565656; }
#professional-profiler button { margin-top: 14px; border: 1px solid #777777; border-radius: 7px; padding: 12px 16px; background: #fff; color: #2c2c2c; font: inherit; font-weight: 600; cursor: pointer; }
#professional-profiler button:disabled { opacity: .55; cursor: not-allowed; }
#professional-profiler .notice { padding: 20px; border: 1px solid #dedede; border-radius: 8px; background: #f6f6f6; }
#professional-profiler .hint-list { padding-left: 22px; line-height: 1.7; }
#professional-save-status { min-height: 24px; margin: 12px 0; color: #4f4f4f; }
#professional-save-status[data-state=unknown], #professional-save-status[data-state=conflict], #professional-save-status[data-state=blocked] { font-weight: 600; }
#professional-reload-dialog { width: min(480px, calc(100% - 40px)); box-sizing: border-box; border: 1px solid #cccccc; border-radius: 12px; padding: 26px; color: #282828; background: #fff; }
#professional-reload-dialog::backdrop { background: rgb(24 24 24 / .45); }
#professional-reload-dialog h2 { margin-top: 0; font-size: 22px; }
#professional-reload-dialog p { line-height: 1.6; }
#professional-reload-dialog .dialog-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 24px; }
#professional-signout-dialog { width: min(540px, calc(100% - 40px)); box-sizing: border-box; border: 1px solid #cccccc; border-radius: 12px; padding: 26px; color: #282828; background: #fff; }
#professional-signout-dialog::backdrop { background: rgb(24 24 24 / .45); }
#professional-signout-dialog h2 { margin-top: 0; font-size: 22px; }
#professional-signout-dialog p { line-height: 1.6; }
#professional-signout-dialog .dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-top: 24px; }
@media (max-width: 640px) { #professional-profiler .card { padding: 18px; } #professional-profiler .fields { grid-template-columns: 1fr; } }
