/* VCare Web 29.4 — doctor/hospital patient-style UI + legacy presentation adapter */
:root{--role29-max:1180px;--role29-nav-h:74px}

/* Main role dashboard — built on the approved RC28 patient language. */
.role29-shell{width:min(100%,var(--role29-max))}
.role29-topbar .rc28-brand-mark img{width:72%;height:72%;object-fit:contain}
.role29-actions{gap:8px}
.role29-actions .role29-language{margin:0}
.role29-actions .role29-language label{display:block}
.role29-actions .role29-language .vcare-language-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
.role29-actions .role29-language select{height:44px;max-width:122px;padding:0 32px 0 12px;border:1px solid var(--rc28-line)!important;border-radius:15px!important;background:var(--rc28-surface)!important;color:var(--rc28-text)!important;box-shadow:var(--rc28-shadow-soft)!important;font-weight:700;outline:0}
html[dir=rtl] .role29-actions .role29-language select{padding:0 12px 0 32px}
.role29-theme img,.role29-topbar .rc28-icon-button>img{width:20px;height:20px;opacity:.8}
.role29-avatar{overflow:hidden;padding:2px;background:linear-gradient(145deg,var(--rc28-primary),var(--rc28-primary2))}
.role29-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--rc28-surface-solid)}
.role29-content{padding-bottom:38px}
.role29-greeting{padding-top:4px}
.role29-greeting h1{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.role29-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:center;min-height:310px;padding:38px 38px 34px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--rc28-primary) 10%,var(--rc28-surface-solid)),color-mix(in srgb,var(--rc28-primary2) 10%,var(--rc28-surface-solid)))!important;border:1px solid var(--rc28-line);box-shadow:var(--rc28-shadow)}
.role29-hero:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;inset-inline-end:-80px;top:-120px;background:radial-gradient(circle,color-mix(in srgb,var(--rc28-primary2) 22%,transparent),transparent 68%);pointer-events:none}
.role29-hero-copy{position:relative;z-index:2;max-width:650px}
.role29-hero-copy h2{margin:0;color:var(--rc28-text);font-size:clamp(34px,5vw,58px);line-height:.98;letter-spacing:-2.4px}
.role29-hero-copy h2 em{font-style:normal;color:var(--rc28-primary)}
.role29-hero-copy>p{max-width:570px;margin:18px 0 22px;color:var(--rc28-muted);font-size:14px;line-height:1.75}
.role29-hero-visual{position:relative;min-height:235px;display:grid;place-items:center}
.role29-orb{width:188px;height:188px;border-radius:54px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--rc28-primary) 88%,#fff),var(--rc28-primary2));box-shadow:0 30px 70px color-mix(in srgb,var(--rc28-primary) 30%,transparent);transform:rotate(-4deg)}
.role29-orb:before{content:"";position:absolute;width:210px;height:210px;border:1px solid color-mix(in srgb,var(--rc28-primary) 25%,transparent);border-radius:62px;transform:rotate(9deg)}
.role29-orb img{width:90px;height:90px;filter:brightness(0) invert(1);transform:rotate(4deg)}
.role29-chip{position:absolute;display:flex;align-items:center;gap:8px;max-width:170px;padding:10px 12px;border:1px solid var(--rc28-line);border-radius:16px;background:color-mix(in srgb,var(--rc28-surface-solid) 90%,transparent);box-shadow:var(--rc28-shadow-soft);color:var(--rc28-text);font-size:11px;font-weight:800;backdrop-filter:blur(14px)}
.role29-chip img{width:17px;height:17px;opacity:.72}.role29-chip.chip-a{top:24px;inset-inline-start:0}.role29-chip.chip-b{bottom:22px;inset-inline-end:0}

.role29-section{margin-top:30px}
.role29-quick-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.role29-quick{min-width:0}
.role29-action-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--rc28-soft);border:1px solid color-mix(in srgb,var(--rc28-primary) 9%,var(--rc28-line));transition:transform .2s ease,background .2s ease}
.role29-action-icon img{width:25px;height:25px;opacity:.78}
.role29-quick:hover .role29-action-icon{transform:translateY(-2px);background:color-mix(in srgb,var(--rc28-primary) 14%,var(--rc28-surface-solid))}

