/* Shared patient and specialist account views. */
.pd-profile,.pd-notifications { --patient-primary:#2F6BFF; --patient-primary-soft:#EFF4FF; --patient-border:#E5EAF2; --patient-text:#111827; --patient-muted:#5b6b84; --patient-surface-soft:#F6F8FC; font-family:"Plus Jakarta Sans",sans-serif; }
.pd-notification-group{margin-top:32px}.pd-notifications .pd-notification-group>h2{margin:0 0 16px}
.pd-notifications .pd-notification-list{display:grid;gap:1rem;background:transparent;border-radius:0;overflow:visible}
.pd-notification-card{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.25rem;border:1px solid #e5eaf2;border-radius:12px}
.pd-notification-card.is-unread{background:#EFF4FF;border-color:#dbe6ff;color:#111827}
.pd-notification-card.is-read{background:#F3F4F6;border-color:#E5E7EB;color:#616D7E}
.pd-notification-card>img{width:32px;height:32px}
.pd-notification-card.is-read>img{filter:grayscale(1);opacity:.65}
.pd-notification-card .pd-notification-copy{display:grid;gap:.5rem;color:inherit;white-space:normal;overflow:visible;text-overflow:clip;min-width:0}
.pd-notification-card .pd-notification-copy h3,.pd-notification-card .pd-notification-copy p{margin:0;color:inherit;line-height:1.5}
.pd-notification-card .pd-notification-copy h3{font-size:1rem;font-weight:700;line-height:1.4}
.pd-notification-card .pd-notification-copy p{font-size:.875rem}
.pd-notification-card.is-unread .pd-notification-copy p{color:#334155}
.pd-notification-card .pd-notification-copy small,.pd-notification-card .pd-notification-meta{color:inherit}
.pd-notification-card.is-unread .pd-notification-copy small,.pd-notification-card.is-unread .pd-notification-meta{color:#475569}
.pd-notification-card .pd-notification-copy a{color:#2F6BFF;text-decoration:none;font-weight:700;justify-self:start}
.pd-notification-card.is-read .pd-notification-copy a{color:#616D7E}
.pd-notification-card .pd-notification-copy a:hover{text-decoration:underline}
.pd-notification-card .pd-notification-copy a:focus-visible,.pd-notification-actions button:focus-visible{outline:3px solid #2F6BFF;outline-offset:3px}
.pd-notification-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8125rem}
.pd-notification-meta span{font-weight:600;color:inherit}
.pd-notification-actions{display:grid;justify-items:end;gap:.5rem}
.pd-notification-actions button{min-height:2.5rem;padding:.5rem .875rem;border:1px solid #c8d7f5;border-radius:10px;background:#fff;color:#2F6BFF;font:inherit}
.pd-notification-actions button:disabled{opacity:.6;cursor:wait}
@media(max-width:760px){.pd-notification-card{grid-template-columns:32px minmax(0,1fr);padding:1rem;gap:.75rem}.pd-notification-actions{grid-column:1/-1;justify-items:stretch}}

.pd-profile { width:100%; display:grid; gap:1.5rem; }
.pd-profile > .pd-page-heading { margin-bottom:0; }
.pd-profile > .pd-page-heading h1 { margin:0 0 .25rem; font-size:1.875rem; line-height:2.5625rem; }
.pd-profile > .pd-page-heading p { font-size:.875rem; line-height:1.25rem; }
.pd-profile-layout { display:grid; grid-template-columns:18.0625rem minmax(0,1fr); gap:2rem; align-items:start; }
.pd-profile-nav { display:flex; flex-direction:column; gap:.5rem; padding-right:2.5rem; border-right:1px solid var(--patient-border); min-height:34.75rem; }
.pd-profile-nav-link { display:block; width:100%; min-height:2.5rem; padding:.625rem .875rem; border:0; border-radius:12px; color:var(--patient-text); background:none; text-decoration:none; text-align:left; font-size:.875rem; line-height:1.25rem; font-weight:400; }
.pd-profile-nav-link:hover { background:var(--patient-surface-soft); }
.pd-profile-nav-link.is-active { color:var(--patient-primary); background:var(--patient-primary-soft); font-weight:600; }
.pd-profile-nav-link:focus-visible,.pd-profile-edit:focus-visible { outline:2px solid var(--patient-primary); outline-offset:3px; }
.pd-profile-nav-divider { height:1px; background:var(--patient-border); margin:1rem 0 .5rem; }
.pd-profile-logout { color:#dc2626; font-weight:600; }
.pd-profile-content { min-width:0; }
.pd-profile-details h2 { margin:0; font-size:1.375rem; line-height:1.75rem; }
.pd-profile-description { margin:.5rem 0 2rem; color:var(--patient-muted); font-size:.875rem; line-height:1.5; }
.pd-profile-card { border:1px solid var(--patient-border); border-radius:12px; background:#fff; padding:1.5rem; }
.pd-profile-card h2 { margin:0 0 1.5rem; font-size:1.125rem; }
.pd-profile-fields { display:grid; margin:0; padding:0 1.375rem; border-radius:12px; background:var(--patient-surface-soft); }
.pd-profile-field { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.125rem 0; min-height:5.75rem; }
.pd-profile-field + .pd-profile-field { border-top:1px solid var(--patient-border); }
.pd-profile-field > div { display:grid; gap:.375rem; min-width:0; }
.pd-profile-field dt { color:var(--patient-muted); font-size:.75rem; }
.pd-profile-field dd { margin:0; overflow-wrap:anywhere; font-size:.9375rem; font-weight:600; }
.pd-profile-field small { color:var(--patient-muted); font-size:.75rem; line-height:1.125rem; }
.pd-profile-edit { flex-shrink:0; border:0; padding:.5rem 0; color:var(--patient-primary); background:none; font-size:.875rem; font-weight:600; }
.pd-profile-missing { color:var(--patient-muted); font-weight:400; }
.pd-profile-global-note { margin-top:1.5rem; padding:1rem 1.125rem; border-radius:12px; background:var(--patient-surface-soft); font-size:.8125rem; line-height:1.5; }
.pd-profile-global-note strong { font-weight:600; }
.pd-profile-global-note p { color:var(--patient-muted); margin:.25rem 0 0; }
.pd-profile-global-note a,.pd-therapy-link { color:var(--patient-primary); }
.pd-therapy-link { display:inline-block; margin:0 0 1.5rem; text-decoration:none; font-size:.875rem; font-weight:600; }
@media(max-width:1100px){.pd-profile-layout{grid-template-columns:15rem minmax(0,1fr);gap:1.5rem}.pd-profile-nav{padding-right:1.5rem}}
@media(max-width:760px){.pd-profile-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.pd-profile-nav{border-right:0;border-bottom:1px solid var(--patient-border);min-height:0;padding:0 0 1.5rem}.pd-profile-field{gap:1rem}}
.pd-profile-notice { margin: 24px 0 0; border-radius: 12px; background: #fff4e8; padding: 1rem; color: #7c4a03; font-size: 0.875rem; }
.pd-profile-success { padding: 1rem 1.25rem; border-radius: 12px; background: #eafcef; color: #18794e; font-size: 0.875rem; font-weight: 600; }
.pd-profile-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem 2rem; }
.pd-profile-form-grid label { display: grid; gap: 0.5rem; color: #374151; font-size: 0.875rem; font-weight: 600; }
.pd-profile-form-grid input,.pd-profile-form-grid select { min-height: 2.75rem; padding: 0.625rem 0.75rem; border: 1px solid #d7dfea; border-radius: 10px; background: #fff; color: #111827; font: inherit; }
.pd-profile-form-grid input:focus,.pd-profile-form-grid select:focus { border-color: #2f6bff; outline: 3px solid #dce8ff; }
.pd-profile-form-grid input:disabled,.pd-profile-form-grid select:disabled { background: #f6f8fc; cursor: wait; }
.pd-profile-form-grid [data-error-for] { min-height: 1.125rem; color: #b42318; font-size: 0.75rem; font-weight: 500; }
.pd-profile-readonly { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem 2rem; margin-top: 32px; padding-top: 1.5rem; border-top: 0; }
.pd-profile-readonly div { display: grid; gap: 0.375rem; }
.pd-profile-readonly span { color: #5b6b84; font-size: 0.8125rem; }
.pd-profile-readonly strong { overflow-wrap: anywhere; font-size: 0.9375rem; }
.pd-profile-readonly p { grid-column: 1/-1; margin: 0; padding: 0.875rem 1rem; border-radius: 12px; background: #fff4e8; color: #7c4a03; font-size: 0.8125rem; }
.pd-profile-actions { display: flex; justify-content: flex-end; gap: 0.75rem; margin-top: 32px; }
.pd-profile-actions button { min-width: 132px; }
.pd-profile-actions button:disabled { cursor: wait; opacity: .6; }
.pd-profile-form-error { margin: 24px 0 0; padding: 0.875rem 1rem; border-radius: 12px; background: #fff4e8; color: #8a4b08; }
@media(max-width:760px){.pd-profile-form-grid,.pd-profile-readonly{grid-template-columns:1fr}.pd-profile-card-heading{align-items:flex-start;flex-direction:column}.pd-profile-actions{align-items:stretch;flex-direction:column-reverse}}


.pd-profile-content .pd-notification-card { grid-template-columns:32px minmax(0,1fr); }
.pd-profile-content .pd-notification-actions { grid-column:2; }
.pd-account-heading { margin:0 0 1.5rem; }
.pd-account-heading h1 { margin:0 0 .25rem; font-size:1.875rem; line-height:2.5625rem; }
.pd-account-heading p { margin:0; color:#5b6b84; font-size:.875rem; line-height:1.25rem; }
.pd-profile-content .specialist-profile-form { margin:0; padding:1.5rem; border:1px solid #E5EAF2; border-radius:12px; background:#fff; }
.pd-profile-content .specialist-profile-form-grid { gap:1.5rem 2rem; }
.pd-profile-content .specialist-profile-form-actions { margin-top:2rem; }
.pd-profile-content .specialist-profile-referral-row { display:flex; flex-wrap:wrap; gap:2rem; }
.pd-profile-content .specialist-profile-role-list { padding-left:1.25rem; }
.pd-profile-content .specialist-profile-security-row { border:0; padding:0; }
.pd-profile-content .specialist-profile-referral-link { min-width:0; flex:1; }
.pd-profile-content .specialist-profile-referral-link code { overflow-wrap:anywhere; }
.pd-notifications .specialist-notifications-toolbar { margin-bottom:1.5rem; }
.pd-notifications .pd-booking-empty { padding:1.25rem; color:#5b6b84; background:#F6F8FC; border-radius:12px; }
@media(max-width:760px){.pd-profile-content .pd-notification-actions{grid-column:1/-1;justify-items:stretch}}

.specialist-desktop-page-heading[hidden] { display:none; }
.pd-profile-nav-link { box-sizing:border-box; }
.pd-profile-content .specialist-profile-form-grid label { font-size:.875rem; }
.pd-profile-content .specialist-profile-form-grid :is(input,select) { font-size:.875rem; }
.pd-profile-content .specialist-profile-form-actions button { min-width:132px; font-size:.875rem; }
.pd-profile-content .specialist-profile-form h3 { margin:0; font-size:1.125rem; }

/* Notification rows with a left icon and date column. */
.pd-notifications .pd-notification-card:has(>.pd-notification-rail){grid-template-columns:4rem minmax(0,1fr);padding:.75rem 1rem;gap:.75rem}
.pd-notification-card:has(>.pd-notification-rail) .pd-notification-rail>img{width:24px;height:24px}
.pd-notification-card:has(>.pd-notification-rail) .pd-notification-copy{gap:.25rem}
.pd-notification-card:has(>.pd-notification-rail) .pd-notification-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;margin-left:auto}
.pd-notification-card:has(>.pd-notification-rail) .pd-notification-actions button{min-height:2rem;padding:.25rem 0;border:0;border-radius:4px;background:transparent;color:#2F6BFF;font:600 .75rem "Plus Jakarta Sans",Arial,sans-serif;cursor:pointer}
@media(max-width:760px){.pd-notifications .pd-notification-card:has(>.pd-notification-rail){grid-template-columns:4rem minmax(0,1fr);padding:.75rem;gap:.625rem}}

/* Compact notification feed matching the approved design. */
.pd-notification-panel{padding:1.5rem;background:#F8FAFC;border-radius:12px}
.pd-notification-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.pd-notification-heading h1{margin:0;font-size:1.375rem;font-weight:700;line-height:1.4}
.pd-notification-heading button{border:0;background:transparent;color:#2F6BFF;padding:0;font:400 .75rem "Plus Jakarta Sans",sans-serif;cursor:pointer}
.pd-notification-heading button:disabled{opacity:.5;cursor:wait}
.pd-notification-panel .pd-notification-group{margin:0 0 1rem}
.pd-notification-panel .pd-notification-group:last-child{margin-bottom:0}
.pd-notification-panel .pd-notification-group h2{margin:0 0 .375rem;font-size:.6875rem;font-weight:400;text-transform:uppercase;color:#616D7E;line-height:1.5}
.pd-notification-panel .pd-notification-list{display:grid;gap:.75rem}
.pd-notification-panel .pd-notification-card.pd-notification-compact{position:relative;display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;gap:.75rem;align-items:start;padding:.75rem 1rem;border:1px solid #D5E1FF;border-radius:12px;background:#F5F8FF;color:#111827}
.pd-notification-panel .pd-notification-card.pd-notification-compact.is-read{background:#FFF;border-color:#E5EAF2;color:#111827}
.pd-notification-compact.is-unread:before{content:"";position:absolute;left:.5rem;top:1.75rem;width:.4375rem;height:.4375rem;border-radius:50%;background:#2F6BFF}
.pd-notification-icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:8px;background:#EDF3FF}
.pd-notification-icon img{width:20px;height:20px}
.pd-notification-compact.is-read .pd-notification-icon{background:#F1F5F9}
.pd-notification-compact.is-read .pd-notification-icon img{filter:grayscale(1);opacity:.6}
.pd-notification-panel .pd-notification-compact .pd-notification-copy{display:grid;gap:.125rem;min-width:0;color:#111827}
.pd-notification-panel .pd-notification-compact h3{margin:0;font-size:.875rem;font-weight:600;line-height:1.4;color:#111827}
.pd-notification-panel .pd-notification-compact h3 a{color:inherit;font-size:inherit;font-weight:inherit;text-decoration:none}
.pd-notification-panel .pd-notification-compact h3 a:hover{text-decoration:underline}
.pd-notification-panel .pd-notification-compact p{margin:0;color:#616D7E;font-size:.75rem;font-weight:400;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.pd-notification-clock{font-size:.6875rem;line-height:1.5;color:#616D7E;white-space:nowrap}
.pd-notification-heading button:focus-visible,.pd-notification-compact a:focus-visible{outline:2px solid #2F6BFF;outline-offset:3px;border-radius:3px}
@media(max-width:760px){.pd-notification-panel{padding:1rem}.pd-notification-heading{flex-wrap:wrap;gap:.5rem}.pd-notification-panel .pd-notification-card.pd-notification-compact{padding:.75rem;gap:.625rem}.pd-notification-compact.is-unread:before{left:.25rem}}

.pd-notification-proposal-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.pd-notification-panel .pd-notification-proposal-actions :is(button,a){display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.375rem .875rem;border:1px solid #C7CCD4;border-radius:6px;background:transparent;color:#111827;font:500 .75rem "Plus Jakarta Sans",sans-serif;text-decoration:none;cursor:pointer}
.pd-notification-proposal-actions button:disabled{opacity:.5;cursor:wait}

.pd-notification-panel .pd-notification-card.pd-notification-compact .pd-notification-copy h3{color:#111827}
.pd-notification-panel .pd-notification-card.pd-notification-compact .pd-notification-copy p{color:#616D7E}

.pd-notification-panel .pd-notification-card.pd-notification-compact .pd-notification-copy h3 a{color:inherit}
.pd-notification-panel .pd-notification-card.pd-notification-compact.is-read h3{font-weight:400}
.pd-notification-compact.is-unread .pd-notification-icon img{filter:brightness(0) saturate(100%) invert(36%) sepia(95%) saturate(3823%) hue-rotate(218deg) brightness(104%) contrast(101%)}

.pd-profile-locale-form{width:100%;display:grid;gap:.5rem}
.pd-profile-locale-form>label{color:#616D7E;font-size:.75rem}
.pd-profile-locale-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.pd-profile-locale-controls select{min-width:10rem;min-height:2.75rem;padding:.5rem .75rem;border:1px solid #E5EAF2;border-radius:8px;background:#fff;color:#111827;font:inherit}
.pd-profile-locale-controls select:focus-visible{outline:2px solid #2F6BFF;outline-offset:2px}
.pd-profile-locale-form [data-profile-locale-message]{margin:0;font-size:.875rem}
@media(max-width:480px){.pd-profile-locale-controls{flex-wrap:wrap}}

.pd-language-picker{position:relative;display:block;width:10rem;height:3.125rem;flex:none}
.pd-language-selection{display:flex;align-items:center;gap:6px;width:100%;height:100%;padding:0 12px;box-sizing:border-box;border:1px solid #E5EAF2;border-radius:12px;background:#fff;color:#111827;font-size:14px;font-weight:400}
.pd-language-picker:hover .pd-language-selection{border-color:#AEBDCE}
.pd-language-picker:focus-within .pd-language-selection{border-color:#2F6BFF;outline:3px solid rgba(47,107,255,.14)}
.pd-language-flag{flex:none;width:18px;height:18px;overflow:hidden;border:1px solid rgba(15,23,42,.14);border-radius:50%}
.pd-language-flag[hidden]{display:none}
.pd-language-chevron{width:14px;height:14px;margin-left:auto;flex:none;fill:none;stroke:currentColor;stroke-width:2}
.pd-profile-locale-controls .pd-language-picker select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.pd-language-picker:has(select:disabled){opacity:.6}
.pd-profile-locale-controls .pd-language-picker select:disabled{cursor:wait}