.role29-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.role29-metrics article{min-height:128px;padding:18px;border:1px solid var(--rc28-line);border-radius:24px;background:var(--rc28-surface);box-shadow:var(--rc28-shadow-soft)}
.role29-metrics article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:var(--rc28-soft);margin-bottom:14px}
.role29-metrics article>span img{width:19px;height:19px;opacity:.72}
.role29-metrics small{display:block;color:var(--rc28-muted);font-size:11px;font-weight:700;line-height:1.4}
.role29-metrics strong{display:block;margin-top:5px;font-size:28px;line-height:1;letter-spacing:-1px;color:var(--rc28-text)}

.role29-search{display:flex;align-items:center;gap:8px;width:min(280px,42vw);min-height:42px;padding:0 12px;border:1px solid var(--rc28-line);border-radius:14px;background:var(--rc28-surface)}
.role29-search img{width:17px;height:17px;opacity:.55}.role29-search input{width:100%;border:0!important;outline:0;background:transparent!important;color:var(--rc28-text)!important;box-shadow:none!important;padding:0!important;min-height:0!important}
.role29-service-group{margin-top:22px}.role29-service-group>h3{margin:0 0 11px;font-size:15px;color:var(--rc28-text);letter-spacing:-.2px}
.role29-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.role29-service-card{min-height:104px;display:grid;grid-template-columns:46px minmax(0,1fr) 20px;align-items:center;gap:13px;padding:15px;border:1px solid var(--rc28-line);border-radius:21px;background:var(--rc28-surface);box-shadow:var(--rc28-shadow-soft);transition:transform .18s ease,border-color .18s ease,background .18s ease}
.role29-service-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--rc28-primary) 30%,var(--rc28-line));background:color-mix(in srgb,var(--rc28-primary) 4%,var(--rc28-surface-solid))}
.role29-service-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:var(--rc28-soft)}.role29-service-icon img{width:22px;height:22px;opacity:.75}
.role29-service-card strong{display:block;font-size:13px;color:var(--rc28-text);line-height:1.35}.role29-service-card small{display:block;margin-top:5px;color:var(--rc28-muted);font-size:10.5px;line-height:1.45}.role29-service-card em{font-style:normal;color:var(--rc28-muted);font-size:22px}
.role29-service-card[hidden],.role29-service-group[hidden]{display:none!important}.role29-empty{padding:30px;text-align:center;color:var(--rc28-muted)}
.role29-bottom-nav .role29-nav-icon{width:23px;height:23px;display:grid;place-items:center}.role29-bottom-nav .role29-nav-icon img{width:20px;height:20px;opacity:.68}.role29-bottom-nav a.active .role29-nav-icon img{opacity:1}

/* Shared modern header inserted on historical Doctor/Hospital pages. */
.vcare-role-unified-bar{position:sticky;top:0;z-index:120;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:max(10px,env(safe-area-inset-top)) max(16px,calc((100vw - var(--role29-max))/2)) 10px;background:color-mix(in srgb,var(--iso-bg) 82%,transparent);border-bottom:1px solid var(--iso-line-soft);backdrop-filter:blur(22px) saturate(1.45);-webkit-backdrop-filter:blur(22px) saturate(1.45);box-shadow:0 5px 20px color-mix(in srgb,var(--iso-text) 4%,transparent)}
.vcare-role-unified-brand{display:flex;align-items:center;gap:11px;min-width:0;color:var(--iso-text);text-decoration:none}.vcare-role-unified-brand>span:first-child{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--iso-primary),var(--iso-primary-2));box-shadow:0 9px 22px color-mix(in srgb,var(--iso-primary) 24%,transparent)}.vcare-role-unified-brand img{width:27px;height:27px;object-fit:contain}.vcare-role-unified-brand strong{display:block;font-size:14px}.vcare-role-unified-brand small{display:block;margin-top:2px;color:var(--iso-muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.vcare-role-unified-actions{display:flex;align-items:center;gap:8px}.vcare-role-unified-actions>a,.vcare-role-unified-actions>button{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid var(--iso-line);border-radius:14px;background:var(--iso-glass-strong);color:var(--iso-text);text-decoration:none;font:inherit;font-size:11px;font-weight:800;cursor:pointer;box-shadow:var(--iso-shadow-soft)}.vcare-role-unified-actions img{width:18px;height:18px;opacity:.68}.vcare-role-unified-actions .role29-icon-only{width:42px;padding:0}
.vcare-role-unified-language select{height:42px;max-width:116px;padding:0 30px 0 10px;border:1px solid var(--iso-line);border-radius:14px;background:var(--iso-glass-strong);color:var(--iso-text);font:inherit;font-size:11px;font-weight:800;box-shadow:var(--iso-shadow-soft)}html[dir=rtl] .vcare-role-unified-language select{padding:0 10px 0 30px}

/* Legacy Doctor/Hospital pages are visually normalized without touching business logic. */
body.vcare-role-legacy{background:radial-gradient(circle at 14% -8%,color-mix(in srgb,var(--iso-primary) 10%,transparent),transparent 30rem),var(--iso-bg)!important;color:var(--iso-text)!important;font-family:Inter,"Noto Sans",Vazirmatn,"Noto Sans Arabic",system-ui,-apple-system,"Segoe UI",sans-serif!important;padding-bottom:30px}
body.vcare-role-legacy :is(.top,.p2-top,.cwf-topbar,.workspace-topbar){display:none!important}
body.vcare-role-legacy :is(.footer,.p2-footer,.cwf-footer){border-color:var(--iso-line-soft)!important;color:var(--iso-muted)!important;background:transparent!important}
body.vcare-role-legacy :is(.wrap,.p2-wrap,.cwf-wrap){width:min(var(--role29-max),calc(100% - 32px))!important;margin-inline:auto!important}
body.vcare-role-legacy :is(.hero,.p2-hero,.cwf-hero){min-height:auto!important;margin:20px auto 16px!important;padding:26px 28px!important;border:1px solid var(--iso-line-soft)!important;border-radius:28px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--iso-primary-soft) 78%,var(--iso-surface)),var(--iso-glass))!important;box-shadow:var(--iso-shadow-soft)!important;color:var(--iso-text)!important}
body.vcare-role-legacy :is(.hero h1,.p2-hero h1,.cwf-hero h1){margin:10px 0 8px!important;font-size:clamp(28px,4vw,44px)!important;line-height:1.04!important;letter-spacing:-1.4px!important;color:var(--iso-text)!important}
body.vcare-role-legacy :is(.hero .lead,.p2-hero p,.cwf-hero p){max-width:820px!important;margin:0!important;color:var(--iso-muted)!important;font-size:13px!important;line-height:1.7!important}
body.vcare-role-legacy :is(.badge,.p2-eyebrow,.cwf-eyebrow){display:inline-flex!important;width:auto!important;padding:6px 10px!important;border-radius:999px!important;border:1px solid color-mix(in srgb,var(--iso-primary) 22%,var(--iso-line))!important;background:var(--iso-primary-soft)!important;color:var(--iso-primary)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.02em!important;text-transform:none!important}
body.vcare-role-legacy :is(.grid,.p2-stats,.cwf-stats){gap:12px!important}
body.vcare-role-legacy :is(.card,.panel,.p2-panel,.cwf-panel,.p2-stats article,.cwf-stat,.cwf-list-row){border:1px solid var(--iso-line-soft)!important;border-radius:20px!important;background:var(--iso-glass)!important;color:var(--iso-text)!important;box-shadow:var(--iso-shadow-soft)!important}
body.vcare-role-legacy :is(.card,.panel,.p2-panel,.cwf-panel){padding:17px!important}
body.vcare-role-legacy :is(.card p,.card small,.panel p,.panel small,.p2-panel p,.p2-panel small,.cwf-panel p,.cwf-panel small,.muted){color:var(--iso-muted)!important}
body.vcare-role-legacy :is(.card strong,.p2-stats strong,.cwf-stat strong){color:var(--iso-text)!important}
body.vcare-role-legacy :is(.btn,button:not(.vcare-role-unified-actions button),.p2-button,.cwf-button,.vcare-ui-button){min-height:40px!important;border:1px solid var(--iso-line)!important;border-radius:13px!important;background:var(--iso-surface)!important;color:var(--iso-text)!important;box-shadow:none!important;font-weight:750!important}
body.vcare-role-legacy :is(.btn.primary,button.primary,.vcare-ui-button.primary){background:linear-gradient(135deg,var(--iso-primary),var(--iso-primary-2))!important;border-color:transparent!important;color:#fff!important}
body.vcare-role-legacy :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border:1px solid var(--iso-line)!important;border-radius:13px!important;background:var(--iso-surface)!important;color:var(--iso-text)!important;box-shadow:none!important;outline:none!important}
body.vcare-role-legacy :is(input,select){min-height:40px!important}body.vcare-role-legacy textarea{min-height:86px!important}
body.vcare-role-legacy table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid var(--iso-line-soft)!important;border-radius:20px!important;overflow:hidden!important;background:var(--iso-glass)!important;color:var(--iso-text)!important;box-shadow:var(--iso-shadow-soft)!important}
body.vcare-role-legacy :is(th,td){padding:12px 13px!important;border:0!important;border-bottom:1px solid var(--iso-line-soft)!important;text-align:start!important;vertical-align:top!important;color:var(--iso-text)!important;background:transparent!important}
body.vcare-role-legacy th{background:color-mix(in srgb,var(--iso-primary-soft) 45%,var(--iso-surface))!important;color:var(--iso-text)!important;font-size:11px!important;font-weight:800!important}body.vcare-role-legacy td{font-size:12px!important}body.vcare-role-legacy tr:last-child td{border-bottom:0!important}
body.vcare-role-legacy .status{border:1px solid var(--iso-line-soft)!important;border-radius:999px!important;background:var(--iso-primary-soft)!important;color:var(--iso-primary)!important}
body.vcare-role-legacy :is(.section,h2){scroll-margin-top:90px}
body.vcare-role-legacy h2{color:var(--iso-text)!important;letter-spacing:-.4px}
body.vcare-role-legacy .vcare-floating-language{display:none!important}

html[dir=rtl] body.vcare-role-legacy :is(.hero,.p2-hero,.cwf-hero,.card,.panel,.p2-panel,.cwf-panel,th,td){text-align:right!important}
html[dir=rtl] .vcare-role-unified-bar{direction:rtl}

@media(max-width:980px){.role29-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.role29-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role29-hero{grid-template-columns:minmax(0,1fr) 270px}.role29-orb{width:160px;height:160px}}
@media(max-width:700px){
 .role29-actions .role29-language select{max-width:94px}.role29-topbar .rc28-brand small{max-width:135px}.role29-topbar .rc28-brand strong{font-size:15px}.role29-topbar .rc28-avatar{display:none}
 .role29-hero{grid-template-columns:1fr;min-height:300px;padding:25px 20px}.role29-hero-copy{max-width:72%;z-index:3}.role29-hero-copy h2{font-size:31px;letter-spacing:-1.2px}.role29-hero-copy>p{font-size:11px;line-height:1.55}.role29-hero-visual{position:absolute;inset-inline-end:-36px;bottom:-28px;min-height:220px;width:48%;opacity:.9}.role29-orb{width:145px;height:145px;border-radius:42px}.role29-orb:before{width:160px;height:160px;border-radius:48px}.role29-orb img{width:65px;height:65px}.role29-chip{display:none}
 .role29-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.role29-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.role29-service-grid{grid-template-columns:1fr}.role29-search{width:100%;margin-top:8px}.role29-section .rc28-section-head{align-items:flex-start;gap:10px;flex-wrap:wrap}
 .vcare-role-unified-bar{min-height:66px;padding:9px 12px}.vcare-role-unified-brand small{max-width:135px}.vcare-role-unified-actions .role29-dashboard-text{display:none}.vcare-role-unified-actions>a{width:42px;padding:0}.vcare-role-unified-language select{max-width:88px}
 body.vcare-role-legacy :is(.wrap,.p2-wrap,.cwf-wrap){width:min(100% - 20px,var(--role29-max))!important}body.vcare-role-legacy :is(.hero,.p2-hero,.cwf-hero){margin-top:12px!important;padding:20px!important;border-radius:22px!important}
 body.vcare-role-legacy table{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
}
@media(max-width:430px){.role29-actions{gap:5px}.role29-topbar .rc28-icon-button{width:40px;height:40px}.role29-actions .role29-language select{height:40px;max-width:78px;font-size:10px}.role29-hero-copy{max-width:78%}.role29-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.role29-action-icon{width:48px;height:48px}.role29-metrics article{min-height:112px}.role29-service-card{min-height:96px}.vcare-role-unified-brand strong{font-size:12px}.vcare-role-unified-brand small{display:none}}
@media(prefers-reduced-motion:reduce){.role29-service-card,.role29-action-icon{transition:none!important}}
