:root {
    --ph-ink: #17323a;
    --ph-muted: #52666c;
    --ph-accent: #087f6b;
    --ph-accent-hover: #066b5a;
    --ph-page-bg: #f5f8f7;
    --cui-primary: #087f6b;
    --cui-primary-rgb: 8, 127, 107;
}

html { font-size: 16px; }
/* Scale the public desktop composition with the available viewport. At roughly
   1872px this is 20px; at its 125%-zoom viewport (~1498px) it is 16px, keeping
   the displayed proportions stable. Relative bounds preserve readable text. */
@media (min-width: 1200px) {
    html.ph-public-scale { font-size: clamp(100%, 1.07vw, 125%); }
}
body { background-color: var(--ph-page-bg); }
.wrapper { width: 100%; padding-inline: var(--cui-sidebar-occupy-start, 0) var(--cui-sidebar-occupy-end, 0); background-color: var(--ph-page-bg); transition: padding .15s; will-change: auto; }
.ph-brand-mark { display: block; flex: 0 0 2rem; width: 2rem; height: 2rem; margin-inline-end: .55rem; object-fit: contain; }
.ph-sidebar {
    --cui-sidebar-bg: transparent;
    --cui-sidebar-color: #42565b;
    --cui-sidebar-brand-bg: rgba(255,255,255,.56);
    --cui-sidebar-brand-color: var(--ph-ink);
    --cui-sidebar-nav-title-color: #6a7d81;
    --cui-sidebar-nav-link-color: #42565b;
    --cui-sidebar-nav-link-icon-color: #63777b;
    --cui-sidebar-nav-link-hover-color: #075f53;
    --cui-sidebar-nav-link-hover-bg: rgba(var(--cui-primary-rgb),.075);
    --cui-sidebar-nav-link-hover-icon-color: var(--ph-accent);
    --cui-sidebar-nav-link-active-color: #075f53;
    --cui-sidebar-nav-link-active-bg: rgba(var(--cui-primary-rgb),.12);
    --cui-sidebar-nav-link-active-icon-color: var(--ph-accent);
    --cui-sidebar-nav-group-bg: rgba(255,255,255,.36);
    --cui-sidebar-nav-group-indicator-color: #75888b;
    --cui-sidebar-nav-group-indicator-hover-color: var(--ph-accent);
    border-color: #d8e6e2 !important;
    background-color: var(--ph-page-bg);
    background-image: linear-gradient(180deg, rgba(255,255,255,.42), rgba(245,248,247,.78));
    box-shadow: .15rem 0 1.25rem rgba(23,50,58,.055);
}
.ph-sidebar .sidebar-header { border-color: #d8e6e2 !important; background: rgba(255,255,255,.5); backdrop-filter: blur(.5rem); }
.sidebar-brand { display: flex; width: 100%; align-items: center; justify-content: center; color: var(--ph-ink); font-size: 1.2rem; font-weight: 700; }
.ph-sidebar-banner { width: min(13.5rem,100%); height: auto; object-fit: contain; }
.ph-sidebar-logo { width: 2rem; height: 2rem; object-fit: contain; }
.ph-sidebar-close { margin-inline-start: auto; padding: .25rem .5rem; border: 0; color: #617478; font-size: 1.75rem; line-height: 1; }
.ph-sidebar-close:hover, .ph-sidebar-close:focus { color: var(--ph-accent); background: rgba(var(--cui-primary-rgb),.08); }
.ph-sidebar .nav-icon { width: 1.25rem; height: 1.25rem; color: #63777b; filter: none; opacity: .9; }
.ph-sidebar .nav-link.active .nav-icon, .ph-sidebar .nav-link:hover .nav-icon { color: var(--ph-accent); opacity: 1; }
.sidebar-nav {
    --cui-sidebar-nav-padding-x: .55rem;
    --cui-sidebar-nav-padding-y: .35rem;
    --cui-sidebar-nav-gap: 1px;
    --cui-sidebar-nav-title-padding-x: .8rem;
    --cui-sidebar-nav-title-padding-y: .4rem;
    --cui-sidebar-nav-title-margin-top: .5rem;
    --cui-sidebar-nav-link-padding-x: .8rem;
    --cui-sidebar-nav-link-padding-y: .5rem;
    --cui-sidebar-nav-link-icon-margin: .6rem;
    scrollbar-color: transparent transparent;
    scrollbar-width: thin;
}
.sidebar-nav:hover,.sidebar-nav:focus-within { scrollbar-color: rgba(66,86,91,.28) transparent; }
.sidebar-nav::-webkit-scrollbar { width: 5px; }
.sidebar-nav::-webkit-scrollbar-track { background: transparent; }
.sidebar-nav::-webkit-scrollbar-thumb { border-radius: 999px; background: transparent; }
.sidebar-nav:hover::-webkit-scrollbar-thumb,.sidebar-nav:focus-within::-webkit-scrollbar-thumb { background: rgba(66,86,91,.28); }
.sidebar-nav .nav-title { color: #6a7d81; letter-spacing: .055em; }
.sidebar-nav .nav-link { min-height: 2.5rem; border-radius: .55rem; font-size: .9rem; font-weight: 400; }
.sidebar-nav .nav-link:hover,.sidebar-nav .nav-link:focus-visible { color: #075f53; background: rgba(var(--cui-primary-rgb),.075); }
.sidebar-nav .nav-link.active { color: #075f53; background: rgba(var(--cui-primary-rgb),.12); box-shadow: inset 3px 0 0 var(--ph-accent); font-weight: 400; }
.ph-sidebar .btn-outline-light { --cui-btn-color: var(--ph-accent); --cui-btn-border-color: rgba(var(--cui-primary-rgb),.5); --cui-btn-hover-color: #fff; --cui-btn-hover-bg: var(--ph-accent); --cui-btn-hover-border-color: var(--ph-accent); --cui-btn-active-color: #fff; --cui-btn-active-bg: var(--ph-accent-hover); --cui-btn-active-border-color: var(--ph-accent-hover); }
.sidebar-nav .ph-clinic-nav-link { align-items: flex-start; white-space: normal; line-height: 1.35; }
.sidebar-nav .ph-clinic-nav-link .nav-icon { flex: 0 0 1.25rem; margin-top: .05rem; }
.sidebar-nav .ph-clinic-nav-link > span { min-width: 0; padding-right: .35rem; overflow-wrap: anywhere; }
.sidebar-nav .ph-clinic-nav-link::after { flex: 0 0 auto; margin-top: .2rem; }
.sidebar-nav .nav-group-items .nav-link { min-height: 2.25rem; padding-block: .38rem; padding-inline-start: 2.65rem; font-size: .84rem; }
@media (max-width: 991.98px) { .sidebar-nav .nav-link { min-height: 2.75rem; } .sidebar-nav .nav-group-items .nav-link { min-height: 2.6rem; } }
.header { min-height: 3.75rem; }
.header > .container-fluid, .sidebar-header { min-height: calc(4rem + 1px); }
.header-toggler { border: 0; background: transparent; font-size: 1.35rem; }
.ph-menu-icon { display: grid; gap: 4px; width: 1.25rem; }
.ph-menu-icon i { display: block; height: 2px; border-radius: 2px; background: currentColor; }
.ph-context-link { min-width: 10rem; border-left: 1px solid var(--cui-border-color); padding-left: 1.25rem; }
.ph-header-identity { min-width: 0; }
.ph-header-identity .ph-context-link { display: grid; min-width: 0; gap: .05rem; padding-block: .55rem; line-height: 1.15; }
.ph-header-identity strong { max-width: min(30vw,24rem); overflow: hidden; color: var(--ph-ink); font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.ph-header-identity small { color: var(--cui-secondary-color); font-size: .68rem; font-weight: 650; }
.ph-avatar { display: inline-grid; place-items: center; color: #fff; background: var(--ph-accent); font-weight: 750; }
.ph-header-icon { display: inline-grid; width: 2.75rem; height: 2.75rem; place-items: center; padding: 0 !important; border-radius: 50%; color: var(--ph-muted); }
.ph-app .header .header-nav.ms-auto { gap: .75rem; }
.ph-header-icon:hover,.ph-header-icon:focus-visible { color: var(--ph-accent); background: rgba(var(--cui-primary-rgb),.08); }
.ph-header-icon.active,.ph-header-icon.active:hover,.ph-header-icon.active:focus-visible { color: #fff !important; background-color: #087565 !important; box-shadow: 0 .25rem .65rem rgba(var(--cui-primary-rgb),.28); }
.ph-header-icon.active i { color: #fff !important; opacity: 1; }
.ph-header-icon i { width: 1.4rem; height: 1.4rem; font-size: 1.4rem; opacity: .88; }
.ph-notifications-icon i { width: 1.52rem; height: 1.52rem; font-size: 1.52rem; }
.ph-public-header { margin-bottom: 0; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.header-brand { display: flex; align-items: center; color: var(--ph-ink); }
.ph-public-nav { width: 100%; max-width: 94rem; min-height: 4.5rem !important; margin-inline: auto; }
.ph-public-brand { flex: 0 0 auto; }
.ph-public-banner { display: block; width: 14rem; height: auto; object-fit: contain; }
.ph-public-actions { align-items: center; gap: .35rem; }
.ph-public-actions .nav-link { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; padding: .7rem .85rem; color: var(--ph-muted); font-size: .875rem; font-weight: 700; text-align: center; }
.ph-public-actions .nav-link:hover { color: var(--ph-accent); }
.ph-public-actions .btn { min-height: 2.75rem; padding-inline: 1rem; border-radius: .65rem; font-size: .875rem; font-weight: 750; }
.ph-public-actions .ph-public-find-care { box-shadow: 0 .35rem .85rem rgba(var(--cui-primary-rgb),.18); }
.footer { min-height: calc(3rem + 1px); }
.ph-messages-icon,.ph-notifications-icon { position:relative; }.ph-header-badge { position:absolute;top:.05rem;right:.05rem;display:grid;min-width:1rem;height:1rem;place-items:center;padding:0 .2rem;border:2px solid var(--cui-header-bg,#fff);border-radius:999px;color:#fff;background:#d63939;font-size:.52rem;font-weight:800;line-height:1; }
.ph-mobile-bottom-nav { display:none; }
@media (max-width:767.98px) {
    .ph-app { --ph-mobile-nav-height:4rem; }
    .ph-app.ph-has-mobile-nav > .wrapper { min-height:100dvh!important;padding-bottom:calc(var(--ph-mobile-nav-height) + env(safe-area-inset-bottom)); }
    .ph-app.ph-has-mobile-nav > .wrapper > .footer { margin-top:0; }
    .ph-mobile-bottom-nav { position:fixed;right:0;bottom:0;left:0;z-index:1028;display:flex;min-height:var(--ph-mobile-nav-height);align-items:stretch;justify-content:space-evenly;padding:0 max(.35rem,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(.35rem,env(safe-area-inset-left));border-top:1px solid rgba(255,255,255,.12);background:rgba(23,50,58,.98);box-shadow:0 -.35rem 1.1rem rgba(23,50,58,.18);backdrop-filter:blur(.75rem); }
    .ph-mobile-nav-item { position:relative;display:grid;min-width:3.25rem;min-height:3.75rem;flex:1 1 0;place-items:center;padding:.45rem;border:0;color:#c9dedb;background:transparent;text-decoration:none;touch-action:manipulation; }
    .ph-mobile-nav-item::before { position:absolute;width:2.75rem;height:2.75rem;border-radius:50%;background:transparent;content:"";transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease; }
    .ph-mobile-nav-item i { position:relative;z-index:1;font-size:1.25rem;line-height:1; }
    .ph-mobile-nav-item:hover::before,.ph-mobile-nav-item:focus-visible::before { background:rgba(255,255,255,.1); }
    .ph-mobile-nav-item.active { color:#fff; }
    .ph-mobile-nav-item.active::before { background:var(--ph-accent);box-shadow:0 .25rem .65rem rgba(0,0,0,.22);transform:translateY(-.08rem); }
    .ph-mobile-nav-item.active i { color:#fff; }
    .ph-mobile-nav-badge { position:absolute;top:.38rem;left:calc(50% + .35rem);display:grid;min-width:1.05rem;height:1.05rem;place-items:center;padding:0 .2rem;border:2px solid #fff;border-radius:999px;color:#fff;background:#d63939;font-size:.52rem;font-weight:800;line-height:1; }
    .ph-mobile-nav-item.active .ph-mobile-nav-badge { border-color:var(--ph-accent); }
    .ph-conversation-focus.ph-has-mobile-nav .wrapper { height:100dvh;padding-bottom:calc(var(--ph-mobile-nav-height) + env(safe-area-inset-bottom)); }
    .ph-conversation-focus .ph-message-composer { scroll-margin-bottom:calc(var(--ph-mobile-nav-height) + env(safe-area-inset-bottom)); }
}
.btn-primary {
    --cui-btn-bg: var(--ph-accent);
    --cui-btn-border-color: var(--ph-accent);
    --cui-btn-hover-bg: var(--ph-accent-hover);
    --cui-btn-hover-border-color: var(--ph-accent-hover);
    --cui-btn-active-bg: var(--ph-accent-hover);
    --cui-btn-active-border-color: var(--ph-accent-hover);
}
.btn-outline-primary {
    --cui-btn-color: var(--ph-accent);
    --cui-btn-border-color: var(--ph-accent);
    --cui-btn-hover-bg: var(--ph-accent);
    --cui-btn-hover-border-color: var(--ph-accent);
}
.badge { display: inline-flex; min-height: 1.55rem; align-items: center; justify-content: center; padding: .3rem .58rem; border-radius: var(--cui-border-radius-pill); font-size: .7rem; font-weight: 750; line-height: 1.1; letter-spacing: .01em; text-align: center; }
.badge.text-bg-primary { color: #fff !important; background-color: #087565 !important; }
.badge.text-bg-success { color: #fff !important; background-color: #18794e !important; }
.badge.text-bg-danger { color: #fff !important; background-color: #b42332 !important; }
.badge.text-bg-info { color: #fff !important; background-color: #246b91 !important; }
.badge.text-bg-warning { color: #332400 !important; background-color: #f2c94c !important; }
.badge.text-bg-secondary { color: #fff !important; background-color: #58666b !important; }
.badge.text-bg-light { color: #29413f !important; border: 1px solid #cbd8d5 !important; background-color: #edf3f1 !important; }
.ph-auth { min-height: 100vh; background: var(--ph-page-bg); }
.ph-auth > .min-vh-100 { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: clamp(1rem,4vw,3rem); }
.ph-auth > .ph-auth-with-header { align-items: stretch; justify-content: flex-start; padding: 0; }
.ph-auth-with-header > .body { display: flex; flex: 1 1 auto; align-items: center; justify-content: center; padding: clamp(1rem,4vw,3rem); }
.ph-auth .body { flex-grow: 0 !important; width: 100%; }
.ph-auth .account-shell { min-height: 0; padding: 0; }
.ph-auth .account-card { width: min(100%, 62rem); padding: 0; overflow: hidden; border: 1px solid rgba(23,50,58,.1) !important; border-radius: 1.25rem; box-shadow: 0 1.5rem 4rem rgba(23,50,58,.13); }
.ph-auth-card { display: grid; grid-template-columns: minmax(18rem,5fr) minmax(0,6fr); background: #fff; }
.ph-auth-intro { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: center; overflow: hidden; padding: clamp(2rem,4vw,3.25rem); color: #fff; background: linear-gradient(145deg,#075f52 0%,#087f6b 58%,#0a947b 100%); }
.ph-auth-intro::before,.ph-auth-intro::after { position: absolute; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; content: ''; pointer-events: none; }
.ph-auth-intro::before { width: 18rem; height: 18rem; right: -9rem; top: -7rem; }
.ph-auth-intro::after { width: 11rem; height: 11rem; right: -4rem; bottom: -5rem; background: rgba(255,255,255,.035); }
.ph-auth-intro > * { position: relative; z-index: 1; }
.ph-auth-card-brand { display: inline-flex; width: fit-content; align-items: center; gap: .8rem; margin-bottom: 1.75rem; color: #fff; text-decoration: none; }
.ph-auth-card-brand:hover,.ph-auth-card-brand:focus-visible { color: #fff; }
.ph-auth-card-brand:focus-visible { border-radius: 1rem; outline: .2rem solid rgba(255,255,255,.48); outline-offset: .25rem; }
.ph-auth-logo-frame { display: grid; width: 4.75rem; height: 4.75rem; flex: 0 0 auto; place-items: center; overflow: hidden; border: .22rem solid rgba(255,255,255,.92); border-radius: 1.35rem; background: #fff; box-shadow: 0 .9rem 2rem rgba(0,35,30,.28); transform: rotate(-2deg); }
.ph-auth-logo-frame img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ph-auth-card-brand strong { font-size: 1.55rem; letter-spacing: -.025em; }
.ph-auth-eyebrow { margin: 0 0 .55rem; font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ph-auth-intro .ph-auth-eyebrow { color: rgba(255,255,255,.78); }
.ph-auth-intro h2 { max-width: 12ch; margin: 0 0 .8rem; color: #fff; font-size: clamp(1.8rem,3.2vw,2.65rem); line-height: 1.08; letter-spacing: -.035em; }
.ph-auth-intro > p:not(.ph-auth-eyebrow) { max-width: 30rem; margin: 0; color: rgba(255,255,255,.82); line-height: 1.65; }
.ph-auth-points { display: grid; gap: .65rem; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.ph-auth-points li { display: grid; grid-template-columns: 1.2rem minmax(0,1fr); align-items: start; gap: .55rem; color: rgba(255,255,255,.9); font-size: .82rem; line-height: 1.45; }
.ph-auth-points li::before { display: inline-grid; width: 1.2rem; height: 1.2rem; place-items: center; border-radius: 50%; color: #076353; background: rgba(255,255,255,.92); content: '\f00c'; font-family: "Font Awesome 7 Free"; font-size: .65rem; font-weight: 900; }
.ph-auth-form-panel { min-width: 0; padding: clamp(2rem,4vw,3.25rem); }
.ph-auth-form-heading { margin-bottom: 1.5rem; }
.ph-auth-form-heading .ph-auth-eyebrow { color: var(--ph-accent); }
.ph-auth-form-heading h1 { margin: 0 0 .45rem; color: var(--ph-ink); font-size: clamp(1.85rem,3vw,2.45rem); line-height: 1.1; letter-spacing: -.035em; }
.ph-auth-form-heading > p:last-child { margin: 0; color: var(--ph-muted); font-size: .92rem; line-height: 1.55; }
.ph-auth-form { display: grid; gap: 1.15rem; }
.ph-auth-form > div:not(.validation-summary) { display: grid; gap: .4rem; }
.ph-auth-field-icon { display:none; }
.ph-auth-field-control { display:block; }
.ph-auth-form .form-label { margin: 0; color: #30484e; font-size: .8rem; font-weight: 750; }
.ph-auth-form .form-control { min-height: 3.15rem; border-color: #cbd8d6; border-radius: .7rem; background: #fbfcfc; }
.ph-auth-form .form-control:focus { border-color: var(--ph-accent); background: #fff; box-shadow: 0 0 0 .2rem rgba(var(--cui-primary-rgb),.12); }
.ph-auth-form .form-text { margin: 0; font-size: .75rem; }
.ph-auth-submit { min-height: 3.15rem; margin-top: .15rem; border-radius: .7rem; font-weight: 800; }
.ph-auth .account-footer { margin: 1.4rem 0 0; padding-top: 1.1rem; border-top: 1px solid #e1e9e7; color: var(--ph-muted); font-size: .84rem; text-align: center; }
.ph-auth .account-footer a { color: var(--ph-accent); font-weight: 800; }
.ph-auth .validation-summary:empty { display: none; }
@media (max-width: 767.98px) {
    .ph-auth { background:linear-gradient(155deg,#eef9f6 0%,#f7faf8 52%,#fff9e9 100%); }
    .ph-auth > .min-vh-100 { justify-content:center;padding:0; }
    .ph-auth > .ph-auth-with-header { justify-content:flex-start;padding:0; }
    .ph-auth-with-header > .body { align-items:stretch;padding:30px; }
    .ph-auth .account-shell { min-height:calc(100dvh - 4rem - 60px);align-items:stretch;padding:0; }
    .ph-auth .account-card { position:relative;width:100%;min-height:calc(100dvh - 4rem - 60px);overflow:visible;border:0!important;border-radius:0;background:transparent;box-shadow:none; }
    .ph-auth-card { grid-template-columns:1fr;align-content:start;padding:0; }
    .ph-auth .ph-public-actions { grid-template-columns:1fr; }
    .ph-auth .ph-public-actions .nav-link { display:none; }
    .ph-auth .ph-public-actions .ph-public-find-care { width:100%; }
    .ph-auth-intro { min-height:auto;align-items:center;padding:1.15rem 1rem .7rem;color:var(--ph-ink);background:transparent; }
    .ph-auth-intro::before { width:15rem;height:15rem;top:-10rem;right:-7rem;border:0;background:rgba(var(--cui-primary-rgb),.08); }
    .ph-auth-intro::after { width:10rem;height:10rem;right:auto;bottom:-5rem;left:-6rem;border:0;background:rgba(244,206,83,.1); }
    .ph-auth-card-brand { gap:.55rem;margin:0;color:var(--ph-ink); }
    .ph-auth-card-brand:hover,.ph-auth-card-brand:focus-visible { color:var(--ph-ink); }
    .ph-auth-logo-frame { width:4.5rem;height:4.5rem;border:.18rem solid #fff;border-radius:1.15rem;box-shadow:0 .7rem 1.5rem rgba(23,50,58,.13);transform:none; }
    .ph-auth-card-brand strong { display:none; }
    .ph-auth-intro > .ph-auth-eyebrow,.ph-auth-intro > h2,.ph-auth-intro > p:not(.ph-auth-eyebrow),.ph-auth-points { display:none; }
    .ph-auth-form-panel { width:min(100%,29rem);margin-inline:auto;padding:1.4rem .3rem 1rem; }
    .ph-auth-form-heading { margin-bottom:1.6rem;text-align:center; }
    .ph-auth-form-heading .ph-auth-eyebrow { display:none; }
    .ph-auth-form-heading h1 { margin-bottom:.45rem;font-size:1.7rem; }
    .ph-auth-form-heading > p:last-child { max-width:22rem;margin-inline:auto;font-size:.82rem;line-height:1.45; }
    .ph-auth-form { gap:.85rem; }
    .ph-auth-form > .ph-auth-field { gap:.3rem; }
    .ph-auth-field > .form-label { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap; }
    .ph-auth-field-control { position:relative;display:block; }
    .ph-auth-field-icon { position:absolute;z-index:1;top:50%;left:1rem;display:block;color:#526a66;font-size:.9rem;transform:translateY(-50%);pointer-events:none; }
    .ph-auth-form .form-control { min-height:3.35rem;padding:.75rem 1rem .75rem 2.75rem;border:1px solid rgba(23,50,58,.08);border-radius:1rem;background:rgba(255,255,255,.86);box-shadow:0 .2rem .65rem rgba(23,50,58,.035);font-size:.92rem; }
    .ph-auth-form .form-control:focus { background:#fff;box-shadow:0 0 0 .2rem rgba(var(--cui-primary-rgb),.1); }
    .ph-auth-form .form-text,.ph-auth-form .field-validation-error { padding-inline:.5rem;font-size:.7rem; }
    .ph-auth-submit { min-height:3.35rem;margin-top:.45rem;border-radius:1rem;box-shadow:0 .55rem 1.2rem rgba(var(--cui-primary-rgb),.18); }
    .ph-auth .account-footer { margin-top:1.15rem;padding-top:0;border-top:0;font-size:.8rem; }
    .ph-auth .ph-alert { margin-bottom:1rem; }
}
@media (max-width: 380px) { .ph-auth-with-header > .body { padding:30px; }.ph-auth-form-panel { padding-inline:0; }.ph-auth-form-heading { margin-bottom:1.25rem; }.ph-auth-intro { padding-top:.85rem; } }
.skip-link {
    position: fixed;
    top: 0;
    left: 1rem;
    z-index: 1000;
    padding: .75rem 1rem;
    color: #fff;
    background: var(--ph-ink);
    transform: translateY(-120%);
}
.skip-link:focus { transform: translateY(0); }
.foundation-shell, .account-shell { width: 100%; min-height: calc(100vh - 8rem); padding: 1.5rem; }
.foundation-shell { display: grid; place-items: center; }
.account-shell { display: flex; align-items: flex-start; justify-content: center; }
.account-card, .foundation-card { width: min(100%, 32rem); padding: 1.5rem; border: var(--cui-border-width) solid var(--cui-border-color); border-radius: var(--cui-border-radius); background: var(--cui-card-bg); box-shadow: var(--cui-box-shadow-sm); }
.account-card-wide { width: min(100%, 64rem); }
.account-footer { margin: 1.5rem 0 0; }
.validation-summary, .field-validation-error { color: #a32020; }
.form-control, .btn { min-height: 44px; }
.btn { display: inline-flex; align-items: center; justify-content: center; }
.setup-key { display: block; padding: 1rem; overflow-wrap: anywhere; background: #f3f5f5; }
.recovery-codes { display: grid; grid-template-columns: repeat(auto-fit,minmax(12rem,1fr)); gap: .5rem; padding-left: 1.5rem; }
.session-item { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #dce5e3; }
.ph-page-eyebrow-back { display: inline-flex; min-height: 1.5rem; align-items: center; gap: .4rem; color: inherit; text-decoration: none; vertical-align: middle; }
.ph-page-eyebrow-back:hover { color: var(--ph-ink); }
.ph-page-eyebrow-back i { font-size: .8rem; }
.appointment-detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-top: 1.25rem; }
.appointment-detail-actions form { margin: 0; }
.credential-list { display: grid; gap: .75rem; }
.credential-item { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid #dce5e3; border-radius: .75rem; background: #fafcfc; }
.credential-upload { width: min(100%, 20rem); }
.status-badge { align-self: start; padding: .35em .65em; border-radius: var(--cui-border-radius-pill); color: var(--cui-success-text-emphasis); background: var(--cui-success-bg-subtle); font-size: .75em; font-weight: 700; text-transform: capitalize; }
.review-actions { display: grid; gap: 1rem; }
.security-setting { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #dce5e3; }
.security-setting p { margin: .25rem 0 0; color: var(--ph-muted); }
.admin-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(14rem,1fr)); gap: 1rem; }
.admin-card { display: grid; grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: center; gap: .2rem .75rem; min-height: 7rem; padding: 1rem; color: inherit; text-decoration: none; border: 1px solid #9aa5a3; border-radius: .75rem; background: #fafcfc; }
.admin-card > strong, .admin-card > span:not(.ph-action-icon):not(.ph-action-arrow) { grid-column: 2; }
.admin-card .ph-action-arrow { grid-column: 3; grid-row: 1 / span 2; }
.admin-card:hover { border-color: var(--ph-accent); }
.admin-verification-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.admin-verification-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-verification-header .foundation-eyebrow { margin-bottom: .35rem; }
.admin-verification-header h1 { margin-bottom: .35rem; }
.admin-verification-header-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: .5rem; }
.admin-verification-note { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; padding: .75rem 1rem; border: 1px solid var(--cui-warning-border-subtle); border-radius: var(--cui-border-radius); background: var(--cui-warning-bg-subtle); }
.admin-verification-note .ph-action-icon { background-color: rgba(var(--cui-warning-rgb),.16); }
.admin-verification-note p, .admin-verification-note p span { display: grid; gap: .1rem; margin: 0; }
.admin-verification-note p span { color: var(--cui-secondary-color); font-size: .85rem; }
.admin-verification-filters { margin-bottom: 1.25rem; }
.admin-verification-filters .availability-workspace-tab .badge { margin-left: .15rem; }
.admin-verification-filters .availability-workspace-tab.active .badge { color: var(--cui-primary) !important; background: #fff !important; }
.clinic-verification-filters .availability-workspace-tabs { scrollbar-color:transparent transparent;scrollbar-width:thin; }
.clinic-verification-filters .availability-workspace-tabs:hover,.clinic-verification-filters .availability-workspace-tabs:focus-within { scrollbar-color:rgba(82,107,103,.42) transparent; }
.clinic-verification-filters .availability-workspace-tabs::-webkit-scrollbar { height:3px; }
.clinic-verification-filters .availability-workspace-tabs::-webkit-scrollbar-track { background:transparent; }
.clinic-verification-filters .availability-workspace-tabs::-webkit-scrollbar-thumb { border-radius:999px;background:transparent; }
.clinic-verification-filters .availability-workspace-tabs:hover::-webkit-scrollbar-thumb,.clinic-verification-filters .availability-workspace-tabs:focus-within::-webkit-scrollbar-thumb { background:rgba(82,107,103,.42); }
.admin-verification-results { min-width: 0; }
.admin-verification-results-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-verification-list { display: grid; gap: .65rem; }
.admin-verification-row { display: grid; grid-template-columns: 2.35rem minmax(12rem,1fr) auto auto; align-items: center; gap: .8rem; padding: .85rem 1rem; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.admin-verification-identity { display: grid; gap: .1rem; min-width: 0; }
.admin-verification-identity > span, .admin-verification-identity time { color: var(--cui-secondary-color); font-size: .82rem; }
.admin-verification-row > .badge { text-transform: capitalize; }
.admin-verification-row-link { color: inherit; text-decoration: none; }
.admin-verification-row-link:hover { color: inherit; border-color: rgba(var(--cui-primary-rgb),.45) !important; }
.admin-verification-row-link .ph-action-arrow { justify-self: end; }
.admin-verification-empty { display: flex; flex-direction: row; align-items: center; gap: .75rem; padding: 1rem; border: 1px dashed var(--cui-border-color) !important; }
.admin-verification-empty > span:last-child { display: grid; gap: .15rem; }
.admin-verification-empty > span:last-child > span { color: var(--cui-secondary-color); }
.admin-review-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.admin-review-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-review-header .foundation-eyebrow { margin-bottom: .35rem; }
.admin-review-header h1 { margin-bottom: .35rem; }
.admin-review-header-actions { display: flex; align-items: center; justify-content: end; gap: .65rem; }
.admin-review-header-actions > .badge { font-size: .78rem; text-transform: capitalize; }
.admin-review-workspace { display: grid; grid-template-columns: minmax(0,8fr) minmax(18rem,4fr); align-items: start; gap: 1.5rem; }
.admin-review-main, .admin-review-side { min-width: 0; }
.admin-review-side { display: grid; gap: 1rem; }
.admin-review-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
.admin-review-section-heading h2 { margin-bottom: 0; }
.admin-review-evidence-list { display: grid; gap: .75rem; }
.admin-review-evidence, .admin-review-actions, .admin-review-history { border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.admin-review-evidence { overflow: hidden; }
.admin-review-evidence-summary { display: grid; grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .85rem 1rem; border-bottom: 1px solid var(--cui-border-color); }
.admin-review-evidence-summary > div { min-width: 0; }
.admin-review-evidence-summary > div span { color: var(--cui-secondary-color); font-size: .82rem; overflow-wrap: anywhere; }
.admin-review-evidence-summary > .badge { text-transform: capitalize; }
.admin-review-evidence-meta { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: 0; padding: .75rem 1rem; }
.admin-review-evidence-meta > div { display: grid; gap: .1rem; }
.admin-review-evidence-meta dt { color: var(--cui-secondary-color); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.admin-review-evidence-meta dd { margin: 0; font-size: .875rem; text-transform: capitalize; }
.admin-review-evidence-footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .75rem 1rem; border-top: 1px solid var(--cui-border-color); background: var(--cui-tertiary-bg); }
.admin-review-credential-actions { display: flex; align-items: center; justify-content: end; gap: .5rem; }
.admin-review-reject-evidence { display: flex; align-items: center; gap: .5rem; }
.admin-review-reject-evidence .form-control { width: min(15rem,30vw); }
.admin-review-actions .card-body, .admin-review-history .card-body { padding: 1rem; }
.admin-review-actions .review-actions { margin-top: 1rem; }
.admin-review-timeline { display: grid; gap: 0; margin: 1rem 0 0; padding: 0; list-style: none; }
.admin-review-timeline li { position: relative; display: grid; gap: .12rem; padding: 0 0 1rem 1.25rem; border-left: 2px solid var(--cui-border-color); }
.admin-review-timeline li::before { position: absolute; top: .25rem; left: -.38rem; width: .65rem; height: .65rem; content: ""; border-radius: 50%; background: var(--ph-accent); }
.admin-review-timeline li:last-child { padding-bottom: 0; }
.admin-review-timeline time { color: var(--cui-secondary-color); font-size: .78rem; }
.admin-review-timeline span { color: var(--cui-secondary-color); font-size: .875rem; }
.invitation-flow-shell { display: grid; width: 100%; min-height: calc(100vh - 11rem); padding: 1rem; place-items: center; }
.invitation-flow-card { width: min(100%,42rem); padding: clamp(1.25rem,4vw,2rem); border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow); }
.invitation-flow-heading { display: flex; align-items: center; gap: .85rem; margin-bottom: 1.25rem; }
.invitation-flow-heading .foundation-eyebrow { margin-bottom: .25rem; }
.invitation-flow-heading h1 { margin: 0 0 .25rem; font-size: clamp(1.6rem,3vw,2rem); }
.invitation-flow-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .35rem; margin-bottom: 1.25rem; }
.invitation-flow-steps span { padding: .55rem .4rem; color: var(--cui-secondary-color); border-bottom: 3px solid var(--cui-border-color); font-size: .75rem; font-weight: 700; text-align: center; }
.invitation-flow-steps span.active { color: var(--ph-accent); border-color: var(--ph-accent); }
.invitation-flow-intro { margin-bottom: 1rem; }
.invitation-flow-intro h2 { margin-bottom: .35rem; }
.invitation-flow-form { display: grid; gap: 1rem; }
.invitation-flow-form .form-label { display: grid; gap: .35rem; margin: 0; font-weight: 650; }
.invitation-flow-form > .btn { justify-self: start; min-width: 12rem; }
.onboarding-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.onboarding-page { width: 100%; }
.onboarding-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.onboarding-heading { display: flex; align-items: center; gap: .85rem; }
.onboarding-heading .foundation-eyebrow { margin-bottom: .25rem; }
.onboarding-heading h1 { margin: 0 0 .25rem; }
.onboarding-header > .badge { font-size: .78rem; text-transform: capitalize; }
.onboarding-section-heading { margin-bottom: .85rem; }
.onboarding-section-heading h2 { margin-bottom: .35rem; }
.onboarding-details-form { margin: 0; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.onboarding-credential-item { border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.clinic-evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.clinic-evidence-card { min-width: 0; overflow: hidden; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.clinic-evidence-card-header { display: grid; grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .85rem 1rem; border-bottom: 1px solid var(--cui-border-color); }
.clinic-evidence-card-header > div { min-width: 0; }
.clinic-evidence-card-header > div span { color: var(--cui-secondary-color); font-size: .82rem; }
.clinic-evidence-card-body { display: grid; gap: .85rem; padding: 1rem; }
.clinic-evidence-card-body > a { justify-self: start; }
.clinic-evidence-file { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.clinic-evidence-file strong { min-width: 0; overflow-wrap: anywhere; }
.clinic-evidence-file span { flex: 0 0 auto; color: var(--cui-secondary-color); font-size: .8rem; }
.clinic-evidence-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin: 0; }
.clinic-evidence-meta > div { padding: .6rem .7rem; border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); }
.clinic-evidence-meta dt { color: var(--cui-secondary-color); font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; }
.clinic-evidence-meta dd { margin: .1rem 0 0; font-size: .875rem; text-transform: capitalize; }
.clinic-evidence-empty { display: flex; align-items: center; gap: .65rem; padding: .75rem; border: 1px dashed var(--cui-border-color); border-radius: var(--cui-border-radius); }
.clinic-evidence-empty > span:last-child { display: grid; gap: .1rem; }
.clinic-evidence-empty small { color: var(--cui-secondary-color); }
.clinic-evidence-upload { display: grid; gap: .75rem; padding-top: .85rem; border-top: 1px solid var(--cui-border-color); }
.clinic-evidence-upload .form-label { display: grid; gap: .3rem; margin: 0; font-weight: 650; }
.clinic-evidence-upload > .btn { justify-self: start; }
.clinic-document-list { grid-template-columns: 1fr; gap: .75rem; }
.clinic-document-card { box-shadow: 0 .125rem .35rem rgba(23,50,58,.06); }
.clinic-document-card .clinic-evidence-card-header { padding-block: .75rem; }
.clinic-document-card .clinic-evidence-card-body { gap: .75rem; padding: .85rem 1rem 1rem; }
.clinic-document-current { display: grid; grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .7rem .8rem; border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); }
.clinic-document-current .clinic-evidence-file { display: grid; justify-content: initial; gap: .05rem; }
.clinic-document-current-label, .clinic-document-expiry span { color: var(--cui-secondary-color); font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.clinic-document-current .clinic-evidence-file > span:last-child { font-size: .76rem; }
.clinic-document-expiry { display: grid; gap: .05rem; padding-left: .9rem; border-left: 1px solid var(--cui-border-color); text-align: right; }
.clinic-document-expiry strong { font-size: .875rem; white-space: nowrap; }
.clinic-document-processing { display: flex; flex-wrap: wrap; gap: .35rem .5rem; }
.clinic-document-processing > div { display: flex; align-items: baseline; gap: .3rem; padding: .25rem .5rem; }
.clinic-document-processing dt, .clinic-document-processing dd { margin: 0; font-size: .75rem; }
.clinic-document-processing dt::after { content: ":"; }
.clinic-document-upload { grid-template-columns: minmax(0,1.7fr) minmax(10rem,.8fr) auto; align-items: end; gap: .65rem; padding: .75rem; border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); }
.clinic-document-upload-heading { display: flex; grid-column: 1 / -1; align-items: baseline; justify-content: space-between; gap: .75rem; }
.clinic-document-upload-heading span { color: var(--cui-secondary-color); font-size: .76rem; }
.clinic-document-upload .form-label > span { font-size: .78rem; }
.clinic-document-upload .form-label small { color: var(--cui-secondary-color); font-size: inherit; font-weight: 400; }
.clinic-document-upload > .btn { justify-self: stretch; white-space: nowrap; }
.provider-evidence-upload > .row { margin-inline: calc(-.5 * var(--cui-gutter-x)); }
.provider-rejected-summary { display: flex; align-items: flex-start; gap: .75rem; }
.provider-rejected-summary > div, .provider-evidence-rejected-message { display: grid; gap: .15rem; }
.provider-rejected-summary span, .provider-evidence-rejected-message span { font-size: .875rem; }
.clinic-evidence-card.provider-evidence-rejected { border-color: var(--cui-danger-border-subtle) !important; box-shadow: 0 0 0 1px var(--cui-danger-border-subtle), var(--cui-box-shadow-sm); }
.provider-evidence-rejected .clinic-evidence-card-header { border-bottom-color: var(--cui-danger-border-subtle); background: var(--cui-danger-bg-subtle); }
.provider-evidence-rejected-message { padding: .7rem .8rem; border-left: .25rem solid var(--cui-danger); border-radius: var(--cui-border-radius); background: var(--cui-danger-bg-subtle); color: var(--cui-danger-text-emphasis); }
.provider-verification-workspace { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,22rem); align-items: start; gap: 1.25rem; margin-top: 1.5rem; }
.provider-verification-documents { min-width: 0; }
.provider-verification-history { position: sticky; top: 5.75rem; min-width: 0; overflow: hidden; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.provider-verification-history .card-header { padding: 1rem; background: var(--cui-tertiary-bg); }
.provider-verification-history .card-body { max-height: calc(100vh - 11rem); overflow-y: auto; padding: 1rem 1rem 0; }
.clinic-review-banner { display: flex; align-items: flex-start; gap: .75rem; }
.clinic-review-banner > div { display: grid; gap: .15rem; }
.clinic-review-banner span { font-size: .875rem; }
.clinic-verification-workspace { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,22rem); align-items: start; gap: 1.25rem; margin-top: 1.25rem; }
.clinic-verification-main { min-width: 0; }
.clinic-onboarding-tabs { position: static; margin: 0 0 1rem; }
.clinic-onboarding-tabs .badge { margin-left: .15rem; }
.clinic-onboarding-tabs .availability-workspace-tab.active .badge { color: var(--cui-primary) !important; background: #fff !important; }
.clinic-onboarding-content > .tab-pane { min-width: 0; }
.clinic-onboarding-content > .tab-pane:focus { outline: 0; }
.clinic-setup-form { overflow: hidden; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.clinic-setup-section { min-width: 0; margin: 0; padding: 1.15rem; border: 0; border-bottom: 1px solid var(--cui-border-color); }
.clinic-setup-section legend { display: flex; align-items: center; gap: .7rem; width: 100%; margin: 0 0 1rem; font-size: 1rem; font-weight: 700; }
.clinic-setup-section legend > span:last-child { display: grid; }
.clinic-setup-section legend small { color: var(--cui-secondary-color); font-size: .78rem; font-weight: 400; }
.clinic-setup-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.clinic-setup-grid .form-label { display: grid; align-content: start; gap: .35rem; margin: 0; font-weight: 650; }
.clinic-setup-wide { grid-column: 1 / -1; }
.clinic-setup-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; background: var(--cui-tertiary-bg); }
.clinic-setup-footer span { max-width: 30rem; color: var(--cui-secondary-color); font-size: .82rem; }
.clinic-verification-history { margin: 0; }
.clinic-organization-summary { border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.clinic-organization-summary dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: 0; }
.clinic-organization-summary dl > div { padding: .75rem; border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); }
.clinic-organization-summary dt { color: var(--cui-secondary-color); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.clinic-organization-summary dd { margin: .15rem 0 0; overflow-wrap: anywhere; }
.onboarding-history { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.onboarding-history li { position: relative; padding: 0 0 1rem 1.25rem; border-left: 2px solid var(--cui-border-color); }
.onboarding-history li::before { position: absolute; top: .3rem; left: -.38rem; width: .65rem; height: .65rem; content: ""; border-radius: 50%; background: var(--ph-accent); }
.admin-catalog-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.admin-catalog-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-catalog-header .foundation-eyebrow { margin-bottom: .35rem; }
.admin-catalog-header h1 { margin-bottom: .35rem; }
.admin-catalog-note { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; padding: .75rem 1rem; border: 1px solid var(--cui-info-border-subtle); border-radius: var(--cui-border-radius); background: var(--cui-info-bg-subtle); }
.admin-catalog-note p, .admin-catalog-note p span { display: grid; gap: .1rem; margin: 0; }
.admin-catalog-note p span { color: var(--cui-secondary-color); font-size: .85rem; }
.admin-catalog-workspace { display: grid; grid-template-columns: minmax(18rem,4fr) minmax(0,8fr); align-items: start; gap: 1.5rem; }
.admin-catalog-create { position: sticky; top: 9rem; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.admin-catalog-services { min-width: 0; }
.admin-catalog-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-catalog-disclosure { margin-bottom: .65rem; overflow: hidden; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.admin-catalog-disclosure > summary { display: grid; grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .85rem 1rem; cursor: pointer; list-style: none; }
.admin-catalog-disclosure > summary::-webkit-details-marker { display: none; }
.admin-catalog-disclosure > summary > span:nth-child(2) { display: grid; gap: .1rem; }
.admin-catalog-disclosure > summary small { color: var(--cui-secondary-color); }
.admin-catalog-service-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .5rem; padding-top: 1rem; border-top: 1px solid var(--cui-border-color); }
.admin-catalog-active-toggle { display: inline-flex; min-width: 0; align-items: center; gap: .75rem; margin: 0; cursor: pointer; }
.admin-catalog-active-toggle > span { display: grid; gap: .1rem; }
.admin-catalog-active-toggle small { color: var(--cui-secondary-color); font-weight: 400; }
.admin-catalog-active-toggle .form-check-input { flex: 0 0 auto; width: 1.3rem; height: 1.3rem; margin: 0; order: -1; }
.admin-catalog-service-footer > .btn { flex: 0 0 auto; min-width: 8.5rem; }
.admin-catalog-categories { margin-top: 1.5rem; }
.admin-marketplace-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.admin-marketplace-nav { margin-bottom: 1.25rem; }
.availability-workspace-tab:is(button) { border: 0; background: transparent; }
.availability-workspace-tab:is(button).active { background: var(--ph-accent); }
.admin-marketplace-nav .availability-workspace-tab .badge { margin-left: .15rem; }
.admin-marketplace-nav .availability-workspace-tab.active .badge { color: var(--cui-primary) !important; background: #fff !important; }
.admin-marketplace-nav .availability-workspace-tab:focus-visible { outline: .2rem solid rgba(var(--cui-primary-rgb),.3); outline-offset: -.1rem; }
.admin-marketplace-content > .tab-pane:focus { outline: 0; }
.admin-marketplace-setting { margin-bottom: 1.5rem; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.admin-marketplace-setting > .card-body { display: grid; grid-template-columns: minmax(16rem,1fr) minmax(22rem,1.5fr); align-items: end; gap: 1rem; }
.admin-marketplace-setting-form { display: grid; grid-template-columns: minmax(14rem,1fr) minmax(14rem,1fr) auto; align-items: end; gap: .75rem; }
.admin-marketplace-setting-form .form-check { align-self: center; margin-bottom: .5rem; }
.admin-marketplace-section { margin-top: 0; }
.admin-marketplace-proposals { display: grid; gap: .65rem; }
.admin-marketplace-proposal { padding: 1rem; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.admin-marketplace-proposal-heading { display: grid; grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.admin-marketplace-proposal-heading > span:nth-child(2) { display: grid; gap: .1rem; }
.admin-marketplace-proposal-heading small { color: var(--cui-secondary-color); }
.admin-marketplace-decision { display: grid; grid-template-columns: minmax(14rem,1fr) auto auto; gap: .5rem; }
.admin-marketplace-card-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr));align-items:start;gap:.75rem; }
.admin-marketplace-record-card { min-width:0;border:1px solid var(--cui-border-color) !important;box-shadow:var(--cui-box-shadow-sm); }
.admin-marketplace-record-card .card-body { display:grid;min-width:0;gap:.85rem;padding:1rem; }
.admin-marketplace-record-card header { display:grid;grid-template-columns:2.35rem minmax(0,1fr);align-items:center;gap:.75rem; }
.admin-marketplace-record-card header > div { min-width:0; }
.admin-marketplace-record-card header small { color:var(--ph-accent);font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }
.admin-marketplace-record-card header h3 { margin:.08rem 0;color:var(--ph-ink);font-size:.9rem;line-height:1.3; }
.admin-marketplace-record-card header p { margin:0;color:var(--cui-secondary-color);font-size:.7rem;line-height:1.4; }
.admin-marketplace-record-card dl { display:grid;gap:.5rem;margin:0; }
.admin-marketplace-rate-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-marketplace-record-card dl > div { min-width:0;padding:.65rem;border-radius:.6rem;background:#f7faf9; }
.admin-marketplace-record-card dt { color:var(--cui-secondary-color);font-size:.61rem;letter-spacing:.04em;text-transform:uppercase; }
.admin-marketplace-record-card dd { margin:.1rem 0 0;color:var(--ph-ink);font-size:.78rem;font-weight:750;overflow-wrap:anywhere; }
.admin-marketplace-card-form { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;padding-top:.8rem;border-top:1px solid var(--cui-border-color); }
.admin-marketplace-card-form:has(> .form-label:nth-of-type(2)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-marketplace-card-form:has(> .form-label:nth-of-type(2)) > .btn { grid-column:1/-1;justify-self:start; }
.admin-marketplace-card-form .form-label { min-width:0;margin:0;color:var(--cui-secondary-color);font-size:.68rem;font-weight:750; }
.admin-marketplace-card-form .form-control { min-width:0;margin-top:.3rem; }
.admin-marketplace-record-reason { margin:0;padding:.65rem;border-left:3px solid #c7d9d5;color:var(--cui-secondary-color);background:#f7faf9;font-size:.72rem;line-height:1.45; }
@media (max-width:575.98px) { .admin-marketplace-rate-grid,.admin-marketplace-card-form,.admin-marketplace-card-form:has(> .form-label:nth-of-type(2)) { grid-template-columns:1fr; }.admin-marketplace-card-form:has(> .form-label:nth-of-type(2)) > .btn { grid-column:auto; }.admin-marketplace-card-form .btn { width:100%; } }
.admin-settings-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.admin-settings-card { width: 100%; padding: 1.25rem; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.admin-settings-card-medium { max-width: 64rem; }
.admin-settings-card .foundation-eyebrow { margin-bottom: .35rem; }
.admin-settings-card > h1 { margin-bottom: .35rem; }
.admin-settings-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-settings-header .foundation-eyebrow { margin-bottom: .35rem; }
.admin-settings-header h1 { margin-bottom: .35rem; }
.admin-settings-list { display: grid; gap: .65rem; }
.admin-practice-row { display: grid; grid-template-columns: 2.35rem minmax(0,1fr); align-items: start; gap: .75rem; padding: 1rem; border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); }
.admin-practice-row p { margin-bottom: .5rem; color: var(--cui-secondary-color); }
.admin-settings-workspace { display: grid; grid-template-columns: minmax(18rem,1fr) minmax(16rem,.7fr); gap: 1rem; margin-top: 1rem; }
.admin-settings-workspace > form, .admin-delivery-summary { padding: 1rem; border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); }
.admin-delivery-summary dl { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .65rem 1rem; margin: 1rem 0 0; }
.admin-delivery-summary dd { margin: 0; font-weight: 750; }
.admin-invitations-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.admin-invitations-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-invitations-header .foundation-eyebrow { margin-bottom: .35rem; }
.admin-invitations-header h1 { margin-bottom: .35rem; }
.admin-invitations-workspace { display: grid; grid-template-columns: minmax(18rem,4fr) minmax(0,8fr); align-items: start; gap: 1.5rem; }
.admin-invitation-create { position: sticky; top: 9rem; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.admin-invitation-form { display: grid; gap: .75rem; }
.admin-invitation-form label { display: grid; gap: .3rem; font-weight: 650; }
.admin-invitation-history { min-width: 0; }
.admin-invitation-history-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-invitation-list { display: grid; gap: .65rem; }
.admin-invitation-row { display: grid; grid-template-columns: 2.35rem minmax(12rem,1fr) auto auto; align-items: center; gap: .75rem; padding: .85rem 1rem; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.admin-invitation-identity { display: grid; gap: .1rem; min-width: 0; }
.admin-invitation-identity > span, .admin-invitation-identity time { color: var(--cui-secondary-color); font-size: .82rem; }
.admin-invitation-statuses { display: flex; flex-wrap: wrap; justify-content: end; gap: .35rem; }
.admin-policy-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.admin-policy-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-policy-header .foundation-eyebrow { margin-bottom: .35rem; }
.admin-policy-header h1 { margin-bottom: .35rem; }
.admin-policy-workspace { display: grid; grid-template-columns: minmax(16rem,4fr) minmax(0,8fr); align-items: start; gap: 1.5rem; }
.admin-policy-summary, .admin-policy-editor { border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.admin-policy-summary .card-body { display: grid; justify-items: start; gap: .65rem; }
.admin-policy-summary .availability-step { margin: .15rem 0 0; }
.admin-policy-summary h2 { margin: 0; }
.admin-policy-form { display: grid; gap: 1rem; margin-top: 1rem; }
.admin-policy-toggle { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); cursor: pointer; }
.admin-policy-toggle > span { display: grid; gap: .15rem; }
.admin-policy-toggle small { color: var(--cui-secondary-color); font-weight: 400; }
.admin-policy-toggle .form-check-input { flex: 0 0 auto; width: 1.3rem; height: 1.3rem; margin: 0; }
.foundation-card { width: min(100%, 42rem); }
.foundation-eyebrow {
    margin-bottom: .75rem;
    color: var(--ph-accent);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.foundation-card h1 { margin-bottom: .5rem; font-weight: 750; }
.foundation-status { margin: 0; color: var(--ph-muted); font-size: 1.125rem; }
.ph-dashboard-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.ph-dashboard-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.ph-dashboard-header .foundation-eyebrow { margin-bottom: .35rem; }
.ph-dashboard-header h1 { margin-bottom: .35rem; }
.ph-dashboard-heading-icon { display: inline-grid; flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: .75rem; background: rgba(var(--cui-primary-rgb),.12); }
.ph-dashboard-heading-icon i { font-size: 1.3rem; opacity: .78; }
.ph-workspace-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.ph-workspace-header .foundation-eyebrow { margin-bottom: .35rem; }
.ph-workspace-header h1 { margin-bottom: .35rem; }
.ph-workspace-header > .badge { flex: 0 0 auto; align-self: center; font-size: .78rem; text-transform: capitalize; }
.ph-dashboard-card { color: inherit; border: 1px solid var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.ph-dashboard-card:hover { border-color: rgba(var(--cui-primary-rgb),.45); box-shadow: var(--cui-box-shadow); transform: translateY(-2px); }
.ph-dashboard-icon { display: inline-grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: .65rem; background: rgba(var(--cui-primary-rgb),.12); }
.ph-dashboard-icon i { font-size: 1.35rem; opacity: .8; }
.ph-page-title { display: flex; align-items: center; gap: .7rem; }
.ph-page-title::before { content: var(--ph-page-icon); display: inline-grid; flex: 0 0 2.35rem; width: 2.35rem; height: 2.35rem; place-items: center; overflow: hidden; border-radius: .65rem; background-color: rgba(var(--cui-primary-rgb),.12); font-family: "Font Awesome 7 Free"; font-size: 1.1rem; font-weight: 900; line-height: 1; }
.ph-app #main-content:not(.ph-conversation-page) > header .foundation-eyebrow { margin-bottom:.35rem; }
.ph-app #main-content:not(.ph-conversation-page) > header h1 { margin-bottom:.35rem;font-family:var(--cui-body-font-family);font-size:clamp(2rem,3vw,2.5rem);font-weight:400;line-height:1.2; }
.ph-app #main-content:not(.ph-conversation-page) > header p:not(.foundation-eyebrow),.ph-app #main-content:not(.ph-conversation-page) > header > div > p:not(.foundation-eyebrow) { margin:.35rem 0 0;color:var(--cui-secondary-color);font-family:var(--cui-body-font-family);font-size:1.25rem;font-weight:300;line-height:1.5; }
.ph-app #main-content:not(.ph-conversation-page) > header h1:not(.ph-page-title) { display:flex;align-items:center;gap:.7rem; }
.ph-app #main-content:not(.ph-conversation-page) > header h1:not(.ph-page-title)::before { display:inline-grid;width:2.35rem;height:2.35rem;flex:0 0 2.35rem;place-items:center;overflow:hidden;border-radius:.65rem;content:"\f15b";background-color:rgba(var(--cui-primary-rgb),.12);font-family:"Font Awesome 7 Free";font-size:1.1rem;font-weight:900;line-height:1; }
.ph-page-tone-success::before { background-color: var(--cui-success-bg-subtle); }
.ph-page-tone-warning::before { background-color: var(--cui-warning-bg-subtle); }
.ph-page-tone-danger::before { background-color: var(--cui-danger-bg-subtle); }
.ph-page-icon-user { --ph-page-icon: "\f007"; }
.ph-page-icon-home { --ph-page-icon: "\f015"; }
.ph-page-icon-people { --ph-page-icon: "\f0c0"; }
.ph-page-icon-building { --ph-page-icon: "\f1ad"; }
.ph-page-icon-bank { --ph-page-icon: "\f0f8"; }
.ph-page-icon-calendar { --ph-page-icon: "\f073"; }
.ph-page-icon-check { --ph-page-icon: "\f058"; }
.ph-page-icon-settings { --ph-page-icon: "\f013"; }
.ph-page-icon-layers { --ph-page-icon: "\f5fd"; }
.ph-page-icon-bell { --ph-page-icon: "\f0f3"; }
.ph-page-icon-services { --ph-page-icon: "\f0f1"; }
.ph-page-icon-list { --ph-page-icon: "\f03a"; }
.ph-page-icon-file { --ph-page-icon: "\f15b"; }
.ph-page-icon-message { --ph-page-icon: "\f075"; }
.ph-page-icon-care { --ph-page-icon: "\f21e"; }
.ph-page-icon-medical-file { --ph-page-icon: "\f477"; }
.ph-page-icon-policy { --ph-page-icon: "\f1de"; }
.ph-page-icon-money { --ph-page-icon: "\f0d6"; }
.ph-page-icon-search { --ph-page-icon: "\f002"; }
.ph-page-icon-heart { --ph-page-icon: "\f21e"; }
.ph-page-icon-notes { --ph-page-icon: "\f477"; }
.ph-page-icon-clinic { --ph-page-icon: "\f1ad"; }
.ph-action-icon { display: inline-grid; flex: 0 0 2.35rem; width: 2.35rem; height: 2.35rem; place-items: center; overflow: hidden; border-radius: .65rem; background-color: rgba(var(--cui-primary-rgb),.12); }
.ph-action-icon::before, [class*="ph-page-icon-"]:not(.ph-page-title)::before { content: var(--ph-page-icon); font-family: "Font Awesome 7 Free"; font-size: 1rem; font-weight: 900; line-height: 1; }
:is(span,div)[class*="ph-page-icon-"] { box-sizing: border-box; overflow: hidden; }
.ph-action-arrow { color: var(--ph-accent); font-size: 1.05rem; font-weight: 700; }
.context-list-item { display: grid; grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: center; gap: .75rem; }
.context-list-item .btn { display: grid; justify-items: start; padding: 0; color: inherit; text-align: left; text-decoration: none; }
.context-list-item .btn small { color: var(--cui-secondary-color); font-size: .78rem; font-weight: 400; text-transform: capitalize; }
.context-list-item .btn:disabled { color: inherit; opacity: 1; }
.credential-item > .ph-action-icon { flex: 0 0 2.35rem; }
.list-group-item-action:has(> .ph-action-icon) { display: grid; grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: center; gap: .75rem; }
a:focus-visible, button:focus-visible { outline: 3px solid #f5a623; outline-offset: 3px; }
@media (max-width: 767px) { .credential-item { display: block; } .credential-upload { margin-top: 1rem; } .ph-header-identity { flex: 1 1 auto; overflow: hidden; }.ph-header-identity .ph-context-link { border-left: 0; padding-left: .25rem; }.ph-header-identity strong { max-width: 100%; font-size: .78rem; }.ph-header-identity small { font-size: .62rem; }.header .header-nav.ms-auto { flex: 0 0 auto; gap: .45rem; }.ph-header-icon { width: 2.35rem; height: 2.35rem; }.ph-header-icon i { width: 1.3rem; height: 1.3rem; font-size: 1.3rem; }.ph-notifications-icon i { width: 1.42rem; height: 1.42rem; font-size: 1.42rem; }.ph-context-link { min-width: 0; border-left: 0; padding-left: .25rem; } .ph-dashboard-header { align-items: start; flex-direction: column; } .ph-dashboard-header .btn { width: 100%; } }
@media (max-width: 420px) { .header > .container-fluid { padding-inline: .6rem !important; }.header-toggler { margin-right: .25rem !important; }.ph-header-icon { width: 2.2rem; height: 2.2rem; }.ph-header-identity strong { font-size: .72rem; }.ph-header-identity small { font-size: .58rem; } }
@media (min-width: 768px) { .foundation-card { padding: 3rem; } .account-card { padding: 2rem; } }
@media (min-width: 1200px) { .foundation-shell { padding: 2rem; } }
.authenticator-qr-code {
    align-items: center;
    background: #fff;
    display: inline-flex;
    justify-content: center;
    min-height: 216px;
    min-width: 216px;
    padding: .5rem;
}

.authenticator-qr-code img,
.authenticator-qr-code canvas {
    display: block;
    height: auto;
    max-width: 100%;
}

.availability-shell { width: 100%; margin: 0; padding: 0 clamp(1.25rem, 4vw, 3rem) 3rem; }
.availability-header { max-width: 54rem; margin-bottom: 1.5rem; }
.availability-header h1 { margin-bottom: .4rem; }
.availability-note { margin-top: 1rem; padding: .9rem 1rem; border-left: 4px solid var(--ph-accent); border-radius: .4rem; background: #eef8f6; }
.availability-jump { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.25rem 0; }
.availability-jump a { padding: .55rem .8rem; color: var(--ph-ink); border: 1px solid #cbdad7; border-radius: 999px; background: #fff; text-decoration: none; }
.availability-jump a:hover { border-color: var(--ph-accent); background: #eef8f6; }
.availability-workspace-nav { position: sticky; top: 4.75rem; z-index: 20; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1rem; margin: 1.25rem 0; padding: .5rem; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.availability-workspace-tabs { display: flex; min-width: 0; gap: .25rem; overflow-x: auto; scrollbar-width: thin; }
.availability-workspace-tab { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .45rem; padding: .7rem .9rem; color: var(--cui-secondary-color); border-radius: var(--cui-border-radius); font-weight: 650; text-decoration: none; white-space: nowrap; }
.availability-workspace-tab > img { width: 1rem; height: 1rem; opacity: .65; }
.availability-workspace-tab.active > img { filter: brightness(0) invert(1); opacity: 1; }
.availability-workspace-tab:hover { color: var(--ph-accent); background: rgba(var(--cui-primary-rgb),.08); }
.availability-workspace-tab.active { color: #fff; background: var(--ph-accent); }
.booking-workspace-nav { margin-bottom: 2rem; }
.booking-workspace-nav .availability-workspace-tab .badge { min-width: 1.5rem; margin-left: .15rem; color: #fff; background: var(--ph-accent); border-radius: 999px; }
.booking-workspace-nav .availability-workspace-tab.active .badge { color: var(--cui-primary) !important; background: #fff !important; }
.availability-workspace-hint { padding-right: .5rem; color: var(--cui-secondary-color); font-size: .85rem; white-space: nowrap; }
[data-availability-panel][hidden] { display: none !important; }
[data-clinic-availability-panel][hidden] { display: none !important; }
.availability-card { margin: 1rem 0; padding: clamp(1rem,3vw,1.75rem); scroll-margin-top: 1rem; border: 1px solid #dce5e3; border-radius: 1rem; background: #fff; box-shadow: 0 .35rem 1.25rem rgba(23,50,58,.05); }
.availability-schedule-grid { display: grid; grid-template-columns: minmax(18rem, 4fr) minmax(0, 8fr); align-items: start; gap: 1rem; }
.availability-schedule-grid > .availability-card { margin-block: 1rem 0; }
.availability-schedule-hours { grid-column: 1; grid-row: 1; }
.availability-schedule-overview { grid-column: 2; grid-row: 1; }
.availability-schedule-overview .table-responsive { margin-top: .5rem; }
.availability-card-heading { display: flex; align-items: stretch; flex-direction: column; gap: .55rem; margin-bottom: 1.25rem; }
.availability-card-heading h2 { margin: 0; font-size: clamp(1.35rem,2vw,1.65rem); }
.availability-icon-heading { display: flex; align-items: center; gap: .55rem; }
.availability-icon-heading::before { content: var(--ph-page-icon); display: inline-grid; flex: 0 0 2rem; width: 2rem; height: 2rem; place-items: center; overflow: hidden; border-radius: .55rem; background-color: rgba(var(--cui-primary-rgb),.1); background-image: none; font-family: "Font Awesome 7 Free"; font-size: .95rem; font-weight: 900; line-height: 1; }
.availability-card-heading > p { max-width: none; margin: 0; color: var(--ph-muted); }
.availability-step { margin: 0 0 .2rem; color: var(--ph-accent); font-size: .8rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.availability-form { padding: 1rem; border-radius: .75rem; background: #f7faf9; }
.availability-days { margin: 0 0 1rem; }
.availability-days legend { margin-bottom: .6rem; font-size: 1rem; font-weight: 700; }
.availability-days label { display: inline-flex; align-items: center; gap: .4rem; margin: 0 .4rem .5rem 0; padding: .55rem .7rem; border: 1px solid #cbdad7; border-radius: .5rem; background: #fff; cursor: pointer; }
.availability-days label:has(input:checked) { color: #fff; border-color: var(--ph-accent); background: var(--ph-accent); }
.availability-fields { display: grid; grid-template-columns: repeat(auto-fit,minmax(11rem,1fr)); align-items: end; gap: .85rem; }
.availability-fields label, .availability-policy label { display: grid; gap: .3rem; font-weight: 650; }
.availability-field-wide { grid-column: span 2; }
.availability-check { display: flex !important; align-items: center; align-self: center; gap: .5rem !important; min-height: 44px; }
.availability-help { color: var(--ph-muted); font-size: .8rem; font-weight: 400; }
.availability-empty { display: grid; gap: .2rem; padding: 1rem; color: var(--ph-muted); border: 1px dashed #b9cbc7; border-radius: .65rem; background: #fafcfc; }
.availability-empty strong { color: var(--ph-ink); }
.availability-choice-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,25rem),1fr)); gap: 1rem; }
.availability-subcard { padding: 1rem; border: 1px solid #dce5e3; border-radius: .75rem; }
.availability-subcard h3 { font-size: 1.15rem; }
.availability-choice-heading { display: flex; align-items: center; gap: .55rem; }
.availability-choice-heading .ph-action-icon { flex-basis: 2rem; width: 2rem; height: 2rem; background-size: .9rem .9rem; }
.availability-subcard-warning { border-color: #e9c66a; background: #fffdf7; }
.availability-policy { display: grid; grid-template-columns: minmax(17rem,1.65fr) repeat(4,minmax(8rem,1fr)) auto; align-items: end; gap: 1rem; margin-top: .75rem; padding: 1.15rem; border-radius: .8rem; background: #f6faf9; }
.availability-policy-heading { display: grid; grid-template-columns: 2.35rem minmax(0,1fr); align-self: stretch; gap: .75rem; }
.availability-policy-heading > span:last-child { display: grid; align-content: center; gap: .15rem; }
.availability-policy-heading small { color: var(--ph-accent); font-size: .72rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.availability-policy-heading strong { color: var(--ph-ink); line-height: 1.35; }
.availability-policy-heading strong + span { color: var(--ph-muted); font-size: .82rem; line-height: 1.4; }
.availability-policy-icon { display: inline-grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: .65rem; color: var(--ph-accent); background: rgba(var(--cui-primary-rgb),.1); font-family: "Font Awesome 7 Free"; font-weight: 900; }
.availability-policy-icon::before { content: var(--ph-page-icon); }
.availability-policy .btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; white-space: nowrap; }
.availability-slots { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.availability-slots span { padding: .55rem .75rem; border: 1px solid #b9d9d2; border-radius: .5rem; background: #eef8f6; font-weight: 650; }
.clinic-schedule-group { margin-top: 1rem; overflow: hidden; border: 1px solid #dce5e3; border-radius: .75rem; }
.clinic-schedule-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; background: #f3f8f7; }
.clinic-schedule-title > div { display: grid; gap: .1rem; }
.clinic-schedule-title > div span { color: var(--ph-muted); font-size: .9rem; }
.clinic-schedule-title .clinic-schedule-identity { display: flex; align-items: center; gap: .65rem; }
.clinic-schedule-title .clinic-schedule-identity > .ph-action-icon { flex-basis: 2rem; width: 2rem; height: 2rem; background-size: .9rem .9rem; }
.clinic-schedule-title .clinic-schedule-identity > span:last-child { display: grid; gap: .1rem; }
.clinic-schedule-group .table > :not(caption) > * > * { padding-inline: 1rem; }
.clinic-branch-availability-grid { display: grid; grid-template-columns: minmax(17rem,4fr) minmax(0,8fr); align-items: start; gap: 1rem; }
.clinic-branch-availability-editor, .clinic-branch-availability-records { min-width: 0; }
.clinic-branch-availability-records .clinic-schedule-group:first-child { margin-top: 0; }
.clinic-branch-availability-records > .availability-empty { margin-top: 0 !important; }
.availability-history { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.availability-history li { position: relative; display: grid; grid-template-columns: 1.25rem 1fr; gap: .75rem; padding: 0 0 1.25rem; }
.availability-history li:not(:last-child)::before { content: ""; position: absolute; top: .8rem; bottom: -.1rem; left: .34rem; width: 2px; background: #d7e7e3; }
.availability-history-marker { position: relative; z-index: 1; width: .75rem; height: .75rem; margin-top: .35rem; border: 2px solid #fff; border-radius: 50%; background: var(--ph-accent); box-shadow: 0 0 0 2px #acd4cc; }
.availability-history p { margin: .2rem 0; color: var(--ph-muted); }
.availability-history time { color: var(--ph-muted); font-size: .85rem; }
#availability-calendar { min-height: 34rem; overflow: auto; border: 1px solid #dce5e3; border-radius: .65rem; background: #fff; }
#availability-calendar .lm-schedule { min-width: 44rem; height: 34rem; }
.availability-calendar-legend { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; color: var(--ph-muted); font-size: .9rem; }
.availability-calendar-legend span { display: inline-flex; align-items: center; gap: .45rem; }
.availability-calendar-legend i { width: .75rem; height: .75rem; border-radius: .2rem; background: #16836f; }
.offerings-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.offerings-header { margin-bottom: 1.5rem; }
.offerings-workspace { display: grid; grid-template-columns: minmax(18rem,4fr) minmax(0,8fr); align-items: start; gap: 1.5rem; }
.offerings-actions { display: grid; gap: 1rem; }
.offerings-card { border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.offering-icon-heading { display: flex; align-items: center; gap: .55rem; }
.offering-icon-heading::before { content: var(--ph-page-icon); display: inline-grid; flex: 0 0 2rem; width: 2rem; height: 2rem; place-items: center; overflow: hidden; border-radius: .55rem; background-color: rgba(var(--cui-primary-rgb),.1); background-image: none; font-family: "Font Awesome 7 Free"; font-size: .95rem; font-weight: 900; line-height: 1; }
.offering-minor-heading { display: flex; align-items: center; gap: .4rem; }
.offering-minor-heading i { width: .95rem; height: .95rem; opacity: .65; }
.offerings-stacked-form { display: grid; gap: .8rem; }
.offerings-stacked-form > label { display: grid; gap: .3rem; font-weight: 650; }
.offerings-list { min-width: 0; }
.offerings-list-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.offerings-empty { border-style: dashed; }
.offering-disclosure { margin-bottom: 1rem; overflow: hidden; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.offering-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; cursor: pointer; list-style: none; }
.offering-disclosure > summary::-webkit-details-marker { display: none; }
.offering-disclosure > summary .offering-service-identity { display: inline-flex; min-width: 0; align-items: center; gap: .7rem; }
.offering-service-copy { display: grid; min-width: 0; gap: .15rem; }
.offering-service-identity .ph-action-icon { flex: 0 0 2.25rem; width: 2.25rem; height: 2.25rem; }
.offering-disclosure > summary small { color: var(--cui-secondary-color); font-weight: 400; }
.offering-disclosure-action { color: var(--ph-accent); font-weight: 650; white-space: nowrap; }
.offering-disclosure[open] .offering-disclosure-action span { display: inline-block; transform: rotate(180deg); }
.offering-disclosure > .card-body, .clinic-service-disclosure > .card-body { padding: .75rem; }
.offering-variant-form { padding: .75rem; margin-bottom: .6rem; border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); background: var(--cui-body-bg); }
.offering-variant-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: .35rem; }
.offering-rate-summary { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin-bottom: .4rem; color: var(--cui-secondary-color); font-size: .8rem; }
.offering-variant-form .form-label { margin-bottom: .2rem; font-size: .8rem; }
.offering-add-variant { overflow: hidden; border: 1px dashed var(--cui-border-color); border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); }
.offering-add-variant-toggle { display: flex; align-items: center; gap: .4rem; width: 100%; padding: .65rem .8rem; color: var(--ph-accent); border: 0; background: transparent; font-size: .875rem; font-weight: 700; text-align: left; }
.offering-add-variant-toggle img { width: .95rem; height: .95rem; opacity: .7; }
.offering-add-variant-toggle:hover { background: rgba(var(--cui-primary-rgb),.06); }
.offering-add-variant-body { padding: .25rem .8rem .8rem; }
.offerings-proposals { display: grid; gap: .6rem; }
.offerings-proposals li { display: grid; grid-template-columns: 1fr auto; gap: .2rem .5rem; }
.offerings-proposals small { grid-column: 1 / -1; color: var(--cui-danger-text-emphasis); }
.offerings-empty-content { display: flex; align-items: center; gap: .75rem; }
.affiliations-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.affiliations-header { margin-bottom: 1.5rem; }
.affiliations-workspace { display: grid; grid-template-columns: minmax(18rem,4fr) minmax(0,8fr); align-items: start; gap: 1.5rem; }
.affiliations-request-card { position: sticky; top: 9rem; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.affiliations-content { display: grid; gap: 1.75rem; min-width: 0; }
.affiliations-workspace-nav { margin: 0; }
.affiliations-workspace-nav .availability-workspace-tab { display: inline-flex; align-items: center; gap: .45rem; }
.affiliations-workspace-nav .availability-workspace-tab.active .badge { color: var(--cui-body-color) !important; background: #fff !important; }
[data-provider-affiliation-panel][hidden] { display: none !important; }
.affiliations-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.affiliations-empty { display: grid; gap: .2rem; color: var(--cui-secondary-color); }
.affiliations-empty strong { color: var(--cui-body-color); }
.affiliation-request-list { display: grid; gap: .75rem; }
.affiliation-request-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.affiliation-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-bottom: .25rem; }
.affiliation-response-actions { display: flex; flex: 0 0 auto; gap: .5rem; }
.provider-affiliation-request-row { display: grid; grid-template-columns: 2.35rem minmax(10rem,1fr) auto auto; align-items: center; gap: .75rem; padding: .85rem 1rem; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.provider-affiliation-request-identity { display: grid; gap: .1rem; min-width: 0; }
.provider-affiliation-request-identity small { color: var(--cui-secondary-color); font-size: .82rem; }
.provider-affiliation-request-row > .badge { text-transform: capitalize; }
.affiliation-disclosure { margin-bottom: .75rem; overflow: hidden; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.affiliation-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; cursor: pointer; list-style: none; }
.affiliation-disclosure > summary::-webkit-details-marker { display: none; }
.affiliation-disclosure > summary > span:first-child { display: grid; gap: .2rem; }
.affiliation-disclosure > summary small { color: var(--cui-secondary-color); font-weight: 400; }
.affiliation-branch-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.affiliation-branch-grid > div { padding: 1rem; border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); }
.affiliation-branch-grid ul { margin-bottom: 0; padding-left: 1.25rem; }
.clinic-affiliations-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.clinic-affiliations-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.clinic-affiliations-header .foundation-eyebrow { margin-bottom: .35rem; }
.clinic-affiliations-header h1 { margin-bottom: .35rem; }
.clinic-header-action { display: inline-flex; align-items: center; gap: .45rem; }
.clinic-header-action img { width: 1rem; height: 1rem; opacity: .72; }
.clinic-affiliations-workspace { display: grid; grid-template-columns: minmax(18rem,4fr) minmax(0,8fr); align-items: start; gap: 1.5rem; }
.clinic-affiliation-actions { display: grid; gap: 1rem; }
.clinic-affiliation-actions .card { border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.clinic-affiliation-content { display: grid; gap: 1rem; min-width: 0; }
.clinic-affiliations-workspace-nav { margin: 0; }
.clinic-affiliations-workspace-nav .availability-workspace-tab { display: inline-flex; align-items: center; gap: .45rem; }
.clinic-affiliations-workspace-nav .availability-workspace-tab.active .badge { color: var(--cui-body-color) !important; background: #fff !important; }
[data-clinic-affiliation-panel][hidden] { display: none !important; }
.clinic-affiliation-history-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; }
.clinic-affiliation-history-item > span:first-child { display: grid; gap: .2rem; }
.clinic-affiliation-history-item small { color: var(--cui-secondary-color); }
.clinic-affiliation-request-row { display: grid; grid-template-columns: 2.35rem minmax(10rem,1fr) auto auto auto; align-items: center; gap: .75rem; padding: .85rem 1rem; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.clinic-affiliation-request-identity { display: grid; gap: .1rem; min-width: 0; }
.clinic-affiliation-request-identity small, .clinic-affiliation-request-expiry { color: var(--cui-secondary-color); font-size: .82rem; }
.clinic-affiliation-request-expiry { white-space: nowrap; }
.clinic-providers-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.clinic-providers-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.clinic-providers-header .foundation-eyebrow { margin-bottom: .35rem; }
.clinic-providers-header h1 { margin-bottom: .35rem; }
.clinic-providers-workspace { display: grid; grid-template-columns: minmax(18rem,4fr) minmax(0,8fr); align-items: start; gap: 1.5rem; }
.clinic-provider-onboarding-card { min-width: 0; overflow: hidden; }
.clinic-provider-add-card { border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.clinic-provider-stacked-form { display: grid; gap: .75rem; }
.clinic-provider-stacked-form label { display: grid; gap: .3rem; font-weight: 650; }
.clinic-provider-list { min-width: 0; }
.clinic-provider-list-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.clinic-provider-counts { display: flex; flex: 0 0 auto; gap: .5rem; }
.clinic-provider-counts span { padding: .45rem .65rem; border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); color: var(--cui-secondary-color); font-size: .8rem; }
.clinic-provider-counts strong { color: var(--cui-body-color); }
.clinic-provider-disclosure { margin-bottom: .75rem; overflow: hidden; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.clinic-provider-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; cursor: pointer; list-style: none; }
.clinic-provider-disclosure > summary::-webkit-details-marker { display: none; }
.clinic-provider-identity { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.clinic-provider-identity > span:last-child { display: grid; gap: .1rem; min-width: 0; }
.clinic-provider-identity small { color: var(--cui-secondary-color); }
.clinic-provider-avatar { display: inline-grid; flex: 0 0 2.25rem; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; color: var(--ph-accent); background: rgba(var(--cui-primary-rgb),.12); font-weight: 750; }
.clinic-provider-summary-badges { display: flex; flex-wrap: wrap; justify-content: end; gap: .35rem; }
.clinic-provider-details { display: grid; gap: 1rem; }
.clinic-provider-branch-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.clinic-provider-branch-grid > div { padding: .85rem; border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); }
.clinic-provider-branch-grid ul { margin-bottom: 0; padding-left: 1.25rem; }
.clinic-provider-management { display: grid; gap: .75rem; padding-top: 1rem; border-top: 1px solid var(--cui-border-color); }
.clinic-provider-action-form { display: grid; grid-template-columns: minmax(12rem,1.5fr) minmax(10rem,1fr) minmax(10rem,1fr) auto; align-items: end; gap: .75rem; }
.clinic-provider-action-form label { display: grid; gap: .25rem; font-size: .875rem; font-weight: 650; }
.clinic-provider-danger-zone { padding: .6rem .75rem; border: 1px solid var(--cui-danger-border-subtle); border-radius: var(--cui-border-radius); }
.clinic-provider-danger-zone > summary { color: var(--cui-danger-text-emphasis); cursor: pointer; font-weight: 650; }
.clinic-icon-empty { display: flex; align-items: center; gap: .75rem; }
.clinic-icon-empty > span:last-child { display: grid; gap: .15rem; }
.clinic-branches-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.clinic-branches-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.clinic-branches-header .foundation-eyebrow { margin-bottom: .35rem; }
.clinic-branches-header h1 { margin-bottom: .35rem; }
.clinic-branch-header-action { display: inline-flex; align-items: center; gap: .45rem; }
.clinic-branch-header-action img { width: 1rem; height: 1rem; opacity: .72; }
.clinic-branches-workspace { display: grid; grid-template-columns: minmax(18rem,4fr) minmax(0,8fr); align-items: start; gap: 1.5rem; }
.clinic-branch-add-card { border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.clinic-branch-form { display: grid; gap: .75rem; }
.clinic-branch-form label { display: grid; gap: .3rem; font-weight: 650; }
.clinic-branch-optional { padding: .65rem .75rem; border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); }
.clinic-branch-optional > summary { cursor: pointer; font-weight: 650; }
.clinic-branch-optional > summary span { color: var(--cui-secondary-color); font-size: .8rem; font-weight: 400; }
.clinic-branch-accessibility { display: grid; gap: .45rem; margin: 0; padding: .75rem; border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); }
.clinic-branch-accessibility legend { float: none; width: auto; margin: 0 0 .25rem; font-size: .9rem; font-weight: 700; }
.clinic-branch-accessibility label { display: flex; align-items: center; gap: .5rem; font-size: .875rem; cursor: pointer; }
.clinic-branch-accessibility-row { grid-template-columns: repeat(auto-fit,minmax(10.5rem,1fr)); }
.clinic-branch-accessibility-row legend { grid-column: 1 / -1; }
.clinic-branch-accessibility-row label { white-space: nowrap; }
.clinic-branch-list { min-width: 0; }
.clinic-branch-list-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.clinic-branch-disclosure { margin-bottom: .75rem; overflow: hidden; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.clinic-branch-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; cursor: pointer; list-style: none; }
.clinic-branch-disclosure > summary::-webkit-details-marker { display: none; }
.clinic-branch-identity { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.clinic-branch-identity > span:last-child { display: grid; gap: .1rem; }
.clinic-branch-identity small { color: var(--cui-secondary-color); }
.clinic-branch-icon { display: inline-grid; flex: 0 0 2.25rem; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: .55rem; background: rgba(var(--cui-primary-rgb),.12); }
.clinic-branch-icon i { width: 1.2rem; height: 1.2rem; opacity: .8; }
.clinic-branch-empty { display: flex; align-items: center; gap: .75rem; }
.clinic-branch-empty > span:last-child { display: grid; gap: .15rem; }
.clinic-branch-feature-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(11rem,1fr)); gap: .5rem; }
.clinic-branch-feature-grid > span { display: flex; justify-content: space-between; gap: .5rem; padding: .65rem .75rem; border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); color: var(--cui-secondary-color); font-size: .85rem; }
.clinic-branch-feature-grid > span.available strong { color: var(--cui-success-text-emphasis); }
.clinic-branch-feature-grid > span.unavailable strong { color: var(--cui-secondary-color); }
.clinic-services-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.clinic-services-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.clinic-services-header .foundation-eyebrow { margin-bottom: .35rem; }
.clinic-services-header h1 { margin-bottom: .35rem; }
[data-clinic-services-panel][hidden] { display: none !important; }
.clinic-services-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.clinic-service-matrix-card { overflow: hidden; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.clinic-service-matrix th:first-child { position: sticky; left: 0; z-index: 1; min-width: 15rem; background: var(--cui-body-bg); }
.clinic-service-matrix thead th { white-space: nowrap; }
.clinic-service-branch-picker { margin-bottom: 1rem; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.clinic-service-disclosure { margin-bottom: .75rem; overflow: hidden; border-color: var(--cui-border-color); box-shadow: var(--cui-box-shadow-sm); }
.clinic-service-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; cursor: pointer; list-style: none; }
.clinic-service-disclosure > summary::-webkit-details-marker { display: none; }
.clinic-service-disclosure > summary > span:first-child { display: grid; gap: .15rem; }
.clinic-service-disclosure > summary small { color: var(--cui-secondary-color); }
.clinic-service-manage { color: var(--ph-accent); font-weight: 650; white-space: nowrap; }
.clinic-service-disclosure[open] .clinic-service-manage span { display: inline-block; transform: rotate(180deg); }
.clinic-custom-services-grid { display: grid; grid-template-columns: minmax(18rem,4fr) minmax(0,8fr); align-items: start; gap: 1.5rem; }
.clinic-service-proposal { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; }
.clinic-service-proposal > span:first-child { display: grid; gap: .15rem; }
.clinic-service-proposal small { color: var(--cui-danger-text-emphasis); }
.notifications-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.notifications-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.notifications-heading-group { display: flex; align-items: center; gap: .9rem; }
.notifications-heading-icon { display: inline-grid; flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: .75rem; background: rgba(var(--cui-primary-rgb),.12); }
.notifications-heading-icon i { width: 1.3rem; height: 1.3rem; opacity: .78; }
.notifications-header .foundation-eyebrow { margin-bottom: .35rem; }
.notifications-header h1 { margin-bottom: .35rem; }
.notifications-counts { display: flex; flex: 0 0 auto; align-items: center; gap: .4rem; color: var(--cui-secondary-color); font-size: .82rem; }
.notifications-counts strong { color: var(--ph-accent); }
.notifications-list { overflow: hidden; border: 1px solid var(--cui-border-color) !important; box-shadow: 0 .2rem .8rem rgba(23,50,58,.04); }
.notification-item { position: relative; display: grid; grid-template-columns: 2.5rem minmax(0,1fr) auto; align-items: center; gap: .85rem; padding: .85rem 1rem; border-bottom: 1px solid var(--cui-border-color); background: var(--cui-body-bg); }
.notification-item:last-child { border-bottom: 0; }
.notification-item.is-unread { background: rgba(var(--cui-primary-rgb),.035); box-shadow: inset 3px 0 0 var(--ph-accent); }
.notification-item.is-read { opacity: .82; }
.notification-icon { display: inline-grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: .65rem; }
.notification-icon i { width: 1.1rem; height: 1.1rem; opacity: .8; }
.notification-icon-primary { background: rgba(var(--cui-primary-rgb),.12); }
.notification-icon-success { background: var(--cui-success-bg-subtle); }
.notification-icon-warning { background: var(--cui-warning-bg-subtle); }
.notification-icon-danger { background: var(--cui-danger-bg-subtle); }
.notification-content { min-width: 0; }
.notification-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.notification-title-row { display: flex; align-items: center; min-width: 0; gap: .5rem; }
.notification-title-row h2 { margin: 0; font-size: 1rem; font-weight: 700; }
.notification-new { color: var(--ph-accent); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.notification-heading time { flex: 0 0 auto; color: var(--cui-secondary-color); font-size: .78rem; white-space: nowrap; }
.notification-content > p { margin: .3rem 0 0; color: var(--cui-secondary-color); font-size: .9rem; overflow-wrap: anywhere; }
.notification-actions { display: flex; align-items: center; justify-content: end; gap: .4rem; }
.notification-open, .notification-read { display: inline-flex; align-items: center; gap: .3rem; min-height: 34px; padding: .35rem .5rem; border: 0; border-radius: var(--cui-border-radius); background: transparent; font-size: .82rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.notification-open { color: var(--ph-accent); }
.notification-open:hover, .notification-read:hover { background: rgba(var(--cui-primary-rgb),.08); }
.notification-read { color: var(--cui-secondary-color); }
.notification-read img { width: .9rem; height: .9rem; opacity: .65; }
.notifications-empty { border: 1px dashed var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.notifications-empty .card-body { display: flex; align-items: center; gap: 1rem; padding: 1.5rem; }
.notifications-empty-icon { display: inline-grid; flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; background: rgba(var(--cui-primary-rgb),.12); }
.notifications-empty-icon i { width: 1.25rem; height: 1.25rem; opacity: .75; }
.account-security-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.account-security-container { width: 100%; }
.account-security-header { display: flex; align-items: center; gap: .9rem; margin-bottom: 1rem; }
.account-security-header .foundation-eyebrow { margin-bottom: .35rem; }
.account-security-header h1 { margin-bottom: .35rem; }
.account-security-heading-icon { display: inline-grid; flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: .75rem; background: rgba(var(--cui-primary-rgb),.12); }
.account-security-heading-icon i { width: 1.3rem; height: 1.3rem; opacity: .78; }
.account-security-workspace { display: grid; grid-template-columns: minmax(15rem,4fr) minmax(0,8fr); align-items: start; gap: 1rem; }
.account-security-summary { border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.account-security-summary .card-body { padding: 1rem; }
.account-identity-icon { display: inline-grid; width: 2.5rem; height: 2.5rem; place-items: center; margin-bottom: .75rem; border-radius: 50%; background: rgba(var(--cui-primary-rgb),.12); }
.account-identity-icon i { width: 1.15rem; height: 1.15rem; opacity: .75; }
.account-summary-label { margin: 0; color: var(--cui-secondary-color); font-size: .78rem; }
.account-identifier { display: block; margin: .15rem 0 1rem; overflow-wrap: anywhere; }
.account-security-status { display: flex; align-items: center; gap: .65rem; padding: .7rem 0; border-top: 1px solid var(--cui-border-color); }
.account-security-status > img { width: 1rem; height: 1rem; padding: .1rem; border-radius: 50%; }
.account-security-status > span { display: grid; gap: .05rem; }
.account-security-status small { color: var(--cui-secondary-color); }
.account-security-status strong { font-size: .875rem; }
.account-security-status.is-secure > img { background: var(--cui-success-bg-subtle); }
.account-security-status.is-secure strong { color: var(--cui-success-text-emphasis); }
.account-security-status.needs-attention > img { background: var(--cui-warning-bg-subtle); }
.account-security-status.needs-attention strong { color: var(--cui-warning-text-emphasis); }
.account-security-actions { min-width: 0; }
.account-security-section-heading { margin-bottom: .85rem; }
.account-security-list { overflow: hidden; border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.account-security-link { display: grid; grid-template-columns: 2.5rem minmax(0,1fr) auto; align-items: center; gap: .85rem; padding: .9rem 1rem; color: inherit; border-bottom: 1px solid var(--cui-border-color); text-decoration: none; }
.account-security-link:last-child { border-bottom: 0; }
.account-security-link:hover { color: inherit; background: rgba(var(--cui-primary-rgb),.045); }
.account-security-link-icon { display: inline-grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: .65rem; }
.account-security-link-icon i { width: 1.05rem; height: 1.05rem; opacity: .75; }
.account-security-link-icon.icon-primary { background: rgba(var(--cui-primary-rgb),.12); }
.account-security-link-icon.icon-success { background: var(--cui-success-bg-subtle); }
.account-security-link-icon.icon-warning { background: var(--cui-warning-bg-subtle); }
.account-security-link > span:nth-child(2) { display: grid; gap: .12rem; min-width: 0; }
.account-security-link small { color: var(--cui-secondary-color); font-size: .82rem; }
.account-security-arrow { color: var(--ph-accent); font-size: 1.1rem; }
.security-page-shell { width: 100%; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }
.security-page-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.security-page-heading { display: flex; align-items: center; gap: .85rem; }
.security-page-heading .foundation-eyebrow { margin-bottom: .25rem; }
.security-page-heading h1 { margin: 0 0 .25rem; }
.security-page-workspace { display: grid; grid-template-columns: minmax(15rem,4fr) minmax(0,8fr); align-items: start; gap: 1.25rem; }
.security-page-summary, .security-page-editor, .security-session-list { border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.security-page-summary .card-body { display: grid; justify-items: start; gap: .65rem; }
.security-page-summary h2 { margin: 0; }
.security-page-editor > .card-body { padding: clamp(1rem,2vw,1.5rem); }
.security-page-editor-centered { max-width: 58rem; }
.security-page-form { display: grid; gap: 1rem; margin-top: 1.25rem; }
.security-page-form .form-label { display: grid; gap: .35rem; margin: 0; font-weight: 650; }
.security-page-actions { display: flex; align-items: center; gap: .5rem; }
.security-recovery-codes { grid-template-columns: repeat(auto-fit,minmax(10rem,1fr)); margin: 1.25rem 0; padding: 0; list-style: none; }
.security-recovery-codes li { padding: .7rem .85rem; border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); text-align: center; }
.security-authenticator-setup { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 1.25rem; margin-top: 1rem; padding: 1rem; border: 1px solid var(--cui-border-color); border-radius: var(--cui-border-radius); background: var(--cui-tertiary-bg); }
.security-authenticator-setup .setup-key { display: inline-block; max-width: 100%; padding: .55rem .7rem; overflow-wrap: anywhere; border-radius: var(--cui-border-radius); background: var(--cui-body-bg); }
.security-sessions-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
.security-sessions-header h2 { margin-bottom: 0; }
.security-session-list { overflow: hidden; }
.security-session-row { display: grid; grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: center; gap: .85rem; padding: .9rem 1rem; border-bottom: 1px solid var(--cui-border-color); }
.security-session-row:last-child { border-bottom: 0; }
.security-session-identity { display: grid; gap: .12rem; min-width: 0; }
.security-session-identity span, .security-session-identity small { color: var(--cui-secondary-color); font-size: .82rem; }
.admin-verification-review-cue { display: inline-flex; align-items: center; gap: .4rem; color: var(--ph-accent); font-size: .875rem; font-weight: 700; white-space: nowrap; }
.ph-page-loader { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 1.25rem; visibility: hidden; opacity: 0; background: rgba(242,247,247,.82); backdrop-filter: blur(6px); pointer-events: none; transition: opacity .18s ease, visibility 0s linear .18s; }
.ph-page-loader.is-visible { visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s; }
.ph-page-loader-panel { display: flex; align-items: center; gap: 1rem; min-width: min(20rem,100%); padding: 1rem 1.15rem; border: 1px solid rgba(var(--cui-primary-rgb),.16); border-radius: .9rem; background: var(--cui-body-bg); box-shadow: 0 1rem 3rem rgba(23,50,58,.16); }
.ph-page-loader-brand { position: relative; display: inline-grid; flex: 0 0 3rem; width: 3rem; height: 3rem; place-items: center; }
.ph-page-loader-mark { display: block; width: 2.35rem; height: 2.35rem; object-fit: contain; filter: drop-shadow(0 .35rem .45rem rgba(var(--cui-primary-rgb),.2)); }
.ph-page-loader-orbit { position: absolute; inset: 0; border: 2px solid rgba(var(--cui-primary-rgb),.14); border-top-color: var(--ph-accent); border-radius: 50%; animation: ph-page-loader-spin .8s linear infinite; }
.ph-page-loader-copy { display: grid; gap: .12rem; line-height: 1.25; }
.ph-page-loader-copy strong { color: var(--cui-emphasis-color); font-size: .95rem; }
.ph-page-loader-copy small { color: var(--cui-secondary-color); font-size: .8rem; }
@keyframes ph-page-loader-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ph-page-loader { transition: none; } .ph-page-loader-orbit { animation: none; } }
.ph-app .card { border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
@media (max-width: 991px) { .offerings-workspace { grid-template-columns: 1fr; } .offerings-actions { display: contents; } .offerings-actions .offerings-card:first-child { order: 1; } .offerings-list { order: 2; } .offerings-actions .offerings-card:last-child { order: 3; } }
@media (max-width: 991px) { .affiliations-workspace { grid-template-columns: 1fr; } .affiliations-content { display: contents; } .affiliations-workspace-nav { order: 0; } .affiliations-requests, .affiliations-records { order: 1; } .affiliations-request-card { position: static; order: 2; } }
@media (max-width: 991px) { .clinic-affiliations-workspace { grid-template-columns: 1fr; } .clinic-affiliation-actions, .clinic-affiliation-content { display: contents; } .clinic-affiliations-workspace-nav { order: 0; } .clinic-affiliation-pending, .clinic-affiliation-history { order: 1; } .clinic-affiliation-invite { order: 2; } }
@media (max-width: 1100px) { .clinic-provider-action-form { grid-template-columns: repeat(2,minmax(0,1fr)); } .clinic-provider-action-form > div { grid-column: 1 / -1; } }
@media (max-width: 991px) { .clinic-providers-workspace { grid-template-columns: 1fr; } .clinic-provider-add-card { order: 2; } .clinic-provider-list { order: 1; } }
@media (max-width: 991px) { .clinic-branches-workspace { grid-template-columns: 1fr; } .clinic-branch-add-card { order: 2; } .clinic-branch-list { order: 1; } }
@media (max-width: 991px) { .clinic-custom-services-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .offerings-shell, .affiliations-shell, .clinic-affiliations-shell, .clinic-providers-shell, .clinic-branches-shell, .clinic-services-shell { padding-inline: 1rem; } .offerings-list-heading { align-items: center; } .affiliation-request-item { display: grid; } .affiliation-response-actions .btn { flex: 1; } .affiliation-branch-grid { grid-template-columns: 1fr; } .clinic-affiliations-header, .clinic-providers-header, .clinic-branches-header, .clinic-services-header { align-items: start; flex-direction: column; } .clinic-affiliations-header .btn, .clinic-providers-header .btn, .clinic-branches-header .btn, .clinic-services-header .btn { width: 100%; } .clinic-affiliation-history-item { align-items: start; } .clinic-provider-list-heading, .clinic-branch-list-heading, .clinic-services-section-heading { display: grid; } .clinic-services-section-heading .btn { width: 100%; } .clinic-provider-summary-badges { justify-content: start; } .clinic-provider-disclosure > summary { align-items: start; flex-direction: column; } .clinic-provider-branch-grid, .clinic-provider-action-form { grid-template-columns: 1fr; } .clinic-provider-action-form > div { grid-column: auto; } }
@media (max-width: 1199px) { .availability-schedule-grid { grid-template-columns: 1fr; } .availability-schedule-hours, .availability-schedule-overview { grid-column: 1; grid-row: auto; } .availability-schedule-overview { order: -1; } }
@media (max-width: 1100px) { .clinic-branch-availability-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .availability-policy { grid-template-columns: repeat(2,minmax(0,1fr)); } .availability-policy > div { grid-column: 1 / -1; } .availability-workspace-nav { grid-template-columns: 1fr; } .availability-workspace-hint { display: none; } }
@media (max-width: 600px) { .availability-shell { padding-inline: 1rem; } .availability-card-heading { display: block; } .availability-card-heading > p { margin-top: .6rem; } .availability-field-wide { grid-column: auto; } .availability-policy { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .notifications-shell { padding-inline: 1rem; } .notifications-header { align-items: start; flex-direction: column; } .notifications-heading-group { align-items: start; } .notification-item { grid-template-columns: 2.35rem minmax(0,1fr); align-items: start; padding: .85rem; } .notification-heading { display: grid; gap: .3rem; } .notification-heading time { white-space: normal; } .notification-actions { grid-column: 2; justify-content: start; } }
@media (max-width: 800px) { .account-security-workspace { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .account-security-shell { padding: 0 1rem 3rem; } .account-security-header { align-items: start; } .account-security-link { padding-inline: .85rem; } }
@media (max-width: 600px) { .ph-dashboard-shell { padding: 0 1rem 3rem; } .ph-dashboard-header { align-items: start; } }
@media (max-width: 800px) { .clinic-affiliation-request-row { grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: start; } .clinic-affiliation-request-expiry { grid-column: 2; } .clinic-affiliation-request-row > .badge { grid-column: 3; grid-row: 1; } .clinic-affiliation-request-row .affiliation-response-actions { grid-column: 2 / -1; justify-content: start; } }
@media (max-width: 700px) { .provider-affiliation-request-row { grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: start; } .provider-affiliation-request-row .affiliation-response-actions { grid-column: 2 / -1; justify-content: start; } }
@media (max-width: 800px) { .security-page-workspace { grid-template-columns: 1fr; } .admin-verification-header { align-items: start; flex-direction: column; } .admin-verification-header-actions { width: 100%; justify-content: start; } .admin-verification-row { grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: start; } .admin-verification-review-cue { grid-column: 2 / -1; } }
@media (max-width: 1050px) { .admin-review-workspace { grid-template-columns: 1fr; } .admin-review-side { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .admin-review-shell { padding-inline: 1rem; } .admin-review-header { align-items: start; flex-direction: column; } .admin-review-header-actions { width: 100%; align-items: stretch; flex-direction: column; } .admin-review-header-actions .badge { align-self: start; } .admin-review-header-actions .btn { width: 100%; } .admin-review-side { grid-template-columns: 1fr; } .admin-review-evidence-summary { grid-template-columns: 2.35rem minmax(0,1fr); align-items: start; } .admin-review-evidence-summary > .badge { grid-column: 2; justify-self: start; } .admin-review-evidence-footer, .admin-review-credential-actions, .admin-review-reject-evidence { align-items: stretch; flex-direction: column; } .admin-review-evidence-footer > .btn, .admin-review-credential-actions, .admin-review-credential-actions form, .admin-review-credential-actions .btn, .admin-review-reject-evidence .form-control { width: 100%; } }
@media (max-width: 900px) { .clinic-evidence-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .onboarding-shell { padding-inline: 1rem; } .onboarding-header { align-items: start; flex-direction: column; } .onboarding-heading { align-items: start; } .invitation-flow-heading { align-items: start; } .invitation-flow-form > .btn, .clinic-evidence-upload > .btn { width: 100%; } .clinic-evidence-card-header { grid-template-columns: 2.35rem minmax(0,1fr); align-items: start; } .clinic-evidence-card-header > .badge { grid-column: 2; justify-self: start; } .clinic-evidence-file { align-items: start; flex-direction: column; gap: .2rem; } }
@media (max-width: 850px) { .clinic-document-upload { grid-template-columns: minmax(0,1fr) minmax(10rem,.65fr); } .clinic-document-upload > .btn { grid-column: 1 / -1; justify-self: start; width: auto; } }
@media (max-width: 600px) { .clinic-document-current { grid-template-columns: 2.35rem minmax(0,1fr); align-items: start; } .clinic-document-expiry { grid-column: 2; padding: .35rem 0 0; border-top: 1px solid var(--cui-border-color); border-left: 0; text-align: left; } .clinic-document-upload { grid-template-columns: 1fr; } .clinic-document-upload-heading, .clinic-document-upload > .btn { grid-column: auto; } .clinic-document-upload > .btn { width: 100%; } .clinic-document-upload-heading { align-items: start; flex-direction: column; gap: .1rem; } }
@media (max-width: 700px) { .ph-workspace-header { align-items: start; flex-direction: column; } .ph-workspace-header > .badge { align-self: start; } }
@media (max-width: 1199.98px) { .clinic-verification-workspace { grid-template-columns: 1fr; } .clinic-verification-history { position: static; } }
@media (max-width: 700px) { .clinic-organization-summary dl, .clinic-setup-grid { grid-template-columns: 1fr; } .clinic-setup-wide { grid-column: auto; } .clinic-setup-footer { align-items: stretch; flex-direction: column; } .clinic-setup-footer .btn { width: 100%; } }
@media (max-width: 1199.98px) { .provider-verification-workspace { grid-template-columns: 1fr; } .provider-verification-history { position: static; } .provider-verification-history .card-body { max-height: none; overflow: visible; } }
@media (max-width: 600px) { .security-page-shell { padding-inline: 1rem; } .security-page-header, .security-sessions-header { align-items: start; flex-direction: column; } .security-page-header > .btn, .security-sessions-header form, .security-sessions-header .btn { width: 100%; } .security-page-heading { align-items: start; } .security-page-actions { align-items: stretch; flex-direction: column; } .security-page-actions .btn { width: 100%; } .security-authenticator-setup { grid-template-columns: 1fr; } .security-session-row { grid-template-columns: 2.35rem minmax(0,1fr); align-items: start; } .security-session-row > .badge, .security-session-row > form { grid-column: 2; justify-self: start; } .security-session-row > form, .security-session-row > form .btn { width: 100%; } .admin-verification-shell { padding-inline: 1rem; } .admin-verification-header-actions .btn { width: 100%; } .admin-verification-row { grid-template-columns: 2.35rem minmax(0,1fr); } .admin-verification-row > .badge { grid-column: 2; justify-self: start; } }
@media (max-width: 600px) { .appointment-detail-actions { align-items: stretch; flex-direction: column; } .appointment-detail-actions form, .appointment-detail-actions .btn { width: 100%; } }
@media (max-width: 1050px) { .admin-catalog-workspace { grid-template-columns: 1fr; } .admin-catalog-create { position: static; order: 2; } .admin-catalog-services { order: 1; } .admin-marketplace-setting > .card-body, .admin-marketplace-setting-form { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .admin-catalog-shell, .admin-marketplace-shell { padding-inline: 1rem; } .admin-catalog-header { align-items: start; flex-direction: column; } .admin-catalog-header .btn { width: 100%; } .admin-catalog-section-heading { display: grid; } .admin-catalog-disclosure > summary { grid-template-columns: 2.35rem minmax(0,1fr); } .admin-catalog-disclosure > summary > .badge { grid-column: 2; justify-self: start; } .admin-catalog-service-footer { align-items: stretch; flex-direction: column; } .admin-catalog-service-footer > .btn { width: 100%; } .admin-marketplace-decision { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .admin-settings-workspace { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .admin-settings-shell { padding-inline: 1rem; } .admin-settings-card { padding: 1rem; } .admin-settings-header { align-items: start; flex-direction: column; } .admin-settings-header .btn { width: 100%; } }
@media (max-width: 1000px) { .admin-invitations-workspace { grid-template-columns: 1fr; } .admin-invitation-create { position: static; order: 2; } .admin-invitation-history { order: 1; } }
@media (max-width: 760px) { .admin-invitation-row { grid-template-columns: 2.35rem minmax(0,1fr); align-items: start; } .admin-invitation-statuses, .admin-invitation-row > form { grid-column: 2; justify-content: start; } }
@media (max-width: 600px) { .admin-invitations-shell { padding-inline: 1rem; } .admin-invitations-header { align-items: start; flex-direction: column; } .admin-invitations-header .btn, .admin-invitation-row > form .btn { width: 100%; } }
@media (max-width: 900px) { .admin-policy-workspace { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .admin-policy-shell { padding-inline: 1rem; } .admin-policy-header { align-items: start; flex-direction: column; } .admin-policy-header .btn, .admin-policy-form .btn { width: 100%; } .admin-policy-toggle { align-items: start; } }

/* Public Marketplace directory — reference-aligned page body; shared header remains unchanged. */
.ph-marketplace-page { min-height: calc(100vh - 7rem); padding: clamp(2rem,4vw,3.75rem) clamp(1rem,3vw,2.5rem) 4rem; color: var(--ph-ink); background: #f5f8f7; }
.ph-app .ph-marketplace-page { padding-top:0; }
.ph-marketplace-container { width: min(100%,92rem); margin-inline: auto; }
.ph-marketplace-intro { display: grid; justify-items: center; margin-bottom: 1.5rem; text-align: center; }
.ph-marketplace-heading { max-width: 48rem; margin-bottom: 1.35rem; }
.ph-marketplace-kicker,.ph-marketplace-results-toolbar > div > span,.ph-marketplace-filter-title > div > span { display: block; margin-bottom: .25rem; color: var(--ph-accent); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.ph-marketplace-heading h1 { margin: 0 0 .65rem; font-size: clamp(2.2rem,4.6vw,4rem); line-height: 1.04; letter-spacing: -.045em; }
.ph-marketplace-heading p { max-width: 42rem; margin: 0 auto; color: var(--ph-muted); font-size: 1rem; line-height: 1.65; }
.ph-marketplace-mode { display: grid; width: min(100%,34rem); grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem; margin: 0; padding: .3rem; border: 1px solid #d7e1df; border-radius: .95rem; background: #eaf0ef; text-align: left; }
.ph-marketplace-mode > a { display: grid; min-width: 0; grid-template-columns: 2.35rem minmax(0,1fr); align-items: center; gap: .6rem; padding: .65rem .75rem; border: 1px solid transparent; border-radius: .7rem; color: var(--ph-muted); background: transparent; text-decoration: none; transition: border-color .15s,box-shadow .15s,background-color .15s; }
.ph-marketplace-mode > a:hover { color: var(--ph-ink); background: rgba(255,255,255,.65); }
.ph-marketplace-mode > a.active { border-color: #d2dedc; color: var(--ph-ink); background: #fff; box-shadow: 0 .2rem .7rem rgba(23,50,58,.08); }
.ph-marketplace-mode-icon { display: inline-grid; width: 2.45rem; height: 2.45rem; place-items: center; border-radius: .7rem; background: rgba(var(--cui-primary-rgb),.1); background-position: center; background-repeat: no-repeat; background-size: 1.15rem; }
.ph-marketplace-mode-icon,.ph-marketplace-avatar { background-image: var(--ph-page-icon); }
.ph-marketplace-mode strong,.ph-marketplace-mode small { display: block; }
.ph-marketplace-mode strong { font-size: .88rem; }
.ph-marketplace-mode small { margin-top: .1rem; color: var(--ph-muted); font-size: .7rem; }
.ph-marketplace-searchbar { display: grid; width: min(100%,62rem); overflow: hidden; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .25rem; margin-inline: auto; padding: .4rem .4rem .4rem 1rem; border: 1px solid #c9d8d7; border-radius: .9rem; background: #fff; box-shadow: 0 .45rem 1.4rem rgba(23,50,58,.065); }
.ph-marketplace-searchbar > input { width: 100%; min-width: 0; min-height: 3rem; padding: .5rem .2rem; border: 0; outline: 0; color: var(--ph-ink); background: transparent; font: inherit; }
.ph-marketplace-searchbar > input::placeholder { color: #7a8e91; }
.ph-marketplace-searchbar > input:focus-visible { box-shadow: inset 0 -2px var(--ph-accent); }
.ph-marketplace-searchbar .btn { min-width: 6rem; border-radius: .7rem; font-weight: 700; }
.ph-marketplace-layout { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,9fr); align-items: start; gap: clamp(1rem,2vw,1.5rem); margin-top: 1rem; }
.ph-marketplace-filters { position: sticky; top: 5rem; padding: 1rem; border: 1px solid #d7e1df; border-radius: .85rem; background: #fff; }
.ph-marketplace-filters > summary { display: none; }
.ph-marketplace-filter-backdrop,.ph-marketplace-filter-sheet-heading { display: none; }
.ph-marketplace-filter-title { display: flex; align-items: end; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.ph-marketplace-filter-title h2 { margin: 0; font-size: 1.2rem; }
.ph-marketplace-filter-title a { color: var(--ph-accent); font-size: .75rem; font-weight: 700; }
.ph-marketplace-filter-fields { display: grid; gap: .9rem; margin-bottom: 1rem; }
.ph-marketplace-filter-fields > label { display: grid; gap: .35rem; color: #40565c; font-size: .75rem; font-weight: 750; }
.ph-marketplace-filter-fields .form-control,.ph-marketplace-filter-fields .form-select { min-height: 2.7rem; border-color: #cbd8d8; border-radius: .65rem; color: var(--ph-ink); background-color: #fff; font-size: .82rem; font-weight: 400; }
.ph-marketplace-filter-fields small { color: var(--ph-muted); font-size: .67rem; font-weight: 400; line-height: 1.45; }
.ph-marketplace-price { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; overflow: hidden; border: 1px solid #cbd8d8; border-radius: .65rem; background: #fff; }
.ph-marketplace-price span { padding-left: .65rem; color: var(--ph-muted); font-size: .7rem; font-weight: 800; }
.ph-marketplace-price .form-control { border: 0; }
.ph-marketplace-results { min-width: 0; }
.ph-marketplace-results-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 1rem; min-height: 3.35rem; margin-bottom: .8rem; padding: .1rem .15rem; }
.ph-marketplace-results-toolbar h2 { margin: 0; font-size: 1.15rem; }
.ph-marketplace-results-toolbar > label { display: grid; grid-template-columns: auto minmax(8.5rem,11rem) auto; align-items: center; gap: .45rem; color: var(--ph-muted); font-size: .72rem; font-weight: 750; }
.ph-marketplace-results-toolbar .form-select { min-height: 2.55rem; border-color: #cbd8d8; border-radius: .65rem; font-size: .78rem; }
.ph-marketplace-results-toolbar .btn { min-height: 2.55rem; border-radius: .65rem; font-size: .75rem; }
.ph-marketplace-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1rem,1.5vw,1.35rem); }
.ph-marketplace-card { display: flex; min-width: 0; flex-direction: column; padding: 1.1rem; border: 1px solid #d6e0de; border-radius: .9rem; background: #fff; box-shadow: 0 .25rem .8rem rgba(23,50,58,.04); transition: border-color .15s,box-shadow .15s; }
.ph-marketplace-card:hover { border-color: rgba(var(--cui-primary-rgb),.38); box-shadow: 0 .5rem 1.2rem rgba(23,50,58,.075); }
.ph-marketplace-card-header { display: grid; grid-template-columns: 4.35rem minmax(0,1fr); align-items: center; gap: .85rem; }
.ph-marketplace-avatar { display: inline-grid; width: 4.35rem; height: 4.35rem; place-items: center; border: 1px solid rgba(var(--cui-primary-rgb),.18); border-radius: 1rem; background-color: rgba(var(--cui-primary-rgb),.09); background-position: center; background-repeat: no-repeat; background-size: 1.65rem; }
.ph-marketplace-avatar-clinic { background-color: #eef4f8; }
.ph-marketplace-specialty { display: block; margin-bottom: .15rem; overflow: hidden; color: var(--ph-accent); font-size: .72rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.ph-marketplace-card h3 { margin: 0 0 .25rem; color: var(--ph-ink); font-size: 1.08rem; line-height: 1.25; }
.ph-marketplace-verified { display: inline-flex; align-items: center; gap: .3rem; color: #187449; font-size: .7rem; font-weight: 750; }
.ph-marketplace-verified > i { display: inline-grid; width: 1rem; height: 1rem; place-items: center; border-radius: 50%; color: #fff; background: #218354; font-size: .62rem; }
.ph-marketplace-modes { display: flex; flex-wrap: wrap; gap: .35rem; margin: .9rem 0; }
.ph-marketplace-modes > span { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .55rem; border: 1px solid #d4e1df; border-radius: 999px; color: #40585d; background: #f5f9f8; font-size: .68rem; font-weight: 700; }
.ph-marketplace-modes i { width: .38rem; height: .38rem; border-radius: 50%; background: var(--ph-accent); }
.ph-marketplace-facts { display: grid; margin: 0 0 1rem; border-top: 1px solid #e1e9e8; }
.ph-marketplace-facts > div { display: flex; min-width: 0; align-items: start; justify-content: space-between; gap: 1rem; padding: .58rem 0; border-bottom: 1px solid #e1e9e8; }
.ph-marketplace-facts dt { flex: 0 0 auto; color: var(--ph-muted); font-size: .68rem; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.ph-marketplace-facts dd { max-width: 64%; margin: 0; color: var(--ph-ink); font-size: .77rem; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; text-align: right; }
.ph-marketplace-actions { margin-top: auto; }
.ph-marketplace-actions .btn { display: flex; width: 100%; align-items: center; justify-content: space-between; border-radius: .7rem; font-size: .78rem; font-weight: 750; }
.ph-marketplace-empty { grid-column: 1/-1; display: grid; min-height: 20rem; padding: 2.5rem 1.25rem; place-items: center; align-content: center; border: 1px dashed #bdcecc; border-radius: 1.15rem; background: rgba(255,255,255,.8); text-align: center; }
.ph-marketplace-avatar:is(img) { object-fit: cover; object-position: center; }
.ph-marketplace-support-filter { display: grid; gap: .55rem; padding: .8rem; border: 1px solid #dbe7e5; border-radius: .75rem; }.ph-marketplace-support-filter legend { margin: 0; font-size: .86rem; font-weight: 800; }.ph-marketplace-support-filter > small { margin-bottom: .2rem; color: var(--ph-muted); }.ph-marketplace-support-summary { display: grid; gap: .2rem; margin-bottom: .9rem; padding: .65rem .75rem; border-radius: .65rem; background: #f3f8f7; }.ph-marketplace-support-summary strong { color: var(--ph-accent); font-size: .68rem; text-transform: uppercase; }.ph-marketplace-support-summary span { color: #40585d; font-size: .76rem; line-height: 1.45; }
.ph-professional-capability-note { margin:0 0 1.25rem; color:var(--ph-muted); font-size:.78rem; line-height:1.5; }
/* Keep previously rendered profile markup clean during an application update. */
.ph-professional-capability-note > i,
.ph-professional-capability-note strong,
.ph-professional-capability-mark,
.ph-professional-capability-group header small,
.ph-professional-capability-group li > i { display:none; }
.ph-professional-capability-note p { margin:0; }
.ph-professional-capability-note span { display:block; }
.ph-professional-capability-grid { display:grid; gap:0; }
.ph-professional-capability-group { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:1.5rem; align-items:baseline; min-width:0; padding:1rem 0; border-top:1px solid #e2ebe8; }
.ph-professional-capability-group:last-child { padding-bottom:0; }
.ph-professional-capability-group h3 { margin:0; color:#086e60; font-size:.8rem; font-weight:650; line-height:1.55; }
.ph-professional-capability-group ul { display:flex; flex-wrap:wrap; gap:.3rem 0; margin:0; padding:0; list-style:none; color:var(--ph-ink); font-size:.82rem; line-height:1.55; }
.ph-professional-capability-group li { min-width:0; overflow-wrap:anywhere; }
.ph-professional-capability-group li + li::before { content:"/"; margin:0 .65rem; color:#a3b9b3; }
@media (max-width:650px) {
  .ph-professional-capability-group { grid-template-columns:1fr; gap:.35rem; padding:.85rem 0; }
}
.ph-marketplace-empty h3 { margin: 0 0 .4rem; font-size: 1.15rem; }
.ph-marketplace-empty p { max-width: 28rem; margin: 0 0 1rem; color: var(--ph-muted); }
.ph-marketplace-results { scroll-margin-top:1.25rem; }
.ph-marketplace-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin-top: 1.25rem; }
.ph-marketplace-pagination a { display: inline-grid; min-width: 2.4rem; min-height: 2.4rem; place-items: center; border: 1px solid #cbd9d7; border-radius: .6rem; color: var(--ph-muted); background: #fff; font-size: .75rem; font-weight: 750; text-decoration: none; }
.ph-marketplace-pagination a:hover,.ph-marketplace-pagination a.active { border-color: var(--ph-accent); color: #fff; background: var(--ph-accent); }
.ph-marketplace-pagination .ph-marketplace-pagination-step { display: inline-flex; width: auto; padding-inline: .85rem; gap: .45rem; }
@media (max-width: 600px) { .ph-marketplace-grid { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .ph-marketplace-container,.ph-dashboard-shell { width:100%; }.ph-marketplace-page { padding-inline: 1rem; } .ph-marketplace-layout { grid-template-columns: 1fr; } .ph-marketplace-filters { position: static; padding: 0; } .ph-marketplace-filters > summary { display: flex; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; color: var(--ph-ink); cursor: pointer; font-size: .875rem; font-weight: 800; list-style: none; } .ph-marketplace-filters > summary::-webkit-details-marker { display: none; } .ph-marketplace-filter-toggle { color: var(--ph-accent); font-size: .72rem; font-weight: 750; } .ph-marketplace-filters[open] > summary { border-bottom: 0; } .ph-marketplace-filter-backdrop { position: fixed; inset: 0; z-index: 1045; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(15,31,35,.46); animation: ph-marketplace-backdrop-in .28s ease both; } .ph-marketplace-filter-body { position: fixed; right: 0; bottom: 0; left: 0; z-index: 1050; max-height: min(86dvh,46rem); overflow-y: auto; padding: 0 1rem calc(1rem + env(safe-area-inset-bottom)); border-radius: 1.1rem 1.1rem 0 0; background: #fff; box-shadow: 0 -1rem 3rem rgba(15,31,35,.2); animation: ph-marketplace-sheet-in .34s cubic-bezier(.22,1,.36,1) both; overscroll-behavior: contain; will-change: transform; } .ph-marketplace-filters.is-closing .ph-marketplace-filter-backdrop { animation: ph-marketplace-backdrop-out .24s ease both; } .ph-marketplace-filters.is-closing .ph-marketplace-filter-body { animation: ph-marketplace-sheet-out .28s cubic-bezier(.4,0,1,1) both; pointer-events: none; } .ph-marketplace-filter-sheet-heading { position: sticky; top: 0; z-index: 1; display: flex; min-height: 3.75rem; align-items: center; justify-content: space-between; margin-inline: -1rem; padding: .75rem 1rem; border-bottom: 1px solid #d7e1df; background: #fff; } .ph-marketplace-filter-sheet-heading strong { font-size: 1rem; } .ph-marketplace-filter-sheet-heading button { display: inline-grid; width: 2.5rem; height: 2.5rem; min-height: 0; place-items: center; padding: 0; border: 0; border-radius: 50%; color: var(--ph-muted); background: var(--cui-tertiary-bg); font-size: 1.5rem; line-height: 1; } .ph-marketplace-filter-title { display: none; } .ph-marketplace-filter-fields { margin-top: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); } .ph-marketplace-results-toolbar { margin-top: .5rem; } body.ph-filter-sheet-open { overflow: hidden; } }
@keyframes ph-marketplace-sheet-in { from { transform: translateY(105%); } to { transform: translateY(0); } }
@keyframes ph-marketplace-sheet-out { from { transform: translateY(0); } to { transform: translateY(105%); } }
@keyframes ph-marketplace-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes ph-marketplace-backdrop-out { from { opacity: 1; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .ph-marketplace-filter-backdrop,.ph-marketplace-filter-body,.ph-marketplace-filters.is-closing .ph-marketplace-filter-backdrop,.ph-marketplace-filters.is-closing .ph-marketplace-filter-body { animation-duration: .01ms; } }
@media (max-width: 700px) { .ph-public-nav { min-height: 4rem !important; flex-wrap: nowrap; gap: .45rem; padding-block: .4rem; } .ph-public-brand { min-width: 0; width: auto; justify-content: flex-start; padding-right: 0; } .ph-public-banner { width: min(9rem,40vw); height: auto; } .ph-public-actions { display: flex; width: auto; min-width: 0; flex: 0 1 auto; gap: .3rem; margin: 0 0 0 auto !important; padding-top: 0; border-top: 0; } .ph-public-actions .nav-link,.ph-public-actions .btn { display: inline-flex; min-width: 0; min-height: 2.6rem; align-items: center; justify-content: center; margin: 0; padding: .5rem .65rem; font-size: .78rem; text-align: center; white-space: nowrap; } }
@media (max-width: 600px) { .ph-marketplace-page { padding-top: 1.75rem; background: #f5f8f7; } .ph-marketplace-intro { margin-bottom: 1.15rem; } .ph-marketplace-heading { margin-bottom: 1rem; } .ph-marketplace-heading h1 { font-size: clamp(2.15rem,10vw,2.85rem); } .ph-marketplace-heading p { font-size: .92rem; line-height: 1.55; } .ph-marketplace-mode { gap: .25rem; padding: .25rem; } .ph-marketplace-mode > a { grid-template-columns: 1fr; justify-items: center; gap: .3rem; padding: .6rem .4rem; text-align: center; } .ph-marketplace-mode-icon { width: 2rem; height: 2rem; background-size: 1rem; } .ph-marketplace-mode small { display: none; } .ph-marketplace-searchbar { grid-template-columns: minmax(0,1fr); padding: .3rem .3rem .3rem .8rem; } .ph-marketplace-searchbar .btn { grid-column: 1/-1; width: 100%; } .ph-marketplace-filter-fields { grid-template-columns: 1fr; } .ph-marketplace-results-toolbar { align-items: stretch; flex-direction: column; } .ph-marketplace-results-toolbar > label { grid-template-columns: auto minmax(0,1fr) auto; } .ph-marketplace-card { padding: 1rem; } .ph-marketplace-card-header { grid-template-columns: 3.8rem minmax(0,1fr); } .ph-marketplace-avatar { width: 3.8rem; height: 3.8rem; } }

/* Public masked Professional profile — reference-aligned body; no public portrait or booking control. */
.ph-professional-profile-page { position: relative; min-height: calc(100vh - 7rem); overflow: hidden; padding: 1rem clamp(1rem,2.5vw,2.5rem) 4rem; color: var(--ph-ink); background: radial-gradient(circle at 100% 10%,rgba(var(--cui-primary-rgb),.08),transparent 25rem),#f4f8f7; }
.ph-professional-profile-container { position: relative; width: min(100%,92rem); margin-inline: auto; }
.ph-professional-profile-nav { margin-bottom: .85rem; }
.ph-professional-profile-nav a { display: inline-flex; align-items: center; gap: .55rem; color: var(--ph-muted); font-size: .82rem; font-weight: 750; text-decoration: none; }
.ph-professional-profile-nav a > span { display: inline-grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid #cedbd9; border-radius: .6rem; background: #fff; transition: transform .15s,border-color .15s; }
.ph-professional-profile-nav a:hover { color: var(--ph-accent); }.ph-professional-profile-nav a:hover > span { border-color: var(--ph-accent); transform: translateX(-2px); }
.ph-professional-profile-hero,.ph-professional-profile-section,.ph-professional-verification-card,.ph-professional-profile-side-card { border: 1px solid #cfdddb; background: rgba(255,255,255,.97); box-shadow: 0 .6rem 1.8rem rgba(23,50,58,.055); }
.ph-professional-profile-hero { position: relative; overflow: hidden; border-radius: 1.2rem; background:radial-gradient(circle at 100% 0,rgba(23,137,119,.075) 0 10rem,transparent 10.1rem),radial-gradient(circle at 0 100%,rgba(240,164,83,.075) 0 8rem,transparent 8.1rem),linear-gradient(135deg,#e7f5f1 0%,#f8fbfa 55%,#fff4e8 100%); }
.ph-professional-profile-hero::before { position: absolute; inset: 0 0 auto; height: .38rem; background: var(--ph-accent); content: ''; }
.ph-professional-profile-hero-grid { display: grid; grid-template-columns: 10rem minmax(0,1fr); align-items: center; gap: 1.5rem; padding: 1.6rem; }
.ph-professional-profile-portrait { position: relative; display: grid; width: 8.75rem; height: 8.75rem; margin-inline: auto; place-items: center; border: .25rem solid #fff; border-radius: 1.25rem; background: linear-gradient(145deg,rgba(var(--cui-primary-rgb),.16),rgba(var(--cui-primary-rgb),.06)); box-shadow: 0 .8rem 1.8rem rgba(23,50,58,.14); }
.ph-professional-profile-portrait-media { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; border-radius: 1rem; }
.ph-professional-profile-portrait-column { display: grid; justify-items: center; gap: 1.5rem; }
.ph-professional-profile-rating { position: relative; z-index: 2; display: grid; min-width: 7.5rem; justify-items: center; gap: .05rem; color: var(--ph-muted); font-size: .78rem; line-height: 1.35; text-align: center; }
.ph-professional-profile-rating strong { color: var(--ph-ink); font-size: 1rem; }
.ph-professional-profile-rating strong i { color: #e3a008; font-size: .82rem; }
.ph-professional-profile-portrait-media > span { width: 3.25rem; height: 3.25rem; background-image: var(--ph-page-icon); background-position: center; background-repeat: no-repeat; background-size: 2.5rem; opacity: .65; }
.ph-professional-profile-placeholder { display: grid; width: 62%; height: 62%; place-items: center; color: var(--ph-accent); font-size: clamp(3rem,5vw,4.35rem); line-height: 1; opacity: .62; }
.ph-professional-profile-portrait-media > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ph-marketplace-photo-choices .form-check { padding-inline: .75rem !important; }.ph-marketplace-photo-choices .form-check-input { float: none; margin: 0; }
.ph-marketplace-photo-upload .btn { width: fit-content; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.ph-marketplace-photo-card .ph-marketplace-photo-status { grid-template-columns: 8rem minmax(0,1fr) auto; align-items: center; }.ph-marketplace-photo-editor { position: relative; display: grid; width: 8rem; height: 8rem; place-items: center; border: 1px solid var(--cui-border-color); border-radius: 1rem; background: linear-gradient(145deg,rgba(var(--cui-primary-rgb),.14),rgba(var(--cui-primary-rgb),.05)); }.ph-marketplace-photo-editor > img { width: 100%; height: 100%; border-radius: 1rem; object-fit: cover; object-position: center; }.ph-marketplace-photo-editor > .ph-page-icon-user { width: 3rem; height: 3rem; background-image: var(--ph-page-icon); background-position: center; background-repeat: no-repeat; background-size: 2.4rem; opacity: .6; }.ph-marketplace-photo-edit { position: absolute; right: -.45rem; bottom: -.45rem; display: inline-grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 3px solid var(--cui-body-bg); border-radius: 50%; color: #fff; background: var(--ph-accent); box-shadow: 0 .4rem 1rem rgba(23,50,58,.22); cursor: pointer; font-size: 1.15rem; font-weight: 800; }.ph-marketplace-photo-edit:hover { filter: brightness(.92); }.ph-marketplace-photo-edit:focus-within { outline: .2rem solid rgba(var(--cui-primary-rgb),.25); outline-offset: .12rem; }
.ph-marketplace-photo-edit { color: #fff; background-color: #126b5e; }.ph-marketplace-photo-edit svg { width: 1.25rem; height: 1.25rem; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 1px rgba(0,0,0,.2)); }.ph-marketplace-photo-edit:hover { color: #fff; background-color: #0d574c; filter: none; }
@media (max-width: 575.98px) { .ph-marketplace-photo-card .ph-marketplace-photo-status { grid-template-columns: 6rem minmax(0,1fr); }.ph-marketplace-photo-editor { width: 6rem; height: 6rem; }.ph-marketplace-photo-status > .badge { grid-column: 2; justify-self: start; } }
.ph-marketplace-photo-card { min-width: 0; overflow: hidden; }.ph-marketplace-photo-card .card-body { display: grid; min-width: 0; gap: 1rem; padding: clamp(1rem,2vw,1.35rem); }.ph-marketplace-photo-heading { display: grid; grid-template-columns: 2.75rem minmax(0,1fr); align-items: start; gap: .85rem; }.ph-marketplace-photo-heading h2 { margin: .05rem 0 .2rem; font-size: 1.1rem; line-height: 1.3; }.ph-marketplace-photo-heading p { margin: 0; color: var(--ph-muted); font-size: .875rem; line-height: 1.45; }.ph-marketplace-photo-card .alert { padding: .75rem .85rem; font-size: .875rem; line-height: 1.5; }.ph-marketplace-photo-status { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .85rem; border: 1px solid var(--cui-border-color); border-radius: .7rem; background: var(--cui-tertiary-bg); }.ph-marketplace-photo-status > div { display: grid; min-width: 0; gap: .2rem; }.ph-marketplace-photo-status strong { overflow-wrap: anywhere; }.ph-marketplace-photo-status > div span { color: var(--ph-muted); font-size: .875rem; overflow-wrap: anywhere; }.ph-marketplace-photo-upload { display: grid; min-width: 0; gap: .75rem; }.ph-marketplace-photo-upload .form-label { min-width: 0; margin: 0; }.ph-marketplace-photo-upload .form-control { min-width: 0; margin-top: .4rem; }.ph-marketplace-photo-upload small { display: block; margin-top: .35rem; color: var(--ph-muted); font-size: .875rem; line-height: 1.45; }.ph-marketplace-photo-upload .btn,.ph-marketplace-photo-visibility > .btn { width: max-content; min-height: 2.75rem; }.ph-marketplace-photo-visibility { display: grid; gap: .9rem; padding-top: 1rem; border-top: 1px solid var(--cui-border-color); }.ph-marketplace-photo-visibility legend { margin-bottom: .6rem; font-size: .95rem; font-weight: 700; }.ph-marketplace-photo-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }.ph-marketplace-photo-choices .form-check { display: grid; grid-template-columns: auto minmax(0,1fr); min-height: 3rem; align-items: center; gap: .6rem; margin: 0; padding: .65rem .75rem .65rem 2.25rem; border: 1px solid var(--cui-border-color); border-radius: .7rem; cursor: pointer; }.ph-marketplace-photo-choices .form-check-input { margin-top: 0; }.ph-marketplace-photo-choices span { font-size: .875rem; line-height: 1.35; }
@media (max-width: 575.98px) { .ph-marketplace-photo-card .card-body { padding: 1rem; }.ph-marketplace-photo-heading { grid-template-columns: 2.5rem minmax(0,1fr); gap: .7rem; }.ph-marketplace-photo-heading .ph-dashboard-heading-icon { width: 2.5rem; height: 2.5rem; }.ph-marketplace-photo-status { grid-template-columns: minmax(0,1fr); }.ph-marketplace-photo-status > .badge { justify-self: start; }.ph-marketplace-photo-upload .form-control { font-size: 1rem; }.ph-marketplace-photo-upload .btn,.ph-marketplace-photo-visibility > .btn { width: 100%; }.ph-marketplace-photo-choices { grid-template-columns: 1fr; }.ph-marketplace-photo-choices .form-check { min-height: 3.25rem; } }
.ph-professional-profile-portrait small { position: absolute; right: -.55rem; bottom: .45rem; display: inline-flex; align-items: center; gap: .35rem; padding: .32rem .55rem; border: 2px solid #fff; border-radius: 999px; color: #fff; background: #218354; box-shadow: 0 .45rem 1rem rgba(24,116,73,.24); font-size: .65rem; font-weight: 800; white-space: nowrap; }
.ph-professional-profile-portrait small i { display: inline-grid; width: 1rem; height: 1rem; place-items: center; border-radius: 50%; color: #218354; background: #fff; font-size: .6rem; }
.ph-professional-profile-identity { min-width: 0; }
.ph-professional-profile-eyebrow { color: var(--ph-accent); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.ph-professional-profile-identity h1 { margin: .3rem 0 .15rem; font-size: clamp(2rem,4.5vw,3.4rem); line-height: 1.08; letter-spacing: -.035em; }
.ph-professional-profile-specialty { margin: 0; color: var(--ph-accent); font-size: clamp(1rem,2vw,1.3rem); font-weight: 750; }
.ph-professional-profile-modes { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem; }
.ph-professional-profile-modes span { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .6rem; border: 1px solid #d4e1df; border-radius: 999px; color: #40585d; background: #f5f9f8; font-size: .7rem; font-weight: 700; }.ph-professional-profile-modes i { width: .4rem; height: .4rem; border-radius: 50%; background: var(--ph-accent); }
.ph-professional-profile-highlights { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: 1.15rem 0 0; border-block: 1px solid #dfe8e7; }
.ph-professional-profile-highlights > div { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem .8rem; border-bottom: 1px solid #e5eceb; }.ph-professional-profile-highlights > div:nth-child(odd){border-right:1px solid #e5eceb}.ph-professional-profile-highlights > div:nth-last-child(-n+2){border-bottom:0}
.ph-professional-profile-highlights dt { display: flex; flex: 0 0 auto; align-items: center; gap: .45rem; color: var(--ph-muted); font-size: .65rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }.ph-professional-profile-highlights dt i { display: inline-grid; width: 1.45rem; height: 1.45rem; place-items: center; border-radius: .45rem; color: var(--ph-accent); background: rgba(var(--cui-primary-rgb),.1); font-size: .7rem; }
.ph-professional-profile-highlights dd { max-width: 58%; margin: 0; font-size: .78rem; font-weight: 750; line-height: 1.4; overflow-wrap: anywhere; text-align: right; }
.ph-professional-profile-content { display: grid; grid-template-columns: minmax(0,2fr) minmax(19rem,1fr); align-items: start; gap: clamp(.9rem,1.5vw,1.35rem); margin-top: clamp(.9rem,1.5vw,1.35rem); }
.ph-professional-profile-main,.ph-professional-profile-aside { display: grid; min-width: 0; align-content: start; gap: .9rem; }
.ph-professional-profile-section,.ph-professional-verification-card,.ph-professional-profile-side-card { padding: 1.15rem; border-radius: 1rem; }
.ph-professional-profile-section-heading { display: flex; align-items: center; gap: .7rem; margin-bottom: .9rem; }.ph-professional-profile-section-heading > span,.ph-professional-profile-side-heading > span { display: inline-grid; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; place-items: center; border-radius: .7rem; background-color: rgba(var(--cui-primary-rgb),.1); background-image: var(--ph-page-icon); background-position: center; background-repeat: no-repeat; background-size: 1.15rem; }
.ph-professional-profile-section-heading small { display: block; color: var(--ph-accent); font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.ph-professional-profile-section-heading h2 { margin: .05rem 0 0; font-size: 1.35rem; }
.ph-professional-profile-affiliation { display: grid; grid-template-columns: 2.5rem minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .8rem 1rem; border-radius: .75rem; background: #f6faf9; }
.ph-professional-profile-affiliation > span { display: inline-grid; width: 2rem; height: 2rem; place-items: center; border-radius: .55rem; background: rgba(var(--cui-primary-rgb),.1) var(--ph-page-icon) center/.9rem no-repeat; }
.ph-professional-profile-affiliation small { color: var(--ph-muted); }
.ph-professional-profile-focus { display: flex; align-items: center; gap: .65rem; margin: 0 0 .75rem; padding: .7rem .8rem; border-radius: .7rem; color: #40585d; background: #f5f9f8; }.ph-professional-profile-focus strong { color: var(--ph-accent); font-size: .72rem; text-transform: uppercase; }.ph-professional-profile-focus span { font-size: .84rem; font-weight: 700; }
.ph-professional-profile-summary { margin: 0; color: #40585d; font-size: .95rem; line-height: 1.7; white-space: pre-line; }
.ph-professional-profile-services { display: grid; gap: .55rem; }.ph-professional-profile-services article { display: grid; grid-template-columns: 1.4rem minmax(0,1fr) auto; align-items: center; gap: .65rem; padding: .75rem; border: 1px solid #dbe7e5; border-radius: .75rem; background: #f8fbfa; }.ph-professional-profile-check { display: inline-grid; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 50%; color: #218354; background: #e4f5ea; font-size: .68rem; font-weight: 900; }.ph-professional-profile-services h3 { margin: 0 0 .1rem; font-size: .86rem; }.ph-professional-profile-services p { margin: 0; color: var(--ph-muted); font-size: .72rem; }.ph-professional-profile-services article > strong { font-size: .84rem; white-space: nowrap; text-align: right; }.ph-professional-profile-services article > strong small { display: block; color: var(--ph-muted); font-size: .62rem; font-weight: 600; }
.ph-professional-profile-affiliations { display: grid; gap: .5rem; }.ph-professional-profile-affiliations a { display: grid; grid-template-columns: 2rem minmax(0,1fr) auto; align-items: center; gap: .65rem; padding: .7rem; border: 1px solid #dbe7e5; border-radius: .7rem; color: var(--ph-ink); background: #f8fbfa; text-decoration: none; }.ph-professional-profile-affiliations a:hover { border-color: var(--ph-accent); }.ph-professional-profile-affiliations a > span { width: 2rem; height: 2rem; border-radius: .55rem; background: rgba(var(--cui-primary-rgb),.1) var(--ph-page-icon) center/1rem no-repeat; }.ph-professional-profile-affiliations b { color: var(--ph-accent); }
.ph-professional-verification-card { position: relative; overflow: hidden; }.ph-professional-verification-card::after { position:absolute;top:-4rem;right:-4rem;width:9rem;height:9rem;border-radius:50%;background:rgba(var(--cui-primary-rgb),.1);content:''}.ph-professional-verification-mark { position: relative; z-index:1;display:inline-grid;width:3rem;height:3rem;margin-bottom:.65rem;place-items:center;border-radius:.85rem;color:#fff;background:var(--ph-accent);box-shadow:0 .6rem 1.2rem rgba(var(--cui-primary-rgb),.2);font-size:1.1rem;font-weight:900}.ph-professional-verification-card h2 { position:relative;z-index:1;margin:0 0 .45rem;font-size:1.3rem}.ph-professional-verification-card > p { position:relative;z-index:1;margin:0;color:var(--ph-muted);font-size:.82rem;line-height:1.55}.ph-professional-verification-card ul { position:relative;z-index:1;display:grid;gap:.5rem;margin:.85rem 0 0;padding:.75rem 0 0;border-top:1px solid #dfe8e7;list-style:none}.ph-professional-verification-card li { display:flex;align-items:center;gap:.5rem;color:#40585d;font-size:.75rem;font-weight:700}.ph-professional-verification-card li i { color:#218354;font-weight:900 }
.ph-professional-profile-side-heading { display:flex;align-items:center;gap:.65rem;margin-bottom:.8rem}.ph-professional-profile-side-heading h2 { margin:0;font-size:1.08rem}.ph-professional-profile-location { display:grid;gap:.25rem;padding:.65rem 0;border-top:1px solid #e1e9e8}.ph-professional-profile-location:first-of-type{border-top:0}.ph-professional-profile-location small { color:var(--ph-accent);font-size:.65rem;font-weight:800;text-transform:uppercase}.ph-professional-profile-location strong,.ph-professional-profile-location li { color:#40585d;font-size:.8rem}.ph-professional-profile-location > span { color:var(--ph-muted);font-size:.68rem}.ph-professional-profile-location ul { display:grid;gap:.25rem;margin:0;padding-left:1rem}
.ph-professional-profile-times { display:grid;gap:.45rem}.ph-professional-profile-times > div { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.12rem .6rem;padding:.65rem;border:1px solid #dbe7e5;border-radius:.65rem;background:#f8fbfa}.ph-professional-profile-times strong { font-size:.77rem}.ph-professional-profile-times span { color:var(--ph-accent);font-size:.77rem;font-weight:800}.ph-professional-profile-times small { grid-column:1/-1;color:var(--ph-muted);font-size:.65rem}.ph-professional-profile-time-note { margin:.75rem 0 0;color:var(--ph-muted);font-size:.68rem;line-height:1.45}.ph-professional-profile-no-times { display:grid;gap:.2rem;padding:.8rem;border-radius:.7rem;background:#f5f8f8}.ph-professional-profile-no-times strong { font-size:.8rem}.ph-professional-profile-no-times span { color:var(--ph-muted);font-size:.7rem}
.ph-professional-profile-weekly { display:grid;gap:.35rem}.ph-professional-profile-weekly > div { display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .7rem;border:1px solid #dbe7e5;border-radius:.65rem;background:#f8fbfa}.ph-professional-profile-weekly strong { color:var(--ph-ink);font-size:.76rem}.ph-professional-profile-weekly span { color:var(--ph-accent);font-size:.74rem;font-weight:800;text-align:right}
.ph-professional-profile-safety { display:grid;grid-template-columns:1.65rem minmax(0,1fr);align-items:start;gap:.6rem;padding:.85rem;color:#40585d}.ph-professional-profile-safety > i { display:inline-grid;width:1.45rem;height:1.45rem;place-items:center;border:1px solid #a7c9c3;border-radius:50%;color:var(--ph-accent);font-size:.72rem;font-weight:900}.ph-professional-profile-safety p { margin:0;font-size:.72rem;line-height:1.55}.ph-professional-profile-safety strong { display:block;color:var(--ph-ink) }
.ph-clinic-branch-public-page .ph-professional-profile-specialty a { color: inherit; text-decoration: none; }.ph-clinic-branch-public-page .ph-professional-profile-specialty a:hover { text-decoration: underline; }.ph-clinic-branch-public-portrait .ph-professional-profile-portrait-media > span { display: grid; width: 5rem; height: 5rem; place-items: center; opacity: .55; }.ph-clinic-branch-public-portrait .ph-professional-profile-portrait-media > span::before { font-size: 3.25rem; }.ph-clinic-branch-public-services { display: grid; gap: .75rem; }.ph-clinic-branch-public-services > article { padding: .9rem; border: 1px solid #dbe7e5; border-radius: .8rem; background: #f8fbfa; }.ph-clinic-branch-public-service-name { display: grid; grid-template-columns: 1.4rem minmax(0,1fr); align-items: center; gap: .65rem; }.ph-clinic-branch-public-service-name h3 { margin: 0; font-size: .95rem; }.ph-clinic-branch-public-variants { display: grid; gap: .4rem; margin: .75rem 0 0 2.05rem; }.ph-clinic-branch-public-variants > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .5rem; border-top: 1px solid #e0e9e7; }.ph-clinic-branch-public-variants span { display: grid; gap: .1rem; }.ph-clinic-branch-public-variants strong { color: #40585d; font-size: .8rem; }.ph-clinic-branch-public-variants small { color: var(--ph-muted); font-size: .7rem; font-weight: 600; }.ph-clinic-branch-public-variants b { flex: 0 0 auto; font-size: .84rem; text-align: right; }.ph-clinic-branch-public-variants b small { display: block; }.ph-clinic-branch-public-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }.ph-clinic-branch-public-gallery figure { min-width: 0; margin: 0; overflow: hidden; }.ph-clinic-branch-public-gallery img { display: block; width: 100%; height: auto; min-width: 0; max-width: 100%; aspect-ratio: 4/3; border-radius: .75rem; background: #edf3f2; object-fit: cover; object-position: center; overflow: hidden; }.ph-clinic-branch-public-gallery figcaption { padding: .35rem .2rem 0; color: var(--ph-muted); font-size: .75rem; }.ph-clinic-branch-public-accessibility { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }.ph-clinic-branch-public-accessibility li { display: grid; grid-template-columns: 1.35rem minmax(0,1fr); align-items: start; gap: .5rem; color: #40585d; font-size: .82rem; line-height: 1.45; }.ph-clinic-branch-public-accessibility li > span { display: inline-grid; width: 1.25rem; height: 1.25rem; place-items: center; border-radius: 50%; color: #218354; background: #e4f5ea; font-size: .65rem; font-weight: 900; }
@media (max-width: 600px) { .ph-clinic-branch-public-variants { margin-left: 0; }.ph-clinic-branch-public-variants > div { align-items: start; }.ph-clinic-branch-public-gallery { grid-template-columns: 1fr; } }
.ph-facility-gallery-add { display: grid; grid-template-columns: minmax(10rem,14rem) minmax(0,1fr); align-items: center; gap: 1rem; }.ph-facility-gallery-add-form { display: grid; grid-template-columns: minmax(10rem,14rem) minmax(0,1fr); align-items: center; gap: 1rem; }.ph-facility-gallery-preview { position: relative; display: grid; width: 100%; min-width: 0; aspect-ratio: 16/9; place-items: center; overflow: hidden; border: 1px solid #d8e4e2; border-radius: .75rem; background: #edf3f2; }.ph-facility-gallery-preview > img,.ph-facility-gallery-card-image { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; object-fit: cover; object-position: center; }.ph-facility-gallery-preview > span { width: 2.75rem; height: 2.75rem; background-image: var(--ph-page-icon); background-position: center; background-repeat: no-repeat; background-size: 2.2rem; opacity: .5; }.ph-facility-gallery-preview .ph-marketplace-photo-edit { right: .5rem; bottom: .5rem; border-color: #fff; }.ph-facility-gallery-fields { display: grid; min-width: 0; gap: .65rem; }.ph-facility-gallery-fields .form-label { margin: 0; }.ph-facility-gallery-fields .form-control { margin-top: .3rem; }.ph-facility-gallery-save { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .75rem; }.ph-facility-gallery-save small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.ph-facility-gallery-save .btn { min-height: 2.35rem; flex: 0 0 auto; padding-inline: .8rem; }.ph-facility-gallery-card { min-width: 0; overflow: hidden; }.ph-facility-gallery-card-media { position: relative; overflow: hidden; background: #edf3f2; }.ph-facility-gallery-card-image { height: auto; aspect-ratio: 16/9; background: #edf3f2; }.ph-facility-gallery-badges { position: absolute; top: .55rem; left: .55rem; display: flex; flex-wrap: wrap; gap: .3rem; }.ph-facility-gallery-card-body { display: grid; align-content: start; gap: .55rem; padding: .8rem; }.ph-facility-gallery-card-body h3 { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.ph-facility-gallery-edit-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .5rem; padding-top: .55rem; border-top: 1px solid var(--cui-border-color); }.ph-facility-gallery-edit-form .form-control { grid-column: 1/-1; min-height: 2.4rem; }.ph-facility-gallery-edit-form .form-check { margin: 0; font-size: .78rem; }.ph-facility-gallery-edit-form .btn { min-height: 2.35rem; padding-inline: .75rem; }.ph-facility-gallery-remove { justify-self: end; margin-top: -.25rem; }.ph-facility-gallery-remove .btn { min-height: 2rem; padding: .15rem .25rem; font-size: .72rem; text-decoration: none; }
@media (max-width: 900px) { .ph-facility-gallery-add { grid-template-columns: 1fr; }.ph-facility-gallery-add-form { grid-template-columns: minmax(9rem,12rem) minmax(0,1fr); } }
@media (max-width: 575.98px) { .ph-facility-gallery-add-form { grid-template-columns: 1fr; }.ph-facility-gallery-preview { max-width: 22rem; }.ph-facility-gallery-save .btn { min-width: 4.5rem; } }
.admin-marketplace-media-shell { width: 100%; min-width: 0; padding: 0 clamp(1.25rem,4vw,3rem) 3rem; }.ph-admin-media-grid { display: grid; min-width: 0; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .85rem; }.ph-admin-media-card { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; }.ph-admin-media-preview { position: relative; overflow: hidden; aspect-ratio: 16/9; background: #edf3f2; }.ph-admin-media-preview > img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; object-fit: cover; object-position: center; }.ph-admin-media-badges { position: absolute; top: .5rem; left: .5rem; display: flex; flex-wrap: wrap; gap: .3rem; }.ph-admin-media-body { display: grid; min-width: 0; max-width: 100%; align-content: start; gap: .5rem; overflow: hidden; padding: .75rem; }.ph-admin-media-body > * { min-width: 0; max-width: 100%; }.ph-admin-media-body h2,.ph-admin-media-filename { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.ph-admin-media-filename { margin: 0; color: var(--ph-muted); font-size: .72rem; }.ph-admin-media-form { display: grid; min-width: 0; max-width: 100%; grid-template-columns: minmax(0,1fr); gap: .4rem; padding-top: .5rem; border-top: 1px solid var(--cui-border-color); }.ph-admin-media-form .form-control { display: block; width: auto; min-width: 0; max-width: 100%; min-height: 2.35rem; font-size: .78rem; }.ph-admin-media-form .btn { width: auto; min-width: 0; max-width: 100%; min-height: 2.35rem; padding-inline: .7rem; }
@media (max-width: 1400px) { .ph-admin-media-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 1200px) { .ph-admin-media-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 800px) { .ph-admin-media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) { .admin-marketplace-media-shell { padding-inline: 1rem; }.ph-admin-media-grid { grid-template-columns: 1fr; } }
.admin-media-overview { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem; }.admin-media-overview article { display:grid;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.7rem;padding:.85rem 1rem;border:1px solid var(--cui-border-color);border-radius:.75rem;background:#fff;box-shadow:var(--cui-box-shadow-sm); }.admin-media-overview article > i { display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:.65rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1);font-size:1rem; }.admin-media-overview article > div { display:grid; }.admin-media-overview small { color:var(--cui-secondary-color);font-size:.65rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase; }.admin-media-overview strong { color:var(--ph-ink);font-size:1.25rem; }.admin-media-panel { overflow:hidden;border:1px solid var(--cui-border-color);border-radius:.85rem;background:#fff;box-shadow:var(--cui-box-shadow-sm); }.admin-media-panel > header { display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--cui-border-color);background:#f8faf9; }.admin-media-panel > header > div > span { color:var(--ph-accent);font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.admin-media-panel > header h2 { margin:.08rem 0 .18rem;font-size:1.08rem; }.admin-media-panel > header p { margin:0;color:var(--cui-secondary-color);font-size:.76rem; }.admin-media-panel .ph-admin-media-grid { padding:1rem; }.ph-admin-media-card { box-shadow:0 .25rem .75rem rgba(23,50,58,.065) !important; }.ph-admin-media-card.is-hidden { background:var(--cui-tertiary-bg); }.ph-admin-media-card.is-hidden .ph-admin-media-preview img { filter:grayscale(.8);opacity:.72; }.admin-media-identity { display:grid;grid-template-columns:2.35rem minmax(0,1fr);align-items:center;gap:.65rem; }.admin-media-identity > div { min-width:0; }.admin-media-identity small { color:var(--ph-accent);font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }.admin-media-identity h2 { margin:.08rem 0 0;font-size:.82rem; }.admin-media-caption { min-height:2.6em;margin:0;color:var(--ph-ink);font-size:.75rem;line-height:1.4; }.admin-media-caption.is-empty { color:var(--cui-secondary-color);font-style:italic; }.admin-media-reason { display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:.45rem;padding:.6rem;border-radius:.55rem;color:var(--cui-danger-text-emphasis);background:var(--cui-danger-bg-subtle); }.admin-media-reason i { margin-top:.15rem;text-align:center; }.admin-media-reason p { display:grid;gap:.05rem;margin:0;font-size:.7rem; }.ph-admin-media-form > label { color:var(--ph-ink);font-size:.68rem;font-weight:750; }.ph-admin-media-form > div { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem; }.admin-media-empty { display:grid;grid-template-columns:2.75rem minmax(0,1fr);align-items:center;gap:.75rem;padding:1.5rem; }.admin-media-empty > i { display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:.7rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1); }.admin-media-empty p { margin:.15rem 0 0;color:var(--cui-secondary-color);font-size:.78rem; }
@media (max-width:991.98px) { .admin-media-overview { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .admin-media-overview { grid-template-columns:1fr; }.admin-media-panel > header { align-items:start;flex-direction:column; }.ph-admin-media-form > div { grid-template-columns:1fr; }.ph-admin-media-form .btn { width:100%; } }
.ph-clinic-branch-public-service-summary { display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.7rem .75rem!important; }.ph-clinic-branch-public-service-name { gap:.55rem; }.ph-clinic-branch-public-service-name h3 { overflow-wrap:anywhere;font-size:.88rem;line-height:1.3; }.ph-clinic-branch-public-service-name .ph-professional-profile-check { width:1.7rem;height:1.7rem;border-radius:.5rem;font-size:.72rem; }.ph-clinic-branch-public-service-meta { display:flex;align-items:center;gap:.8rem;text-align:right;white-space:nowrap; }.ph-clinic-branch-public-service-meta > span { display:inline-flex;align-items:center;gap:.3rem;color:var(--ph-muted);font-size:.7rem; }.ph-clinic-branch-public-service-meta > strong { font-size:.82rem; }.ph-clinic-branch-public-service-meta small { display:inline;margin-left:.18rem;color:var(--ph-muted);font-size:.62rem;font-weight:600; }.ph-service-select { display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .55rem!important;border-radius:.5rem;font-size:.7rem!important;white-space:nowrap; }.ph-service-select i { font-size:.62rem; }
@media (max-width: 700px) { .ph-clinic-branch-public-service-summary { grid-template-columns:minmax(0,1fr) auto; }.ph-clinic-branch-public-service-name { grid-column:1/-1; }.ph-clinic-branch-public-service-meta { justify-content:flex-start;margin-left:2.25rem;text-align:left; }.ph-service-select { justify-self:end; } }
@media (max-width: 420px) { .ph-clinic-branch-public-service-meta { align-items:flex-start;flex-direction:column;gap:.15rem; }.ph-clinic-branch-public-service-meta small { display:inline; } }
.ph-clinic-opening-hours { margin-top: .85rem; padding: .9rem; border: 1px solid #b9d9ce; border-radius: .75rem; background: #f1faf6; }.ph-clinic-opening-hours-heading { display: flex; align-items: center; gap: .45rem; margin-bottom: .65rem; color: #176c4a; }.ph-clinic-opening-hours-heading > span { display: inline-grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; color: #fff; background: #218354; font-size: .85rem; font-weight: 900; }.ph-clinic-opening-hours-heading small { color: inherit; font-size: .74rem; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }.ph-clinic-opening-hours > dl { display: grid; gap: .45rem; margin: 0; }.ph-clinic-opening-hours > dl > div { display: grid; grid-template-columns: minmax(4.5rem,auto) minmax(0,1fr); align-items: baseline; gap: .75rem; padding-top: .45rem; border-top: 1px solid #d2e7df; }.ph-clinic-opening-hours > dl > div:first-child { padding-top: 0; border-top: 0; }.ph-clinic-opening-hours dt { color: #176c4a; font-size: .8rem; font-weight: 850; }.ph-clinic-opening-hours dd { margin: 0; color: #173f34; font-size: .82rem; font-weight: 800; text-align: right; }
@media (max-width: 420px) { .ph-clinic-opening-hours > dl > div { grid-template-columns: 1fr; gap: .15rem; }.ph-clinic-opening-hours dd { text-align: left; } }
.ph-clinic-public-portrait > span { width: 3.25rem; height: 3.25rem; background-image: var(--ph-page-icon); background-position: center; background-repeat: no-repeat; background-size: 2.5rem; opacity: .65; }.ph-clinic-public-highlights { grid-template-columns: repeat(2,minmax(0,1fr)); }.ph-clinic-public-content { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,22rem); align-items: start; gap: clamp(.9rem,1.5vw,1.35rem); margin-top: clamp(.9rem,1.5vw,1.35rem); }.ph-clinic-public-intro { max-width: 46rem; margin: -.15rem 0 1rem; color: #40585d; line-height: 1.6; }.ph-clinic-public-branches { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; }.ph-clinic-public-branches > article { min-width: 0; overflow: hidden; border: 1px solid #d5e1df; border-radius: .9rem; background: #fff; box-shadow: 0 .45rem 1.2rem rgba(23,50,58,.045); }.ph-clinic-public-branch-media { position: relative; display: grid; min-height: 10rem; place-items: center; overflow: hidden; background: linear-gradient(145deg,rgba(var(--cui-primary-rgb),.13),rgba(var(--cui-primary-rgb),.04)); }.ph-clinic-public-branch-media > img { width: 100%; height: 100%; min-height: 10rem; max-height: 13rem; object-fit: cover; }.ph-clinic-public-branch-media > .ph-page-icon-building { width: 3rem; height: 3rem; background-image: var(--ph-page-icon); background-position: center; background-repeat: no-repeat; background-size: 2.25rem; opacity: .55; }.ph-clinic-public-branch-media > span:last-child { position: absolute; top: .7rem; left: .7rem; padding: .3rem .5rem; border-radius: 999px; color: #187449; background: rgba(255,255,255,.94); box-shadow: 0 .2rem .7rem rgba(23,50,58,.12); font-size: .68rem; font-weight: 800; }.ph-clinic-public-branch-body { display: grid; gap: .8rem; padding: .9rem; }.ph-clinic-public-branch-body small { color: var(--ph-accent); font-size: .7rem; font-weight: 800; text-transform: uppercase; }.ph-clinic-public-branch-body h3 { margin: .15rem 0 0; font-size: 1.08rem; }.ph-clinic-public-branch-body dl { display: grid; margin: 0; border-top: 1px solid #e1e9e8; }.ph-clinic-public-branch-body dl > div { display: flex; justify-content: space-between; gap: .75rem; padding: .5rem 0; border-bottom: 1px solid #e1e9e8; }.ph-clinic-public-branch-body dt { color: var(--ph-muted); font-size: .7rem; text-transform: uppercase; }.ph-clinic-public-branch-body dd { margin: 0; font-size: .76rem; font-weight: 700; text-align: right; }.ph-clinic-public-branch-body .btn { display: flex; min-height: 2.75rem; align-items: center; justify-content: space-between; }.ph-clinic-public-note { display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: .8rem; padding: 1.15rem; border: 1px solid #cfdddb; border-radius: 1rem; background: rgba(255,255,255,.97); box-shadow: 0 .6rem 1.8rem rgba(23,50,58,.055); }.ph-clinic-public-note .ph-professional-verification-mark { margin: 0; }.ph-clinic-public-note h2 { margin: .1rem 0 .4rem; font-size: 1.1rem; }.ph-clinic-public-note p { margin: 0; color: var(--ph-muted); font-size: .82rem; line-height: 1.55; }
@media (max-width: 950px) { .ph-clinic-public-content { grid-template-columns: 1fr; }.ph-clinic-public-note { max-width: none; } }
@media (max-width: 650px) { .ph-clinic-public-branches { grid-template-columns: 1fr; }.ph-clinic-public-highlights { grid-template-columns: 1fr; }.ph-clinic-public-highlights > div:nth-child(odd) { border-right: 0; }.ph-clinic-public-highlights > div:first-child { border-bottom: 1px solid #e5eceb; } }
.ph-clinic-directory-page { min-height: calc(100vh - 7rem); padding: 1rem clamp(1rem,2.5vw,2rem) 3rem; color: var(--ph-ink); background: #f5f7f7; }.ph-clinic-directory-container { width: min(100%,88rem); margin-inline: auto; }.ph-clinic-directory-back { margin-bottom: .85rem; }.ph-clinic-directory-back a { display: inline-flex; min-height: 2.5rem; align-items: center; gap: .55rem; color: #53676b; font-size: .875rem; font-weight: 700; text-decoration: none; }.ph-clinic-directory-back a > span { font-size: 1.1rem; }.ph-clinic-directory-back a:hover { color: var(--ph-accent); }.ph-clinic-directory-header { display: grid; grid-template-columns: 6.5rem minmax(0,1fr); align-items: center; gap: 2rem; padding: 1.35rem; border: 1px solid #d9e2e1; border-radius: .9rem; background: #fff; }.ph-clinic-directory-logo-column { display: grid; justify-items: center; gap: .65rem; }.ph-clinic-directory-logo { display: grid; width: 6.5rem; height: 6.5rem; place-items: center; overflow: hidden; border: 1px solid #d9e2e1; border-radius: .8rem; background: #f0f5f4; }.ph-clinic-directory-logo img { width: 100%; height: 100%; object-fit: cover; }.ph-clinic-directory-logo > span { display: grid; width: 4rem; height: 4rem; place-items: center; opacity: .55; }.ph-clinic-directory-logo > span::before { font-size: 2.75rem; }.ph-clinic-directory-verified { display: inline-flex; align-items: center; gap: .4rem; color: #187449; font-size: .75rem; font-weight: 800; }.ph-clinic-directory-verified i { display: inline-grid; width: 1.15rem; height: 1.15rem; place-items: center; border-radius: 50%; color: #fff; background: #218354; font-size: .65rem; }.ph-clinic-directory-identity h1 { margin: .25rem 0 .35rem; font-size: clamp(1.55rem,3vw,2.15rem); line-height: 1.15; letter-spacing: -.02em; }.ph-clinic-directory-identity > p { max-width: 48rem; margin: 0; color: #607276; font-size: .925rem; line-height: 1.55; }.ph-clinic-directory-summary { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin-top: .75rem; color: #607276; font-size: .8rem; }.ph-clinic-directory-summary span { display: inline-flex; align-items: baseline; gap: .3rem; }.ph-clinic-directory-summary strong { color: var(--ph-ink); font-size: .95rem; }.ph-clinic-directory-branches { margin-top: 1.4rem; }.ph-clinic-directory-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; padding-inline: .1rem; }.ph-clinic-directory-section-heading > div > span { color: var(--ph-accent); font-size: .72rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }.ph-clinic-directory-section-heading h2 { margin: .1rem 0 0; font-size: 1.35rem; }.ph-clinic-directory-section-heading p { margin: 0; color: #607276; font-size: .82rem; }.ph-clinic-directory-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }.ph-clinic-directory-card { display: grid; grid-template-columns: minmax(9rem,38%) minmax(0,1fr); min-width: 0; overflow: hidden; border: 1px solid #d9e2e1; border-radius: .85rem; background: #fff; transition: border-color .15s,box-shadow .15s; }.ph-clinic-directory-card:hover { border-color: #a9c4bf; box-shadow: 0 .45rem 1.2rem rgba(23,50,58,.07); }.ph-clinic-directory-card-media { display: grid; min-height: 13rem; place-items: center; overflow: hidden; background: #edf3f2; }.ph-clinic-directory-card-media img { width: 100%; height: 100%; object-fit: cover; }.ph-clinic-directory-card-media > span { width: 2.5rem; height: 2.5rem; background-image: var(--ph-page-icon); background-position: center; background-repeat: no-repeat; background-size: 1.8rem; opacity: .5; }.ph-clinic-directory-card-content { display: flex; min-width: 0; flex-direction: column; padding: 1rem; }.ph-clinic-directory-card-state { display: inline-flex; align-items: center; gap: .35rem; color: #187449; font-size: .7rem; font-weight: 800; }.ph-clinic-directory-card-state i { width: .45rem; height: .45rem; border-radius: 50%; background: #218354; }.ph-clinic-directory-card h3 { margin: .25rem 0 .3rem; font-size: 1.05rem; }.ph-clinic-directory-card p { margin: 0; color: #607276; font-size: .8rem; }.ph-clinic-directory-card ul { display: grid; gap: .25rem; margin: .75rem 0; padding-left: 1rem; color: #607276; font-size: .76rem; }.ph-clinic-directory-card a { display: flex; min-height: 2.6rem; margin-top: auto; align-items: center; justify-content: space-between; padding: .55rem .7rem; border: 1px solid #b8cdca; border-radius: .6rem; color: var(--ph-accent); font-size: .8rem; font-weight: 800; text-decoration: none; }.ph-clinic-directory-card a:hover { border-color: var(--ph-accent); background: #f1f8f6; }.ph-clinic-directory-footnote { display: flex; align-items: center; gap: .5rem; margin: 1rem 0 0; color: #607276; font-size: .78rem; }.ph-clinic-directory-footnote > i { display: inline-grid; width: 1.25rem; height: 1.25rem; place-items: center; border: 1px solid #a7c9c3; border-radius: 50%; color: var(--ph-accent); font-size: .65rem; font-weight: 800; }
@media (max-width: 900px) { .ph-clinic-directory-grid { grid-template-columns: 1fr; }.ph-clinic-directory-card { grid-template-columns: 12rem minmax(0,1fr); } }
@media (max-width: 575.98px) { .ph-clinic-directory-page { padding: .75rem 1rem 2.5rem; }.ph-clinic-directory-header { grid-template-columns: 4.5rem minmax(0,1fr); align-items: start; gap: .85rem; padding: 1rem; }.ph-clinic-directory-logo { width: 4.5rem; height: 4.5rem; }.ph-clinic-directory-identity > p,.ph-clinic-directory-summary { grid-column: 1/-1; }.ph-clinic-directory-section-heading { align-items: start; flex-direction: column; gap: .25rem; }.ph-clinic-directory-card { grid-template-columns: 1fr; }.ph-clinic-directory-card-media { min-height: 11rem; max-height: 14rem; }.ph-clinic-directory-card-content { padding: .9rem; }.ph-clinic-directory-card a { min-height: 2.75rem; } }
.ph-clinic-profile-manager { max-width: 92rem; }.ph-clinic-profile-card { display: grid; grid-template-columns: 7rem minmax(0,1fr) minmax(12rem,16rem); align-items: center; gap: 1.25rem; }.ph-clinic-profile-picture,.ph-clinic-profile-branch-picture { position: relative; display: grid; min-width: 0; min-height: 0; place-items: center; overflow: hidden; background: #edf3f2; }.ph-clinic-profile-picture { width: 7rem; height: 7rem; border: 1px solid #d8e4e2; border-radius: 1rem; }.ph-clinic-profile-picture img,.ph-clinic-profile-branch-picture img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; object-fit: cover; object-position: center; }.ph-clinic-profile-picture img { border-radius: 1rem; }.ph-clinic-profile-picture > span,.ph-clinic-profile-branch-picture > span { width: 2.5rem; height: 2.5rem; background-image: var(--ph-page-icon); background-position: center; background-repeat: no-repeat; background-size: 2rem; opacity: .5; }.ph-clinic-profile-copy { min-width: 0; }.ph-clinic-profile-copy small { display: block; margin-top: .55rem; color: var(--ph-muted); overflow-wrap: anywhere; }.ph-clinic-profile-upload,.ph-clinic-profile-branch-upload { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .65rem; }.ph-clinic-profile-upload { width: 100%; justify-self: end; }.ph-clinic-profile-upload small,.ph-clinic-profile-branch-upload small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.ph-clinic-profile-upload .btn,.ph-clinic-profile-branch-upload .btn { min-height: 2.35rem; flex: 0 0 auto; padding-inline: .8rem; }.ph-clinic-profile-branch { min-width: 0; overflow: hidden; }.ph-clinic-profile-branch-picture { width: 100%; aspect-ratio: 16/9; border-radius: .75rem .75rem 0 0; border-bottom: 1px solid #d8e4e2; }.ph-clinic-profile-branch-picture img { border-radius: .75rem .75rem 0 0; }.ph-clinic-profile-branch-picture > span { width: 3rem; height: 3rem; background-size: 2.4rem; }.ph-clinic-profile-picture .ph-marketplace-photo-edit,.ph-clinic-profile-branch-picture .ph-marketplace-photo-edit { right: .55rem; bottom: .55rem; border-color: #fff; }
@media (max-width: 767.98px) { .ph-clinic-profile-card { grid-template-columns: 5.5rem minmax(0,1fr); gap: 1rem; }.ph-clinic-profile-picture { width: 5.5rem; height: 5.5rem; }.ph-clinic-profile-upload { grid-column: 1/-1; justify-self: stretch; } }

/* Presentation follow-up — clearer rates, credentials, capabilities and clinical-note composition. */
.clinic-rate-service { border-left: .25rem solid rgba(var(--cui-primary-rgb),.42) !important; }
.clinic-rate-service > summary { min-height: 4.25rem; background: #fff; transition: background-color .15s ease; }
.clinic-rate-service > summary strong { color: var(--cui-emphasis-color); font-size: 1rem; }
.clinic-rate-service[open] { border-left-color: var(--ph-accent) !important; box-shadow: 0 .45rem 1.15rem rgba(23,50,58,.11); }
.clinic-rate-service[open] > summary { border-bottom: 1px solid rgba(var(--cui-primary-rgb),.18); background: rgba(var(--cui-primary-rgb),.07); }
.clinic-rate-service[open] .clinic-service-manage i { transform: rotate(180deg); }
.clinic-rate-variant { margin: 0 0 .75rem; padding: 1rem; border-left: .2rem solid rgba(var(--cui-primary-rgb),.32); background: #fff; }
.clinic-rate-variant:last-of-type { margin-bottom: .9rem; }
.clinic-effective-rate { display: grid; flex: 0 0 auto; justify-items: end; padding: .45rem .65rem; border-radius: .55rem; color: var(--cui-primary-text-emphasis); background: var(--cui-primary-bg-subtle); }
.clinic-effective-rate small { font-size: .66rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.clinic-effective-rate strong { font-size: 1rem; }

.provider-credential-list { grid-template-columns: 1fr; gap: .75rem; }
.provider-credential-card { box-shadow: 0 .125rem .35rem rgba(23,50,58,.06); }
.provider-credential-card .clinic-evidence-card-body { gap: .65rem; padding: .75rem 1rem 1rem; }
.provider-credential-current { display: grid; grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .4rem 0 .8rem; border-bottom: 1px solid var(--cui-border-color); }
.provider-credential-current > div { display: grid; min-width: 0; gap: .05rem; }
.provider-credential-current > div > span,.provider-credential-expiry > span { color: var(--cui-secondary-color); font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.provider-credential-current strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.provider-credential-current small { color: var(--cui-secondary-color); }
.provider-credential-expiry { padding-left: .85rem; border-left: 1px solid var(--cui-border-color); text-align: right; }
.provider-credential-expiry strong { font-size: .875rem; white-space: nowrap; }
.provider-credential-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; align-items: center; padding: .1rem 0; }
.provider-credential-facts > span { display: grid; min-width: 0; gap: .05rem; padding: .15rem .75rem; border-right: 1px solid var(--cui-border-color); }
.provider-credential-facts > span:first-child { padding-left: 0; }
.provider-credential-facts small { color: var(--cui-secondary-color); font-size: .62rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.provider-credential-facts strong { font-size: .74rem; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; text-transform: capitalize; }
.provider-credential-file-actions { display: flex; align-items: center; gap: .4rem; margin-left: .75rem; }
.provider-credential-file-actions .btn { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; padding: 0; }
.provider-credential-upload-action { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; padding-top: .65rem; border-top: 1px solid var(--cui-border-color); }
.provider-credential-upload-action > span { color: var(--cui-secondary-color); font-size: .7rem; }
.provider-credential-modal { overflow: hidden; border: 0; box-shadow: 0 1rem 3rem rgba(23,50,58,.22); }
.provider-credential-modal .modal-header { align-items: flex-start; padding: 1rem 1.15rem; }
.provider-credential-modal .modal-body { padding: 1rem 1.15rem; }
.provider-credential-modal-intro { margin: 0 0 1rem; color: var(--cui-secondary-color); font-size: .84rem; line-height: 1.5; }
.provider-credential-upload { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: end; gap: .85rem; }
.provider-credential-upload .form-label { display: grid; gap: .35rem; margin: 0; font-size: .82rem; font-weight: 700; }
.provider-credential-upload .form-label .text-body-secondary { font-size: .72rem; font-weight: 500; }
.provider-credential-file { grid-column: 1/-1; }
.provider-credential-modal .modal-footer { padding: .8rem 1.15rem; background: var(--cui-tertiary-bg); }

.ph-capabilities-card { overflow: hidden; }
.ph-marketplace-profile-columns { column-count: 2; column-gap: 1.5rem; }
.ph-marketplace-profile-columns > .card { display: inline-block; width: 100%; margin-bottom: 1.5rem; break-inside: avoid; }
@media (max-width: 1199.98px) { .ph-marketplace-profile-columns { column-count: 1; }.ph-marketplace-profile-columns > .card { display: block; } }
.ph-capabilities-card .card-body { padding: clamp(1rem,2vw,1.35rem); }
.ph-capabilities-heading { display: grid; grid-template-columns: 2.75rem minmax(0,1fr); align-items: start; gap: .85rem; margin-bottom: 1.25rem; }
.ph-capabilities-form { display: grid; gap: 1.25rem; }
.ph-capabilities-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.ph-capability-group { min-width: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--cui-border-color); border-radius: .75rem; }
.ph-capability-group legend { width: 100%; margin: 0; padding: .7rem .85rem; color: var(--cui-primary-text-emphasis); border-bottom: 1px solid var(--cui-border-color); background: rgba(var(--cui-primary-rgb),.07); font-size: .78rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.ph-capability-options { display: grid; gap: .4rem; padding: .65rem; }
.ph-capability-option { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .65rem; min-height: 2.75rem; margin: 0; padding: .55rem .65rem; border: 1px solid transparent; border-radius: .55rem; background: var(--cui-tertiary-bg); cursor: pointer; }
.ph-capability-option:has(input:checked) { color: var(--cui-primary-text-emphasis); border-color: rgba(var(--cui-primary-rgb),.25); background: var(--cui-primary-bg-subtle); }
.ph-capability-option input { float: none; margin: 0; }
.ph-capabilities-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--cui-border-color); }
.ph-capabilities-footer span { color: var(--cui-secondary-color); font-size: .82rem; }

.clinical-note-shell { width: min(100%,88rem); margin-inline: auto; padding: 0 clamp(1rem,3vw,2.5rem) 3rem; }
.clinical-note-header { padding-bottom: 1.15rem; border-bottom: 1px solid var(--cui-border-color); }
.clinical-note-create-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(16rem,22rem); align-items: start; gap: 1rem; }
.clinical-note-create-card,.clinical-note-privacy-card,.clinical-note-editor-card,.clinical-note-guidance,.clinical-note-finalize-card { border: 1px solid var(--cui-border-color) !important; box-shadow: var(--cui-box-shadow-sm); }
.clinical-note-create-card .card-body { padding: clamp(1.1rem,2vw,1.5rem); }
.clinical-note-section-heading { display: grid; grid-template-columns: 2.35rem minmax(0,1fr); align-items: start; gap: .8rem; margin-bottom: 1.25rem; }
.clinical-note-section-heading p { margin: 0; color: var(--cui-secondary-color); }
.clinical-note-create-form { display: grid; gap: 1rem; }
.clinical-note-create-form .form-label { display: grid; gap: .4rem; margin: 0; font-weight: 700; }
.clinical-note-create-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--cui-border-color); }
.clinical-note-create-footer span { color: var(--cui-secondary-color); font-size: .82rem; }
.clinical-note-privacy-card .card-body { display: grid; grid-template-columns: 2.35rem minmax(0,1fr); gap: .75rem; padding: 1rem; }
.clinical-note-privacy-card h2 { margin: .1rem 0 .25rem; }
.clinical-note-privacy-card p { margin: 0; color: var(--cui-secondary-color); font-size: .85rem; }
.clinical-note-editor-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,22rem); align-items: start; gap: 1rem; }
.clinical-note-editor-card { min-width: 0; overflow: hidden; }
.clinical-note-editor-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; background: var(--cui-tertiary-bg); }
.clinical-note-editor-toolbar > span { color: var(--cui-secondary-color); font-size: .78rem; }
.clinical-note-editor-card > .card-body { padding: 1.15rem; }
.clinical-note-sections { display: grid; gap: 1rem; }
.clinical-note-field { display: grid; gap: .4rem; }
.clinical-note-field label { display: flex; align-items: center; justify-content: space-between; gap: .75rem; font-weight: 750; }
.clinical-note-field label small { padding: .2rem .45rem; border-radius: var(--cui-border-radius-pill); color: var(--cui-danger-text-emphasis); background: var(--cui-danger-bg-subtle); font-size: .65rem; letter-spacing: .04em; text-transform: uppercase; }
.clinical-note-field textarea { min-height: 8rem; line-height: 1.55; resize: vertical; }
.clinical-note-save-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1.15rem; background: var(--cui-tertiary-bg); }
.clinical-note-save-bar span { color: var(--cui-secondary-color); font-size: .8rem; }
.clinical-note-editor-side { position: sticky; top: 5.75rem; display: grid; gap: 1rem; }
.clinical-note-guidance .card-body,.clinical-note-finalize-card .card-body { padding: 1rem; }
.clinical-note-guidance ul { display: grid; gap: .45rem; margin: .75rem 0 0; padding-left: 1.1rem; color: var(--cui-secondary-color); font-size: .85rem; }
.clinical-note-finalize-card { border-color: var(--cui-warning-border-subtle) !important; }
.clinical-note-finalize-card .ph-action-icon { margin-bottom: .75rem; color: var(--cui-warning-text-emphasis); background: var(--cui-warning-bg-subtle); }
.clinical-note-finalize-card p { color: var(--cui-secondary-color); font-size: .85rem; }
.clinical-record-card { overflow:hidden;border:1px solid var(--cui-border-color);border-radius:var(--cui-border-radius-lg);background:var(--cui-body-bg);box-shadow:var(--cui-box-shadow-sm); }
.clinical-record-banner { display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1.15rem 1.25rem;border-bottom:1px solid var(--cui-border-color);background:linear-gradient(135deg,var(--cui-tertiary-bg),var(--cui-body-bg)); }
.clinical-record-banner > .ph-action-icon { width:2.75rem;height:2.75rem;color:var(--ph-accent);background:var(--cui-primary-bg-subtle); }
.clinical-record-banner > div > p:last-child { color:var(--cui-secondary-color);font-size:.86rem; }
.clinical-record-lock { display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .65rem;border-radius:var(--cui-border-radius-pill);color:var(--cui-success-text-emphasis);background:var(--cui-success-bg-subtle);font-size:.72rem;font-weight:750;letter-spacing:.02em; }
.clinical-record-sections { padding:0 1.25rem; }
.clinical-record-section { display:grid;grid-template-columns:minmax(14rem,32%) minmax(0,1fr);gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--cui-border-color); }
.clinical-record-section:last-child { border-bottom:0; }
.clinical-record-section-label { display:grid;grid-template-columns:1.8rem minmax(0,1fr);align-items:start;gap:.65rem; }
.clinical-record-section-label > span { display:grid;width:1.8rem;height:1.8rem;place-items:center;border-radius:50%;color:var(--ph-accent);background:var(--cui-primary-bg-subtle);font-size:.72rem;font-weight:800; }
.clinical-record-section-label h3 { margin:.18rem 0 0;font-size:.88rem;font-weight:750;line-height:1.35; }
.clinical-record-section-value { min-height:1.8rem;padding-left:1.5rem;border-left:2px solid var(--cui-border-color);font-size:.98rem;line-height:1.65; }
.clinical-amendments { overflow:hidden;border:1px solid var(--cui-border-color);border-radius:var(--cui-border-radius-lg);background:var(--cui-body-bg);box-shadow:var(--cui-box-shadow-sm); }
.clinical-amendments-header { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border-bottom:1px solid var(--cui-border-color);background:var(--cui-tertiary-bg); }
.clinical-amendments-header p:last-child { color:var(--cui-secondary-color);font-size:.86rem; }
.clinical-amendment-list { padding:0 1.25rem; }
.clinical-amendment-item { display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:1rem;padding:1.25rem 0; }
.clinical-amendment-item + .clinical-amendment-item { border-top:1px solid var(--cui-border-color); }
.clinical-amendment-marker { display:flex;align-items:center;flex-direction:column; }
.clinical-amendment-marker span { display:grid;width:2.1rem;height:2.1rem;flex:0 0 auto;place-items:center;border:1px solid var(--cui-warning-border-subtle);border-radius:50%;color:var(--cui-warning-text-emphasis);background:var(--cui-warning-bg-subtle);font-size:.78rem;font-weight:800; }
.clinical-amendment-marker i { width:1px;min-height:2rem;flex:1;background:var(--cui-border-color); }
.clinical-amendment-item:last-child .clinical-amendment-marker i { display:none; }
.clinical-amendment-body { min-width:0; }
.clinical-amendment-meta { display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.85rem; }
.clinical-amendment-meta h3 { margin:0;font-size:1rem; }
.clinical-amendment-meta time { color:var(--cui-secondary-color);font-size:.78rem;white-space:nowrap; }
.clinical-amendment-body dl { margin:0 0 .85rem; }.clinical-amendment-body dl > div { display:grid;grid-template-columns:minmax(9rem,25%) minmax(0,1fr);gap:1rem; }.clinical-amendment-body dt { color:var(--cui-secondary-color);font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.03em; }.clinical-amendment-body dd { margin:0;font-weight:650; }
.clinical-amendment-content { padding:1rem;border-left:3px solid var(--cui-warning-border-subtle);border-radius:0 var(--cui-border-radius) var(--cui-border-radius) 0;background:var(--cui-tertiary-bg); }
.clinical-amendment-content > span { display:block;margin-bottom:.4rem;color:var(--cui-secondary-color);font-size:.72rem;font-weight:750;letter-spacing:.03em;text-transform:uppercase; }
.clinical-amendment-content p { line-height:1.6; }
.clinical-amend-form { border-color:var(--cui-warning-border-subtle) !important;box-shadow:var(--cui-box-shadow-sm); }
.clinical-amend-form .clinical-note-section-heading { margin-bottom:1rem; }
.clinical-amend-form-footer { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--cui-border-color); }.clinical-amend-form-footer span { color:var(--cui-secondary-color);font-size:.8rem; }
.clinical-record-simple { max-width:66rem;border-color:var(--cui-border-color);box-shadow:var(--cui-box-shadow-sm); }
.clinical-record-simple > .card-body { padding:clamp(1rem,2vw,1.4rem); }
.clinical-record-simple-section { padding:0 0 1.15rem;margin:0 0 1.15rem;border-bottom:1px solid var(--cui-border-color); }
.clinical-record-simple-section:last-child { padding-bottom:0;margin-bottom:0;border-bottom:0; }
.clinical-record-simple-section h2 { margin:0 0 .4rem;color:var(--cui-secondary-color);font-size:.78rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase; }
.clinical-record-simple-section p { font-size:1rem;line-height:1.6; }
.clinical-record-simple-amendment { padding:1rem 0;border-top:1px solid var(--cui-border-color); }
.clinical-record-simple-amendment:first-of-type { padding-top:0;border-top:0; }
.clinical-record-simple-amendment:last-child { padding-bottom:0; }
@media (max-width: 991.98px) { .clinical-note-create-layout,.clinical-note-editor-layout { grid-template-columns: 1fr; }.clinical-note-editor-side { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 767.98px) { .provider-credential-upload { grid-template-columns: 1fr; }.provider-credential-file { grid-column: auto; }.provider-credential-upload-action { align-items: stretch; flex-direction: column; }.provider-credential-upload-action .btn { width: 100%; }.ph-capabilities-grid { grid-template-columns: 1fr; }.ph-capabilities-footer,.clinical-note-create-footer,.clinical-note-save-bar,.clinical-amend-form-footer { align-items: stretch; flex-direction: column; }.ph-capabilities-footer .btn,.clinical-note-create-footer .btn,.clinical-note-save-bar .btn,.clinical-amend-form-footer .btn { width: 100%; }.clinical-note-editor-side { grid-template-columns: 1fr; }.clinic-effective-rate { justify-items: start; }.offering-variant-heading { flex-direction: column; }.clinical-record-banner { grid-template-columns:2.75rem minmax(0,1fr); }.clinical-record-lock { grid-column:2;justify-self:start; }.clinical-record-section { grid-template-columns:1fr;gap:.75rem; }.clinical-record-section-value { padding:0 0 0 2.45rem;border-left:0; }.clinical-amendment-meta { align-items:flex-start;flex-direction:column;gap:.2rem; }.clinical-amendment-body dl > div { grid-template-columns:1fr;gap:.25rem; } }

/* M9.9.2 — Professional Services follows the Independent Practice workspace standard. */
.ph-simple-services-shell{padding-top:.25rem}.ph-simple-services-workspace{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:1.5rem}.ph-simple-services-content{display:grid;min-width:0;gap:1.75rem}.ph-simple-services-nav{margin:0}.ph-simple-services-nav .availability-workspace-tab{display:inline-flex;align-items:center;gap:.45rem}.ph-simple-services-nav .availability-workspace-tab.active .badge{color:var(--cui-body-color)!important;background:#fff!important}.ph-simple-service-panel[hidden]{display:none!important}.ph-simple-service-section-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.ph-simple-service-section-heading .availability-icon-heading{display:flex;align-items:center;gap:.65rem}.ph-simple-service-section-heading .ph-action-icon{font-size:.9rem}.ph-simple-service-editor{overflow:hidden;border-color:var(--cui-border-color);box-shadow:var(--cui-box-shadow-sm)}.ph-simple-service-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;padding:1.25rem}.ph-simple-service-fields .form-label{margin-bottom:.35rem;font-weight:650}.ph-simple-service-fields small{display:block;margin-top:.35rem;color:var(--cui-secondary-color);font-size:.75rem}.ph-simple-service-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-top:1px solid var(--cui-border-color);background:var(--cui-tertiary-bg)}.ph-simple-service-footer .form-check{display:flex;align-items:flex-start;gap:.6rem;margin:0;padding-left:0}.ph-simple-service-footer .form-check-input{flex:0 0 auto;width:1.2rem;height:1.2rem;margin:.12rem 0 0;border:2px solid #78908b;border-radius:.25rem}.ph-simple-service-footer .form-check-input:checked{border-color:var(--ph-accent);background-color:var(--ph-accent)}.ph-simple-service-footer .form-check-label{display:grid;gap:.1rem;line-height:1.3}.ph-simple-service-footer .form-check-label small{color:var(--cui-secondary-color);font-size:.72rem}.ph-simple-service-footer .btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:991.98px){.ph-simple-services-content{display:contents}.ph-simple-services-nav{order:0}.ph-simple-service-panel{order:1}}
@media(max-width:700px){.ph-simple-service-section-heading{align-items:flex-start;flex-direction:column}.ph-simple-service-fields{grid-template-columns:1fr}.ph-simple-service-footer{align-items:stretch;flex-direction:column}.ph-simple-service-footer .btn{width:100%}}
.ph-simple-services-nav{grid-template-columns:minmax(0,1fr)}.ph-simple-services-nav .availability-workspace-hint{display:none}
.ph-clinic-service-branch-form{margin-top:1.25rem}.ph-clinic-service-branch-form>.form-label{font-weight:650}.ph-clinic-service-branch-form .btn{white-space:nowrap}
@media (max-width: 575.98px) { .provider-credential-current { grid-template-columns: 2.35rem minmax(0,1fr); align-items: start; }.provider-credential-expiry { grid-column: 2; padding: .35rem 0 0; border-top: 1px solid var(--cui-border-color); border-left: 0; text-align: left; }.provider-credential-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem 0; }.provider-credential-facts > span:nth-child(2) { border-right: 0; }.provider-credential-facts > span:nth-child(3) { padding-left: 0; }.provider-credential-file-actions { justify-self: end; margin-left: .5rem; }.clinical-note-shell { padding-inline: 1rem; } }
@media (max-width: 900px) { .ph-professional-profile-content { grid-template-columns:1fr }.ph-professional-profile-aside { grid-template-columns:repeat(2,minmax(0,1fr)) }.ph-professional-profile-safety { grid-column:1/-1 } }
@media (max-width: 700px) { .ph-professional-profile-page { padding:.85rem .85rem 3rem }.ph-professional-profile-hero-grid { grid-template-columns:1fr;padding:1.15rem }.ph-professional-profile-identity { text-align:center }.ph-professional-profile-portrait { width:7.25rem;height:7.25rem }.ph-professional-profile-modes { justify-content:center }.ph-professional-profile-highlights { grid-template-columns:1fr;text-align:left }.ph-professional-profile-highlights > div:nth-child(odd){border-right:0}.ph-professional-profile-highlights > div:nth-last-child(2){border-bottom:1px solid #e5eceb}.ph-professional-profile-aside { grid-template-columns:1fr }.ph-professional-profile-safety { grid-column:auto }.ph-professional-profile-services article { grid-template-columns:1.4rem minmax(0,1fr) }.ph-professional-profile-services article > strong { grid-column:2;text-align:left }.ph-professional-profile-focus { align-items:flex-start;flex-direction:column;gap:.2rem } }
/* Booking Conversation — standard card with a compact bubble thread. */
.ph-conversation-focus { height:100dvh;overflow:hidden; }.ph-conversation-focus .wrapper { height:100dvh;min-height:0!important;overflow:hidden; }.ph-conversation-focus .header { flex:0 0 auto;margin-bottom:0!important; }.ph-conversation-focus .body { display:flex;min-height:0;overflow:hidden; }.ph-conversation-focus .footer { display:none; }.ph-conversation-focus .ph-conversation-aside { overflow:hidden; }
.ph-conversation-page { display:flex;min-height:0;flex-direction:column;gap:.75rem;overflow:hidden;padding-bottom:0; }
.ph-conversation-heading { display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.15rem 0 .6rem;border-bottom:1px solid var(--cui-border-color); }.ph-conversation-heading .foundation-eyebrow { margin-bottom:.1rem; }.ph-conversation-heading h1 { margin:0;font-size:clamp(1.35rem,2.5vw,1.8rem); }.ph-conversation-context { display:grid;max-width:24rem;text-align:right; }.ph-conversation-context strong,.ph-conversation-context span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.ph-conversation-context span { color:var(--cui-secondary-color);font-size:.78rem; }
.ph-conversation-page > .alert { flex:0 0 auto;margin:0; }.ph-conversation-workspace { display:grid;min-height:0;flex:1 1 auto;grid-template-rows:minmax(0,1fr) auto;overflow:hidden; }
.ph-message-thread { display:grid;min-height:0;align-content:start;gap:.7rem;overflow-y:auto;padding:1.1rem .35rem 1.1rem 0;background:transparent;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(82,107,103,.32) transparent; }
.ph-message-row { display:flex;min-width:0; }.ph-message-row.is-mine { justify-content:flex-end; }.ph-message-row.is-theirs { justify-content:flex-start; }
.ph-message-row.is-system { justify-content:center; }.ph-message-row.is-system .ph-message-stack { width:min(100%,42rem);max-width:100%;justify-items:center;text-align:center; }.ph-message-row.is-system .ph-message-bubble { border-style:dashed;border-color:#b9cbc7;background:#f2f7f5; }
.ph-message-bubble { width:fit-content;max-width:min(72%,38rem);padding:.65rem .8rem;border:1px solid #dce5e3;border-radius:.85rem;background:var(--cui-body-bg);box-shadow:0 1px 2px rgba(23,50,58,.045); }
.ph-message-row.is-mine .ph-message-bubble { border-color:#c6ddd7;border-bottom-right-radius:.25rem;background:#e8f4f0; }.ph-message-row.is-theirs .ph-message-bubble { border-bottom-left-radius:.25rem; }
.ph-message-bubble strong { display:block;margin-bottom:.2rem;color:var(--ph-accent);font-size:.78rem; }.ph-message-bubble p { margin:0;overflow-wrap:anywhere;white-space:pre-wrap; }.ph-message-bubble small { display:block;margin-top:.35rem;color:var(--cui-secondary-color);font-size:.68rem;text-align:right;text-transform:capitalize; }
.ph-message-composer { flex:0 0 auto;padding:.75rem 0 1rem;border-top:1px solid var(--cui-border-color);background:var(--cui-body-bg); }.ph-message-composer-control { display:grid;grid-template-columns:2.9rem minmax(0,1fr) 2.9rem;align-items:end;gap:.4rem;padding:.4rem;border:1px solid #cfdad8;border-radius:.85rem;background:#fff;box-shadow:0 .15rem .5rem rgba(23,50,58,.055); }.ph-message-composer-control:focus-within { border-color:var(--ph-accent);box-shadow:0 0 0 .2rem rgba(var(--cui-primary-rgb),.1); }.ph-message-entry { min-width:0; }.ph-message-composer textarea { width:100%;min-height:2.9rem;max-height:calc(5.68em + 1.44rem);overflow-y:hidden;padding:.72rem .35rem;border:0;outline:0;resize:none;scrollbar-width:thin;scrollbar-color:#aebfbb transparent;color:var(--ph-ink);background:transparent;font:inherit;line-height:1.42; }.ph-message-composer textarea::-webkit-scrollbar { width:5px; }.ph-message-composer textarea::-webkit-scrollbar-track { background:transparent; }.ph-message-composer textarea::-webkit-scrollbar-thumb { border-radius:999px;background:#aebfbb; }.ph-message-composer textarea::-webkit-scrollbar-thumb:hover { background:#829994; }.ph-message-composer textarea::placeholder { color:#849490; }.ph-message-action { display:grid;width:2.9rem;height:2.9rem;place-items:center;padding:0;border:0;border-radius:.65rem; }.ph-message-action svg { width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }.ph-message-attach { color:#526460;background:#edf3f1;cursor:pointer;transition:background-color .15s,color .15s; }.ph-message-attach:hover { color:var(--ph-accent);background:#e1ece9; }.ph-message-attach.is-disabled { opacity:.45;cursor:not-allowed; }.ph-message-file-name { display:block;overflow:hidden;padding:0 .35rem .35rem;color:var(--ph-accent);font-size:.72rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap; }.ph-message-send { color:#fff;background:var(--ph-accent);box-shadow:0 .15rem .4rem rgba(23,50,58,.15);transition:background-color .15s,transform .15s; }.ph-message-send:hover { background:#0d574c;transform:translateY(-1px); }.ph-message-send:focus-visible,.ph-message-attach:focus-visible { outline:.2rem solid rgba(var(--cui-primary-rgb),.22);outline-offset:.12rem; }.ph-message-send:disabled { opacity:.6;transform:none; }
@media (max-width:575.98px) { .ph-conversation-heading { grid-template-columns:minmax(0,1fr) auto;gap:.5rem; }.ph-conversation-context { grid-column:1/-1;grid-row:2;max-width:none;text-align:left; }.ph-message-thread { padding:.7rem .1rem; }.ph-message-bubble { max-width:86%; }.ph-message-composer { padding-bottom:calc(.75rem + env(safe-area-inset-bottom)); }.ph-message-composer-control { grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;gap:.3rem; }.ph-message-action { width:2.75rem;height:2.75rem; } }

/* Full available workspace with the application sidebar preserved. */
.ph-conversation-aside { display:flex;min-height:0;flex-direction:column;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(82,107,103,.32) transparent; }
.ph-conversation-aside::-webkit-scrollbar { width:5px; }.ph-conversation-aside::-webkit-scrollbar-track { background:transparent; }.ph-conversation-aside::-webkit-scrollbar-thumb { border-radius:999px;background:rgba(82,107,103,.32); }
.ph-conversation-page { width:100%;max-width:none;padding-inline:0!important; }
.ph-conversation-shell { display:grid;min-height:0;flex:1 1 auto;grid-template-columns:minmax(0,1fr) minmax(19rem,23rem);overflow:hidden;background:radial-gradient(circle at 100% 0,rgba(23,137,119,.07) 0 12rem,transparent 12.1rem),radial-gradient(circle at 0 100%,rgba(240,164,83,.07) 0 10rem,transparent 10.1rem),linear-gradient(135deg,#e7f5f1 0%,#f8fbfa 55%,#fff4e8 100%); }
.ph-conversation-main { display:flex;min-width:0;min-height:0;flex-direction:column;border-right:1px solid #dfe7e5; }
.ph-conversation-main .ph-conversation-heading { grid-template-columns:auto minmax(0,1fr) auto;padding:.9rem 1rem;border-bottom:1px solid #dfe7e5; }
.ph-conversation-owner-mark { display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:50%;color:#fff;background:var(--ph-accent);font-size:.95rem;font-weight:850; }
.ph-conversation-heading-copy { min-width:0; }.ph-conversation-heading-copy .foundation-eyebrow { margin:0 0 .05rem;font-size:.6rem; }.ph-conversation-heading-copy h1 { margin:0;font-size:1.05rem; }.ph-conversation-heading-copy > span { display:block;overflow:hidden;color:var(--cui-secondary-color);font-size:.74rem;text-overflow:ellipsis;white-space:nowrap; }.ph-conversation-drawer-trigger { display:inline-flex;max-width:100%;align-items:center;gap:.4rem;padding:0;border:0;color:inherit;background:transparent;font:inherit;font-weight:inherit;text-align:left; }.ph-conversation-drawer-trigger i { display:none;font-size:.65rem; }.ph-conversation-drawer-close,.ph-conversation-drawer-backdrop { display:none; }
.ph-conversation-alert { margin:.75rem 1rem 0; }
.ph-conversation-notice { --notice-color:#2d6f65;--notice-border:#b9d8d1;--notice-bg:#f2f9f7;display:grid;grid-template-columns:2.35rem minmax(0,1fr);gap:.75rem;align-items:start;margin:.8rem 1rem 0;padding:.75rem .85rem;border:1px solid var(--notice-border);border-left:.25rem solid var(--notice-color);border-radius:.7rem;color:#253538;background:var(--notice-bg);box-shadow:0 .15rem .45rem rgba(23,50,58,.045); }.ph-conversation-notice.is-success { --notice-color:#16834f;--notice-border:#b9ddca;--notice-bg:#f1faf5; }.ph-conversation-notice.is-warning { --notice-color:#a86705;--notice-border:#ead5a8;--notice-bg:#fff9ed; }.ph-conversation-notice.is-danger { --notice-color:#b33b42;--notice-border:#e8bec1;--notice-bg:#fff5f5; }.ph-conversation-notice-icon { display:grid;width:2.35rem;height:2.35rem;place-items:center;border-radius:.65rem;color:#fff;background:var(--notice-color);font-size:.9rem; }.ph-conversation-notice > div { min-width:0;padding-top:.05rem; }.ph-conversation-notice strong { display:block;margin-bottom:.12rem;color:var(--notice-color);font-size:.76rem;font-weight:850;letter-spacing:.015em; }.ph-conversation-notice p { margin:0;color:#405156;font-size:.78rem;line-height:1.45; }
.ph-alert { display:grid!important;width:100%;min-width:0;margin:0 0 1rem;align-items:start!important;gap:.75rem!important; }.ph-alert.is-neutral { --notice-color:#526a66;--notice-border:#d2dfdc;--notice-bg:#f7faf9; }.ph-alert-copy,.ph-alert-message { min-width:0;overflow-wrap:anywhere; }.ph-alert-message { color:#405156;font-size:.78rem;line-height:1.45; }.ph-alert-message > :last-child { margin-bottom:0; }.ph-alert-message > i[aria-hidden="true"],.ph-alert-message > .ph-action-icon { display:none!important; }.ph-alert-message form { max-width:100%;margin-top:.65rem; }.ph-alert-message .btn { max-width:100%;min-height:2.35rem;white-space:normal; }.ph-alert-message img,.ph-alert-message table { max-width:100%; }
@media (max-width:575.98px) { .ph-conversation-notice { grid-template-columns:2rem minmax(0,1fr);gap:.6rem;margin:.65rem .7rem 0;padding:.65rem;border-radius:.6rem; }.ph-conversation-notice-icon { width:2rem;height:2rem;border-radius:.55rem;font-size:.78rem; }.ph-conversation-notice p { font-size:.73rem; }.ph-alert { width:100%;margin:0 0 .8rem;gap:.6rem!important;padding:.65rem; }.ph-alert-message form,.ph-alert-message form .btn,.ph-alert-message > .btn { width:100%; } }
.ph-conversation-main .ph-message-thread { flex:1 1 auto;padding:1.2rem clamp(.75rem,1.5vw,1.25rem);background:transparent; }
.ph-conversation-main .ph-message-thread > * { width:min(100%,72rem);margin-inline:auto; }
.ph-schedule-message { display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:.75rem;padding:.9rem;border:1px solid #cfe0dc;border-radius:.85rem;background:#fff;box-shadow:0 .15rem .5rem rgba(23,50,58,.055); }
.ph-schedule-message-icon { display:grid;width:2.6rem;height:2.6rem;place-items:center;border-radius:.65rem;background:#e8f3f0; }.ph-schedule-message-icon i { width:1.2rem;height:1.2rem;opacity:.75; }
.ph-schedule-message-body { min-width:0; }.ph-schedule-message-body .foundation-eyebrow { margin:0 0 .2rem;font-size:.58rem; }.ph-schedule-message-body h2 { margin:.15rem 0;font-size:1rem;line-height:1.35; }.ph-schedule-label { color:var(--ph-accent);font-size:.68rem;font-weight:800; }.ph-schedule-message-note,.ph-schedule-disclaimer { display:block;margin:.25rem 0;color:var(--cui-secondary-color);font-size:.66rem; }.ph-schedule-message blockquote { margin:.5rem 0;padding:.45rem .6rem;border-left:3px solid #b9d4ce;color:var(--cui-secondary-color);font-size:.72rem; }
.ph-schedule-current { display:grid;gap:.1rem;margin:0 0 .65rem;padding:.55rem .65rem;border-radius:.55rem;background:#f2f6f5; }.ph-schedule-current span { color:var(--cui-secondary-color);font-size:.62rem; }.ph-schedule-current strong { font-size:.75rem; }
.ph-schedule-message-actions { display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem; }.ph-schedule-proposal-form { display:grid;grid-template-columns:minmax(12rem,1fr) minmax(12rem,1fr) auto;align-items:end;gap:.55rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e0e8e6; }.ph-schedule-proposal-form > div { display:grid;gap:.25rem; }.ph-schedule-proposal-form label { color:var(--ph-ink);font-size:.68rem;font-weight:750; }.ph-schedule-proposal-form label span { color:var(--cui-secondary-color);font-weight:500; }
.ph-conversation-aside > .ph-referral-review-panel { order:1;margin:0 0 .85rem; }.ph-conversation-aside > .ph-schedule-panel-host { order:2; }.ph-conversation-aside > .ph-conversation-resource { order:3; }.ph-schedule-aside { grid-template-columns:1fr;margin:0 0 .85rem;padding:.8rem;box-shadow:none; }.ph-schedule-aside .ph-schedule-message-icon { display:none; }.ph-schedule-aside .ph-schedule-proposal-form { grid-template-columns:1fr; }.ph-schedule-aside .ph-schedule-proposal-form .btn,.ph-schedule-aside .ph-schedule-message-actions,.ph-schedule-aside .ph-schedule-message-actions form,.ph-schedule-aside .ph-schedule-message-actions .btn { width:100%; }
@media (max-width:700px) { .ph-schedule-message { grid-template-columns:1fr; }.ph-schedule-message-icon { display:none; }.ph-schedule-proposal-form { grid-template-columns:1fr; }.ph-schedule-proposal-form .btn { width:100%; } }
.ph-message-row { align-items:end;gap:.5rem; }.ph-message-row.is-mine { justify-content:flex-end; }.ph-message-stack { display:grid;max-width:min(72%,38rem);gap:.25rem; }.ph-message-stack.has-rich-content { width:min(100%,30rem);max-width:min(78%,30rem); }.ph-message-row.is-mine .ph-message-stack { justify-items:end; }.ph-message-stack > strong { padding-inline:.2rem;color:var(--ph-ink);font-size:.72rem; }.ph-message-stack > small { padding-inline:.25rem;color:var(--cui-secondary-color);font-size:.62rem; }
.ph-message-content { display:grid;width:100%;gap:.4rem; }.ph-message-row.is-mine .ph-message-content { justify-items:end; }.ph-message-stack .ph-message-bubble { max-width:100%; }.ph-message-rich-card { width:100%;overflow:hidden;border:1px solid #d8e2e0;border-radius:.75rem;background:#fff;box-shadow:0 .12rem .35rem rgba(23,50,58,.045); }.ph-message-rich-card .card-body { display:grid;min-width:0;gap:.15rem; }.ph-message-rich-card .badge { justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize; }.ph-message-rich-card .btn { min-height:2.25rem; }.ph-message-row.is-mine .ph-message-rich-card { border-color:#cbded9; }.ph-message-avatar { display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border:1px solid #d6e2df;border-radius:50%;color:var(--ph-accent);background:#eef5f3;font-size:.65rem;font-weight:850; }.ph-message-avatar.is-mine { color:#fff;background:var(--ph-accent);font-size:.55rem; }
.ph-schedule-chat-card .card-body { gap:.65rem; }.ph-schedule-chat-heading { display:flex;align-items:center;gap:.65rem; }.ph-schedule-chat-heading > span { display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;border-radius:.6rem;color:var(--ph-accent);background:#e8f3f0; }.ph-schedule-chat-heading div { display:grid;min-width:0; }.ph-schedule-chat-heading small { color:var(--cui-secondary-color);font-size:.62rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase; }.ph-schedule-chat-heading strong { font-size:.9rem; }.ph-schedule-chat-time { font-size:1rem;font-weight:800;line-height:1.35; }.ph-schedule-chat-time span { display:block;color:var(--cui-secondary-color);font-size:.65rem;font-weight:600; }.ph-schedule-chat-card blockquote { margin:0;padding:.5rem .65rem;border-left:3px solid #b9d4ce;color:var(--cui-secondary-color);background:#f7faf9;font-size:.75rem; }.ph-schedule-confirm-copy,.ph-schedule-waiting { margin:0;color:var(--cui-secondary-color);font-size:.72rem; }.ph-schedule-chat-card .ph-schedule-message-actions { margin-top:0; }.ph-schedule-chat-card .ph-schedule-message-actions form { flex:1; }.ph-schedule-chat-card .ph-schedule-message-actions .btn { width:100%; }.ph-schedule-chat-hint { display:flex;align-items:flex-start;gap:.5rem;margin:.65rem 0;padding:.6rem;border-radius:.55rem;color:var(--cui-secondary-color);background:#f4f8f7;font-size:.7rem; }.ph-schedule-chat-hint i { margin-top:.12rem;color:var(--ph-accent); }
@media (max-width:575.98px) { .ph-schedule-chat-row .ph-message-stack.has-rich-content { max-width:calc(100% - 2.5rem); }.ph-schedule-chat-card .ph-schedule-message-actions { display:grid;grid-template-columns:1fr 1fr; }.ph-schedule-chat-time { font-size:.9rem; } }
.ph-message-file { display:grid;width:100%;min-width:0;grid-template-columns:2rem minmax(0,1fr) 1.25rem;align-items:center;gap:.65rem;padding:.65rem .7rem;border:1px solid #d8e2e0;border-radius:.75rem;color:inherit;background:#fff;box-shadow:0 .12rem .35rem rgba(23,50,58,.04);text-decoration:none; }.ph-message-file:hover { border-color:rgba(14,105,89,.45);background:#fbfdfc; }.ph-message-file-symbol { display:grid;width:2rem;height:2rem;place-items:center;border-radius:.45rem;color:var(--ph-accent);background:#e6f0ed; }.ph-message-file-symbol svg,.ph-message-file-arrow { width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }.ph-message-file > span:nth-child(2) { min-width:0; }.ph-message-file strong,.ph-message-file small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.ph-message-file strong { font-size:.72rem; }.ph-message-file small { margin-top:.08rem;color:var(--cui-secondary-color);font-size:.6rem; }.ph-message-file-arrow { color:var(--ph-accent); }
.ph-conversation-main .ph-message-composer { padding:.75rem 1rem 1rem;background:rgba(255,255,255,.72);backdrop-filter:blur(10px); }
.ph-conversation-aside { min-width:0;overflow-y:auto;padding:1.25rem;background:rgba(248,250,249,.76);backdrop-filter:blur(12px); }.ph-conversation-profile-mark { display:grid;width:5rem;height:5rem;margin:0 auto .65rem;place-items:center;border:4px solid #fff;border-radius:50%;color:#fff;background:var(--ph-accent);box-shadow:0 .35rem 1rem rgba(23,50,58,.14);font-size:1.45rem;font-weight:850; }.ph-conversation-aside > h2 { margin:0;overflow:hidden;font-size:1.15rem;text-align:center;text-overflow:ellipsis;white-space:nowrap; }.ph-conversation-aside > p { margin:.2rem 0 1.15rem;color:var(--cui-secondary-color);font-size:.72rem;text-align:center; }.ph-conversation-aside > dl { display:grid;margin:0 0 1rem;border-block:1px solid #dfe7e5; }.ph-conversation-aside > dl > div { display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:.65rem 0;border-bottom:1px solid #e4ebe9; }.ph-conversation-aside > dl > div:last-child { border-bottom:0; }.ph-conversation-aside dt { color:var(--cui-secondary-color);font-size:.7rem;font-weight:650; }.ph-conversation-aside dd { margin:0;overflow:hidden;font-size:.72rem;font-weight:750;text-align:right;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap; }
.ph-conversation-resource { padding:.85rem 0;border-bottom:1px solid #dfe7e5; }.ph-conversation-resource header { display:flex;align-items:start;justify-content:space-between;gap:.5rem; }.ph-conversation-resource header span:not(.badge) { color:var(--ph-accent);font-size:.58rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.ph-conversation-resource h3 { margin:.12rem 0 0;font-size:.85rem; }.ph-conversation-resource > p,.ph-conversation-resource-empty { margin:.5rem 0;color:var(--cui-secondary-color);font-size:.7rem;line-height:1.5; }.ph-conversation-resource > a { display:flex;align-items:center;justify-content:space-between;padding:.55rem .65rem;border:1px solid #cfddda;border-radius:.55rem;color:var(--ph-accent);background:#fff;font-size:.7rem;font-weight:800;text-decoration:none; }.ph-conversation-resource > a:hover { border-color:var(--ph-accent); }.ph-conversation-resource-empty { padding:.7rem;border:1px dashed #cbd8d5;border-radius:.55rem;text-align:center; }.ph-referral-check { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.15rem .55rem;margin-top:.75rem;padding:.7rem;border-radius:.55rem;background:#cbffdb;font-size:.72rem;font-weight:700;line-height:1.35; }.ph-referral-check input { grid-row:1/3;flex:0 0 auto;margin-top:.08rem;accent-color:var(--ph-accent); }.ph-referral-check label { cursor:pointer; }.ph-referral-check small { min-height:.85rem;color:var(--cui-secondary-color);font-size:.6rem;font-weight:500; }
.ph-conversation-file-list { display:grid;gap:.4rem;margin:.7rem 0 0;padding:0;list-style:none; }.ph-conversation-file-list li { display:grid;grid-template-columns:2rem minmax(0,1fr) 2rem;align-items:center;gap:.55rem;min-width:0;padding:.55rem;border:1px solid #dbe5e2;border-radius:.65rem;background:#fff;box-shadow:0 .1rem .3rem rgba(23,50,58,.035); }.ph-conversation-file-icon { display:grid;width:2rem;height:2rem;place-items:center;border-radius:.5rem;color:var(--ph-accent);background:#eaf3f0; }.ph-conversation-file-icon svg,.ph-conversation-file-download svg { width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }.ph-conversation-file-copy { display:block;min-width:0; }.ph-conversation-file-copy strong,.ph-conversation-file-copy small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.ph-conversation-file-copy strong { color:var(--ph-ink);font-size:.7rem;font-weight:750; }.ph-conversation-file-copy small { margin-top:.12rem;color:var(--cui-secondary-color);font-size:.6rem; }.ph-conversation-file-download { display:grid;width:2rem;height:2rem;place-items:center;border-radius:.45rem;color:var(--ph-accent);text-decoration:none;transition:background-color .15s,color .15s; }.ph-conversation-file-download:hover { color:#fff;background:var(--ph-accent); }.ph-conversation-file-download:focus-visible { outline:.18rem solid rgba(var(--cui-primary-rgb),.22);outline-offset:.1rem; }
.ph-conversation-privacy { display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;margin-top:1rem;padding:.7rem;border-radius:.6rem;color:#315d54;background:#edf6f3; }.ph-conversation-privacy > span { display:grid;width:1.4rem;height:1.4rem;place-items:center;border-radius:50%;color:#fff;background:#218354;font-size:.65rem;font-weight:900; }.ph-conversation-privacy p { margin:0; }.ph-conversation-privacy strong,.ph-conversation-privacy small { display:block; }.ph-conversation-privacy strong { font-size:.72rem; }.ph-conversation-privacy small { margin-top:.15rem;font-size:.64rem;line-height:1.4; }
@media (max-width:991.98px) { .ph-conversation-shell { grid-template-columns:minmax(0,1fr) minmax(16rem,19rem); }.ph-message-stack { max-width:78%; } }
@media (max-width:767.98px) { .ph-conversation-shell { grid-template-columns:1fr; }.ph-conversation-main { border-right:0; }.ph-conversation-drawer-trigger { cursor:pointer; }.ph-conversation-drawer-trigger i { display:inline-block; }.ph-conversation-aside { position:fixed;z-index:1060;right:0;bottom:0;left:0;display:block;max-height:min(82dvh,46rem);padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));border:1px solid var(--cui-border-color);border-bottom:0;border-radius:1rem 1rem 0 0;box-shadow:0 -.5rem 2rem rgba(23,50,58,.2);transform:translateY(105%);transition:transform .22s ease;visibility:hidden; }.ph-conversation-aside.is-open { transform:translateY(0);visibility:visible; }.ph-conversation-drawer-close { position:sticky;z-index:1;top:-1rem;display:flex;width:100%;height:2.5rem;align-items:center;justify-content:center;margin:-1rem 0 .35rem;padding:0;border:0;color:var(--cui-secondary-color);background:#f8faf9; }.ph-conversation-drawer-close > span { position:absolute;top:.45rem;width:2.75rem;height:.28rem;border-radius:999px;background:#bdcbc8; }.ph-conversation-drawer-close i { position:absolute;right:.15rem;top:.75rem; }.ph-conversation-drawer-backdrop { position:fixed;z-index:1055;inset:0;display:block;border:0;background:rgba(15,31,36,.42);opacity:0;pointer-events:none;transition:opacity .2s ease; }.ph-conversation-drawer-backdrop.is-open { opacity:1;pointer-events:auto; }.ph-conversation-drawer-open { overflow:hidden; }.ph-message-stack { max-width:84%; }.ph-message-stack.has-rich-content { max-width:92%; }.ph-conversation-main .ph-message-composer { padding-inline:.5rem; } }
.ph-conversation-aside > h2 { overflow:visible;line-height:1.3;overflow-wrap:anywhere;text-overflow:clip;white-space:normal; }
.ph-conversation-aside dd { min-width:0;overflow:visible;line-height:1.35;overflow-wrap:anywhere;text-overflow:clip;white-space:normal; }
.ph-payment-choice { width:min(calc(100vw - 2rem),30rem);max-width:none;max-height:min(calc(100dvh - 2rem),32rem);margin:auto;padding:0;overflow:hidden;border:0;border-radius:1rem;color:var(--ph-ink);background:#fff;box-shadow:0 1.25rem 3.5rem rgba(19,42,47,.28); }
.ph-payment-choice[open] { display:block;animation:ph-payment-choice-in .16s ease-out; }
.ph-payment-choice::backdrop { background:rgba(20,38,43,.58);backdrop-filter:blur(2px); }
.ph-payment-choice-heading { display:grid;grid-template-columns:2.75rem minmax(0,1fr);align-items:center;gap:.8rem;padding:1.1rem 1.2rem .9rem;border-bottom:1px solid #e0e9e7;background:linear-gradient(135deg,#f3faf8,#fff); }
.ph-payment-choice-heading > span { display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:.75rem;color:#fff;background:var(--ph-accent);box-shadow:0 .25rem .7rem rgba(14,105,89,.2); }
.ph-payment-choice-heading small { display:block;margin-bottom:.12rem;color:var(--ph-accent);font-size:.66rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase; }
.ph-payment-choice-heading h2 { margin:0;font-size:1.15rem;line-height:1.25; }
.ph-payment-choice-body { padding:1rem 1.2rem; }.ph-payment-choice-body p { margin:0;color:var(--cui-secondary-color);font-size:.88rem;line-height:1.55; }
.ph-payment-choice-actions { display:grid;grid-template-columns:1fr 1fr;gap:.65rem;padding:.9rem 1.2rem 1.2rem;border-top:1px solid #edf1f0; }.ph-payment-choice-actions .btn { min-height:2.75rem;font-weight:750; }
@keyframes ph-payment-choice-in { from { opacity:0;transform:translateY(.5rem) scale(.98); } to { opacity:1;transform:none; } }
@media (max-width:420px) { .ph-payment-choice { width:calc(100vw - 1rem); }.ph-payment-choice-actions { grid-template-columns:1fr; }.ph-payment-choice-actions [data-payment-send-now] { grid-row:1; } }
@media (prefers-reduced-motion:reduce) { .ph-payment-choice[open] { animation:none; } }
.admin-finance-shell { display:grid;gap:1.25rem; }.admin-finance-header { padding-bottom:1rem;border-bottom:1px solid var(--cui-border-color); }.admin-finance-header h1 { margin-bottom:.35rem; }.admin-finance-overview { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem; }.admin-finance-overview article { display:grid;grid-template-columns:2.75rem minmax(0,1fr);align-items:center;gap:.8rem;padding:1rem;border:1px solid #d8e3e0;border-radius:.8rem;background:#fff;box-shadow:0 .2rem .65rem rgba(23,50,58,.045); }.admin-finance-overview .ph-action-icon { width:2.75rem;height:2.75rem;flex-basis:2.75rem; }.admin-finance-overview article > div { display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.05rem .45rem;min-width:0; }.admin-finance-overview small { grid-column:1/-1;color:var(--ph-accent);font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }.admin-finance-overview strong { color:var(--ph-ink);font-size:1.35rem;line-height:1.2; }.admin-finance-overview article span:last-child { overflow:hidden;color:var(--cui-secondary-color);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap; }.admin-finance-workspace { display:grid;grid-template-columns:minmax(0,1.8fr) minmax(17rem,.8fr);align-items:start;gap:1rem; }.admin-finance-primary,.admin-finance-side { display:grid;gap:1rem; }.admin-finance-side { position:sticky;top:5.5rem; }.admin-finance-panel { overflow:hidden;border:1px solid #d8e3e0;border-radius:.85rem;background:#fff;box-shadow:0 .25rem .8rem rgba(23,50,58,.045); }.admin-finance-panel-heading { display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid #e0e8e6;background:#f8faf9; }.admin-finance-panel-heading > div > span,.admin-finance-policy header small { color:var(--ph-accent);font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.admin-finance-panel-heading h2,.admin-finance-policy h2 { margin:.08rem 0 .18rem;font-size:1.08rem; }.admin-finance-panel-heading p { margin:0;color:var(--cui-secondary-color);font-size:.76rem; }.admin-finance-panel-heading > .badge { flex:0 0 auto; }.admin-finance-queue { display:grid; }.admin-finance-review-row { display:grid;grid-template-columns:2.65rem minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.9rem 1.1rem;border-bottom:1px solid #e4ebe9; }.admin-finance-review-row:last-child { border-bottom:0; }.admin-finance-method { display:grid;width:2.65rem;height:2.65rem;place-items:center;border-radius:.7rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1);font-size:1.05rem; }.admin-finance-review-copy { min-width:0; }.admin-finance-review-copy > div { display:flex;flex-wrap:wrap;align-items:center;gap:.45rem; }.admin-finance-review-copy p { margin:.1rem 0 .4rem;color:var(--cui-secondary-color);font-size:.75rem; }.admin-finance-review-copy dl { display:flex;flex-wrap:wrap;gap:.35rem .8rem;margin:0; }.admin-finance-review-copy dl > div { display:flex;gap:.25rem;font-size:.7rem; }.admin-finance-review-copy dt { color:var(--cui-secondary-color);font-weight:650; }.admin-finance-review-copy dt::after { content:":"; }.admin-finance-review-copy dd { margin:0;color:var(--ph-ink);font-weight:750;text-transform:capitalize; }.admin-finance-review-copy > small { display:flex;align-items:center;gap:.3rem;margin-top:.35rem;color:var(--cui-secondary-color);font-size:.68rem; }.admin-finance-empty { display:grid;grid-template-columns:2.35rem minmax(0,1fr);align-items:center;gap:.75rem;padding:1.25rem; }.admin-finance-empty p { margin:.12rem 0 0;color:var(--cui-secondary-color);font-size:.78rem; }.admin-finance-destinations { display:grid; }.admin-finance-destination { border-bottom:1px solid #e3ebe9; }.admin-finance-destination > summary { display:grid;grid-template-columns:2.65rem minmax(0,1fr) auto 1rem;align-items:center;gap:.75rem;padding:.85rem 1.1rem;cursor:pointer;list-style:none; }.admin-finance-destination > summary::-webkit-details-marker,.admin-finance-add > summary::-webkit-details-marker { display:none; }.admin-finance-destination > summary > span:nth-child(2) { display:grid;min-width:0; }.admin-finance-destination > summary strong,.admin-finance-destination > summary small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.admin-finance-destination > summary strong { color:var(--ph-ink);font-size:.85rem; }.admin-finance-destination > summary small { color:var(--cui-secondary-color);font-size:.7rem;text-transform:capitalize; }.admin-finance-destination > summary > i,.admin-finance-add > summary > i:last-child { color:var(--ph-accent);font-size:.72rem;transition:transform .15s; }.admin-finance-destination[open] > summary,.admin-finance-add[open] > summary { background:#f4f8f7; }.admin-finance-destination[open] > summary > i,.admin-finance-add[open] > summary > i:last-child { transform:rotate(180deg); }.admin-finance-destination-form { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem 1.1rem;border-top:1px solid #e4ebe9;background:#fbfcfc; }.admin-finance-destination-form > label { display:grid;gap:.3rem;margin:0; }.admin-finance-destination-form > label > span { color:var(--ph-ink);font-size:.72rem;font-weight:750; }.admin-finance-wide { grid-column:1/-1; }.admin-finance-destination-form footer { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.7rem;border-top:1px solid #e0e8e6;color:var(--cui-secondary-color);font-size:.72rem; }.admin-finance-destination-form footer .form-check { margin:0; }.admin-finance-add { margin:1rem;border:1px dashed #a9c6c0;border-radius:.75rem;background:#f7faf9; }.admin-finance-add > summary { display:grid;grid-template-columns:2rem minmax(0,1fr) 1rem;align-items:center;gap:.65rem;padding:.8rem;cursor:pointer;list-style:none;color:var(--ph-accent); }.admin-finance-add > summary > i:first-child { display:grid;width:2rem;height:2rem;place-items:center;border-radius:.55rem;background:rgba(var(--cui-primary-rgb),.1); }.admin-finance-add > summary > span { display:grid; }.admin-finance-add > summary strong { font-size:.82rem; }.admin-finance-add > summary small { color:var(--cui-secondary-color);font-size:.68rem; }.admin-finance-policy > header { display:grid;grid-template-columns:2.35rem minmax(0,1fr);align-items:center;gap:.7rem;padding:1rem 1.1rem;border-bottom:1px solid #e0e8e6;background:#f8faf9; }.admin-finance-policy form { display:grid;gap:1rem;padding:1.1rem; }.admin-finance-policy form > label { display:grid;gap:.35rem; }.admin-finance-policy form > label > span { color:var(--ph-ink);font-size:.76rem;font-weight:750; }.admin-finance-policy form > label > small { color:var(--cui-secondary-color);font-size:.68rem;line-height:1.4; }.admin-finance-input-suffix,.admin-finance-input-prefix { display:grid;align-items:center;overflow:hidden;border:1px solid var(--cui-border-color);border-radius:var(--cui-border-radius);background:#fff; }.admin-finance-input-suffix { grid-template-columns:minmax(0,1fr) 2.5rem; }.admin-finance-input-prefix { grid-template-columns:3rem minmax(0,1fr); }.admin-finance-input-suffix .form-control,.admin-finance-input-prefix .form-control { border:0; }.admin-finance-input-suffix strong,.admin-finance-input-prefix strong { color:var(--cui-secondary-color);font-size:.7rem;text-align:center; }.admin-finance-policy-note { display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.55rem;margin:0 1.1rem 1.1rem;padding:.75rem;border-radius:.65rem;color:var(--cui-info-text-emphasis);background:var(--cui-info-bg-subtle);font-size:.72rem;line-height:1.45; }.admin-finance-policy-note i { margin-top:.15rem;text-align:center; }.admin-finance-policy-note p { margin:0; }
@media (max-width:991.98px) { .admin-finance-workspace { grid-template-columns:1fr; }.admin-finance-side { position:static; } }
@media (max-width:767.98px) { .admin-finance-overview { grid-template-columns:1fr; }.admin-finance-review-row { grid-template-columns:2.65rem minmax(0,1fr);align-items:start; }.admin-finance-review-row > .btn { grid-column:2;width:100%; }.admin-finance-destination-form { grid-template-columns:1fr; }.admin-finance-wide { grid-column:auto; } }
@media (max-width:575.98px) { .admin-finance-panel-heading { align-items:start;flex-direction:column; }.admin-finance-destination > summary { grid-template-columns:2.65rem minmax(0,1fr) 1rem; }.admin-finance-destination > summary > .badge { grid-column:2;justify-self:start; }.admin-finance-destination > summary > i { grid-column:3;grid-row:1; }.admin-finance-destination-form footer { align-items:stretch;flex-direction:column; }.admin-finance-destination-form footer .btn { width:100%; } }
.admin-payment-verification { display:grid;gap:1rem; }.admin-payment-verification > header { margin-bottom:0 !important; }.admin-payment-verification > header > div { margin-bottom:0 !important; }.admin-payment-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem; }.admin-payment-summary article { display:grid;grid-template-columns:2.65rem minmax(0,1fr);align-items:center;gap:.75rem;padding:.9rem 1rem;border:1px solid #d8e3e0;border-radius:.8rem;background:#fff;box-shadow:0 .2rem .65rem rgba(23,50,58,.045); }.admin-payment-summary article > div { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:.05rem .45rem;min-width:0; }.admin-payment-summary small { grid-column:1/-1;color:var(--ph-accent);font-size:.65rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }.admin-payment-summary strong { font-size:1.3rem;line-height:1.2; }.admin-payment-summary article span:last-child { overflow:hidden;color:var(--cui-secondary-color);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap; }.admin-payment-panel { overflow:hidden;border:1px solid #d8e3e0;border-radius:.85rem;background:#fff;box-shadow:0 .25rem .8rem rgba(23,50,58,.045); }.admin-payment-panel > header { display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid #e0e8e6;background:#f8faf9; }.admin-payment-panel > header > div > span { color:var(--ph-accent);font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.admin-payment-panel > header h2 { margin:.08rem 0 .18rem;font-size:1.08rem; }.admin-payment-panel > header p { margin:0;color:var(--cui-secondary-color);font-size:.76rem; }.admin-payment-list { display:grid; }.admin-payment-row { display:grid;grid-template-columns:2.75rem minmax(13rem,1.35fr) minmax(18rem,1fr) auto;align-items:center;gap:.9rem;padding:.95rem 1.1rem;border-bottom:1px solid #e3ebe9; }.admin-payment-row:last-child { border-bottom:0; }.admin-payment-row.needs-action { background:rgba(var(--cui-warning-rgb),.035);box-shadow:inset .2rem 0 var(--cui-warning); }.admin-payment-row-icon { display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:.7rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1);font-size:1.05rem; }.admin-payment-row.needs-action .admin-payment-row-icon { color:var(--cui-warning-text-emphasis);background:var(--cui-warning-bg-subtle); }.admin-payment-identity { min-width:0; }.admin-payment-identity > div { display:flex;flex-wrap:wrap;align-items:center;gap:.45rem; }.admin-payment-identity h3 { margin:.16rem 0 .08rem;font-size:.8rem;font-weight:650; }.admin-payment-identity p { margin:0;overflow:hidden;color:var(--cui-secondary-color);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap; }.admin-payment-row dl { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0; }.admin-payment-row dl > div { display:grid;gap:.08rem; }.admin-payment-row dt { color:var(--cui-secondary-color);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase; }.admin-payment-row dd { margin:0;color:var(--ph-ink);font-size:.75rem;font-weight:750;text-transform:capitalize; }.admin-payment-empty { display:grid;grid-template-columns:2.35rem minmax(0,1fr);align-items:center;gap:.75rem;padding:1.5rem; }.admin-payment-empty p { margin:.15rem 0 0;color:var(--cui-secondary-color);font-size:.78rem; }
@media (max-width:1100px) { .admin-payment-row { grid-template-columns:2.75rem minmax(0,1fr) auto; }.admin-payment-row dl { grid-column:2; }.admin-payment-row > .btn { grid-column:3;grid-row:1 / span 2; } }
@media (max-width:767.98px) { .admin-payment-summary { grid-template-columns:1fr; }.admin-payment-panel > header { align-items:start;flex-direction:column; }.admin-payment-row { grid-template-columns:2.75rem minmax(0,1fr);align-items:start; }.admin-payment-row dl { grid-column:2;grid-template-columns:1fr; }.admin-payment-row > .btn { grid-column:2;grid-row:auto;width:100%; }.admin-payment-identity p { white-space:normal; } }
.ph-message-patient-groups { display:grid;gap:1rem; }.ph-message-patient-group { overflow:hidden;border:1px solid #dbe4e2;border-radius:.85rem;background:#fff;box-shadow:0 .25rem .8rem rgba(23,50,58,.04); }.ph-message-patient-heading { display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #e1e9e7;background:#f7faf9; }.ph-message-patient-heading h2 { margin:0;color:var(--ph-ink);font-size:.92rem; }.ph-message-patient-heading p { margin:.12rem 0 0;color:var(--cui-secondary-color);font-size:.65rem; }.ph-messages-list { overflow:hidden;background:#fff; }.ph-messages-row { display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.9rem 1rem;border-bottom:1px solid #e5ecea;color:inherit;text-decoration:none;transition:background-color .15s; }.ph-messages-row:last-child { border-bottom:0; }.ph-messages-row:hover { background:#f5f9f8; }.ph-messages-row.is-unread { background:#f0f7f5; }.ph-messages-avatar { display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:50%;color:#fff;background:var(--ph-accent);font-size:.8rem;font-weight:850; }.ph-message-appointment-mark { display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:.55rem;background:#eaf3f0; }.ph-message-appointment-mark i { width:1.15rem;height:1.15rem;opacity:.72; }.ph-messages-copy { display:block;min-width:0; }.ph-messages-title { display:flex;align-items:center;justify-content:space-between;gap:.75rem; }.ph-messages-title strong { overflow:hidden;color:var(--ph-ink);font-size:.86rem;text-overflow:ellipsis;white-space:nowrap; }.ph-messages-title small,.ph-messages-context,.ph-messages-preview { color:var(--cui-secondary-color);font-size:.68rem; }.ph-messages-context,.ph-messages-preview { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.ph-messages-context { margin-top:.12rem;font-weight:650; }.ph-messages-preview { margin-top:.2rem; }.ph-messages-meta { display:flex;align-items:center;gap:.5rem; }.ph-messages-meta .badge { text-transform:capitalize; }.ph-messages-unread { display:grid;min-width:1.35rem;height:1.35rem;place-items:center;padding:0 .3rem;border-radius:999px;color:#fff;background:var(--ph-accent);font-size:.62rem;font-weight:800; }.ph-messages-empty { padding:2.5rem 1rem;border:1px dashed #cbd8d5;border-radius:.85rem;color:var(--cui-secondary-color);text-align:center; }.ph-messages-empty strong { color:var(--ph-ink); }.ph-messages-empty p { margin:.35rem 0 0;font-size:.8rem; }
@media (max-width:575.98px) { .ph-messages-row { grid-template-columns:2.5rem minmax(0,1fr);padding:.8rem; }.ph-messages-avatar { width:2.5rem;height:2.5rem; }.ph-messages-meta { grid-column:2;justify-content:flex-start; }.ph-messages-title small { display:none; } }

.ph-app,
.ph-public,
.ph-auth,
.wrapper,
.body,
.body > main,
.footer {
    background: var(--ph-page-bg) !important;
}

/* CoreUI/CalendarJS embed SVG data URLs that the application CSP intentionally blocks. */
.sidebar-toggler {
    --cui-sidebar-toggler-icon: url("/img/icons/sidebar-toggler.svg");
}

.form-select {
    --cui-form-select-bg-img: url("/img/icons/select-chevron.svg");
}

.lm-calendar-input {
    background-image: url("/img/icons/calendar-field.svg") !important;
    background-position: right 5px center !important;
    background-repeat: no-repeat !important;
}

/* Every authenticated content page shares the Services & Rates outer measure and gutters. */
.ph-app #main-content:not(.ph-conversation-page) {
    box-sizing: border-box;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: clamp(1.25rem, 4vw, 3rem) !important;
}
@media (min-width: 801px) {
    .ph-app #main-content:not(.ph-conversation-page) { width: 90% !important; }
}
@media (max-width: 800px) {
    .ph-app #main-content:not(.ph-conversation-page) { width: 100% !important; padding-inline: 1rem !important; }
}

/* Presentation-only record lists: booking-request card rhythm across care workspaces. */
.ph-record-grid { display:grid;gap:1rem; }
.ph-record-card { color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s; }
.ph-record-card:hover { border-color:rgba(var(--cui-primary-rgb),.48) !important;box-shadow:0 .45rem 1.2rem rgba(23,50,58,.09);transform:translateY(-1px); }
.ph-record-card.is-highlighted { border-color:var(--cui-warning) !important;box-shadow:0 0 0 .18rem rgba(var(--cui-warning-rgb),.15); }
.ph-record-card .card-body { display:grid;grid-template-columns:3rem minmax(0,1fr) auto 1rem;align-items:center;gap:1rem;padding:1.1rem 1.2rem; }
.ph-record-icon { display:grid;width:3rem;height:3rem;place-items:center;border-radius:.8rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1);font-size:1.1rem; }
.ph-record-copy { min-width:0; }.ph-record-copy h2 { margin:0 0 .25rem;color:var(--ph-ink);font-size:1rem; }.ph-record-copy p { margin:0 0 .2rem;color:#40585d;font-size:.85rem; }.ph-record-copy small { display:block;overflow:hidden;color:var(--cui-secondary-color);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap; }
.ph-record-status { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem; }.ph-record-status .badge { text-transform:capitalize; }.ph-record-arrow { color:var(--ph-accent);font-size:.75rem; }
.ph-record-empty .card-body { display:grid;grid-template-columns:3rem minmax(0,1fr);align-items:center;gap:1rem;padding:1.5rem; }.ph-record-empty h2 { margin:0 0 .2rem; }.ph-record-empty p { margin:0;color:var(--cui-secondary-color); }

/* Patient/provider/clinic finance cards. */
.ph-payment-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem; }
.ph-payment-card { color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s; }.ph-payment-card:hover { border-color:rgba(var(--cui-primary-rgb),.48) !important;box-shadow:0 .55rem 1.4rem rgba(23,50,58,.09);transform:translateY(-1px); }
.ph-payment-card .card-body { display:grid;gap:1rem;padding:1.2rem; }.ph-payment-card-top { display:flex;align-items:start;justify-content:space-between;gap:1rem; }.ph-payment-card-top .badge { text-transform:capitalize; }
.ph-payment-card-copy > span { color:var(--ph-accent);font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.ph-payment-card-copy h2 { margin:.2rem 0 .15rem;font-size:1.05rem; }.ph-payment-card-copy p { margin:0;color:var(--cui-secondary-color);font-size:.8rem; }
.ph-payment-card dl { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0;padding:.8rem;border-radius:.7rem;background:#f6f9f8; }.ph-payment-card dl > div { min-width:0; }.ph-payment-card dt { color:var(--cui-secondary-color);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase; }.ph-payment-card dd { margin:.12rem 0 0;overflow:hidden;color:var(--ph-ink);font-size:.78rem;font-weight:750;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap; }
.ph-payment-card footer { display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--cui-border-color);color:var(--ph-accent);font-size:.78rem;font-weight:750; }

/* Administration: practice eligibility. */
.admin-practice-shell { display:grid;gap:1rem; }.admin-practice-shell .admin-settings-header { align-items:start;margin-bottom:0; }.admin-practice-shell .admin-settings-header > .badge { margin-top:1.6rem; }
.admin-practice-notice { display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.65rem;padding:.85rem 1rem;border:1px solid var(--cui-info-border-subtle);border-radius:.75rem;color:var(--cui-info-text-emphasis);background:var(--cui-info-bg-subtle); }.admin-practice-notice i { margin-top:.15rem;text-align:center; }.admin-practice-notice p { margin:.15rem 0 0;font-size:.8rem; }
.admin-practice-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem; }.admin-practice-card { overflow:hidden; }.admin-practice-card.is-restricted { border-color:var(--cui-warning-border-subtle) !important; }
.admin-practice-card > header { display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:1rem 1.1rem;border-bottom:1px solid var(--cui-border-color);background:#f8faf9; }.admin-practice-card > header h2 { margin:0;font-size:1rem; }.admin-practice-card > header p { margin:.12rem 0 0;color:var(--cui-secondary-color);font-size:.75rem; }
.admin-practice-card-body { display:grid;gap:1rem;padding:1.1rem; }.admin-practice-card-body form { display:grid;gap:.75rem; }.admin-practice-card-body .form-label { margin:0;font-size:.78rem;font-weight:750; }.admin-practice-card-body form .btn { justify-self:start; }
.admin-practice-state { margin:0;color:#18794e;font-size:.82rem;font-weight:700; }.admin-practice-reason { padding:.8rem;border-radius:.65rem;background:var(--cui-warning-bg-subtle); }.admin-practice-reason span { color:var(--cui-warning-text-emphasis);font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.admin-practice-reason p { margin:.2rem 0 0;color:var(--ph-ink); }

/* Administration: Marketplace discoverability diagnostics. */
.admin-diagnostics-shell { display:grid;gap:1rem; }.admin-diagnostics-shell .admin-catalog-header,.admin-diagnostics-shell .admin-marketplace-nav { margin-bottom:0; }.admin-diagnostics-shell .admin-catalog-header { align-items:start; }.admin-diagnostics-shell .admin-catalog-header > .badge { margin-top:1.6rem; }
.admin-diagnostics-summary { display:grid;grid-template-columns:minmax(12rem,.7fr) minmax(12rem,.7fr) minmax(18rem,1.6fr);gap:.8rem; }.admin-diagnostics-summary > article,.admin-diagnostics-summary > aside { display:grid;align-items:center;gap:.75rem;padding:.9rem 1rem;border:1px solid #d8e3e0;border-radius:.8rem;background:#fff; }.admin-diagnostics-summary > article { grid-template-columns:2.75rem minmax(0,1fr); }.admin-diagnostics-summary small { display:block;color:var(--ph-accent);font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }.admin-diagnostics-summary strong { font-size:1.25rem; }.admin-diagnostics-summary strong span { color:var(--cui-secondary-color);font-size:.75rem;font-weight:650; }.admin-diagnostics-summary > aside { grid-template-columns:1.5rem minmax(0,1fr);color:var(--cui-info-text-emphasis);background:var(--cui-info-bg-subtle); }.admin-diagnostics-summary aside p { margin:0;font-size:.76rem;line-height:1.45; }
.admin-diagnostics-panel { overflow:hidden;border:1px solid #d8e3e0;border-radius:.85rem;background:#fff;box-shadow:var(--cui-box-shadow-sm); }.admin-diagnostics-panel > header { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--cui-border-color);background:#f8faf9; }.admin-diagnostics-panel > header > div > span { color:var(--ph-accent);font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.admin-diagnostics-panel > header h2 { margin:.1rem 0 0;font-size:1.05rem; }.admin-diagnostics-panel > header > span { color:var(--cui-secondary-color);font-size:.75rem; }
.admin-diagnostics-list { display:grid; }.admin-diagnostics-list article { display:grid;grid-template-columns:2.75rem minmax(12rem,1fr) minmax(14rem,.75fr);align-items:center;gap:.9rem;padding:1rem 1.1rem;border-bottom:1px solid #e3ebe9; }.admin-diagnostics-list article:last-child { border-bottom:0; }.admin-diagnostics-state { display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:.7rem;color:#58666b;background:#edf3f1; }.admin-diagnostics-state.is-visible { color:#18794e;background:#e8f5ee; }.admin-diagnostics-identity { min-width:0; }.admin-diagnostics-identity h3 { display:inline;margin:0 .4rem 0 0;font-size:.9rem; }.admin-diagnostics-identity p { margin:.3rem 0 0;color:var(--cui-secondary-color);font-size:.75rem;line-height:1.4; }.admin-diagnostics-list dl { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0; }.admin-diagnostics-list dt { color:var(--cui-secondary-color);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase; }.admin-diagnostics-list dd { margin:.12rem 0 0;font-size:.76rem;font-weight:750; }.admin-diagnostics-empty { padding:2rem;color:var(--cui-secondary-color);text-align:center; }
@media (max-width:991.98px) { .ph-payment-grid,.admin-practice-grid { grid-template-columns:1fr; }.admin-diagnostics-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.admin-diagnostics-summary > aside { grid-column:1/-1; } }
@media (max-width:767.98px) { .ph-record-card .card-body { grid-template-columns:2.75rem minmax(0,1fr) 1rem;align-items:start; }.ph-record-icon { width:2.75rem;height:2.75rem; }.ph-record-status { grid-column:2;justify-content:flex-start; }.ph-record-arrow { grid-column:3;grid-row:1;align-self:center; }.ph-payment-card dl { grid-template-columns:1fr; }.admin-diagnostics-summary { grid-template-columns:1fr; }.admin-diagnostics-summary > aside { grid-column:auto; }.admin-diagnostics-list article { grid-template-columns:2.75rem minmax(0,1fr);align-items:start; }.admin-diagnostics-list dl { grid-column:2; }.admin-practice-shell .admin-settings-header > .badge,.admin-diagnostics-shell .admin-catalog-header > .badge { margin-top:0; }.admin-practice-card > header { grid-template-columns:2.75rem minmax(0,1fr);align-items:start; }.admin-practice-card > header > .badge { grid-column:2;justify-self:start; } }

/* Administration security and communication settings. */
.admin-upload-security-shell,.admin-communications-shell { display:grid;gap:1rem; }.admin-upload-security-shell .admin-settings-header,.admin-communications-shell .admin-settings-header { align-items:start;margin-bottom:0; }.admin-upload-security-shell .admin-settings-header > .badge,.admin-communications-shell .admin-settings-header > .badge { margin-top:1.6rem; }
.admin-upload-overview,.admin-communications-overview { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem; }.admin-upload-overview article,.admin-communications-overview article { display:grid;grid-template-columns:2.8rem minmax(0,1fr);align-items:center;gap:.8rem;padding:.95rem 1rem;border:1px solid #d8e3e0;border-radius:.8rem;background:#fff;box-shadow:0 .2rem .65rem rgba(23,50,58,.045); }.admin-upload-overview-icon,.admin-communications-icon { display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:.75rem;color:#667875;background:#edf3f1;font-size:1rem; }.admin-upload-overview-icon.is-active,.admin-communications-icon.is-active { color:#18794e;background:#e8f5ee; }.admin-upload-overview article > div,.admin-communications-overview article > div { min-width:0; }.admin-upload-overview small,.admin-communications-overview small { display:block;color:var(--ph-accent);font-size:.63rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.admin-upload-overview strong,.admin-communications-overview strong { display:block;margin:.08rem 0;color:var(--ph-ink);font-size:.95rem; }.admin-upload-overview article > div > span,.admin-communications-overview article > div > span { display:block;overflow:hidden;color:var(--cui-secondary-color);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap; }
.admin-upload-impact,.admin-communications-note { display:grid;grid-template-columns:1.6rem minmax(0,1fr);gap:.7rem;padding:.9rem 1rem;border:1px solid var(--cui-warning-border-subtle);border-radius:.75rem;color:var(--cui-warning-text-emphasis);background:var(--cui-warning-bg-subtle); }.admin-communications-note { border-color:var(--cui-info-border-subtle);color:var(--cui-info-text-emphasis);background:var(--cui-info-bg-subtle); }.admin-upload-impact i,.admin-communications-note i { margin-top:.15rem;text-align:center; }.admin-upload-impact p,.admin-communications-note p { margin:.15rem 0 0;font-size:.78rem;line-height:1.45; }
.admin-upload-workspace,.admin-communications-workspace { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(18rem,.65fr);align-items:start;gap:1rem; }.admin-upload-controls,.admin-upload-scanner,.admin-communications-controls,.admin-delivery-health { overflow:hidden; }.admin-upload-controls > header,.admin-upload-scanner > header,.admin-communications-controls > header,.admin-delivery-health > header,.admin-appointment-policy-editor > header { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--cui-border-color);background:#f8faf9; }.admin-upload-controls > header > div > span,.admin-communications-controls > header > div > span,.admin-appointment-policy-editor > header > div > span { color:var(--ph-accent);font-size:.63rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.admin-upload-controls > header h2,.admin-communications-controls > header h2,.admin-appointment-policy-editor > header h2 { margin:.08rem 0 .15rem;font-size:1.05rem; }.admin-upload-controls > header p,.admin-communications-controls > header p,.admin-appointment-policy-editor > header p { margin:0;color:var(--cui-secondary-color);font-size:.75rem; }.admin-upload-controls > header > i,.admin-communications-controls > header > i,.admin-appointment-policy-editor > header > i { color:var(--ph-accent);font-size:1.05rem; }
.admin-upload-form,.admin-communications-controls > form { display:grid; }.admin-upload-toggle,.admin-communications-toggle { display:grid;grid-template-columns:2.65rem minmax(0,1fr) auto;align-items:center;gap:.8rem;margin:0;padding:1rem 1.1rem;border-bottom:1px solid #e3ebe9;cursor:pointer; }.admin-upload-toggle:hover,.admin-communications-toggle:hover { background:#f8fbfa; }.admin-upload-toggle-icon,.admin-communications-toggle-icon { display:grid;width:2.65rem;height:2.65rem;place-items:center;border-radius:.7rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1); }.admin-upload-toggle > span:nth-child(2),.admin-communications-toggle > span:nth-child(2) { display:grid;gap:.15rem; }.admin-upload-toggle small,.admin-communications-toggle small { color:var(--cui-secondary-color);font-size:.73rem;font-weight:400;line-height:1.4; }.admin-upload-toggle .form-check-input { width:2.4rem;height:1.3rem;margin:0; }.admin-communications-toggle .form-check-input { width:1.3rem;height:1.3rem;margin:0;border-width:2px; }
.admin-upload-reason,.admin-communications-reason { display:grid;gap:.35rem;margin:1rem 1.1rem;padding:1rem;border:1px solid #d8e3e0;border-radius:.7rem;background:#f8faf9; }.admin-upload-reason .form-label,.admin-communications-reason .form-label { margin:0;font-size:.78rem;font-weight:750; }.admin-upload-reason > small,.admin-communications-reason > small { color:var(--cui-secondary-color);font-size:.68rem; }.admin-upload-form > footer,.admin-communications-controls form > footer,.admin-appointment-policy-editor form > footer { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-top:1px solid var(--cui-border-color);background:#f8faf9; }.admin-upload-form > footer > span,.admin-communications-controls form > footer > span,.admin-appointment-policy-editor form > footer > span { color:var(--cui-secondary-color);font-size:.7rem; }
.admin-upload-scanner > header,.admin-delivery-health > header { justify-content:flex-start; }.admin-upload-scanner-mark,.admin-delivery-health-mark { display:grid;width:2.8rem;height:2.8rem;flex:0 0 2.8rem;place-items:center;border-radius:.75rem;color:#667875;background:#edf3f1; }.admin-upload-scanner-mark.has-result,.admin-delivery-health-mark { color:#18794e;background:#e8f5ee; }.admin-delivery-health-mark.needs-attention { color:var(--cui-warning-text-emphasis);background:var(--cui-warning-bg-subtle); }.admin-upload-scanner > header small,.admin-delivery-health > header small { color:var(--ph-accent);font-size:.63rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.admin-upload-scanner > header h2,.admin-delivery-health > header h2 { margin:.08rem 0 0;font-size:1rem; }.admin-upload-scanner-body,.admin-delivery-health-body { display:grid;gap:1rem;padding:1.1rem; }.admin-upload-scanner dl { display:grid;gap:.7rem;margin:0; }.admin-upload-scanner dl > div { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding-bottom:.7rem;border-bottom:1px solid #e3ebe9; }.admin-upload-scanner dt { color:var(--cui-secondary-color);font-size:.7rem; }.admin-upload-scanner dd { margin:0;color:var(--ph-ink);font-size:.74rem;font-weight:750;text-align:right; }.admin-upload-scanner-body > p,.admin-delivery-health-body > p { display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:.5rem;margin:0;padding:.75rem;border-radius:.65rem;color:var(--cui-info-text-emphasis);background:var(--cui-info-bg-subtle);font-size:.7rem;line-height:1.45; }.admin-upload-scanner-disabled { color:var(--cui-secondary-color);font-size:.68rem;text-align:center; }
.admin-delivery-health-body dl { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0; }.admin-delivery-health-body dl > div { display:grid;padding:.85rem;border:1px solid #d8e3e0;border-radius:.7rem;background:#f8faf9; }.admin-delivery-health-body dl > div.needs-attention { border-color:var(--cui-warning-border-subtle);background:var(--cui-warning-bg-subtle); }.admin-delivery-health-body dt { color:var(--cui-secondary-color);font-size:.64rem;letter-spacing:.04em;text-transform:uppercase; }.admin-delivery-health-body dd { margin:.1rem 0;font-size:1.35rem;font-weight:800; }.admin-delivery-health-body dl span { color:var(--cui-secondary-color);font-size:.66rem; }

/* Administration appointment policy. */
.admin-appointment-policy-shell { display:grid;gap:1rem; }.admin-appointment-policy-shell .admin-policy-header { align-items:start;margin-bottom:0; }.admin-appointment-policy-shell .admin-policy-header > .badge { margin-top:1.6rem; }.admin-appointment-policy-overview { display:grid;grid-template-columns:minmax(12rem,.7fr) minmax(12rem,.7fr) minmax(18rem,1.5fr);gap:.8rem; }.admin-appointment-policy-overview > article,.admin-appointment-policy-overview > aside { display:grid;align-items:center;gap:.75rem;padding:.95rem 1rem;border:1px solid #d8e3e0;border-radius:.8rem;background:#fff; }.admin-appointment-policy-overview > article { grid-template-columns:2.8rem minmax(0,1fr); }.admin-appointment-policy-icon { display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:.75rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1); }.admin-appointment-policy-overview small { display:block;color:var(--ph-accent);font-size:.63rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.admin-appointment-policy-overview strong { margin-right:.25rem;font-size:1.3rem; }.admin-appointment-policy-overview article span:last-child { color:var(--cui-secondary-color);font-size:.68rem; }.admin-appointment-policy-overview > aside { grid-template-columns:1.4rem minmax(0,1fr);color:var(--cui-info-text-emphasis);background:var(--cui-info-bg-subtle); }.admin-appointment-policy-overview aside p { margin:0;font-size:.73rem;line-height:1.45; }
.admin-appointment-policy-workspace { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(18rem,.65fr);align-items:start;gap:1rem; }.admin-appointment-policy-editor { overflow:hidden; }.admin-appointment-policy-editor form { display:grid; }.admin-appointment-policy-fields { display:grid;gap:0; }.admin-appointment-policy-fields > label { display:grid;grid-template-columns:2.65rem minmax(0,1fr) 7rem;align-items:center;gap:.8rem;margin:0;padding:1.1rem;border-bottom:1px solid #e3ebe9; }.admin-appointment-policy-field-icon { display:grid;width:2.65rem;height:2.65rem;place-items:center;border-radius:.7rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1); }.admin-appointment-policy-fields label > span:nth-child(2) { display:grid;gap:.15rem; }.admin-appointment-policy-fields small { color:var(--cui-secondary-color);font-size:.72rem;font-weight:400;line-height:1.4; }.admin-appointment-policy-fields .form-control { text-align:center;font-weight:800; }.admin-appointment-policy-guidance .card-body { display:grid;justify-items:start;gap:.7rem;padding:1.1rem; }.admin-appointment-policy-guidance h2 { margin:0; }.admin-appointment-policy-guidance ol { display:grid;gap:.85rem;margin:.2rem 0 0;padding-left:1.2rem; }.admin-appointment-policy-guidance li { padding-left:.2rem; }.admin-appointment-policy-guidance li strong,.admin-appointment-policy-guidance li span { display:block; }.admin-appointment-policy-guidance li strong { font-size:.78rem; }.admin-appointment-policy-guidance li span { margin-top:.15rem;color:var(--cui-secondary-color);font-size:.7rem;line-height:1.4; }
@media (max-width:991.98px) { .admin-upload-workspace,.admin-communications-workspace,.admin-appointment-policy-workspace { grid-template-columns:1fr; }.admin-upload-overview,.admin-communications-overview { grid-template-columns:1fr; }.admin-appointment-policy-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }.admin-appointment-policy-overview > aside { grid-column:1/-1; } }
@media (max-width:767.98px) { .admin-upload-security-shell .admin-settings-header > .badge,.admin-communications-shell .admin-settings-header > .badge,.admin-appointment-policy-shell .admin-policy-header > .badge { margin-top:0; }.admin-upload-toggle,.admin-communications-toggle { grid-template-columns:2.65rem minmax(0,1fr);align-items:start; }.admin-upload-toggle .form-check-input,.admin-communications-toggle .form-check-input { grid-column:2;justify-self:start; }.admin-upload-form > footer,.admin-communications-controls form > footer,.admin-appointment-policy-editor form > footer { align-items:stretch;flex-direction:column; }.admin-upload-form > footer .btn,.admin-communications-controls form > footer .btn,.admin-appointment-policy-editor form > footer .btn { width:100%; }.admin-delivery-health-body dl,.admin-appointment-policy-overview { grid-template-columns:1fr; }.admin-appointment-policy-overview > aside { grid-column:auto; }.admin-appointment-policy-fields > label { grid-template-columns:2.65rem minmax(0,1fr);align-items:start; }.admin-appointment-policy-fields .form-control { grid-column:2;width:7rem; } }

/* Notification center. */
.notifications-center { display:grid;gap:1.25rem; }.notifications-center .notifications-header { align-items:start;margin-bottom:0; }.notifications-center .notifications-header > .badge { margin-top:1.6rem; }
.wrapper.ph-dashboard-background { background:radial-gradient(circle at 100% 0,rgba(23,137,119,.09) 0 10rem,transparent 10.1rem),radial-gradient(circle at 0 100%,rgba(240,164,83,.09) 0 8.5rem,transparent 8.6rem),linear-gradient(135deg,#e7f5f1 0%,#f8fbfa 55%,#fff4e8 100%) !important; }
.wrapper.ph-dashboard-background > .body,.wrapper.ph-dashboard-background > .body > main:not(.ph-conversation-page) { background:transparent !important; }
.ph-standard-page-header { display:flex;align-items:start;justify-content:space-between;gap:1rem; }.ph-standard-page-header .foundation-eyebrow { margin-bottom:.35rem; }.ph-standard-page-header h1 { margin-bottom:.35rem;font-family:var(--cui-body-font-family);font-size:clamp(2rem,3vw,2.5rem);font-weight:400;line-height:1.2; }.ph-standard-page-header p:not(.foundation-eyebrow) { margin:.35rem 0 0;color:var(--cui-secondary-color);font-family:var(--cui-body-font-family);font-size:1.25rem;font-weight:300;line-height:1.5; }
.ph-messages-header { align-items:start; }.ph-messages-header > .badge { margin-top:1.6rem; }

/* Appointment detail — focused schedule and care overview. */
.ph-appointment-detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(19rem,.8fr);align-items:start;gap:1.5rem}.ph-appointment-detail-main,.ph-appointment-detail-side{display:grid;gap:1.5rem}.ph-appointment-overview,.ph-appointment-history,.ph-appointment-side-card{overflow:hidden;border-color:#d3e2df;border-radius:1rem;box-shadow:0 .4rem 1.2rem rgba(23,50,58,.06)}.ph-appointment-overview .card-body,.ph-appointment-history .card-body,.ph-appointment-side-card .card-body{padding:1.25rem}.ph-appointment-time-block{display:flex;align-items:center;gap:1rem;padding:1.1rem;border-radius:.9rem;background:linear-gradient(135deg,#e9f7f3,#f8fbfa)}.ph-appointment-time-icon{display:grid;flex:0 0 3.4rem;width:3.4rem;height:3.4rem;place-items:center;border-radius:.8rem;color:#fff;background:var(--ph-accent);font-size:1.2rem}.ph-appointment-time-block>div{display:grid;gap:.12rem}.ph-appointment-time-block small,.ph-appointment-facts small,.ph-appointment-section-heading small{color:var(--ph-accent);font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ph-appointment-time-block strong{color:var(--ph-ink);font-size:1.12rem;line-height:1.25}.ph-appointment-time-block>div>span{color:#4f625e;font-size:.86rem;font-weight:700}.ph-appointment-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #e0e9e7;border-radius:.9rem;margin-top:1rem;overflow:hidden}.ph-appointment-facts>div{position:relative;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.12rem .65rem;align-content:center;min-height:5.2rem;padding:.85rem 1rem;border-right:1px solid #e5ecea;border-bottom:1px solid #e5ecea}.ph-appointment-facts>div:nth-child(even),.ph-appointment-facts>div.is-wide{border-right:0}.ph-appointment-facts>div.is-wide{grid-column:1/-1}.ph-appointment-facts>div>span{grid-row:1/3;display:grid;width:2rem;height:2rem;place-items:center;border-radius:.55rem;color:var(--ph-accent);background:#eaf4f1}.ph-appointment-facts strong,.ph-appointment-facts em{grid-column:2;min-width:0}.ph-appointment-facts strong{color:var(--ph-ink);font-size:.8rem;line-height:1.35}.ph-appointment-facts em{color:var(--cui-secondary-color);font-size:.68rem;font-style:normal;text-transform:capitalize}.ph-appointment-primary-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e3ebe9}.ph-appointment-section-heading{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}.ph-appointment-section-heading>span{display:grid;width:2.4rem;height:2.4rem;place-items:center;border-radius:.65rem;color:var(--ph-accent);background:#eaf4f1}.ph-appointment-section-heading h2{margin:0;color:var(--ph-ink);font-size:1rem}.ph-appointment-timeline{display:grid}.ph-appointment-timeline>div{display:grid;grid-template-columns:1rem minmax(0,1fr);gap:.7rem;padding:0 0 1rem}.ph-appointment-timeline>div:last-child{padding-bottom:0}.ph-appointment-timeline>div>span{position:relative;width:.65rem;height:.65rem;margin-top:.25rem;border:2px solid var(--ph-accent);border-radius:50%;background:#fff}.ph-appointment-timeline>div:not(:last-child)>span:after{position:absolute;top:.65rem;left:50%;width:1px;height:calc(100% + .45rem);content:"";background:#cbded9}.ph-appointment-timeline strong{text-transform:capitalize}.ph-appointment-timeline p{margin:.12rem 0;color:var(--ph-ink);font-size:.76rem}.ph-appointment-timeline small{color:var(--cui-secondary-color);font-size:.66rem;text-transform:capitalize}.ph-appointment-side-card p{color:var(--cui-secondary-color);font-size:.78rem;line-height:1.55}.ph-appointment-conversation-card{background:linear-gradient(145deg,#fff,#f2faf7)}
.ph-treatment-plan-summary{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-top:1rem;padding:.9rem 1rem;border:1px solid #d8e7e3;border-radius:.8rem;background:#f7fbfa}.ph-treatment-plan-icon{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:.6rem;color:var(--ph-accent);background:#e5f3ef}.ph-treatment-plan-copy{display:grid;gap:.08rem}.ph-treatment-plan-copy small{color:var(--ph-accent);font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ph-treatment-plan-copy strong{color:var(--ph-ink);font-size:.88rem}.ph-treatment-plan-copy p{margin:0;color:var(--cui-secondary-color);font-size:.7rem}.ph-treatment-plan-editor{position:relative}.ph-treatment-plan-editor>summary{list-style:none;cursor:pointer}.ph-treatment-plan-editor>summary::-webkit-details-marker{display:none}.ph-treatment-plan-editor[open]{grid-column:1/-1}.ph-treatment-plan-editor[open]>summary{display:none}.ph-treatment-plan-editor form{display:grid;grid-template-columns:minmax(8rem,.45fr) minmax(12rem,1fr) auto;align-items:end;gap:.75rem;padding-top:.75rem;border-top:1px solid #deebe8}.ph-treatment-plan-editor .form-label{margin-bottom:.25rem;font-size:.72rem;font-weight:700}.ph-treatment-plan-editor .btn{white-space:nowrap}
@media(max-width:991.98px){.ph-appointment-detail-layout{grid-template-columns:1fr}.ph-appointment-detail-side{grid-row:auto}.ph-appointment-conversation-card{order:-1}}
@media(max-width:575.98px){.ph-appointment-overview .card-body,.ph-appointment-history .card-body,.ph-appointment-side-card .card-body{padding:1rem}.ph-appointment-time-block{align-items:start;padding:.9rem}.ph-appointment-time-icon{width:2.8rem;height:2.8rem;flex-basis:2.8rem}.ph-appointment-time-block strong{font-size:.95rem}.ph-appointment-facts{grid-template-columns:1fr}.ph-appointment-facts>div,.ph-appointment-facts>div:nth-child(even){border-right:0}.ph-treatment-plan-summary{grid-template-columns:2.25rem minmax(0,1fr)}.ph-treatment-plan-editor{grid-column:1/-1}.ph-treatment-plan-editor form{grid-template-columns:1fr}.ph-appointment-primary-actions,.ph-appointment-primary-actions form,.ph-appointment-primary-actions .btn{width:100%}}

/* Booking Request detail — status journey and focused review workspace. */
.ph-request-status-flow{display:grid;grid-template-columns:auto minmax(2rem,1fr) auto minmax(2rem,1fr) auto;align-items:center;max-width:54rem;margin:0 0 1.5rem;padding:1rem 1.2rem;border:1px solid #d7e4e1;border-radius:1rem;background:rgba(255,255,255,.82)}.ph-request-status-flow>div{display:grid;grid-template-columns:2.35rem auto;gap:0 .65rem;align-items:center;color:#84918e}.ph-request-status-flow>div>span{grid-row:1/3;display:grid;width:2.35rem;height:2.35rem;place-items:center;border:2px solid #cbd8d5;border-radius:50%;background:#fff;font-size:.75rem}.ph-request-status-flow strong{font-size:.75rem}.ph-request-status-flow small{font-size:.6rem}.ph-request-status-flow>i{height:2px;margin:0 .8rem;background:#d8e2e0}.ph-request-status-flow>div.is-complete,.ph-request-status-flow>div.is-current{color:var(--ph-accent)}.ph-request-status-flow>div.is-complete>span{color:#fff;border-color:var(--ph-accent);background:var(--ph-accent)}.ph-request-status-flow>div.is-current>span{border-color:var(--ph-accent);box-shadow:0 0 0 .2rem rgba(var(--cui-primary-rgb),.1)}.ph-request-detail-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(19rem,.75fr);align-items:start;gap:1.5rem}.ph-request-overview,.ph-request-action-card{border-color:#d3e2df;border-radius:1rem;box-shadow:0 .4rem 1.2rem rgba(23,50,58,.06)}.ph-request-overview .card-body,.ph-request-action-card .card-body{padding:1.25rem}.ph-request-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid #e0e9e7;border-radius:.85rem}.ph-request-facts>div{display:grid;gap:.25rem;min-height:4.8rem;padding:.85rem 1rem;border-right:1px solid #e5ecea;border-bottom:1px solid #e5ecea}.ph-request-facts>div:nth-child(even),.ph-request-facts>div.is-wide{border-right:0}.ph-request-facts>div.is-wide{grid-column:1/-1}.ph-request-facts small{color:var(--ph-accent);font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ph-request-facts strong{color:var(--ph-ink);font-size:.8rem}.ph-request-facts p{margin:0;color:#45534f;line-height:1.55;overflow-wrap:anywhere}.ph-request-reason{background:#f8fbfa}.ph-request-action-card{background:linear-gradient(145deg,#fff,#f7fbfa)}.ph-request-action-divider{display:flex;align-items:center;gap:.6rem;margin:1rem 0;color:var(--cui-secondary-color);font-size:.65rem;text-transform:uppercase}.ph-request-action-divider:before,.ph-request-action-divider:after{height:1px;content:"";background:#dce6e4;flex:1}.ph-request-safety-note{display:flex;gap:.55rem;margin-top:1rem;padding:.75rem;border-radius:.7rem;color:#53635f;background:#edf5f3;font-size:.7rem;line-height:1.45}.ph-request-safety-note i{margin-top:.15rem;color:var(--ph-accent)}
@media(max-width:991.98px){.ph-request-detail-layout{grid-template-columns:1fr}}
@media(max-width:575.98px){.ph-request-status-flow{grid-template-columns:1fr;gap:.5rem}.ph-request-status-flow>i{width:2px;height:1rem;margin:0 0 0 1.15rem}.ph-request-facts{grid-template-columns:1fr}.ph-request-facts>div,.ph-request-facts>div:nth-child(even){border-right:0}.ph-request-overview .card-body,.ph-request-action-card .card-body{padding:1rem}}
.ph-appointment-timeline strong,.ph-appointment-timeline p,.ph-appointment-timeline small{display:block}.ph-appointment-proposed-time{display:grid;gap:.15rem;padding:.8rem;border:1px solid #d7e6e2;border-radius:.7rem;background:#f3f9f7}.ph-appointment-proposed-time strong{color:var(--ph-ink)}.ph-appointment-proposed-time span{color:var(--cui-secondary-color);font-size:.78rem}
.ph-schedule-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.ph-schedule-action-row>.btn{width:100%}@media(max-width:420px){.ph-schedule-action-row{grid-template-columns:1fr}}
.notifications-group { display:grid;gap:.75rem; }.notifications-group > header { display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--cui-border-color); }.notifications-group > header > div > span { color:var(--ph-accent);font-size:.63rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.notifications-group > header h2 { margin:.08rem 0 0;font-size:1.05rem; }.notifications-group > header > span { color:var(--cui-secondary-color);font-size:.72rem; }.notifications-card-grid { display:grid;gap:.75rem; }
.notification-card { overflow:hidden; }.notification-card.is-unread { border-color:rgba(var(--cui-primary-rgb),.32) !important;box-shadow:inset .22rem 0 var(--ph-accent),0 .25rem .8rem rgba(23,50,58,.05); }.notification-card.is-read { opacity:.88; }.notification-card .card-body { display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1rem 1.1rem; }.notification-card .notification-icon { width:2.75rem;height:2.75rem;font-size:1rem; }.notification-card .notification-icon i { width:auto;height:auto;opacity:.9; }.notification-icon-primary { color:var(--ph-accent); }.notification-icon-success { color:var(--cui-success-text-emphasis); }.notification-icon-warning { color:var(--cui-warning-text-emphasis); }.notification-icon-danger { color:var(--cui-danger-text-emphasis); }.notification-card .notification-title-row h3 { margin:0;color:var(--ph-ink);font-size:.9rem; }.notification-card .notification-new { display:inline-flex;min-height:1.3rem;align-items:center;padding:.2rem .42rem;border-radius:999px;color:#fff;background:var(--ph-accent);font-size:.58rem; }.notification-card .notification-content > p { margin:.22rem 0;color:var(--cui-secondary-color);font-size:.78rem;line-height:1.45; }.notification-card time { display:flex;align-items:center;gap:.3rem;color:var(--cui-secondary-color);font-size:.66rem; }.notification-card .notification-actions { flex-wrap:wrap; }.notification-card .notification-actions form { margin:0; }.notification-card .notification-actions .btn { white-space:nowrap; }
.notifications-center .notifications-empty .card-body { display:grid;grid-template-columns:3rem minmax(0,1fr);padding:1.5rem; }.notifications-center .notifications-empty-icon { width:3rem;height:3rem;color:var(--ph-accent); }.notifications-center .notifications-empty h2 { margin:0 0 .2rem; }.notifications-center .notifications-empty p { margin:0;color:var(--cui-secondary-color); }
@media (max-width:767.98px) { .wrapper.ph-dashboard-background { background:radial-gradient(circle at 100% 0,rgba(23,137,119,.09) 0 7rem,transparent 7.1rem),radial-gradient(circle at 0 100%,rgba(240,164,83,.09) 0 6rem,transparent 6.1rem),linear-gradient(135deg,#e7f5f1 0%,#f8fbfa 55%,#fff4e8 100%) !important; }.notifications-center .notifications-header > .badge,.ph-messages-header > .badge { margin-top:0; }.notification-card .card-body { grid-template-columns:2.75rem minmax(0,1fr);align-items:start; }.notification-card .notification-actions { grid-column:2;justify-content:flex-start; }.notification-card .notification-actions,.notification-card .notification-actions form,.notification-card .notification-actions .btn { width:100%; } }

/* Patient-centered public Marketplace discovery. */
.ph-marketplace-intro { position:relative;isolation:isolate;overflow:hidden;margin-bottom:0;padding:clamp(2rem,5vw,4.5rem) clamp(1rem,4vw,4rem) 4.25rem;border:1px solid #cfe1dd;border-radius:1.5rem;background:linear-gradient(135deg,#e7f5f1 0%,#f8fbfa 55%,#fff4e8 100%);box-shadow:0 .8rem 2.5rem rgba(23,50,58,.07); }
.ph-marketplace-intro::before,.ph-marketplace-intro::after { position:absolute;z-index:-1;content:"";border-radius:50%;filter:blur(1px); }.ph-marketplace-intro::before { top:-8rem;right:-5rem;width:20rem;height:20rem;background:rgba(23,137,119,.09); }.ph-marketplace-intro::after { bottom:-8rem;left:-4rem;width:17rem;height:17rem;background:rgba(240,164,83,.09); }
.ph-marketplace-heading { max-width:54rem;margin-bottom:1.5rem; }.ph-marketplace-kicker { display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.75rem;padding:.35rem .65rem;border:1px solid rgba(var(--cui-primary-rgb),.16);border-radius:999px;background:rgba(255,255,255,.72);letter-spacing:.06em; }.ph-marketplace-heading h1 { max-width:50rem;margin-inline:auto;color:#173b37;font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.02; }.ph-marketplace-heading p { max-width:44rem;color:#49635f;font-size:clamp(.95rem,1.5vw,1.08rem); }
.ph-marketplace-mode { width:min(100%,38rem);gap:.45rem;padding:.4rem;border-color:#ccddda;background:rgba(229,239,237,.8); }.ph-marketplace-mode > a { grid-template-columns:2.7rem minmax(0,1fr);padding:.75rem .85rem;border-radius:.8rem; }.ph-marketplace-mode > a.active { border-color:#c5d9d5;box-shadow:0 .35rem .9rem rgba(23,50,58,.09); }.ph-marketplace-mode-icon { width:2.7rem;height:2.7rem;border-radius:.8rem;background-color:rgba(var(--cui-primary-rgb),.11);background-size:1.25rem; }.ph-marketplace-mode strong { color:#264b46;font-size:.92rem; }
.ph-marketplace-trust { display:grid;width:min(100%,49rem);grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.25rem;text-align:left; }.ph-marketplace-trust > span { display:grid;grid-template-columns:1.7rem minmax(0,1fr);align-items:center;gap:.05rem .5rem;padding:.55rem .65rem;border-radius:.7rem;background:rgba(255,255,255,.62); }.ph-marketplace-trust i { grid-row:1/span 2;display:grid;width:1.7rem;height:1.7rem;place-items:center;color:var(--ph-accent);font-size:.9rem; }.ph-marketplace-trust strong { color:#294b46;font-size:.72rem; }.ph-marketplace-trust small { color:#627773;font-size:.62rem;line-height:1.25; }
.ph-marketplace-form { position:relative;z-index:1; }.ph-marketplace-searchbar { width:min(90%,66rem);margin-top:-2rem;padding:.5rem;border-color:#bdd5d0;border-radius:1rem;box-shadow:0 .9rem 2.2rem rgba(23,50,58,.13); }.ph-marketplace-searchbar > input { min-height:3.3rem;font-size:.95rem; }.ph-marketplace-searchbar .btn { min-height:3.15rem;padding-inline:1.15rem;border-radius:.8rem;box-shadow:0 .3rem .75rem rgba(var(--cui-primary-rgb),.2); }
.ph-marketplace-layout { margin-top:1.5rem; }.ph-marketplace-filters { border-color:#d4e2df;border-radius:1rem;box-shadow:0 .3rem 1rem rgba(23,50,58,.04); }.ph-marketplace-filter-title h2 { color:#21433f; }.ph-marketplace-results-toolbar { padding:.1rem 0 .8rem; }.ph-marketplace-results-toolbar h2 { color:#21433f;font-size:1.25rem; }
.ph-marketplace-grid { gap:1.15rem; }.ph-marketplace-card { padding:1.2rem;border-color:#d4e2df;border-radius:1.15rem;box-shadow:0 .4rem 1.1rem rgba(23,50,58,.055); }.ph-marketplace-card:hover { border-color:rgba(var(--cui-primary-rgb),.48);box-shadow:0 .8rem 1.8rem rgba(23,50,58,.1);transform:translateY(-2px); }.ph-marketplace-card-header { grid-template-columns:5rem minmax(0,1fr);gap:1rem; }.ph-marketplace-avatar { width:5rem;height:5rem;border:3px solid #fff;border-radius:1.15rem;background-size:1.8rem;box-shadow:0 0 0 1px #cfe0dd,0 .35rem .85rem rgba(23,50,58,.1); }.ph-marketplace-avatar:not(.ph-marketplace-avatar-clinic) { border-radius:50%; }.ph-marketplace-specialty { color:#55706b;font-size:.68rem;letter-spacing:.035em;text-transform:uppercase; }.ph-marketplace-card h3 { color:#1e403b;font-size:1.12rem; }.ph-marketplace-verified { width:max-content;padding:.22rem .45rem;border-radius:999px;color:#167046;background:#e9f6ef;font-size:.66rem; }.ph-marketplace-modes { margin:1rem 0 .8rem; }.ph-marketplace-modes > span { border-color:#d0e1de;background:#f2f8f6; }.ph-marketplace-facts { border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:1rem; }.ph-marketplace-facts > div { display:grid;align-content:start;justify-content:stretch;gap:.15rem;padding:.7rem;border:0;border-radius:.7rem;background:#f6f9f8; }.ph-marketplace-facts dt { font-size:.62rem; }.ph-marketplace-facts dd { max-width:none;font-size:.76rem;text-align:left; }.ph-marketplace-actions .btn { min-height:2.75rem;padding-inline:.9rem;border-color:#9fc9c1;background:#fff; }.ph-marketplace-actions .btn:hover { color:#fff;background:var(--ph-accent); }
@media (max-width:800px) { .ph-marketplace-intro { padding:2rem 1rem 3.6rem;border-radius:1.2rem; }.ph-marketplace-searchbar { width:calc(100% - 1rem); }.ph-marketplace-trust { grid-template-columns:1fr;gap:.4rem; }.ph-marketplace-trust > span { grid-template-columns:1.7rem minmax(0,1fr); }.ph-marketplace-layout { margin-top:1rem; } }
@media (max-width:600px) { .ph-marketplace-heading h1 { font-size:clamp(2.15rem,10vw,3rem); }.ph-marketplace-mode > a { grid-template-columns:1fr; }.ph-marketplace-trust small { display:block; }.ph-marketplace-searchbar { margin-top:-1.65rem; }.ph-marketplace-card-header { grid-template-columns:4.25rem minmax(0,1fr); }.ph-marketplace-avatar { width:4.25rem;height:4.25rem; }.ph-marketplace-facts { grid-template-columns:1fr; } }

/* Public Professional profile — patient-friendly Independent Care selection. */
.ph-independent-care-form { display:grid;gap:1rem;margin-bottom:1.5rem; }.ph-independent-care-form fieldset { min-width:0;margin:0;padding:0;border:0; }.ph-independent-care-form legend { display:grid;width:100%;gap:.3rem;margin:0 0 .8rem;color:#294b46; }.ph-independent-care-form legend > span:first-child,.ph-independent-service-heading > div > span { display:inline-flex;min-height:1.35rem;align-items:center;justify-self:start;padding:.2rem .45rem;border-radius:999px;color:#fff;background:var(--ph-accent);font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }.ph-independent-care-form legend > span:last-child { display:grid;gap:.15rem; }.ph-independent-care-form legend strong { color:#23433e;font-size:1rem;line-height:1.25; }.ph-independent-care-form legend small { color:var(--cui-secondary-color);font-size:.72rem;line-height:1.35; }
.ph-independent-care-types { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem; }.ph-independent-care-type { position:relative;display:grid;grid-template-columns:2.75rem minmax(0,1fr) 1.25rem;align-items:center;gap:.75rem;min-height:4.8rem;margin:0;padding:.8rem;border:1px solid #bfd6d1;border-radius:.85rem;background:#fff;box-shadow:0 .25rem .8rem rgba(23,50,58,.045);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s; }.ph-independent-care-type:hover { border-color:#73aa9f;box-shadow:0 .45rem 1rem rgba(23,50,58,.09);transform:translateY(-1px); }.ph-independent-care-type.is-selected { border-color:var(--ph-accent);background:#eef8f5;box-shadow:0 0 0 .16rem rgba(var(--cui-primary-rgb),.1),0 .45rem 1rem rgba(23,50,58,.08); }.ph-independent-care-type > .form-check-input { position:absolute;width:1px;height:1px;margin:0;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap; }.ph-independent-care-type:focus-within { outline:3px solid #f5a623;outline-offset:2px; }.ph-independent-care-type-icon { display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:.75rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1);font-size:1rem; }.ph-independent-care-type > span:nth-of-type(2) { display:grid;gap:.15rem; }.ph-independent-care-type > span:nth-of-type(2) strong { color:#23433e;font-size:.82rem; }.ph-independent-care-type > span:nth-of-type(2) small { color:var(--cui-secondary-color);font-size:.68rem;line-height:1.35; }.ph-independent-care-selected { color:#b8c8c5; }.ph-independent-care-type.is-selected .ph-independent-care-selected { color:var(--ph-accent); }.ph-independent-care-form > .btn { justify-self:start; }
.ph-independent-service-heading { display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8rem; }.ph-independent-service-heading > div > span { margin-bottom:.3rem; }.ph-independent-service-heading h3 { margin:0;color:#23433e;font-size:1rem; }.ph-independent-service-heading p { margin:.18rem 0 0;color:var(--cui-secondary-color);font-size:.72rem; }.ph-independent-service-heading > strong { flex:0 0 auto;color:var(--cui-secondary-color);font-size:.72rem;font-weight:650; }
.ph-independent-booking-action { display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #d5e2df;border-radius:1rem;background:#f7fbfa; }.ph-independent-booking-action .ph-independent-service-heading { margin:0; }.ph-independent-booking-action > .btn { min-height:2.75rem;flex:0 0 auto;padding-inline:1.15rem;border-radius:.75rem;font-weight:800; }
.ph-independent-booking-rate { display:grid;gap:.3rem; }.ph-independent-booking-rate > span { display:inline-flex;justify-self:start;min-height:1.35rem;align-items:center;padding:.2rem .45rem;border-radius:999px;color:#fff;background:var(--ph-accent);font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }.ph-independent-booking-rate strong { color:#194f47;font-size:1.3rem;line-height:1.2; }.ph-independent-booking-rate strong small { margin-left:.18rem;color:var(--cui-secondary-color);font-size:.68rem;font-weight:650; }
.ph-independent-service-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem; }.ph-independent-service-card { display:grid;grid-template-columns:2.8rem minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:1rem;border:1px solid #d5e2df;border-radius:1rem;background:#fff;box-shadow:0 .25rem .8rem rgba(23,50,58,.045);transition:border-color .15s,box-shadow .15s,transform .15s; }.ph-independent-service-card:hover { border-color:rgba(var(--cui-primary-rgb),.45);box-shadow:0 .55rem 1.25rem rgba(23,50,58,.08);transform:translateY(-1px); }.ph-independent-service-icon { display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:.75rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1); }.ph-independent-service-copy { min-width:0; }.ph-independent-service-copy > small { color:var(--ph-accent);font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase; }.ph-independent-service-copy h3 { margin:.12rem 0 .2rem;color:#23433e;font-size:.9rem;line-height:1.3; }.ph-independent-service-copy p { margin:0;color:var(--cui-secondary-color);font-size:.68rem;line-height:1.4; }.ph-independent-service-rate { display:grid;justify-items:end;white-space:nowrap; }.ph-independent-service-rate small { color:var(--cui-secondary-color);font-size:.6rem;text-transform:uppercase; }.ph-independent-service-rate strong { color:#194f47;font-size:.95rem; }.ph-independent-service-card > .btn { grid-column:2/-1;display:flex;min-height:2.55rem;align-items:center;justify-content:center;margin-top:.2rem;border-radius:.7rem;font-size:.75rem; }.ph-independent-care-empty { display:grid;grid-template-columns:2.75rem minmax(0,1fr);align-items:center;gap:.75rem;padding:1rem;border:1px dashed #c8d9d6;border-radius:.85rem;background:#f7faf9; }.ph-independent-care-empty p { margin:.15rem 0 0;color:var(--cui-secondary-color);font-size:.75rem; }
@media (max-width:900px) { .ph-independent-service-grid { grid-template-columns:1fr; } }
@media (max-width:600px) { .ph-independent-care-types { grid-template-columns:1fr; }.ph-independent-care-form > .btn { width:100%; }.ph-independent-service-heading { align-items:start;flex-direction:column; }.ph-independent-booking-action { align-items:stretch;flex-direction:column; }.ph-independent-booking-action > .btn { width:100%; }.ph-independent-service-card { grid-template-columns:2.6rem minmax(0,1fr); }.ph-independent-service-icon { width:2.6rem;height:2.6rem; }.ph-independent-service-rate { grid-column:2;justify-items:start; }.ph-independent-service-card > .btn { grid-column:1/-1;width:100%; } }

/* Marketplace result cards — larger, more recognizable public profile media. */
.ph-marketplace-card-header { grid-template-columns:6.25rem minmax(0,1fr); }
.ph-marketplace-avatar { width:6.25rem;height:6.25rem;background-size:2.15rem; }
.ph-marketplace-avatar-professional-placeholder { color:#52827a;background-image:none;font-size:2.5rem; }
.ph-marketplace-card-rating { display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .45rem;margin-top:.45rem;color:var(--ph-muted);font-size:.7rem;line-height:1.25; }
.ph-marketplace-card-rating strong { display:inline-flex;align-items:center;gap:.25rem;color:var(--ph-ink);font-size:.82rem; }
.ph-marketplace-card-rating strong i { color:#e3a008;font-size:.72rem; }
.ph-marketplace-card-rating small { font-size:.68rem; }
.ph-professional-review-list { display:grid; }
.ph-professional-review { display:grid;gap:.8rem;padding:1.1rem 0;border-top:1px solid #d8e3e0; }
.ph-professional-review > header { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem 1rem; }
.ph-professional-review-rating { display:inline-flex;align-items:center;gap:.22rem;color:#e3a008; }
.ph-professional-review-rating i { font-size:.9rem; }
.ph-professional-review-rating strong { margin-left:.3rem;color:var(--ph-ink);font-size:.82rem; }
.ph-professional-review-rating strong span { color:var(--ph-muted);font-size:.7rem;font-weight:600; }
.ph-professional-review-verified { display:inline-flex;align-items:center;gap:.35rem;color:#176d5f;font-size:.7rem;font-weight:750; }
.ph-professional-review-verified i { color:var(--ph-accent); }
.ph-professional-review-comment { margin:0;color:var(--ph-ink);font-size:.9rem;line-height:1.55; }
.ph-professional-review-response { display:grid;gap:.3rem;margin-top:.1rem;padding:.7rem .8rem;border-left:3px solid rgba(var(--cui-primary-rgb),.45);border-radius:0 .55rem .55rem 0;background:#f5f9f8; }
.ph-professional-review-response > span { display:flex;align-items:center;gap:.35rem;color:var(--ph-accent);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em; }
.ph-professional-review-response p { margin:0;color:#49635f;font-size:.78rem;line-height:1.45; }
.ph-clinic-directory-reviews { padding:1.2rem 1.35rem;border:1px solid #d4e2df;border-radius:1rem;background:rgba(255,255,255,.94);box-shadow:0 .45rem 1.2rem rgba(23,50,58,.045); }
.ph-clinic-directory-reviews .ph-clinic-directory-section-heading { margin-bottom:0; }
@media (max-width:600px) { .ph-marketplace-card-header { grid-template-columns:5rem minmax(0,1fr); }.ph-marketplace-avatar { width:5rem;height:5rem;background-size:1.9rem; } }

/* Public Clinic organization — location-first directory distinct from Branch detail. */
.ph-clinic-organization-hero { position:relative;grid-template-columns:9rem minmax(0,1fr);gap:2.25rem;overflow:hidden;padding:2rem;border-top:.38rem solid var(--ph-accent);border-radius:1.15rem;background:radial-gradient(circle at 100% 0,rgba(23,137,119,.1) 0 10rem,transparent 10.1rem),radial-gradient(circle at 0 100%,rgba(240,164,83,.08) 0 8rem,transparent 8.1rem),linear-gradient(135deg,#e9f6f2 0%,#f9fbfa 58%,#fff5e9 100%);box-shadow:0 .7rem 1.8rem rgba(23,50,58,.07);}
.ph-clinic-organization-hero .ph-clinic-directory-logo { width:8rem;height:8rem;border:.3rem solid #fff;border-radius:1.2rem;box-shadow:0 .75rem 1.6rem rgba(23,50,58,.14);}
.ph-clinic-organization-hero .ph-clinic-directory-identity { position:relative;z-index:1;min-width:0;}
.ph-clinic-organization-hero .ph-clinic-directory-identity h1 { margin:.35rem 0 .45rem;font-size:clamp(2rem,4vw,3.35rem);letter-spacing:-.035em;}
.ph-clinic-organization-hero .ph-clinic-directory-identity > p { max-width:55rem;font-size:.95rem;line-height:1.65;}
.ph-clinic-organization-hero .ph-clinic-directory-summary { display:grid;grid-template-columns:repeat(2,minmax(10rem,14rem));gap:.7rem;margin-top:1rem;}
.ph-clinic-organization-hero .ph-clinic-directory-summary > span { display:grid;grid-template-columns:2.2rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.7rem .8rem;border:1px solid rgba(var(--cui-primary-rgb),.14);border-radius:.75rem;background:rgba(255,255,255,.72);}
.ph-clinic-organization-hero .ph-clinic-directory-summary > span > i { display:grid;width:2.2rem;height:2.2rem;place-items:center;border-radius:.6rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1);}
.ph-clinic-organization-hero .ph-clinic-directory-summary > span > span { display:grid;gap:.05rem;}
.ph-clinic-directory-jump { display:inline-flex;min-height:2.65rem;align-items:center;gap:.55rem;margin-top:1rem;padding:.55rem .85rem;border-radius:.65rem;color:#fff;background:var(--ph-accent);font-size:.78rem;font-weight:800;text-decoration:none;}
.ph-clinic-directory-jump:hover { color:#fff;filter:brightness(.94);}
.ph-clinic-directory-section-heading > div > small { display:block;margin-top:.25rem;color:var(--ph-muted);font-size:.78rem;}
.ph-clinic-directory-section-heading > p { display:flex;align-items:center;gap:.4rem;}
.ph-clinic-directory-grid { gap:1.15rem;}
.ph-clinic-directory-card { grid-template-columns:1fr;overflow:hidden;border-radius:1rem;box-shadow:0 .35rem 1rem rgba(23,50,58,.055);transition:transform .15s,border-color .15s,box-shadow .15s;}
.ph-clinic-directory-card:hover { transform:translateY(-2px);box-shadow:0 .8rem 1.7rem rgba(23,50,58,.1);}
.ph-clinic-directory-card-media { position:relative;min-height:15rem;max-height:17rem;}
.ph-clinic-directory-card-media .ph-clinic-directory-card-state { position:absolute;top:.8rem;left:.8rem;width:max-content;max-width:calc(100% - 1.6rem);padding:.35rem .55rem;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 .25rem .7rem rgba(23,50,58,.12);white-space:nowrap;}
.ph-clinic-directory-card-content { display:grid;grid-template-columns:minmax(0,1fr) minmax(13rem,.8fr);gap:.8rem 1.25rem;padding:1.1rem;}
.ph-clinic-directory-card-content > div > small { color:var(--ph-accent);font-size:.65rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;}
.ph-clinic-directory-card-content h3 { margin:.18rem 0 .3rem;font-size:1.15rem;}
.ph-clinic-directory-card-content ul { align-self:start;margin:0;padding:0;list-style:none;}
.ph-clinic-directory-card-content li { display:grid;grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:.45rem;}
.ph-clinic-directory-card-content li i { color:var(--ph-accent);margin-top:.1rem;}
.ph-clinic-directory-card-content > a { grid-column:1/-1;min-height:2.8rem;color:#fff;border-color:var(--ph-accent);background:var(--ph-accent);}
.ph-clinic-directory-card-content > a:hover { color:#fff;background:#0d7465;}
.ph-clinic-directory-footnote { align-items:flex-start;margin-top:1.2rem;padding:.85rem 1rem;border-radius:.75rem;background:rgba(255,255,255,.65);}
.ph-clinic-directory-footnote > i { border:0;color:#218354;background:#e4f5ea;}
.ph-clinic-directory-footnote strong { display:block;color:var(--ph-ink);}
@media (max-width:700px) { .ph-clinic-organization-hero { grid-template-columns:1fr;justify-items:center;gap:1.2rem;padding:1.35rem;text-align:center;}.ph-clinic-organization-hero .ph-clinic-directory-summary { grid-template-columns:1fr;text-align:left;}.ph-clinic-directory-jump { justify-content:center;}.ph-clinic-directory-card-content { grid-template-columns:1fr;}.ph-clinic-directory-card-content > a { grid-column:auto;}.ph-clinic-directory-card-media { min-height:12rem;}.ph-clinic-directory-section-heading > p { align-items:flex-start;}}

/* Realtime Physioph support workspace. */
.ph-support-page { width:min(100%,92rem);margin-inline:auto;}.ph-support-start,.ph-support-conversation { padding:clamp(1rem,2vw,1.5rem);border-radius:1rem;background:rgba(255,255,255,.9);box-shadow:0 .45rem 1.3rem rgba(23,50,58,.055);}.ph-support-subject { display:flex;min-height:4.5rem;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem;border-radius:.8rem;background:#f3f8f7;}.ph-support-thread-list { display:grid;gap:.65rem;}.ph-support-thread { display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.9rem 1rem;border-radius:.85rem;color:var(--ph-ink);background:rgba(255,255,255,.9);box-shadow:0 .3rem .9rem rgba(23,50,58,.045);text-decoration:none;}.ph-support-thread:hover { color:var(--ph-ink);background:#f4faf8;}.ph-support-thread-icon { display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:.7rem;color:var(--ph-accent);background:rgba(var(--cui-primary-rgb),.1);}.ph-support-conversation form { position:sticky;bottom:.75rem;padding:.75rem;border-radius:.8rem;background:rgba(255,255,255,.96);box-shadow:0 -.25rem 1rem rgba(23,50,58,.07);}@media(max-width:600px){.ph-support-subject { align-items:stretch;flex-direction:column;}.ph-support-subject .btn { width:100%;}.ph-support-thread time { display:none;}}
.ph-support-inbox-layout{display:grid;grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);align-items:start;gap:1.25rem}.ph-support-create,.ph-support-inbox{overflow:hidden;border-radius:1rem;background:rgba(255,255,255,.9);box-shadow:0 .45rem 1.3rem rgba(23,50,58,.055)}.ph-support-create{position:sticky;top:5.5rem;padding:1.25rem}.ph-support-create-heading{display:flex;gap:.8rem}.ph-support-create-heading h2,.ph-support-inbox h2{margin:.1rem 0;font-size:1.15rem}.ph-support-create-heading p:last-child{margin:.25rem 0;color:var(--cui-secondary-color);font-size:.8rem}.ph-support-create-form{display:grid;gap:.85rem;margin-top:1.2rem}.ph-support-create-form label{display:grid;gap:.3rem;color:var(--ph-ink);font-size:.76rem;font-weight:750}.ph-support-create-form .btn{justify-self:start}.ph-support-inbox>header{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.25rem;border-bottom:1px solid #e3ebe9}.ph-support-inbox>header p{margin:0}.ph-support-inbox>header>span{padding:.35rem .6rem;border-radius:999px;color:var(--ph-accent);background:#e8f3f0;font-size:.72rem;font-weight:800}.ph-support-thread-list{gap:0}.ph-support-thread{grid-template-columns:2.6rem minmax(0,1fr) auto;padding:1rem 1.2rem;border-radius:0;box-shadow:none}.ph-support-thread+.ph-support-thread{border-top:1px solid #e5ecea}.ph-support-thread.is-unread{background:#f0f8f6}.ph-support-thread-copy{display:grid;min-width:0}.ph-support-thread-copy strong,.ph-support-thread-copy small,.ph-support-thread-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-support-thread-copy small,.ph-support-thread-copy>span{color:var(--cui-secondary-color);font-size:.72rem}.ph-support-thread-copy>span{margin-top:.2rem}.ph-support-thread-meta{display:grid;grid-template-columns:auto auto;align-items:center;gap:.45rem;color:var(--cui-secondary-color);font-size:.7rem}.ph-support-thread-meta b{padding:.25rem .45rem;border-radius:999px;color:#fff;background:var(--ph-accent);font-size:.65rem}.ph-support-thread-meta i{grid-column:3}.ph-support-empty{display:grid;justify-items:center;gap:.35rem;padding:3rem 1rem;color:var(--cui-secondary-color);text-align:center}.ph-support-empty i{font-size:1.5rem}.ph-support-empty strong{color:var(--ph-ink)}.ph-support-chat-shell{grid-template-columns:minmax(0,1fr)}.ph-support-thread-page .ph-conversation-main{border-right:0}.ph-support-thread-page .ph-message-thread{flex:1 1 auto;min-height:0;overflow-y:auto}.ph-support-thread-page .ph-message-thread>*{width:100%;margin-inline:0}.ph-support-thread-page .ph-message-composer{padding-inline:clamp(.75rem,1.5vw,1.25rem)}
@media(max-width:800px){.ph-support-inbox-layout{grid-template-columns:1fr}.ph-support-create{position:static}.ph-support-thread-meta time{display:none}}@media(max-width:520px){.ph-support-thread{grid-template-columns:2.5rem minmax(0,1fr)}.ph-support-thread-meta{grid-column:2;justify-content:start}.ph-support-thread-meta i{display:none}}
.ph-support-status{display:inline-flex;align-items:center;padding:.28rem .52rem;border-radius:999px;color:#49605b;background:#e9efed;font-size:.64rem;font-style:normal;font-weight:800;text-transform:capitalize;white-space:nowrap}.ph-support-status.is-waiting_on_physioph{color:#79510f;background:#fff0cf}.ph-support-status.is-waiting_on_requester{color:#176052;background:#dff3ed}.ph-support-status.is-completed{color:#17613e;background:#dcf3e5}.ph-support-thread.is-completed{opacity:.78}.ph-support-thread-actions{display:flex;align-items:center;gap:.45rem}.ph-support-thread-actions form{margin:0}.ph-support-complete-action{--cui-btn-color:#fff;--cui-btn-bg:#087a67;--cui-btn-border-color:#087a67;--cui-btn-hover-color:#fff;--cui-btn-hover-bg:#075f51;--cui-btn-hover-border-color:#075f51;--cui-btn-active-color:#fff;--cui-btn-active-bg:#064f44;--cui-btn-active-border-color:#064f44;--cui-btn-focus-shadow-rgb:8,122,103;font-weight:700}.ph-support-completed{display:flex;flex:0 0 auto;align-items:center;gap:.75rem;margin:0 clamp(.75rem,1.5vw,1.25rem) 1rem;padding:.85rem 1rem;border-radius:.8rem;color:#185c3d;background:#e3f3e9}.ph-support-completed>i{font-size:1.25rem}.ph-support-completed div{display:grid}.ph-support-completed span{font-size:.75rem}@media(max-width:600px){.ph-support-thread-actions .btn span{display:none}.ph-support-thread-actions{flex-wrap:wrap;justify-content:flex-end}}
.ph-support-thread-page{width:90%;max-width:90rem!important;min-height:auto!important;gap:0;padding-inline:0!important;padding-bottom:2rem!important}.body>main.ph-support-thread-page{background-color:transparent!important;background-image:none!important}.ph-support-page-header{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:1rem;margin:0 0 1.25rem}.ph-support-page-header .foundation-eyebrow{margin-bottom:.35rem}.ph-support-page-header h1{margin-bottom:.35rem}.ph-support-page-header .lead{color:var(--cui-secondary-color)}.ph-support-chat-shell{flex:none;height:clamp(32rem,64dvh,46rem);border:1px solid #d8e3e0;border-radius:1rem;background:#fff;box-shadow:0 .4rem 1.2rem rgba(23,50,58,.06)}@media(max-width:800px){.ph-support-thread-page{width:100%;padding-inline:.75rem!important}.ph-support-page-header{align-items:stretch;flex-direction:column}.ph-support-page-header .ph-support-thread-actions{align-self:flex-start}.ph-support-chat-shell{height:max(20rem,calc(100dvh - 22.5rem));min-height:0}}@media(max-width:575.98px){.ph-support-chat-shell{height:max(18rem,calc(100dvh - 25rem))}}

/* Professional profile hero — small-screen portrait emphasis and safe text clearance. */
@media (max-width:700px) {
  .ph-professional-profile-hero-grid { gap:1.5rem;padding-top:1.5rem; }
  .ph-professional-profile-portrait { width:9.5rem;height:9.5rem;min-height:0; }
  .ph-professional-profile-portrait-media > img { min-width:0;min-height:0;max-width:100%;max-height:100%; }
  .ph-professional-profile-portrait small { z-index:1; }
}

/* Patient booking request — guided care-request workspace. */
.ph-booking-request-page { width:min(92rem,calc(100% - 2rem));margin:0 auto;padding:0 0 4rem;color:var(--ph-ink); }
.ph-booking-request-layout { display:grid;grid-template-columns:minmax(0,1.75fr) minmax(18rem,.75fr);align-items:start;gap:1.25rem; }.ph-booking-request-layout > section,.ph-booking-request-layout > aside { min-width:0; }
.ph-booking-request-form,.ph-booking-request-summary { border:1px solid #cfddda;border-radius:1.15rem;background:#fff;box-shadow:0 .55rem 1.6rem rgba(23,50,58,.055); }.ph-booking-request-form { overflow:hidden; }.ph-booking-request-form-body { padding:1.35rem; }
.ph-booking-request-section { margin:0;padding:0;border:0; }.ph-booking-request-section legend,.ph-booking-request-section-heading { display:flex;align-items:flex-start;gap:.65rem;margin:0 0 .85rem; }.ph-booking-request-section legend > span,.ph-booking-request-section-heading > span { display:grid;flex:0 0 1.65rem;width:1.65rem;height:1.65rem;place-items:center;border-radius:50%;color:#fff;background:var(--ph-accent);font-size:.68rem;font-weight:800; }.ph-booking-request-section legend > strong,.ph-booking-request-section-heading h2 { margin:.05rem 0 0;color:#23443e;font-size:1rem;line-height:1.35; }.ph-booking-request-section-heading p { margin:.15rem 0 0;color:var(--cui-secondary-color);font-size:.72rem;line-height:1.4; }
.ph-booking-request-choices { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem; }.ph-booking-request-choices .form-check { position:relative;margin:0;padding:0; }.ph-booking-request-choices .form-check-input { position:absolute;width:1px;height:1px;margin:0;clip:rect(0,0,0,0);clip-path:inset(50%); }.ph-booking-request-choices .form-check-label { display:grid;height:100%;min-height:4.7rem;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.7rem;padding:.75rem;border:1px solid #d3e0de;border-radius:.8rem;background:#fbfdfc;cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s; }.ph-booking-request-choices .form-check-label > i { display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:.65rem;color:var(--ph-accent);background:#e9f5f2; }.ph-booking-request-choices .form-check-label > span { display:grid;gap:.1rem; }.ph-booking-request-choices .form-check-label strong { color:#294b45;font-size:.8rem; }.ph-booking-request-choices .form-check-label small { color:var(--cui-secondary-color);font-size:.66rem;line-height:1.35; }.ph-booking-request-choices .form-check:hover .form-check-label { border-color:#8ebbb3; }.ph-booking-request-choices .form-check:has(.form-check-input:checked) .form-check-label { border-color:var(--ph-accent);background:#eef8f5;box-shadow:0 0 0 .15rem rgba(var(--cui-primary-rgb),.1); }.ph-booking-request-choices .form-check:focus-within .form-check-label { outline:3px solid #f5a623;outline-offset:2px; }
.ph-booking-request-details { margin-top:1.3rem;padding-top:1.25rem;border-top:1px solid #e0e9e7; }.ph-booking-request-form hr { margin:1.35rem 0;border-color:#dfe9e7;opacity:1; }.ph-booking-request-form .form-label { color:#35534f;font-size:.72rem;font-weight:750; }.ph-booking-request-form .form-control,.ph-booking-request-form .form-select { min-height:2.8rem;border-color:#cbdad7;border-radius:.7rem;background-color:#fff;font-size:.82rem; }.ph-booking-request-form .form-control:focus,.ph-booking-request-form .form-select:focus { border-color:var(--ph-accent);box-shadow:0 0 0 .18rem rgba(var(--cui-primary-rgb),.12); }.ph-booking-request-date { margin-top:.8rem;padding:.8rem;border-radius:.75rem;background:#f3f8f6; }.ph-booking-request-date .form-label { margin-bottom:.35rem; }.ph-booking-request-reason { min-height:8rem;resize:vertical; }.ph-booking-request-form .form-text { color:#687b78;font-size:.68rem; }
.ph-booking-recipient-picker { margin-top:.85rem;padding:.85rem;border:1px solid #d7e4e1;border-radius:.8rem;background:#f8fbfa; }.ph-booking-recipient-picker > .form-label { margin-bottom:.25rem;font-size:.78rem; }.ph-booking-recipient-guidance { display:flex;align-items:flex-start;gap:.4rem;margin:0 0 .65rem;color:#607571;font-size:.68rem;line-height:1.4; }.ph-booking-recipient-guidance i { margin-top:.12rem;color:var(--ph-accent); }
.ph-booking-referral { margin:0;padding:1rem;border:1px solid #cfe0dc;border-radius:.9rem;background:linear-gradient(135deg,#f3faf8,#fff); }.ph-booking-referral legend { display:flex;width:auto;align-items:center;gap:.7rem;margin:0 0 .55rem;padding:0;float:none; }.ph-booking-referral legend > span:first-child { display:grid;flex:0 0 2.6rem;width:2.6rem;height:2.6rem;place-items:center;border-radius:.7rem;color:var(--ph-accent);background:#e4f3ef; }.ph-booking-referral legend > span:last-child { display:grid;gap:.08rem; }.ph-booking-referral legend small { color:var(--ph-accent);font-size:.6rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase; }.ph-booking-referral legend strong { color:#23443e;font-size:.95rem;line-height:1.3; }.ph-booking-referral > p { margin:0 0 .8rem;color:#607571;font-size:.72rem;line-height:1.5; }
.ph-booking-referral-choices { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem; }.ph-booking-referral-choices .form-check { position:relative;margin:0;padding:0; }.ph-booking-referral-choices .form-check-input { position:absolute;width:1px;height:1px;margin:0;clip:rect(0,0,0,0);clip-path:inset(50%); }.ph-booking-referral-choices .form-check-label { display:grid;height:100%;min-height:5rem;grid-template-columns:2.35rem minmax(0,1fr) 1rem;align-items:center;gap:.65rem;padding:.75rem;border:1px solid #d4e1de;border-radius:.8rem;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s; }.ph-booking-referral-choices .form-check-label > i:first-child { display:grid;width:2.35rem;height:2.35rem;place-items:center;border-radius:.65rem;color:var(--ph-accent);background:#eaf5f2; }.ph-booking-referral-choices .form-check-label > span { display:grid;gap:.12rem; }.ph-booking-referral-choices .form-check-label strong { color:#294b45;font-size:.75rem;line-height:1.3; }.ph-booking-referral-choices .form-check-label small { color:var(--cui-secondary-color);font-size:.64rem;line-height:1.35; }.ph-booking-referral-choices .form-check-label > i:last-child { color:#bbc9c6;font-size:.85rem; }.ph-booking-referral-choices .form-check:hover .form-check-label { border-color:#8ebbb3; }.ph-booking-referral-choices .form-check:has(.form-check-input:checked) .form-check-label { border-color:var(--ph-accent);background:#eef8f5;box-shadow:0 0 0 .15rem rgba(var(--cui-primary-rgb),.1); }.ph-booking-referral-choices .form-check:has(.form-check-input:checked) .form-check-label > i:last-child { color:var(--ph-accent); }.ph-booking-referral-choices .form-check:focus-within .form-check-label { outline:3px solid #f5a623;outline-offset:2px; }.ph-booking-referral-exit { display:inline-flex;align-items:center;gap:.35rem;margin-top:.8rem;color:#607571;font-size:.68rem;font-weight:700;text-decoration:none; }.ph-booking-referral-exit:hover { color:var(--ph-accent); }
.ph-booking-request-submit { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem -1.35rem -1.35rem;padding:1rem 1.35rem;border-top:1px solid #dce7e4;background:#f6f9f8; }.ph-booking-request-submit > span { display:flex;max-width:26rem;align-items:flex-start;gap:.45rem;color:#607571;font-size:.68rem;line-height:1.4; }.ph-booking-request-submit > span i { margin-top:.12rem;color:var(--ph-accent); }.ph-booking-request-submit .btn { min-height:2.8rem;flex:0 0 auto;padding-inline:1rem;border-radius:.7rem;font-size:.78rem;font-weight:800; }
.ph-booking-request-summary { position:sticky;top:5rem;overflow:hidden; }.ph-booking-request-summary > header { display:grid;grid-template-columns:2.75rem minmax(0,1fr);align-items:center;gap:.75rem;padding:1rem 1.05rem;border-bottom:1px solid #dce7e4;background:linear-gradient(135deg,#f1f8f6,#fff); }.ph-booking-request-summary-icon { display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:.75rem;color:var(--ph-accent);background:#e4f3ef; }.ph-booking-request-summary header p { margin:0;color:var(--ph-accent);font-size:.62rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase; }.ph-booking-request-summary h2 { margin:.12rem 0 0;color:#23443e;font-size:1rem;line-height:1.3; }
.ph-booking-request-price { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:1rem 1.05rem;border-bottom:1px solid #e2ebe9; }.ph-booking-request-price small { grid-column:1;color:var(--cui-secondary-color);font-size:.65rem;text-transform:uppercase; }.ph-booking-request-price strong { grid-column:1;color:#174f46;font-size:1.65rem;line-height:1.1; }.ph-booking-request-price span { grid-column:2;grid-row:1/3;color:var(--cui-secondary-color);font-size:.65rem;font-weight:700; }
.ph-booking-request-summary dl { display:grid;gap:0;margin:0;padding:0 1.05rem; }.ph-booking-request-summary dl > div { display:grid;gap:.15rem;padding:.75rem 0;border-bottom:1px solid #e5ecea; }.ph-booking-request-summary dt { color:#687d79;font-size:.62rem;letter-spacing:.035em;text-transform:uppercase; }.ph-booking-request-summary dd { margin:0;color:#294b45;font-size:.76rem;font-weight:700;line-height:1.4; }.ph-booking-request-assurance { display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.65rem;margin:1rem;padding:.8rem;border-radius:.75rem;color:#315851;background:#edf7f4; }.ph-booking-request-assurance > i { display:grid;width:2rem;height:2rem;place-items:center;border-radius:50%;background:#fff; }.ph-booking-request-assurance p { display:grid;gap:.12rem;margin:0; }.ph-booking-request-assurance strong { font-size:.7rem; }.ph-booking-request-assurance span { color:#5d7570;font-size:.65rem;line-height:1.4; }
@media (max-width:991.98px) { .ph-booking-request-layout { grid-template-columns:1fr; }.ph-booking-request-summary { position:static; }.ph-booking-request-layout > aside { grid-row:1; } }
@media (max-width:600px) { .ph-booking-request-page { width:min(100% - 1rem,92rem);padding-bottom:2rem; }.ph-booking-request-form-body { padding:1rem; }.ph-booking-request-choices,.ph-booking-referral-choices { grid-template-columns:1fr; }.ph-booking-referral { padding:.85rem; }.ph-booking-request-submit { align-items:stretch;flex-direction:column;margin:1rem -1rem -1rem;padding:1rem; }.ph-booking-request-submit .btn { width:100%; }.ph-booking-request-summary > header,.ph-booking-request-price,.ph-booking-request-summary dl { padding-inline:.9rem; } }
.ph-trust-summary{display:flex;flex-wrap:wrap;gap:.75rem}.ph-trust-summary span{background:color-mix(in srgb,var(--ph-primary) 7%,white);border-radius:.8rem;padding:.65rem .9rem;color:var(--ph-ink-muted)}.ph-trust-summary strong{color:var(--ph-ink);font-size:1.15rem;margin-right:.25rem}.ph-trust-groups{display:grid;gap:1.5rem}.ph-trust-group{background:rgba(255,255,255,.72);border-radius:1.25rem;box-shadow:0 14px 34px rgba(22,52,59,.08);overflow:hidden}.ph-trust-group>header{display:flex;gap:1rem;padding:1.35rem 1.5rem;background:linear-gradient(115deg,rgba(228,246,242,.9),rgba(255,250,244,.8))}.ph-trust-group h2{font-size:1.35rem;margin:.1rem 0}.ph-trust-group header p{color:var(--ph-ink-muted);margin:0}.ph-trust-items{padding:0 1.5rem}.ph-trust-item{padding:1.35rem 0}.ph-trust-item+.ph-trust-item{border-top:1px solid rgba(98,127,132,.2)}.ph-trust-item-main{display:flex;justify-content:space-between;gap:1rem}.ph-trust-kind{text-transform:uppercase;letter-spacing:.075em;color:var(--ph-primary);font-size:.72rem;font-weight:800}.ph-trust-item h3{font-size:1.05rem;margin:.3rem 0}.ph-trust-item p,.ph-trust-item small{color:var(--ph-ink-muted)}.ph-trust-item form{margin-top:1rem;max-width:54rem}.ph-trust-review-note{background:rgba(241,245,246,.75);border-radius:.65rem;margin:1rem 0 0;padding:.75rem}.ph-empty-state{background:rgba(255,255,255,.65);border-radius:1rem;padding:2rem;text-align:center}
.ph-trust-review-page > .ph-standard-page-header { margin-bottom:1.5rem; }
.ph-trust-review-page .ph-trust-summary span { display:grid;min-width:8.5rem;gap:.1rem;padding:.75rem .9rem;border:1px solid #d8e6e2;background:rgba(255,255,255,.72); }
.ph-trust-review-page .ph-trust-summary strong { margin:0;font-size:1.3rem;line-height:1.1; }
.ph-trust-review-page .ph-trust-summary small { color:var(--cui-secondary-color);font-size:.7rem;font-weight:700; }
.ph-trust-review-page { width:100%;margin:0; }
.ph-trust-review-page > .admin-catalog-header { align-items:end;margin-bottom:1rem; }
.ph-trust-review-page > .admin-catalog-header p:not(.foundation-eyebrow) { color:var(--cui-secondary-color);font-size:1rem; }
.ph-trust-review-page .ph-trust-summary span { min-width:6.5rem;padding:.65rem .8rem;border:0;border-left:3px solid var(--ph-accent);border-radius:.55rem;background:#fff;box-shadow:0 .2rem .7rem rgba(23,50,58,.05); }
.ph-trust-review-page .ph-trust-groups { gap:1rem; }
.ph-trust-review-page .ph-trust-group { border:1px solid #dce7e4;border-radius:1rem;background:#fff;box-shadow:0 .35rem 1rem rgba(23,50,58,.055); }
.ph-trust-review-page .ph-trust-group > header { align-items:center;padding:1rem 1.15rem;border-bottom:1px solid #e1eae8;background:#f3f9f7; }
.ph-trust-review-page .ph-trust-group > header h2 { margin:.1rem 0;font-size:1.1rem; }
.ph-trust-review-page .ph-trust-group > header p { font-size:.76rem; }
.ph-trust-review-page .ph-trust-items { padding:0 1.15rem; }
.ph-trust-review-page .ph-trust-item { padding:1.15rem 0; }
.ph-trust-review-page .ph-trust-item-labels { display:flex;flex-wrap:wrap;align-items:center;gap:.5rem; }
.ph-trust-review-page .ph-trust-item-labels .badge { min-height:1.35rem;padding:.2rem .45rem;font-size:.58rem;text-transform:capitalize; }
.ph-trust-review-page .ph-trust-item h3 { margin:.45rem 0 .2rem;font-size:1rem; }
.ph-trust-review-page .ph-trust-item p { margin:0 0 .45rem;font-size:.82rem;line-height:1.5; }
.ph-trust-review-page .ph-trust-item small { font-size:.68rem; }
.ph-trust-review-page .ph-trust-item-main .btn { display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap; }
.ph-trust-evidence-action { width:18rem;max-width:100%;align-self:start;justify-self:start; }
.ph-trust-review-page .ph-trust-item form { display:grid;gap:.65rem;margin-top:.9rem;padding-top:.9rem;border-top:1px solid #e5ecea; }
.ph-trust-review-page .ph-trust-item form .form-label { margin:0;font-size:.75rem;font-weight:700; }
.ph-trust-review-page .ph-trust-item form .form-control { min-height:2.65rem;margin-top:.3rem;border-radius:.6rem;font-size:.82rem; }
.ph-trust-decision-actions { display:flex;gap:.55rem; }
.ph-trust-decision-actions .btn { display:inline-flex;min-width:7rem;min-height:2.55rem;align-items:center;justify-content:center;gap:.4rem;font-size:.78rem; }
@media(max-width:700px) {
  .ph-trust-review-page > .admin-catalog-header { display:flex;align-items:start;margin-bottom:1rem; }
  .ph-trust-review-page > .admin-catalog-header p:not(.foundation-eyebrow) { max-width:32rem;font-size:.88rem;line-height:1.5; }
  .ph-trust-review-page .ph-trust-summary { display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem; }
  .ph-trust-review-page .ph-trust-summary span { min-width:0;padding:.65rem .75rem; }
  .ph-trust-review-page .ph-trust-summary strong { font-size:1.25rem; }
  .ph-trust-review-page .ph-empty-state { padding:2.5rem 1.25rem;border:1px solid #e0e9e7;box-shadow:0 .35rem 1rem rgba(23,50,58,.04); }
  .ph-trust-review-page .ph-empty-state .ph-dashboard-heading-icon { margin-inline:auto; }
  .ph-trust-group > header { padding:.85rem; }
  .ph-trust-items { padding-inline:1rem; }
  .ph-trust-item-main { display:grid; }
  .ph-trust-evidence-action { width:18rem;max-width:100%;align-self:start;justify-self:start; }
  .ph-trust-decision-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ph-trust-decision-actions .btn { min-width:0; }
}
.ph-marketplace-layout { grid-template-columns:minmax(0,1fr); }
.ph-marketplace-form { z-index:auto; }
.ph-marketplace-results { width:90%; margin-inline:auto; }
.ph-marketplace-searchbar { grid-template-columns:minmax(0,1fr) auto auto; width:min(96%,76rem); }
.ph-marketplace-filter-button { min-width:7rem !important; white-space:nowrap; }
.ph-marketplace-filter-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:1rem; }
#marketplace-filter-modal .modal-dialog { max-width:min(56rem,calc(100vw - 2rem)); }
#marketplace-filter-modal .modal-content { overflow:hidden; border:0; border-radius:1.15rem; box-shadow:0 1.4rem 4rem rgba(20,50,55,.22); }
#marketplace-filter-modal .modal-header { align-items:flex-start; padding:1.25rem 1.4rem; border-bottom:1px solid #dce8e5; background:linear-gradient(135deg,#edf8f5,#fffaf4); }
#marketplace-filter-modal .modal-body { overflow-y:auto; padding:1.15rem; background:#f6f9f8; }
.ph-marketplace-filter-modal-header { display:flex; justify-content:space-between; gap:1.25rem; }
.ph-marketplace-filter-modal-title { min-width:0; }
.ph-marketplace-filter-header-actions { display:flex; flex:0 0 auto; align-items:center; justify-content:flex-end; gap:.55rem; margin-left:auto; }
.ph-marketplace-filter-header-actions .btn { min-height:2.55rem; padding-inline:.9rem; border-radius:.65rem; font-size:.75rem; font-weight:750; white-space:nowrap; }
body.modal-open,html:has(#marketplace-filter-modal.show) { overflow:hidden !important; }
.ph-marketplace-filter-column { display:grid; align-content:start; gap:1rem; min-width:0; padding:1rem; border:1px solid #d6e4e1; border-radius:.9rem; background:#fff; }
.ph-marketplace-filter-support-column { border-color:#bcd9d2; background:linear-gradient(145deg,#f4fbf9,#fff); }
.ph-marketplace-filter-column-heading { display:grid; grid-template-columns:2.5rem minmax(0,1fr); align-items:center; gap:.7rem; padding-bottom:.8rem; border-bottom:1px solid #e1ebe9; }
.ph-marketplace-filter-column-heading > span { display:grid; width:2.5rem; height:2.5rem; place-items:center; border-radius:.7rem; color:var(--ph-accent); background:#e3f3ef none; font-size:1rem; line-height:1; }
.ph-marketplace-filter-section-icon i { display:block; line-height:1; }
.ph-marketplace-filter-column-heading small { display:block; color:var(--ph-accent); font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ph-marketplace-filter-column-heading h3 { margin:.12rem 0 0; color:#254740; font-size:.95rem; }
.ph-marketplace-filter-column > label { display:grid; align-content:start; gap:.35rem; margin:0; color:#385750; font-size:.78rem; font-weight:750; }
.ph-marketplace-filter-column > label small { color:var(--cui-secondary-color); font-size:.67rem; font-weight:400; line-height:1.4; }
.ph-marketplace-filter-fields fieldset { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem .8rem; padding:.85rem; border:1px solid #e0e9e7; border-radius:.75rem; background:#f9fbfa; }
.ph-marketplace-filter-fields legend { margin-bottom:.2rem; font-size:.875rem; font-weight:700; }
.ph-marketplace-filter-fields fieldset > legend,.ph-marketplace-filter-fields fieldset > small { grid-column:1/-1; }
.ph-marketplace-filter-fields .form-check { min-width:0; margin:0; }
.ph-marketplace-filter-fields .form-check-label { color:#36544e; font-size:.72rem; line-height:1.35; }
.ph-marketplace-titles { display:block; margin:.1rem 0 .25rem; color:#425e59; font-size:.78rem; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.ph-marketplace-specialty { white-space:normal; text-overflow:clip; }
.ph-professional-profile-titles { margin:.15rem 0 .35rem; color:#315b54; font-size:1rem; font-weight:750; letter-spacing:.025em; overflow-wrap:anywhere; }
.ph-professional-profile-specialty { display:grid; gap:.15rem; }
.ph-professional-profile-specialty strong { color:var(--ph-accent); font-size:.68rem; letter-spacing:.065em; text-transform:uppercase; }
@media (max-width:600px) {
  .ph-marketplace-results { width:100%; }
  .ph-marketplace-searchbar { grid-template-columns:minmax(0,1fr) auto; padding:.4rem; }
  .ph-marketplace-searchbar > input { padding-left:.4rem; }
  .ph-marketplace-searchbar .btn-primary { grid-column:1/-1; }
  .ph-marketplace-filter-button { min-width:6.5rem !important; }
  .ph-marketplace-filter-fields { grid-template-columns:1fr; }
  .ph-marketplace-filter-fields fieldset { grid-template-columns:1fr; }
  .ph-marketplace-filter-modal-header { align-items:stretch !important; flex-direction:column; }
  .ph-marketplace-filter-header-actions { width:100%; }
  .ph-marketplace-filter-header-actions .btn { flex:1 1 auto; }
}

/* Professional Marketplace trust profile. */
.ph-trust-profile { max-width: 96rem; margin-inline: auto; }
.ph-trust-hero { align-items: end; gap: 1.5rem; }
.ph-trust-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-areas: "certification certification" "affiliation education"; align-items: start; gap: 1.25rem; }
.ph-trust-grid > .ph-trust-card:nth-child(1) { grid-area: certification; }
.ph-trust-grid > .ph-trust-card:nth-child(2) { grid-area: affiliation; }
.ph-trust-grid > .ph-trust-card:nth-child(3) { grid-area: education; }
.ph-trust-card { overflow: hidden; border-color: #d9e5e3; box-shadow: 0 .2rem .65rem rgba(24,55,50,.07); }
.ph-trust-card.is-certification { border-top: .2rem solid var(--ph-accent); }
.ph-trust-card > .card-body { padding: 0; }
.ph-trust-card.is-certification > .card-body { display: grid; grid-template-columns: minmax(20rem,.78fr) minmax(0,1.22fr); }
.ph-trust-card.is-certification .ph-trust-card-header { grid-column: 1/-1; }
.ph-trust-card.is-certification .ph-trust-history { border-top: 0; border-left: 1px solid #e1ebe9; }
.ph-trust-card.is-certification .ph-trust-history > h3 { margin-bottom: .55rem; }
.ph-trust-card.is-certification .ph-trust-history { display: grid; grid-template-columns: minmax(0,1fr); align-content: start; }
.ph-trust-card.is-certification .ph-trust-history > h3,.ph-trust-card.is-certification .ph-trust-empty { grid-column: 1/-1; }
.ph-trust-card-header { display: grid; grid-template-columns: 2.75rem minmax(0,1fr); gap: .8rem; padding: 1.1rem 1.1rem .95rem; border-bottom: 1px solid #e1ebe9; background: #fbfdfc; }
.ph-trust-card-icon,.ph-trust-entry-symbol { display: grid; place-items: center; color: #147c69; background: #e1f2ee; border-radius: .7rem; }
.ph-trust-card-icon { width: 2.75rem; height: 2.75rem; font-size: 1rem; }
.ph-trust-card-icon.is-certification { color: #8a6114; background: #fff2d7; }
.ph-trust-card-icon.is-education { color: #4b6389; background: #e8eff9; }
.ph-trust-card-title { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.ph-trust-card-title h2 { margin: 0; color: #293e3a; font-size: 1rem; }
.ph-trust-card-header p { margin: .25rem 0 0; color: #6c7f7b; font-size: .72rem; line-height: 1.45; }
.ph-trust-form { display: grid; gap: .85rem; padding: 1.1rem; }
.ph-trust-form .form-label,.ph-trust-edit-form .form-label { margin: 0; color: #304a45; font-size: .75rem; font-weight: 700; }
.ph-trust-form .form-label > span { color: #73837f; font-weight: 500; }
.ph-trust-form .form-control,.ph-trust-form .form-select,.ph-trust-edit-form .form-control { margin-top: .3rem; }
.ph-trust-form > .btn { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: .45rem; font-weight: 750; }
.ph-trust-upload { display: grid; grid-template-columns: 2.25rem minmax(0,1fr); align-items: center; gap: .7rem; padding: .8rem; border: 1px dashed #9fc9bf; border-radius: .65rem; background: #f4faf8; cursor: pointer; }
.ph-trust-upload > i { color: var(--ph-accent); font-size: 1.35rem; text-align: center; }
.ph-trust-upload > span { display: grid; }
.ph-trust-upload small { color: #70817e; font-size: .68rem; font-weight: 500; }
.ph-trust-upload .form-control { grid-column: 1/-1; margin: .2rem 0 0; background: #fff; }
.ph-trust-private-note { display: flex; gap: .4rem; margin: -.25rem 0 0; color: #6a7f7a; font-size: .68rem; }
.ph-trust-history { padding: 1rem 1.1rem 1.15rem; border-top: 1px solid #e1ebe9; background: #f8fbfa; }
.ph-trust-history > h3 { margin: 0 0 .75rem; color: #687b77; font-size: .68rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.ph-trust-empty { display: flex; align-items: center; justify-content: center; gap: .55rem; min-height: 4.5rem; padding: .8rem; color: #7b8c89; border: 1px dashed #cfddda; border-radius: .6rem; background: #fff; font-size: .74rem; }
.ph-trust-entry { display: grid; grid-template-columns: 2.25rem minmax(0,1fr) auto; align-items: center; gap: .65rem; padding: .75rem 0; border-top: 1px solid #e0e9e7; }
.ph-trust-entry:nth-of-type(2),.ph-trust-entry:first-of-type { border-top: 0; }
.ph-trust-entry-symbol { width: 2.25rem; height: 2.25rem; border-radius: .6rem; font-size: .78rem; }
.ph-trust-entry > div,.ph-trust-entry-heading > div { display: grid; min-width: 0; }
.ph-trust-entry strong { color: #2e4843; font-size: .78rem; overflow-wrap: anywhere; }
.ph-trust-entry small { color: #71827f; font-size: .68rem; line-height: 1.4; overflow-wrap: anywhere; }
.ph-trust-entry .badge { align-self: start; text-transform: capitalize; }
.ph-trust-entry.is-editable { display: block; }
.ph-trust-entry-heading { display: grid; grid-template-columns: 2.25rem minmax(0,1fr) auto; align-items: center; gap: .65rem; }
.ph-trust-edit-form { display: grid; gap: .7rem; margin-top: .75rem; padding: .8rem; border: 1px solid #d8e5e2; border-radius: .6rem; background: #fff; }
.ph-trust-edit-button { display: inline-flex; min-height: 1.75rem; margin: .1rem 0 0 2.9rem; padding: .15rem .25rem; align-items: center; gap: .3rem; color: var(--ph-accent); border-radius: .35rem; font-size: .7rem; font-weight: 750; text-decoration: none; }
.ph-trust-edit-button:hover,.ph-trust-edit-button:focus-visible { color: #fff; background: var(--ph-accent); }
.ph-trust-edit-modal { overflow: hidden; border: 0; border-radius: .85rem; }
.ph-trust-edit-modal .modal-header { padding: 1.15rem 1.25rem; background: #f5faf8; }
.ph-trust-edit-modal .ph-trust-edit-form { margin: 0; padding: 1.25rem; border: 0; border-radius: 0; }
.ph-trust-edit-modal .modal-footer { padding: .9rem 1.25rem; background: #fbfdfc; }
@media (max-width:991.98px) { .ph-trust-card.is-certification > .card-body { grid-template-columns: 1fr; }.ph-trust-card.is-certification .ph-trust-card-header { grid-column: auto; }.ph-trust-card.is-certification .ph-trust-history { border-top: 1px solid #e1ebe9; border-left: 0; } }
@media (max-width:767.98px) { .ph-trust-hero { align-items: start; }.ph-trust-grid { grid-template-columns: 1fr; grid-template-areas: "certification" "affiliation" "education"; }.ph-trust-card.is-certification .ph-trust-history { grid-template-columns: 1fr; }.ph-trust-card.is-certification .ph-trust-history > h3,.ph-trust-card.is-certification .ph-trust-empty { grid-column: auto; } }
@media (max-width:480px) { .ph-trust-entry,.ph-trust-entry-heading { grid-template-columns: 2.25rem minmax(0,1fr); }.ph-trust-entry .badge,.ph-trust-entry-heading .badge { grid-column: 2; justify-self: start; }.ph-trust-edit-button { margin-left: 2.9rem; } }

/* Marketplace results — default comparison-row presentation. */
.ph-marketplace-grid { grid-template-columns:1fr;gap:.9rem; }
.ph-marketplace-result-row { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(15rem,.88fr) minmax(12.5rem,.58fr);align-items:stretch;padding:0;overflow:hidden;transform:none !important; }
.ph-marketplace-result-row > section,.ph-marketplace-result-row > footer { min-width:0;padding:1.25rem; }
.ph-marketplace-result-identity { display:flex;flex-direction:column;justify-content:center; }
.ph-marketplace-result-identity .ph-marketplace-card-header { grid-template-columns:5.5rem minmax(0,1fr);align-items:center; }
.ph-marketplace-result-identity .ph-marketplace-avatar { width:5.5rem;height:5.5rem; }
.ph-marketplace-result-identity .ph-marketplace-modes { margin:.85rem 0 0; }
.ph-marketplace-result-identity .ph-marketplace-modes > span { border:0;padding:.25rem .45rem;color:#385a54;background:transparent; }
.ph-marketplace-result-identity .ph-marketplace-modes i { display:inline;position:static;width:auto;height:auto;margin-right:.32rem;color:#12a66f;background:none;font-size:.68rem; }
.ph-marketplace-result-identity .ph-marketplace-support-summary { margin-top:.65rem; }
.ph-marketplace-result-availability { display:flex;flex-direction:column;justify-content:center;border-left:1px solid #dde8e6;background:#fbfdfc; }
.ph-marketplace-result-label { margin-bottom:.65rem;color:var(--ph-accent);font-size:.63rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase; }
.ph-marketplace-result-schedule { display:grid;grid-template-columns:2.8rem minmax(0,1fr);align-items:center;gap:.7rem; }
.ph-marketplace-result-schedule > i { display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:.75rem;color:var(--ph-accent);background:#e5f3f0;font-size:1.05rem; }
.ph-marketplace-result-schedule > span { display:grid;gap:.12rem; }
.ph-marketplace-result-schedule strong { color:#254740;font-size:.86rem;line-height:1.3; }
.ph-marketplace-result-schedule small { color:var(--cui-secondary-color);font-size:.68rem;line-height:1.4; }
.ph-marketplace-result-details { display:grid;gap:.55rem;margin:.85rem 0 0;padding-top:.75rem;border-top:1px solid #e2ebe9; }
.ph-marketplace-result-details > div { display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.5rem; }
.ph-marketplace-result-details dt { color:#71827f;font-size:.62rem;font-weight:750;text-transform:uppercase; }
.ph-marketplace-result-details dd { margin:0;color:#38544f;font-size:.72rem;font-weight:700;line-height:1.4;overflow-wrap:anywhere; }
.ph-marketplace-result-decision { display:flex;flex-direction:column;justify-content:center;gap:.55rem;border-left:1px solid #d7e5e2;background:linear-gradient(145deg,#eef8f5,#fffaf4); }
.ph-marketplace-result-rate { display:grid;gap:.12rem;margin-bottom:.25rem; }
.ph-marketplace-result-rate > span { color:#6c7e7b;font-size:.62rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase; }
.ph-marketplace-result-rate strong { color:#184f46;font-size:1.35rem;line-height:1.2; }
.ph-marketplace-result-rate strong small { color:#687c78;font-size:.65rem;font-weight:700;white-space:nowrap; }
.ph-marketplace-result-decision .btn { display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;gap:.4rem;border-radius:.7rem;font-size:.75rem;font-weight:800; }
.ph-marketplace-result-decision .btn-outline-primary { background:#fff; }
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero) { position:relative;overflow:hidden;padding:clamp(1.25rem,3vw,2.75rem);border:1px solid #cfe2dd;border-radius:1.75rem;background:linear-gradient(125deg,#eaf8f4 0%,#f8fbf8 53%,#fff5e9 100%);box-shadow:0 1.25rem 3.5rem rgba(23,50,58,.1);isolation:isolate; }
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::before,.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::after { position:absolute;z-index:-1;border-radius:50%;content:"";pointer-events:none; }
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::before { top:-10rem;right:-8rem;width:28rem;height:28rem;border:4rem solid rgba(20,134,113,.055); }
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::after { bottom:-12rem;left:-8rem;width:25rem;height:25rem;background:radial-gradient(circle,rgba(245,166,35,.12),rgba(245,166,35,0) 68%); }
.ph-marketplace-hero-main { display:grid;width:100%;grid-template-columns:minmax(0,1.12fr) minmax(22rem,.88fr);align-items:center;gap:clamp(2rem,5vw,5.5rem);padding:clamp(.5rem,2vw,1.5rem) clamp(.25rem,2vw,1.5rem) clamp(2rem,4vw,3.25rem);text-align:left; }
.ph-marketplace-hero-main .ph-marketplace-heading { max-width:46rem;margin:0; }
.ph-marketplace-hero-main .ph-marketplace-kicker { display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1.15rem;padding:.45rem .75rem;border:1px solid rgba(8,117,101,.2);border-radius:999px;background:rgba(255,255,255,.7);font-size:.68rem;backdrop-filter:blur(.5rem); }
.ph-marketplace-hero-main .ph-marketplace-heading h1 { margin:0 0 1rem;color:#153f38;font-size:clamp(3rem,5.7vw,5.7rem);font-weight:650;line-height:.92;letter-spacing:-.065em; }
.ph-marketplace-hero-main .ph-marketplace-heading h1 em { color:var(--ph-accent);font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em; }
.ph-marketplace-hero-main .ph-marketplace-heading p { max-width:38rem;margin:0;color:#58716c;font-size:clamp(.95rem,1.35vw,1.12rem);line-height:1.65; }
.ph-marketplace-hero-assurance { display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.35rem;color:#365b54;font-size:.76rem;font-weight:750; }
.ph-marketplace-hero-assurance span { display:inline-flex;align-items:center;gap:.4rem; }
.ph-marketplace-hero-assurance i { color:var(--ph-accent); }
.ph-marketplace-care-preview { position:relative;display:grid;gap:.65rem;padding:1rem;border:1px solid rgba(255,255,255,.85);border-radius:1.35rem;background:rgba(255,255,255,.78);box-shadow:0 1.15rem 2.8rem rgba(23,50,58,.13);backdrop-filter:blur(1rem);transform:rotate(1.25deg); }
.ph-marketplace-care-preview-heading { display:grid;gap:.1rem;padding:.25rem .3rem .65rem; }
.ph-marketplace-care-preview-heading span { color:var(--ph-accent);font-size:.65rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase; }
.ph-marketplace-care-preview-heading strong { color:#274a44;font-size:1rem; }
.ph-marketplace-care-route { display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem;border:1px solid #dfebe8;border-radius:.9rem;background:#fff;box-shadow:0 .25rem .8rem rgba(23,50,58,.045);transform:rotate(-1.25deg); }
.ph-marketplace-care-route > span { display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:.8rem;color:#087565;background:#dff2ed; }
.ph-marketplace-care-route.is-clinic > span { color:#456991;background:#e9f0f8; }
.ph-marketplace-care-route.is-home > span { color:#9a6a18;background:#fff0d5; }
.ph-marketplace-care-route > div { display:grid;gap:.1rem; }
.ph-marketplace-care-route strong { color:#284943;font-size:.8rem; }
.ph-marketplace-care-route small { color:#728480;font-size:.65rem; }
.ph-marketplace-care-route > i { color:#9aacaa;font-size:.7rem; }
.ph-marketplace-discovery-panel { position:relative;z-index:1;width:min(100%,82rem);margin-inline:auto;padding:1rem;border:1px solid rgba(255,255,255,.9);border-radius:1.25rem;background:rgba(255,255,255,.88);box-shadow:0 .85rem 2.2rem rgba(23,50,58,.12);backdrop-filter:blur(1rem); }
.ph-marketplace-discovery-heading { display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.7rem;padding-inline:.15rem; }
.ph-marketplace-discovery-heading span { color:#214943;font-size:.8rem;font-weight:850; }
.ph-marketplace-discovery-heading small { color:#788a87;font-size:.68rem; }
.ph-marketplace-discovery-panel .ph-marketplace-mode { width:100%;margin-bottom:.65rem;border:0;background:#eef5f3; }
.ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero { width:100%;margin:0;grid-template-columns:auto minmax(0,1fr) auto auto;border-color:#bfd6d1;border-radius:.85rem;box-shadow:none; }
.ph-marketplace-search-icon { padding-inline:.25rem;color:var(--ph-accent); }
.ph-marketplace-discovery-panel .ph-marketplace-searchbar .btn-primary { min-width:9rem;gap:.45rem;box-shadow:0 .45rem 1rem rgba(var(--cui-primary-rgb),.2); }
.ph-marketplace-intro .ph-marketplace-trust { position:relative;z-index:1;width:min(100%,68rem);margin:1.25rem auto 0; }
.ph-marketplace-intro.is-results { padding:1rem 1.25rem 1.25rem; }
.ph-marketplace-intro.is-results .ph-marketplace-mode { margin-inline:auto; }
.ph-marketplace-intro.is-results .ph-marketplace-trust { margin:.8rem auto 0; }
.ph-marketplace-searchbar-in-hero { position:relative;z-index:1;width:min(96%,76rem);margin:0 auto 1rem; }
.ph-marketplace-mode + .ph-marketplace-searchbar-in-hero { margin-top:1rem; }
.ph-marketplace-intro.is-results .ph-marketplace-searchbar-in-hero { margin-top:.75rem; }
@media (max-width:991.98px) {
  .ph-marketplace-hero-main { grid-template-columns:1fr; }
  .ph-marketplace-care-preview { width:min(100%,38rem);margin-inline:auto;transform:none; }
  .ph-marketplace-care-route { transform:none; }
  .ph-marketplace-result-row { grid-template-columns:minmax(0,1.2fr) minmax(14rem,.8fr); }
  .ph-marketplace-result-decision { grid-column:1/-1;display:grid;grid-template-columns:minmax(11rem,1fr) auto auto;align-items:center;border-top:1px solid #d7e5e2;border-left:0; }
  .ph-marketplace-result-rate { margin:0; }
  .ph-marketplace-result-decision .btn { min-width:10rem; }
}
@media (max-width:700px) {
  .ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero) { padding:1rem;border-radius:1.25rem; }
  .ph-marketplace-hero-main { gap:1.5rem;padding:.25rem 0 1.5rem; }
  .ph-marketplace-hero-main .ph-marketplace-heading { text-align:left; }
  .ph-marketplace-hero-main .ph-marketplace-heading h1 { font-size:clamp(2.7rem,14vw,4rem); }
  .ph-marketplace-care-preview { padding:.75rem; }
  .ph-marketplace-care-route { grid-template-columns:2.5rem minmax(0,1fr);padding:.65rem; }
  .ph-marketplace-care-route > span { width:2.5rem;height:2.5rem; }
  .ph-marketplace-care-route > i { display:none; }
  .ph-marketplace-discovery-panel { padding:.75rem;border-radius:1rem; }
  .ph-marketplace-discovery-heading { display:grid;gap:.1rem; }
  .ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero { grid-template-columns:auto minmax(0,1fr);padding:.45rem; }
  .ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero .btn { grid-column:auto;min-width:0;width:100%; }
  .ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero .ph-marketplace-filter-button { grid-column:1/2; }
  .ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero .btn-primary { grid-column:2/3; }
  .ph-marketplace-intro.is-results { padding:1rem .75rem 1.25rem; }
  .ph-marketplace-searchbar-in-hero { width:100%;margin-bottom:.75rem; }
  .ph-marketplace-result-row { grid-template-columns:1fr; }
  .ph-marketplace-result-row > section,.ph-marketplace-result-row > footer { padding:1rem; }
  .ph-marketplace-result-availability,.ph-marketplace-result-decision { grid-column:auto;border-top:1px solid #dde8e6;border-left:0; }
  .ph-marketplace-result-decision { display:grid;grid-template-columns:1fr 1fr; }
  .ph-marketplace-result-rate { grid-column:1/-1; }
  .ph-marketplace-result-decision .btn { min-width:0; }
}
@media (max-width:480px) {
  .ph-marketplace-result-identity .ph-marketplace-card-header { grid-template-columns:4.5rem minmax(0,1fr);align-items:start; }
  .ph-marketplace-result-identity .ph-marketplace-avatar { width:4.5rem;height:4.5rem; }
  .ph-marketplace-result-decision { grid-template-columns:1fr; }
  .ph-marketplace-result-rate { grid-column:auto; }
}

/* Public Marketplace pages — full-width heroes with a calmer content measure. */
.ph-professional-profile-container { width:min(100%,92rem); }
.ph-clinic-directory-container { width:min(100%,88rem); }

/* Marketplace landing revamp — editorial hero with one dominant discovery action. */
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero) { overflow:visible;padding:0 0 1.25rem;border:0;border-radius:1.6rem;color:#fff;background:#073f38;box-shadow:0 1.4rem 3.5rem rgba(14,48,43,.18); }
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::before { inset:0;width:auto;height:auto;border:0;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 42%),repeating-linear-gradient(135deg,transparent 0 68px,rgba(255,255,255,.025) 68px 69px); }
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::after { top:-9rem;right:-7rem;bottom:auto;left:auto;width:28rem;height:28rem;border:1px solid rgba(126,224,186,.18);background:radial-gradient(circle,rgba(80,191,145,.17) 0 1px,transparent 2px);background-size:18px 18px; }
.ph-marketplace-hero-main { min-height:32rem;grid-template-columns:minmax(0,1.18fr) minmax(21rem,.82fr);gap:clamp(2rem,6vw,7rem);padding:clamp(3rem,6vw,6rem) clamp(1.5rem,6vw,6.5rem) 5rem; }
.ph-marketplace-hero-main .ph-marketplace-heading { max-width:52rem; }
.ph-marketplace-hero-main .ph-marketplace-kicker { margin:0 0 1.5rem;padding:0;border:0;border-radius:0;color:#a8e0cf;background:none;font-size:.68rem;letter-spacing:.13em;backdrop-filter:none; }
.ph-marketplace-hero-main .ph-marketplace-kicker > span { display:inline-grid;width:2rem;height:2rem;margin-right:.55rem;place-items:center;border:1px solid rgba(168,224,207,.5);border-radius:50%;font-size:.58rem;letter-spacing:0; }
.ph-marketplace-hero-main .ph-marketplace-heading h1 { max-width:48rem;margin-bottom:1.35rem;color:#fff;font-size:clamp(3.4rem,6.3vw,6.6rem);font-weight:550;line-height:.9;letter-spacing:-.07em; }
.ph-marketplace-hero-main .ph-marketplace-heading h1 em { color:#73dab8;font-family:inherit;font-weight:550; }
.ph-marketplace-hero-main .ph-marketplace-heading p { max-width:37rem;color:#c3d8d3;font-size:clamp(1rem,1.25vw,1.15rem); }
.ph-marketplace-hero-assurance { gap:.65rem 1.25rem;margin-top:1.65rem;color:#d9e9e5;font-size:.7rem;font-weight:650; }
.ph-marketplace-hero-assurance i { color:#73dab8; }
.ph-marketplace-journey { position:relative;display:grid;align-self:stretch;align-content:center;gap:0;padding:2.25rem 0 1rem 4rem;border-left:1px solid rgba(207,235,226,.18); }
.ph-marketplace-journey-orbit { position:absolute;top:50%;left:-1.6rem;display:grid;width:3.2rem;height:3.2rem;place-items:center;border:1px solid rgba(115,218,184,.55);border-radius:50%;color:#073f38;background:#73dab8;box-shadow:0 0 0 .65rem rgba(115,218,184,.08);transform:translateY(-50%); }
.ph-marketplace-journey > p { position:relative;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.1rem .75rem;margin:0;padding:1.1rem 0;border-bottom:1px solid rgba(207,235,226,.13); }
.ph-marketplace-journey > p:last-child { border-bottom:0; }
.ph-marketplace-journey > p > span { grid-row:1/3;color:#73dab8;font-size:.62rem;font-weight:850;letter-spacing:.08em; }
.ph-marketplace-journey strong { color:#fff;font-size:.83rem; }
.ph-marketplace-journey small { color:#a9c3bd;font-size:.7rem;line-height:1.45; }
.ph-marketplace-discovery-panel { width:min(calc(100% - 3rem),84rem);margin:-2.65rem auto 0;padding:1.15rem;border:1px solid #d8e6e2;border-radius:1.1rem;background:#fff;box-shadow:0 1.2rem 2.5rem rgba(10,45,40,.19);backdrop-filter:none; }
.ph-marketplace-discovery-heading { margin-bottom:.85rem; }
.ph-marketplace-discovery-heading span { color:#163f38;font-size:.9rem; }
.ph-marketplace-discovery-heading small { color:#71847f; }
.ph-marketplace-discovery-panel .ph-marketplace-mode { gap:.2rem;margin-bottom:.75rem;padding:.2rem;border:1px solid #dce8e5;border-radius:.75rem;background:#f1f6f5; }
.ph-marketplace-discovery-panel .ph-marketplace-mode > a { min-height:3.3rem;padding:.45rem .65rem;border-radius:.58rem; }
.ph-marketplace-discovery-panel .ph-marketplace-mode > a.active { border-color:#c8ddd8;box-shadow:0 .15rem .45rem rgba(23,50,58,.06); }
.ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero { min-height:4.35rem;padding:.4rem .4rem .4rem .85rem;border:2px solid #b5d2cb;border-radius:.78rem;background:#fbfdfc; }
.ph-marketplace-discovery-panel .ph-marketplace-searchbar > input { font-size:1rem; }
.ph-marketplace-discovery-panel .ph-marketplace-searchbar .btn { min-height:3.3rem; }
.ph-marketplace-discovery-panel .ph-marketplace-searchbar .btn-primary { min-width:12rem;border-radius:.58rem; }
.ph-marketplace-intro .ph-marketplace-trust { display:flex;width:min(calc(100% - 3rem),68rem);justify-content:center;gap:0;margin:1.25rem auto 0;color:#c9dcd7; }
.ph-marketplace-intro .ph-marketplace-trust > span { min-width:0;padding:.2rem 1.5rem;border-right:1px solid rgba(219,238,232,.2);background:transparent; }
.ph-marketplace-intro .ph-marketplace-trust > span:last-child { border-right:0; }
.ph-marketplace-intro .ph-marketplace-trust i { color:#73dab8; }
.ph-marketplace-intro .ph-marketplace-trust strong { color:#fff; }
.ph-marketplace-intro .ph-marketplace-trust small { color:#9fbab4; }
.ph-marketplace-intro.is-results { overflow:hidden;padding:1rem 1.25rem 1.25rem;color:var(--ph-ink);border:1px solid #cfe2dd;background:linear-gradient(125deg,#edf8f5,#fffaf2);box-shadow:0 .65rem 1.75rem rgba(23,50,58,.08); }
.ph-marketplace-intro.is-results::after { display:none; }
.ph-marketplace-intro.is-results .ph-marketplace-discovery-panel { width:100%;margin:0;box-shadow:none; }
.ph-marketplace-intro.is-results .ph-marketplace-trust { color:#55706a; }
.ph-marketplace-intro.is-results .ph-marketplace-trust strong { color:#244b43; }
.ph-marketplace-intro.is-results .ph-marketplace-trust small { color:#71847f; }
.ph-marketplace-intro.is-results .ph-marketplace-trust > span { border-color:#d6e4e1; }
@media (max-width:991.98px) {
  .ph-marketplace-hero-main { min-height:0;grid-template-columns:1fr;padding:3.5rem 2.25rem 5rem; }
  .ph-marketplace-journey { grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.5rem 0 0;border-top:1px solid rgba(207,235,226,.18);border-left:0; }
  .ph-marketplace-journey-orbit { display:none; }
  .ph-marketplace-journey > p { border-right:1px solid rgba(207,235,226,.13);border-bottom:0; }
  .ph-marketplace-journey > p:last-child { border-right:0; }
}
@media (max-width:700px) {
  .ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero) { padding:0 0 1rem;border-radius:1.15rem; }
  .ph-marketplace-hero-main { gap:1.5rem;padding:2.5rem 1.15rem 4rem; }
  .ph-marketplace-hero-main .ph-marketplace-heading h1 { font-size:clamp(3rem,15vw,4.4rem); }
  .ph-marketplace-hero-assurance { display:grid;gap:.55rem; }
  .ph-marketplace-journey { grid-template-columns:1fr;gap:0;padding-top:.75rem; }
  .ph-marketplace-journey > p { padding:.75rem 0;border-right:0;border-bottom:1px solid rgba(207,235,226,.13); }
  .ph-marketplace-discovery-panel { width:calc(100% - 1.25rem);margin-top:-2.5rem;padding:.7rem; }
  .ph-marketplace-discovery-heading { padding:.15rem .15rem 0; }
  .ph-marketplace-discovery-panel .ph-marketplace-mode { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ph-marketplace-discovery-panel .ph-marketplace-mode > a { grid-template-columns:1fr;justify-items:center;text-align:center; }
  .ph-marketplace-discovery-panel .ph-marketplace-mode small { display:none; }
  .ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero { min-height:0; }
  .ph-marketplace-intro .ph-marketplace-trust { display:grid;width:calc(100% - 2rem);justify-content:stretch;text-align:left; }
  .ph-marketplace-intro .ph-marketplace-trust > span { padding:.65rem .2rem;border-right:0;border-bottom:1px solid rgba(219,238,232,.16); }
  .ph-marketplace-intro .ph-marketplace-trust > span:last-child { border-bottom:0; }
}
.ph-professional-profile-content { width:90%;margin-inline:auto; }
.ph-independent-service-grid { grid-template-columns:1fr; }
.ph-independent-service-card { grid-template-columns:2.8rem minmax(0,1fr) minmax(7rem,auto);align-items:center; }
.ph-independent-service-card > .btn { grid-column:2/-1; }
.ph-clinic-directory-container > .ph-clinic-directory-branches,
.ph-clinic-directory-container > .ph-clinic-directory-footnote { width:90%;margin-inline:auto; }
@media (max-width:800px) {
  .ph-marketplace-results,
  .ph-professional-profile-container,.ph-clinic-directory-container,
  .ph-professional-profile-content,
  .ph-clinic-directory-container > .ph-clinic-directory-branches,
  .ph-clinic-directory-container > .ph-clinic-directory-footnote { width:100%; }
}
@media (max-width:600px) {
  .ph-independent-service-card { grid-template-columns:2.6rem minmax(0,1fr);align-items:start; }
  .ph-independent-service-rate { grid-column:2;justify-items:start; }
  .ph-independent-service-card > .btn { grid-column:1/-1;width:100%; }
}
.ph-confirmation-modal{overflow:hidden;border:1px solid #cadbd7;border-top:3px solid #087f6b;border-radius:.75rem;background:#fff;color:#17323a;box-shadow:0 .8rem 2.5rem rgba(18,38,43,.22)}
.ph-confirmation-modal .modal-header{display:grid;grid-template-columns:1.8rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:1rem 1.1rem;background:#fff;border-bottom:1px solid #dce7e4;color:#17323a}
.ph-confirmation-modal .modal-title{margin:0;color:#17323a;font-weight:750;line-height:1.25}
.ph-confirmation-modal .btn-close{opacity:.68}
.ph-confirmation-header-icon{display:grid;width:1.8rem;height:1.8rem;place-items:center;color:#087f6b;font-size:1rem}
#ph-transaction-confirmation[data-tone="danger"] .ph-confirmation-modal{border-top-color:#b4232c}
#ph-transaction-confirmation[data-tone="danger"] .ph-confirmation-header-icon{color:#a51d27}
#ph-transaction-confirmation[data-tone="success"] .ph-confirmation-modal{border-top-color:#16764b}
#ph-transaction-confirmation[data-tone="success"] .ph-confirmation-header-icon{color:#12613e}
.ph-confirmation-modal .modal-body{padding:1rem 1.1rem;background:#fff;color:#17323a}
.ph-confirmation-message{margin:0;color:#2c454b;font-size:.9rem;line-height:1.55}
.ph-confirmation-details{margin:.8rem 0 0;padding:.7rem .8rem;border-radius:.5rem;background:#f0f6f4;color:#17323a}
.ph-confirmation-details div{display:grid;gap:.15rem}.ph-confirmation-details dt{color:#52686d;font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ph-confirmation-details dd{margin:0;color:#17323a;font-size:.82rem;font-weight:700;line-height:1.4}
.ph-confirmation-modal .modal-footer{padding:.8rem 1.1rem;background:#fff;border-top:1px solid #dce7e4}
.ph-confirmation-modal .modal-footer .btn-outline-secondary{border-color:#65777b;background:#fff;color:#273f45}.ph-confirmation-modal .modal-footer .btn-outline-secondary:hover{background:#e8efed;color:#17323a}
@media(max-width:575.98px){.ph-confirmation-modal .modal-footer{display:grid;grid-template-columns:1fr 1fr}.ph-confirmation-modal .modal-footer .btn{width:100%}}

/* Keep the complete Marketplace discovery task above the fold. */
.ph-marketplace-hero-main { min-height:22rem;gap:clamp(2rem,5vw,5rem);padding:2.25rem clamp(1.5rem,5vw,5rem) 4rem; }
.ph-marketplace-hero-main .ph-marketplace-kicker { margin-bottom:1rem; }
.ph-marketplace-hero-main .ph-marketplace-heading h1 { margin-bottom:.85rem;font-size:clamp(3rem,5vw,5rem); }
.ph-marketplace-hero-assurance { gap:.55rem 1.1rem;margin-top:1rem;font-size:.68rem; }
.ph-marketplace-journey { padding:.5rem 0 .5rem 3.5rem; }
.ph-marketplace-journey > p { padding:.72rem 0; }
.ph-marketplace-discovery-panel { display:grid;width:min(calc(100% - 3rem),84rem);grid-template-columns:minmax(19rem,24rem) minmax(0,1fr);align-items:center;gap:.65rem 1rem;margin-top:-2.2rem;padding:.85rem; }
.ph-marketplace-discovery-heading { grid-column:1/-1;margin:0; }
.ph-marketplace-discovery-panel .ph-marketplace-mode { margin:0; }
.ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero { min-height:3.7rem;padding:.3rem .3rem .3rem .75rem; }
.ph-marketplace-discovery-panel .ph-marketplace-searchbar .btn { min-height:2.95rem; }
.ph-marketplace-intro .ph-marketplace-trust { margin-top:.75rem; }
@media (max-width:991.98px) {
  .ph-marketplace-hero-main { padding:2.5rem 2.25rem 4rem; }
  .ph-marketplace-discovery-panel { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .ph-marketplace-hero-main { gap:0;padding:1.65rem 1.15rem 3.5rem; }
  .ph-marketplace-hero-main .ph-marketplace-kicker { margin-bottom:.7rem; }
  .ph-marketplace-hero-main .ph-marketplace-heading h1 { font-size:clamp(2.55rem,12.5vw,3.65rem); }
  .ph-marketplace-hero-main .ph-marketplace-heading p { font-size:.86rem;line-height:1.5; }
  .ph-marketplace-hero-assurance { display:flex;gap:.45rem .8rem;margin-top:.75rem; }
  .ph-marketplace-hero-assurance span:last-child,.ph-marketplace-journey { display:none; }
  .ph-marketplace-intro .ph-marketplace-trust { display:grid;width:calc(100% - 1.5rem);grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;margin-top:.55rem;text-align:center; }
  .ph-marketplace-intro .ph-marketplace-trust > span { display:grid;justify-items:center;gap:.2rem;padding:.45rem .25rem;border-right:1px solid rgba(219,238,232,.16);border-bottom:0; }
  .ph-marketplace-intro .ph-marketplace-trust > span:last-child { border-right:0; }
  .ph-marketplace-intro .ph-marketplace-trust small { display:none; }
  .ph-marketplace-intro .ph-marketplace-trust strong { font-size:.62rem; }
}

/* Marketplace palette follows the application's light Physioph surfaces. */
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero) { color:var(--ph-ink);border:1px solid #d3e4df;background:linear-gradient(120deg,#edf8f5 0%,#f8fbf9 58%,#fff7ec 100%);box-shadow:0 .85rem 2.25rem rgba(23,50,58,.085); }
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::before { background:linear-gradient(115deg,rgba(255,255,255,.5),transparent 42%),repeating-linear-gradient(135deg,transparent 0 68px,rgba(8,117,101,.025) 68px 69px); }
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::after { border-color:rgba(8,117,101,.1);background:radial-gradient(circle,rgba(8,117,101,.08) 0 1px,transparent 2px);background-size:18px 18px; }
.ph-marketplace-hero-main .ph-marketplace-kicker { color:#087565; }
.ph-marketplace-hero-main .ph-marketplace-kicker > span { color:#087565;border-color:#a9cec5;background:rgba(255,255,255,.65); }
.ph-marketplace-hero-main .ph-marketplace-heading h1 { color:#173f38; }
.ph-marketplace-hero-main .ph-marketplace-heading h1 em { color:#087565; }
.ph-marketplace-hero-main .ph-marketplace-heading p { color:#58716c; }
.ph-marketplace-hero-assurance { color:#385d56; }
.ph-marketplace-hero-assurance i { color:#087565; }
.ph-marketplace-journey { border-color:#c9ddd8; }
.ph-marketplace-journey-orbit { color:#fff;border-color:#087565;background:#087565;box-shadow:0 0 0 .65rem rgba(8,117,101,.07); }
.ph-marketplace-journey > p { border-color:#d6e5e1; }
.ph-marketplace-journey > p > span { color:#087565; }
.ph-marketplace-journey strong { color:#274b44; }
.ph-marketplace-journey small { color:#6e817d; }
.ph-marketplace-discovery-panel { border-color:#d4e3df;box-shadow:0 .8rem 1.8rem rgba(23,50,58,.1); }
.ph-marketplace-intro .ph-marketplace-trust { color:#55706a; }
.ph-marketplace-intro .ph-marketplace-trust > span { border-color:#d7e5e1;background:transparent; }
.ph-marketplace-intro .ph-marketplace-trust i { color:#087565; }
.ph-marketplace-intro .ph-marketplace-trust strong { color:#294f47; }
.ph-marketplace-intro .ph-marketplace-trust small { color:#71847f; }
@media (max-width:700px) {
  .ph-marketplace-intro .ph-marketplace-trust > span { border-color:#d7e5e1; }
}

/* Marketplace hero — centered, balanced and deliberately restrained. */
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero) { border-radius:1.35rem;background:linear-gradient(180deg,#eef8f5 0%,#f8fbfa 58%,#fffaf2 100%);box-shadow:0 .65rem 1.75rem rgba(23,50,58,.07); }
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::before { background:radial-gradient(circle at 50% -20%,rgba(8,117,101,.09),transparent 46%); }
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::after { display:none; }
.ph-marketplace-hero-main { display:grid;min-height:15.5rem;grid-template-columns:1fr;justify-items:center;gap:0;padding:2.5rem 2rem 4.25rem;text-align:center; }
.ph-marketplace-hero-main .ph-marketplace-heading { width:min(100%,58rem);max-width:none;text-align:center; }
.ph-marketplace-hero-main .ph-marketplace-kicker { display:inline-flex;margin:0 0 1rem;padding:.4rem .7rem;align-items:center;gap:.4rem;border:1px solid #bcd8d1;border-radius:999px;color:#087565;background:rgba(255,255,255,.78);font-size:.66rem;letter-spacing:.1em; }
.ph-marketplace-hero-main .ph-marketplace-heading h1 { max-width:none;margin:0 0 .8rem;color:#173f38;font-size:clamp(2.65rem,4.25vw,4.5rem);font-weight:650;line-height:.98;letter-spacing:-.052em; }
.ph-marketplace-hero-main .ph-marketplace-heading p { max-width:42rem;margin-inline:auto;color:#5f746f;font-size:clamp(.9rem,1.15vw,1.05rem);line-height:1.55; }
.ph-marketplace-discovery-panel { display:grid;width:min(calc(100% - 3rem),68rem);grid-template-columns:1fr;gap:.65rem;margin-top:-2.15rem;padding:.9rem;border-radius:1rem; }
.ph-marketplace-discovery-heading { display:grid;grid-column:auto;justify-items:center;gap:.08rem;margin:0;text-align:center; }
.ph-marketplace-discovery-heading span { font-size:.82rem; }
.ph-marketplace-discovery-panel .ph-marketplace-mode { width:min(100%,36rem);margin-inline:auto; }
.ph-marketplace-discovery-panel .ph-marketplace-mode > a { justify-content:center; }
.ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero { width:100%;min-height:3.7rem; }
.ph-marketplace-intro .ph-marketplace-trust { display:grid;width:min(calc(100% - 3rem),58rem);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;margin-top:.75rem;text-align:left; }
.ph-marketplace-intro .ph-marketplace-trust > span { display:grid;grid-template-columns:1.5rem minmax(0,1fr);align-items:start;gap:.08rem .45rem;padding:.45rem 1.2rem; }
.ph-marketplace-intro .ph-marketplace-trust > span > i { grid-row:1/3;margin-top:.12rem;text-align:center; }
.ph-marketplace-intro .ph-marketplace-trust strong { font-size:.72rem; }
.ph-marketplace-intro .ph-marketplace-trust small { font-size:.62rem;line-height:1.35; }
@media (max-width:700px) {
  .ph-marketplace-hero-main { min-height:0;padding:1.5rem .9rem 3.6rem; }
  .ph-marketplace-hero-main .ph-marketplace-heading h1 { font-size:clamp(2.2rem,10.5vw,3.1rem);line-height:1; }
  .ph-marketplace-hero-main .ph-marketplace-heading p { font-size:.82rem; }
  .ph-marketplace-discovery-panel { width:calc(100% - 1.25rem); }
  .ph-marketplace-intro .ph-marketplace-trust { width:calc(100% - 1.25rem); }
  .ph-marketplace-intro .ph-marketplace-trust > span { display:grid;grid-template-columns:1fr;justify-items:center;padding:.4rem .2rem;text-align:center; }
  .ph-marketplace-intro .ph-marketplace-trust > span > i { grid-row:auto;margin:0; }
}

/* Marketplace directory — factual, quiet and task-first. */
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero) { overflow:hidden;padding:0;border:1px solid #d8e4e1;border-radius:1rem;background:#fff;box-shadow:none; }
.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::before,.ph-marketplace-intro:has(.ph-marketplace-searchbar-in-hero)::after { display:none; }
.ph-marketplace-hero-main { min-height:0;padding:2rem 1.5rem 1.5rem; }
.ph-marketplace-hero-main .ph-marketplace-kicker { margin:0 0 .55rem;padding:0;border:0;border-radius:0;background:transparent;font-size:.67rem;letter-spacing:.08em; }
.ph-marketplace-hero-main .ph-marketplace-heading h1 { margin-bottom:.55rem;font-size:clamp(2rem,3.4vw,3.25rem);font-weight:700;line-height:1.05;letter-spacing:-.04em; }
.ph-marketplace-hero-main .ph-marketplace-heading p { max-width:44rem;font-size:.9rem;line-height:1.5; }
.ph-marketplace-discovery-panel { width:100%;margin:0;padding:1rem 1.25rem;border:0;border-top:1px solid #dfe8e6;border-radius:0;background:#f8fbfa;box-shadow:none; }
.ph-marketplace-discovery-heading { justify-items:start;text-align:left; }
.ph-marketplace-discovery-panel .ph-marketplace-mode { width:100%; }
.ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero { grid-template-columns:minmax(0,1fr) auto auto; }
.ph-marketplace-intro .ph-marketplace-trust { width:100%;margin:0;padding:.75rem 1.25rem;border-top:1px solid #dfe8e6;background:#fff; }
.ph-marketplace-intro .ph-marketplace-trust > span { justify-content:center; }
.ph-marketplace-intro.is-results .ph-marketplace-discovery-panel { border-top:0; }
@media (max-width:700px) {
  .ph-marketplace-hero-main { padding:1.35rem 1rem 1.1rem; }
  .ph-marketplace-hero-main .ph-marketplace-heading h1 { font-size:2.15rem; }
  .ph-marketplace-discovery-panel { padding:.8rem; }
  .ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero { grid-template-columns:minmax(0,1fr); }
  .ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero .btn,.ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero .ph-marketplace-filter-button,.ph-marketplace-discovery-panel .ph-marketplace-searchbar-in-hero .btn-primary { grid-column:auto; }
  .ph-marketplace-intro .ph-marketplace-trust { padding:.6rem .5rem; }
}

/* Marketplace landing — one balanced card that fits the initial viewport. */
.ph-marketplace-page.is-landing { padding-top:clamp(.75rem,2vh,1.25rem); }
.ph-marketplace-page.is-landing .ph-marketplace-form { display:block; }
.ph-marketplace-page.is-landing .ph-marketplace-intro { display:grid;height:calc(100dvh - 7rem);min-height:30rem;grid-template-rows:minmax(0,1fr) auto auto;align-content:center;justify-items:stretch;margin:0;border:1px solid #d7e3e0;border-top:4px solid #087565;border-radius:.85rem;background:#fff;box-shadow:0 .35rem 1rem rgba(23,50,58,.055); }
.ph-marketplace-page.is-landing .ph-marketplace-hero-main { display:grid;min-height:0;place-items:center;padding:clamp(1rem,3vh,2rem) 1.5rem 1rem; }
.ph-marketplace-page.is-landing .ph-marketplace-heading { width:min(100%,56rem); }
.ph-marketplace-page.is-landing .ph-marketplace-kicker { margin-bottom:.6rem;color:#087565;background:transparent;font-size:.68rem; }
.ph-marketplace-page.is-landing .ph-marketplace-heading h1 { margin-bottom:.65rem;color:#173f38;font-size:clamp(2.35rem,4vw,4rem);line-height:1.02; }
.ph-marketplace-page.is-landing .ph-marketplace-heading p { max-width:42rem;color:#657975;font-size:.9rem; }
.ph-marketplace-page.is-landing .ph-marketplace-discovery-panel { display:grid;width:100%;grid-template-columns:1fr;gap:.8rem;margin:0;padding:1rem clamp(1rem,5vw,5rem);border:0;border-top:1px solid #e0e9e7;border-radius:0;background:#f8fbfa;box-shadow:none; }
.ph-marketplace-page.is-landing .ph-marketplace-mode { width:min(100%,40rem);margin-inline:auto;padding:.25rem;border:1px solid #d5e2df;border-radius:.7rem;background:#edf4f2; }
.ph-marketplace-page.is-landing .ph-marketplace-mode > a { min-height:3.1rem;justify-content:center;border-radius:.5rem; }
.ph-marketplace-page.is-landing .ph-marketplace-searchbar-in-hero { width:min(100%,64rem);min-height:3.8rem;margin-inline:auto;grid-template-columns:minmax(0,1fr) auto auto;padding:.3rem;border:1px solid #b9d0cb;border-radius:.65rem;background:#fff;box-shadow:none; }
.ph-marketplace-page.is-landing .ph-marketplace-searchbar > input { padding-inline:.75rem; }
.ph-marketplace-page.is-landing .ph-marketplace-searchbar .btn { min-height:3.1rem;border-radius:.5rem; }
.ph-marketplace-page.is-landing .ph-marketplace-trust { display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:.8rem clamp(1rem,5vw,5rem);border-top:1px solid #e0e9e7;background:#fff; }
.ph-marketplace-page.is-landing .ph-marketplace-trust > span { justify-content:center;padding:.25rem 1rem; }
@media (max-width:700px) {
  .ph-marketplace-page.is-landing { padding:.6rem .65rem 2rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-intro { height:calc(100dvh - 9rem);min-height:28rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-hero-main { padding:.8rem .75rem .65rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-kicker { margin-bottom:.35rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-heading h1 { margin-bottom:.4rem;font-size:clamp(1.9rem,9vw,2.6rem); }
  .ph-marketplace-page.is-landing .ph-marketplace-heading p { font-size:.76rem;line-height:1.4; }
  .ph-marketplace-page.is-landing .ph-marketplace-discovery-panel { gap:.55rem;padding:.65rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-mode > a { min-height:2.75rem;padding:.35rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-searchbar-in-hero { min-height:0;grid-template-columns:1fr 1fr;padding:.3rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-searchbar > input { grid-column:1/-1;min-height:2.65rem;padding:.35rem .55rem;border-bottom:1px solid #dce6e4; }
  .ph-marketplace-page.is-landing .ph-marketplace-searchbar .btn { min-height:2.7rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust { padding:.45rem .35rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust > span { padding:.2rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust small { display:none; }
}

/* Marketplace visual revamp; viewport sizing above remains authoritative. */
.ph-marketplace-page.is-landing .ph-marketplace-intro { position:relative;overflow:hidden;border:1px solid #cfe0dc;border-top:0;border-radius:1.4rem;background:linear-gradient(155deg,#e8f6f2 0%,#f5faf8 48%,#fff8ef 100%);box-shadow:0 1rem 2.75rem rgba(23,50,58,.1);isolation:isolate; }
.ph-marketplace-page.is-landing .ph-marketplace-intro::before { position:absolute;top:-11rem;right:-8rem;z-index:-1;display:block;width:28rem;height:28rem;border:4.5rem solid rgba(8,117,101,.045);border-radius:50%;background:transparent;content:""; }
.ph-marketplace-page.is-landing .ph-marketplace-intro::after { position:absolute;bottom:-12rem;left:-9rem;z-index:-1;display:block;width:25rem;height:25rem;border-radius:50%;background:radial-gradient(circle,rgba(241,174,70,.1),transparent 68%);content:""; }
.ph-marketplace-page.is-landing .ph-marketplace-hero-main { position:relative;padding-bottom:1.25rem; }
.ph-marketplace-page.is-landing .ph-marketplace-kicker { display:inline-flex;padding:.42rem .75rem;border:1px solid #b9d8d0;border-radius:999px;color:#087565;background:rgba(255,255,255,.76);font-weight:800;letter-spacing:.1em;box-shadow:0 .2rem .5rem rgba(23,50,58,.04); }
.ph-marketplace-page.is-landing .ph-marketplace-heading h1 { color:#143f37;font-weight:680;letter-spacing:-.055em; }
.ph-marketplace-page.is-landing .ph-marketplace-heading p { color:#58716c;font-size:.95rem; }
.ph-marketplace-page.is-landing .ph-marketplace-discovery-panel { position:relative;padding:1rem clamp(1rem,6vw,6rem) 1.15rem;border-top:0;background:transparent; }
.ph-marketplace-page.is-landing .ph-marketplace-mode { width:min(100%,48rem);gap:.55rem;padding:0;border:0;background:transparent; }
.ph-marketplace-page.is-landing .ph-marketplace-mode > a { min-height:4.25rem;grid-template-columns:2.65rem minmax(0,1fr) auto;padding:.65rem .9rem;border:1px solid #cbded9;border-radius:.9rem;color:#506963;background:rgba(255,255,255,.7);box-shadow:0 .2rem .6rem rgba(23,50,58,.035); }
.ph-marketplace-page.is-landing .ph-marketplace-mode > a:hover { border-color:#9fc7bd;background:#fff; }
.ph-marketplace-page.is-landing .ph-marketplace-mode > a.active { border-color:#087565;color:#16483f;background:#fff;box-shadow:0 .55rem 1.25rem rgba(23,74,64,.11); }
.ph-marketplace-page.is-landing .ph-marketplace-mode > a.active::after { align-self:center;padding:.25rem .45rem;border-radius:999px;color:#fff;background:#087565;font-size:.55rem;font-weight:800;letter-spacing:.04em;content:"SELECTED"; }
.ph-marketplace-page.is-landing .ph-marketplace-mode-icon { width:2.65rem;height:2.65rem;border-radius:.75rem;background-color:#e2f2ee; }
.ph-marketplace-page.is-landing .ph-marketplace-mode > a.active .ph-marketplace-mode-icon { background-color:#d4eee7; }
.ph-marketplace-page.is-landing .ph-marketplace-searchbar-in-hero { width:min(100%,68rem);min-height:4.35rem;padding:.4rem .4rem .4rem .65rem;border:1px solid #afcbc4;border-radius:.9rem;background:#fff;box-shadow:0 .8rem 1.8rem rgba(23,50,58,.11); }
.ph-marketplace-page.is-landing .ph-marketplace-searchbar > input { font-size:1rem; }
.ph-marketplace-page.is-landing .ph-marketplace-searchbar > input::placeholder { color:#718681; }
.ph-marketplace-page.is-landing .ph-marketplace-searchbar .btn { min-height:3.4rem;padding-inline:1.2rem;border-radius:.65rem; }
.ph-marketplace-page.is-landing .ph-marketplace-searchbar .btn-primary { min-width:8rem;box-shadow:0 .35rem .8rem rgba(8,117,101,.2); }
.ph-marketplace-eligibility-note { display:inline-flex;align-items:center;justify-content:center;gap:.4rem;color:#5e746f;font-size:.65rem;line-height:1.35;text-align:center; }
.ph-marketplace-eligibility-note i { color:#087565; }
.ph-marketplace-page.is-landing .ph-marketplace-trust { width:min(calc(100% - 2rem),64rem);gap:.75rem;margin:0 auto .8rem;padding:0;border:0;background:transparent; }
.ph-marketplace-page.is-landing .ph-marketplace-trust > span { min-height:3.7rem;padding:.65rem .85rem;border:1px solid rgba(203,222,217,.9);border-radius:.8rem;background:rgba(255,255,255,.62); }
.ph-marketplace-page.is-landing .ph-marketplace-trust > span > i { display:grid;width:1.7rem;height:1.7rem;place-items:center;border-radius:50%;color:#087565;background:#dff1ec; }
.ph-marketplace-page.is-landing .ph-marketplace-trust strong { color:#254b43;font-size:.72rem; }
.ph-marketplace-page.is-landing .ph-marketplace-trust small { color:#70827e;font-size:.62rem; }
@media (max-width:700px) {
  .ph-marketplace-page.is-landing .ph-marketplace-intro { border-radius:1rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-kicker { padding:.3rem .55rem;font-size:.58rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-heading p { font-size:.78rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-discovery-panel { padding:.6rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-mode { gap:.35rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-mode > a { min-height:3.15rem;padding:.4rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-mode > a.active::after { display:none; }
  .ph-marketplace-page.is-landing .ph-marketplace-mode-icon { width:2.25rem;height:2.25rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-searchbar-in-hero { min-height:0;padding:.3rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-searchbar .btn { min-height:2.7rem;padding-inline:.5rem; }
  .ph-marketplace-eligibility-note { font-size:.58rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust { width:calc(100% - 1rem);gap:.3rem;margin-bottom:.45rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust > span { min-height:3rem;padding:.35rem .15rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust > span > i { width:1.5rem;height:1.5rem; }
}

/* Shared public navigation uses one visual treatment on every public page. */
.ph-public-header { background:rgba(245,250,248,.9);box-shadow:0 .3rem 1rem rgba(23,50,58,.05);backdrop-filter:blur(1rem); }
.ph-public-nav { max-width:92rem;border-color:#d4e3df !important; }
.ph-public-brand { padding:.3rem .65rem .3rem 0;border-radius:.75rem; }
.ph-public-context { display:inline-flex;min-height:2.15rem;align-items:center;gap:.4rem;margin-left:1rem;padding-left:1rem;border-left:1px solid #cddfda;color:#53706a;font-size:.68rem;font-weight:750;letter-spacing:.045em;text-transform:uppercase; }
.ph-public-context i { color:#087565;font-size:.78rem; }
.ph-public-actions { gap:.55rem; }
.ph-public-actions .btn,.ph-public-actions .nav-link { display:inline-flex;min-height:2.85rem;align-items:center;gap:.45rem;border-radius:.75rem; }
.ph-public-actions .ph-public-find-care { border-color:#087565;background:#087565;box-shadow:0 .4rem .9rem rgba(8,117,101,.17); }
.ph-public-actions .ph-public-find-care:hover { border-color:#06685a;background:#06685a;transform:translateY(-1px); }
.ph-public-actions .nav-link { padding-inline:.9rem;border:1px solid #d2e1de;color:#385a53;background:rgba(255,255,255,.76); }
.ph-public-actions .nav-link:hover { border-color:#a9cac2;color:#087565;background:#fff; }
.ph-public-actions .nav-link i { color:#087565;font-size:1rem; }
@media (max-width:700px) {
  .ph-public-header { box-shadow:0 .2rem .65rem rgba(23,50,58,.045); }
  .ph-public-banner { width:min(9rem,40vw); }
  .ph-public-context { display:none; }
  .ph-public-actions { gap:.3rem;padding-top:0;border:0; }
  .ph-public-actions .btn,.ph-public-actions .nav-link { min-height:2.6rem;border-radius:.65rem; }
}

/* Keep Marketplace Search near eye level while trust details anchor the card. */
.ph-marketplace-page.is-landing .ph-marketplace-intro { grid-template-rows:auto auto minmax(0,1fr);align-content:stretch; }
.ph-marketplace-page.is-landing .ph-marketplace-hero-main { padding-top:clamp(1.1rem,2.5vh,1.75rem);padding-bottom:.75rem; }
.ph-marketplace-page.is-landing .ph-marketplace-trust { align-self:end; }
@media (min-width:1200px) {
  .ph-marketplace-page.is-landing .ph-marketplace-heading h1 { font-size:clamp(2.35rem,3.4vw,3.5rem); }
}
@media (min-width:701px) {
  .ph-marketplace-page.is-landing .ph-marketplace-intro { height:auto;min-height:max(30rem,calc(100dvh - 7rem)); }
  .ph-marketplace-page.is-landing .ph-marketplace-trust { margin-bottom:5rem; }
}
@media (max-width:700px) {
  .ph-marketplace-page.is-landing .ph-marketplace-hero-main { padding-top:1.15rem;padding-bottom:1rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-intro { height:auto;min-height:calc(100svh - 7rem);grid-template-rows:auto auto auto;align-content:start; }
  .ph-marketplace-page.is-landing .ph-marketplace-discovery-panel { gap:.85rem;padding-block:.85rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust { align-self:start;margin:1.5rem auto 1rem; }
}

/* Full-height decorative photography sits behind the hero without changing its geometry. */
.ph-marketplace-hero-professional { display:none;margin:0;pointer-events:none; }
@media (min-width:901px) {
  .ph-marketplace-page.is-landing .ph-marketplace-discovery-panel:not(:has(.ph-marketplace-mode)) { margin-top:clamp(1.5rem,6vh,3rem); }
  .ph-marketplace-page.is-landing .ph-marketplace-intro > :not(.ph-marketplace-hero-professional) { position:relative;z-index:1; }
  .ph-marketplace-page.is-landing .ph-marketplace-hero-professional { position:absolute;inset:0 -10rem 0 auto;z-index:0;display:block;width:clamp(46rem,52vw,64rem);overflow:hidden; }
  .ph-marketplace-page.is-landing .ph-marketplace-hero-professional::after { position:absolute;inset:0;background:linear-gradient(90deg,#edf8f5 0%,rgba(237,248,245,.2) 25%,rgba(237,248,245,0) 53%),linear-gradient(180deg,rgba(237,248,245,.04),rgba(255,249,241,.1));content:""; }
  .ph-marketplace-page.is-landing .ph-marketplace-hero-professional img { width:100%;height:100%;object-fit:cover;object-position:center 18%;opacity:1; }
}

/* Present Marketplace trust facts as one unified row. */
.ph-marketplace-page.is-landing .ph-marketplace-trust { gap:0;overflow:hidden;border:1px solid #cbded9;border-radius:.85rem;background:rgba(255,255,255,.72); }
.ph-marketplace-page.is-landing .ph-marketplace-trust > span { border:0;border-right:1px solid #d7e4e1;border-radius:0;background:transparent; }
.ph-marketplace-page.is-landing .ph-marketplace-trust > span:last-child { border-right:0; }
@media (max-width:700px) {
  .ph-marketplace-page.is-landing .ph-marketplace-trust { grid-template-columns:1fr;gap:.45rem;overflow:visible;border:0;border-radius:0;background:transparent; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust { margin:1.25rem auto 4.5rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust > span { min-height:4.4rem;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;justify-items:start;gap:.12rem .7rem;padding:.72rem .9rem;border:1px solid #cbded9;border-radius:.8rem;background:rgba(255,255,255,.72);text-align:left; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust > span > i { grid-row:1/3; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust > span > i { width:2.1rem;height:2.1rem;font-size:.88rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust strong { font-size:.8rem;line-height:1.25; }
  .ph-marketplace-page.is-landing .ph-marketplace-trust small { display:block;font-size:.69rem;line-height:1.35; }
}

/* Let the compact mobile header's reclaimed height breathe through the hero content. */
@media (max-width:700px) {
  .ph-marketplace-page.is-landing .ph-marketplace-hero-main { padding:1.65rem 1rem 1.4rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-kicker { margin-bottom:.7rem; }
  .ph-marketplace-page.is-landing .ph-marketplace-heading h1 { margin-bottom:.7rem;line-height:1.08; }
  .ph-marketplace-page.is-landing .ph-marketplace-heading p { font-size:.82rem;line-height:1.55; }
  .ph-marketplace-page.is-landing .ph-marketplace-discovery-panel { gap:1rem;padding:1rem .75rem; }
}

/* Active Marketplace results prioritize Search and comparison space. */
body:has(.ph-marketplace-page.is-results) .ph-public-header { display:none; }
.ph-marketplace-page.is-results { padding-top:clamp(.65rem,1.5vw,1rem); }
.ph-marketplace-page.is-results .ph-marketplace-intro { margin-bottom:.75rem; }
.ph-marketplace-page.is-results .ph-marketplace-trust { display:none; }
.ph-marketplace-next-viewport { display:none; }
.ph-marketplace-page.is-landing .ph-marketplace-next-viewport,.ph-professional-profile-hero > .ph-marketplace-next-viewport,.ph-clinic-organization-hero > .ph-marketplace-next-viewport { position:absolute;bottom:.65rem;left:50%;z-index:6;display:inline-grid;width:2.8rem;height:2.8rem;place-items:center;padding:0;border:1px solid rgba(255,255,255,.9);border-radius:50%;color:#fff;background:#087565;box-shadow:0 .45rem 1rem rgba(8,117,101,.28);transform:translateX(-50%); }
.ph-marketplace-next-viewport:hover { background:#06685a; }
.ph-marketplace-next-viewport:focus-visible { outline:.2rem solid rgba(8,117,101,.3);outline-offset:.2rem; }
.ph-marketplace-next-viewport[hidden] { display:none !important; }
#professional-profile-content,#professional-booking,#clinic-locations,#clinic-branches,#branch-profile-content,#branch-services { scroll-margin-top:5.5rem; }
.ph-professional-profile-hero:has(> .ph-marketplace-next-viewport) .ph-professional-profile-hero-grid { padding-bottom:4rem; }
.ph-clinic-organization-hero:has(> .ph-marketplace-next-viewport) { padding-bottom:4rem; }
.ph-marketplace-card-back { position:absolute;top:1rem;left:1rem;z-index:5;display:inline-grid;width:2.65rem;height:2.65rem;place-items:center;border:1px solid #b9d3cd;border-radius:50%;color:#176b5d;background:rgba(255,255,255,.88);box-shadow:0 .3rem .8rem rgba(23,50,58,.09);text-decoration:none;backdrop-filter:blur(.5rem);transition:border-color .15s,background-color .15s,box-shadow .15s,transform .15s; }
.ph-marketplace-card-back:hover { border-color:#087565;color:#087565;background:#fff;box-shadow:0 .45rem 1rem rgba(23,74,64,.14);transform:translateX(-2px); }
.ph-marketplace-card-back:focus-visible { outline:.2rem solid rgba(8,117,101,.28);outline-offset:.2rem; }
.ph-marketplace-card-back i { font-size:.9rem; }
.ph-marketplace-page.is-results .ph-marketplace-mode { width:min(100%,48rem);gap:.55rem;margin-inline:auto;padding:0;border:0;background:transparent; }
.ph-marketplace-page.is-results .ph-marketplace-mode > a { min-height:4.25rem;grid-template-columns:2.65rem minmax(0,1fr) auto;padding:.65rem .9rem;border:1px solid #cbded9;border-radius:.9rem;color:#506963;background:rgba(255,255,255,.7);box-shadow:0 .2rem .6rem rgba(23,50,58,.035); }
.ph-marketplace-page.is-results .ph-marketplace-mode > a:hover { border-color:#9fc7bd;background:#fff; }
.ph-marketplace-page.is-results .ph-marketplace-mode > a.active { border-color:#087565;color:#16483f;background:#fff;box-shadow:0 .55rem 1.25rem rgba(23,74,64,.11); }
.ph-marketplace-page.is-results .ph-marketplace-mode > a.active::after { align-self:center;padding:.25rem .45rem;border-radius:999px;color:#fff;background:#087565;font-size:.55rem;font-weight:800;letter-spacing:.04em;content:"SELECTED"; }
.ph-marketplace-page.is-results .ph-marketplace-mode-icon { width:2.65rem;height:2.65rem;border-radius:.75rem;background-color:#e2f2ee; }
.ph-marketplace-page.is-results .ph-marketplace-mode > a.active .ph-marketplace-mode-icon { background-color:#d4eee7; }
@media (max-width:700px) {
  #professional-profile-content,#professional-booking,#clinic-locations,#clinic-branches,#branch-profile-content,#branch-services { scroll-margin-top:5.5rem; }
  .ph-marketplace-card-back { top:.75rem;left:.75rem;width:2.5rem;height:2.5rem; }
  .ph-marketplace-page.is-results .ph-marketplace-mode { gap:.35rem;padding:0;border:0;background:transparent; }
  .ph-marketplace-page.is-results .ph-marketplace-mode > a { min-height:3.15rem;grid-template-columns:2.25rem minmax(0,1fr);justify-items:start;gap:.55rem;padding:.4rem .55rem;border:1px solid #cbded9;border-radius:.8rem;background:rgba(255,255,255,.72);text-align:left; }
  .ph-marketplace-page.is-results .ph-marketplace-mode > a.active { border-color:#087565;color:#16483f;background:#fff;box-shadow:0 .35rem .8rem rgba(23,74,64,.09); }
  .ph-marketplace-page.is-results .ph-marketplace-mode > a.active::after { display:none; }
  .ph-marketplace-page.is-results .ph-marketplace-mode-icon { width:2.25rem;height:2.25rem;border-radius:.7rem;background-color:#e2f2ee; }
}
.ph-professional-practice-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ph-professional-practice-gallery figure{margin:0;aspect-ratio:4/3;border-radius:1rem;overflow:hidden;background:#eef6f4;border:1px solid var(--ph-border,#d4e3e0)}.ph-professional-practice-gallery img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:767.98px){.ph-professional-practice-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ph-professional-practice-gallery figure:last-child:nth-child(odd){grid-column:1/-1}}
.ph-practice-gallery-replace-form { margin-top:.65rem; }
.ph-practice-gallery-replace-form .btn { display:flex;width:fit-content;min-height:2.5rem;align-items:center;justify-content:center;gap:.45rem;padding-inline:.8rem; }
@media(max-width:575.98px) { .ph-practice-gallery-replace-form .btn { width:100%; } }

/* Care-directory result identity — compact profile and trust hierarchy. */
.ph-marketplace-result-identity { justify-content:space-between;gap:1rem;background:#fff; }
.ph-marketplace-result-identity .ph-marketplace-card-header { align-items:start; }
.ph-marketplace-identity-copy { display:grid;min-width:0;align-content:start;gap:.15rem; }
.ph-marketplace-identity-copy h3 { margin:.05rem 0 0;font-size:1.16rem;line-height:1.25; }
.ph-marketplace-professional-type { color:#687976;font-size:.76rem;line-height:1.35; }
.ph-marketplace-trust-row { display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;margin-top:.45rem; }
.ph-marketplace-trust-row .ph-marketplace-card-rating { margin:0;padding-left:.65rem;border-left:1px solid #dce7e4; }
.ph-marketplace-care-services { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding-top:.8rem;border-top:1px solid #e4ecea; }
.ph-marketplace-care-services > span { color:#71827f;font-size:.6rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap; }
.ph-marketplace-result-identity .ph-marketplace-care-services .ph-marketplace-modes { gap:.35rem;margin:0; }
.ph-marketplace-result-identity .ph-marketplace-care-services .ph-marketplace-modes > span { padding:.3rem .55rem;border:1px solid #d8e6e2;border-radius:999px;background:#f3f8f6; }
@media(max-width:700px) {
  .ph-marketplace-result-identity { gap:.85rem; }
  .ph-marketplace-result-identity .ph-marketplace-card-header { grid-template-columns:4.25rem minmax(0,1fr);gap:.8rem; }
  .ph-marketplace-result-identity .ph-marketplace-avatar { width:4.25rem;height:4.25rem; }
  .ph-marketplace-care-services { grid-template-columns:1fr;gap:.35rem;padding-top:.7rem; }
}
@media(max-width:380px) {
  .ph-marketplace-trust-row { align-items:flex-start;flex-direction:column; }
  .ph-marketplace-trust-row .ph-marketplace-card-rating { padding-left:0;border-left:0; }
}

/* Compact CoreUI date preference modal with CalendarJS's native navigation. */
.ph-preferred-calendar-modal .modal-dialog { --cui-modal-width:640px; }
.ph-preferred-calendar-modal .modal-content { border:0;border-radius:.9rem;overflow:hidden; }
.ph-preferred-calendar-modal .modal-header { align-items:center;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #e1eae5; }
.ph-preferred-heading-copy { min-width:0;flex:1; }
.ph-preferred-calendar-modal .modal-title { font-size:1.05rem;line-height:1.3;font-weight:700;color:#173d35; }
.ph-preferred-calendar-owner { margin:.2rem 0 0;color:#5c726b;font-size:.78rem; }
.ph-preferred-calendar-modal .modal-header .btn-close { margin:0 0 0 auto; }
.ph-preferred-calendar-modal .modal-body { padding:1rem;background:#fff; }
.ph-preferred-calendar-grid { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1rem;align-items:start; }
.ph-preferred-calendar-modal .lm-calendar { width:100%;font-family:inherit;font-size:14px; }
.ph-preferred-calendar-modal .lm-calendar-container { width:100%;max-width:none;padding:.25rem;border:1px solid #d7ddd9;border-radius:.65rem; }
.ph-preferred-calendar-modal .lm-calendar-header > div:first-child { padding:4px; }
.ph-preferred-calendar-modal .lm-calendar-labels { margin:4px 0;padding:2px; }
.ph-preferred-calendar-modal .lm-calendar-navigation button { display:grid;place-items:center;width:32px;height:32px;background:#efefef;color:#111; }
.ph-preferred-calendar-modal .lm-calendar-navigation button:hover { background:#e3e3e3; }
.ph-preferred-calendar-modal .lm-calendar-navigation button:disabled { opacity:.35;cursor:default; }
.ph-preferred-calendar-modal .lm-calendar-navigation i { font-size:1rem;pointer-events:none; }
.ph-preferred-calendar-modal .lm-calendar-weekdays > div { padding:2px;line-height:1.75rem; }
.ph-preferred-calendar-modal .lm-calendar-content { padding:4px; }
.ph-preferred-calendar-modal .lm-calendar-content > div { position:relative; }
.ph-preferred-calendar-modal .lm-calendar-container[data-view="days"] .lm-calendar-content > div { aspect-ratio:auto;width:32px;height:32px;justify-self:center; }
.ph-preferred-calendar-modal .lm-calendar-content > div[data-ph-busy="true"]::after { content:"";position:absolute;width:.3rem;height:.3rem;border-radius:50%;background:#bd6420;bottom:.12rem;left:calc(50% - .15rem); }
.ph-calendar-busy-key { display:inline-block;width:.4rem;height:.4rem;border-radius:50%;background:#bd6420;margin-right:.3rem; }
.ph-preferred-calendar-grid > section > .small { font-size:.72rem; }
.ph-preferred-day { padding:.85rem;background:#f3f8f5;border:1px solid #e0ebe4;border-radius:.65rem; }
.ph-preferred-day h3 { font-size:1rem;line-height:1.3;font-weight:700;color:#173d35;margin-bottom:.25rem; }
.ph-preferred-timezone { color:#71847c;font-size:.68rem;margin-bottom:.85rem; }
.ph-preferred-day [data-schedule-status] { font-size:.78rem;margin-bottom:.5rem; }
.ph-preferred-day [data-confirmed-times] { max-height:11rem;overflow-y:auto; }
.ph-preferred-day li { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.2rem .5rem;padding:.5rem 0;border-top:1px solid #dfe8e1; }
.ph-preferred-day li strong { font-size:.78rem;color:#254139; }
.ph-preferred-day li span { color:#985019;font-size:.65rem; }
.ph-preferred-calendar-modal #preferred-date-guidance { margin-top:.75rem !important;font-size:.7rem; }
.ph-preferred-calendar-modal .modal-footer { padding:.65rem 1rem;border-top:1px solid #e1eae5;gap:.4rem; }
.ph-preferred-calendar-modal .modal-footer .btn { min-height:2.3rem;padding:.4rem 1rem;border-radius:.5rem;font-size:.82rem; }
.ph-preferred-calendar-modal [data-use-preferred-date] { --cui-btn-bg:#087565;--cui-btn-border-color:#087565;--cui-btn-hover-bg:#065f52;--cui-btn-hover-border-color:#065f52;--cui-btn-active-bg:#065f52;--cui-btn-active-border-color:#065f52;--cui-btn-disabled-bg:#087565;--cui-btn-disabled-border-color:#087565; }
@media(max-width:575.98px) {
  .ph-preferred-calendar-modal .modal-dialog { margin:.5rem; }
  .ph-preferred-calendar-modal .modal-header,.ph-preferred-calendar-modal .modal-body { padding:.75rem; }
  .ph-preferred-calendar-grid { grid-template-columns:minmax(0,1fr);gap:.65rem; }
  .ph-preferred-day { padding:.65rem .75rem; }
  .ph-preferred-timezone { margin-bottom:.5rem; }
  .ph-preferred-calendar-modal .modal-footer { padding:.6rem .75rem; }
}

/* Proposal calendar retains the original command form inside a compact dialog. */
.ph-proposal-calendar-modal [data-form] form { display:grid;grid-template-columns:1fr 1fr;gap:.5rem; }
.ph-proposal-calendar-modal [data-form] form > div { min-width:0;margin:0 !important; }
.ph-proposal-calendar-modal [data-form] form > div:has(textarea),
.ph-proposal-calendar-modal [data-form] form > button { grid-column:1/-1; }
.ph-proposal-calendar-modal [data-form] .form-label { font-size:.75rem;margin-bottom:.2rem; }
.ph-proposal-calendar-modal [data-form] .form-control { min-height:2.2rem;padding:.3rem .5rem;font-size:.8rem; }
.ph-proposal-calendar-modal [data-form] textarea { height:3.5rem; }
.ph-proposal-calendar-modal [data-status] { font-size:.75rem;margin-bottom:.3rem; }
.ph-proposal-calendar-modal [data-confirmed-times] { max-height:8rem; }
.ph-proposal-calendar-modal [data-guidance] { font-size:.7rem; }
@media(max-width:575.98px) {
  .ph-proposal-calendar-modal .lm-calendar-container[data-view="days"] .lm-calendar-content > div { width:26px;height:24px; }
  .ph-proposal-calendar-modal .lm-calendar-weekdays > div { line-height:1.25rem; }
  .ph-proposal-calendar-modal [data-confirmed-times] { max-height:3.5rem; }
  .ph-proposal-calendar-modal .ph-preferred-day li { padding:.2rem 0; }
  .ph-proposal-calendar-modal .ph-preferred-timezone { margin-bottom:.25rem; }
  .ph-proposal-calendar-modal .ph-preferred-day { padding:.4rem .6rem; }
  .ph-proposal-calendar-modal [data-form] textarea { height:2.4rem;min-height:2.4rem; }
}
.ph-proposal-calendar-modal [data-form] form > div:has(select),
.ph-proposal-calendar-modal [data-form] form > div:has(input[name="Address"]),
.ph-proposal-calendar-modal [data-form] form > .row { grid-column:1/-1; }

/* Practice schedule details span the width below the calendar and inputs. */
.ph-practice-calendar-modal [data-form] { margin-top:0 !important; }
.ph-practice-calendar-modal .modal-body > .ph-preferred-day { margin-top:.75rem; }
.ph-practice-calendar-modal [data-form] .form-select { font-size:.8rem;min-height:2.2rem;padding-top:.3rem;padding-bottom:.3rem; }

/* Asymmetric practice preview with compact appointment details beneath it. */
.ph-practice-calendar-modal [data-form] { border-top:1px solid #e1eae5;padding-top:.6rem;margin-top:.6rem !important; }
@media(min-width:576px) {
  .ph-practice-calendar-modal .ph-preferred-calendar-grid { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:.85rem; }
  .ph-practice-calendar-modal [data-form] form { grid-template-columns: minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:.45rem .65rem; }
  .ph-practice-calendar-modal [data-form] form > div:has(select) { grid-column:auto; }
  .ph-practice-calendar-modal [data-form] form > div:has(textarea) { grid-column:1/2; }
  .ph-practice-calendar-modal [data-form] form > div:has(input[name="Address"]) { grid-column:2/4; }
  .ph-practice-calendar-modal [data-form] textarea { height:2.2rem;min-height:2.2rem; }
  .ph-practice-calendar-modal .lm-calendar-container[data-view="days"] .lm-calendar-content > div { height:28px; }
  .ph-practice-calendar-modal .ph-preferred-day { padding:.7rem; }
}

.ph-practice-calendar-modal [data-confirmed-times] { max-height:none;overflow:visible; }

/* CoreUI Free close glyph hosted locally for the application image CSP. */
.btn-close { --cui-btn-close-bg: url("../img/icons/close.svg"); }

/* Keep the calendar's standard CoreUI glyph visible without an image request. */
.ph-proposal-calendar-modal .modal-header .btn-close { background-image:none; flex-shrink:0; }
.ph-proposal-calendar-modal .modal-header .btn-close svg { display:block; width:1em; height:1em; }

/* Keep the exercise-step form scrollable within the CoreUI modal on short screens. */
.ph-exercise-step-modal .modal-content > form { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.ph-exercise-step-modal .btn-close { background-image:none; flex-shrink:0; }
.ph-exercise-step-modal .btn-close svg { display:block; width:1em; height:1em; }

/* Patient exercise prescription: CoreUI form with a clear clinical reading order. */
/* Use the standard container-lg widths, shared with the other treatment pages. */
.ph-prescription-icon { display:grid;place-items:center;flex-shrink:0;width:3.25rem;height:3.25rem;border-radius:.75rem;background:#e5f3ef;color:#087565;font-size:1.5rem; }
.ph-prescription-editor .ph-prescription-form { border-top:3px solid #087565; }
.ph-prescription-editor .ph-prescription-section { padding:1.5rem 0;border-bottom:1px solid var(--cui-border-color);margin-bottom:1.5rem; }
.ph-prescription-editor .ph-prescription-section .h5,.ph-prescription-editor legend { font-weight:600; }
.ph-prescription-editor .ph-prescription-steps { padding:1.25rem;background:#f5f9f7;border:1px solid #dce9e2;border-radius:var(--cui-border-radius); }
.ph-prescription-editor .ph-prescription-steps [data-step-list]:empty { display:none; }
.ph-prescription-editor .ph-prescription-day { margin:0;padding:.55rem .75rem .55rem 2.1rem;border:1px solid var(--cui-border-color);border-radius:var(--cui-border-radius); }
.ph-prescription-editor .ph-prescription-day:has(input:checked) { background:#e5f3ef;border-color:#087565; }
.ph-prescription-editor textarea { margin-top:.25rem; }
.ph-prescription-editor .card-footer { background:var(--cui-tertiary-bg); }
@media(max-width:575.98px) {
  .ph-prescription-editor .ph-prescription-steps { padding:1rem; }
  .ph-prescription-editor .card-footer .btn { width:100%; }
}

/* Rehabilitation disclosures retain native keyboard behavior with Font Awesome angles. */
.ph-rehab-disclosure > summary { display:flex;align-items:center;list-style:none;cursor:pointer;padding:.5rem 0; }
.ph-rehab-disclosure > summary::-webkit-details-marker { display:none; }
.ph-rehab-disclosure > summary::marker { content:""; }
.ph-rehab-disclosure[open] > summary > .fa-angle-right { transform:rotate(90deg); }
.ph-rehab-disclosure > summary > i { color:var(--cui-primary); }
.ph-rehab-workspace .card-body { padding:1.5rem; }
.ph-rehab-workspace h2 > i { color:var(--cui-primary);font-size:1rem; }
.ph-rehab-back { display:inline-flex;align-items:center;margin-bottom:.5rem;text-decoration:none; }
.ph-rehab-empty { margin-top:1rem;align-items:flex-start; }
.ph-rehab-empty p { max-width:42rem; }
.ph-step-heading-icon { display:grid;place-items:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:.65rem;background:#e5f3ef;color:#087565;font-size:1.15rem; }
.ph-step-heading-icon > i { margin:0 !important; }
.ph-exercise-step-modal .modal-dialog { --cui-modal-width:760px; }
.ph-exercise-step-modal .modal-content { border:0;border-radius:.8rem;overflow:hidden; }
.ph-exercise-step-modal .modal-header { gap:.85rem;padding:1.25rem 1.5rem;background:#f5f9f7; }
.ph-exercise-step-modal .modal-title { font-weight:600; }
.ph-exercise-step-modal .foundation-eyebrow { font-size:.68rem; }
.ph-exercise-step-modal .modal-body { padding:1.5rem; }
.ph-exercise-step-modal label > .form-control,.ph-exercise-step-modal label > .form-select { margin-top:.35rem; }
.ph-exercise-step-modal .btn-close { display:grid;place-items:center;font-size:1.25rem;color:var(--cui-body-color); }
.ph-step-media { min-width:0;margin-top:.5rem;padding:1rem;border:1px solid #dce9e2;border-radius:var(--cui-border-radius);background:#f5f9f7; }
.ph-step-media legend { float:none;width:auto;padding:0 .35rem;font-weight:600; }
.ph-exercise-step-modal .modal-footer { padding:1rem 1.5rem;background:var(--cui-tertiary-bg); }
.ph-exercise-step-modal [data-step-preview]:empty { display:none; }
.ph-exercise-step-modal [data-step-preview] :is(img,video) { max-height:16rem;object-fit:contain; }
@media(max-width:575.98px) {
  .ph-exercise-step-modal .modal-header,.ph-exercise-step-modal .modal-body { padding:1rem; }
  .ph-exercise-step-modal .modal-footer { padding:.75rem 1rem; }
  .ph-rehab-workspace .card-body { padding:1rem; }
}

/* Patient home program: instructions and self-reported feedback stay beside each exercise. */
.ph-home-program article[id] { scroll-margin-top:5rem; }
.ph-home-program-intro { border-left:3px solid var(--cui-primary); }
.ph-home-schedule { display:flex;align-items:start;gap:.75rem;padding:1rem;background:var(--cui-tertiary-bg);border-radius:var(--cui-border-radius); }
.ph-home-dose { display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem; }
.ph-home-dose > div { border:1px solid var(--cui-border-color);border-radius:var(--cui-border-radius);padding:.5rem .8rem; }
.ph-home-dose dt { font-size:.75rem;color:var(--cui-secondary-color); }
.ph-home-dose dd { margin:0;overflow-wrap:anywhere; }
.ph-home-media { display:block;width:100%;max-height:22rem;object-fit:contain;background:#f5f9f7; }
.ph-home-steps { padding-left:1.4rem; }
.ph-home-steps > li { padding:0 0 1.25rem .25rem; }
.ph-home-steps > li::marker { color:var(--cui-primary);font-weight:700; }
.ph-home-feedback { padding:1.25rem;border:1px solid #dce9e2;border-radius:.65rem;background:#f5f9f7; }
.ph-home-occurrence { padding-top:1rem;margin-top:1rem;border-top:1px solid #dce9e2; }
.ph-home-program :is(h1,h3,p,dd) { overflow-wrap:anywhere; }
@media(max-width:575.98px) { .ph-home-feedback { padding:1rem; }.ph-home-schedule { padding:.75rem; } }

.ph-home-program > div > .badge { max-width:100%;white-space:normal;text-align:left;line-height:1.5; }

/* Home programs use the shared #main-content measure and a single exercise reader. */
.ph-home-program > .notifications-header { align-items:flex-start; }
.ph-home-program > .notifications-header > .btn { flex-shrink:0; }
.ph-home-program .ph-page-title { overflow-wrap:anywhere; }
.ph-home-program-intro { box-shadow:none; background:var(--cui-body-bg); }
.ph-home-routine { padding:1.25rem 0 .25rem; }
.ph-home-exercise-tabs { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.ph-home-exercise-tab { display:flex; align-items:center; gap:.6rem; padding:.65rem .85rem; border:1px solid var(--cui-border-color); border-radius:.6rem; color:var(--cui-secondary-color); background:var(--cui-body-bg); text-decoration:none; min-width:0; }
.ph-home-exercise-tab > span:last-child { overflow-wrap:anywhere; }
.ph-home-exercise-tab[aria-current="step"] { color:var(--cui-primary); border-color:var(--cui-primary); background:#edf7f4; font-weight:600; }
.ph-home-exercise-number { display:grid; place-items:center; width:1.7rem; height:1.7rem; flex-shrink:0; border-radius:50%; background:var(--cui-tertiary-bg); font-size:.8rem; }
.ph-home-exercise-tab[aria-current="step"] .ph-home-exercise-number { background:var(--cui-primary); color:#fff; }
.ph-home-exercise { overflow:hidden; border-radius:.8rem; box-shadow:0 .2rem .7rem rgba(25,63,52,.04); }
.ph-home-exercise[hidden] { display:none !important; }
.ph-home-exercise-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.25rem 1.5rem; background:#f4faf7; border-bottom:1px solid #dce9e2; }
.ph-home-exercise-heading h3 { overflow-wrap:anywhere; }
.ph-home-exercise-mark { display:grid; place-items:center; width:3rem; height:3rem; flex-shrink:0; border-radius:.75rem; color:var(--cui-primary); background:#e1f0e9; font-size:1.25rem; font-weight:700; }
.ph-home-section-heading { display:flex; align-items:center; gap:.6rem; margin-bottom:1rem; font-size:1rem; font-weight:600; }
.ph-home-section-heading > i { color:var(--cui-primary); }
.ph-home-instruction-detail { padding:.8rem 0; border-bottom:1px solid var(--cui-border-color-translucent); }
.ph-home-instruction-detail h4 { color:var(--cui-secondary-color); font-size:.8rem; font-weight:600; }
.ph-home-instructions .ph-home-dose { gap:.65rem; }
.ph-home-instructions .ph-home-dose > div { min-width:6rem; padding:.75rem 1rem; background:#f4faf7; border-color:#dce9e2; }
.ph-home-instructions .ph-home-dose dd { font-weight:600; }
.ph-home-program .ph-home-steps { list-style:none; counter-reset:home-step; padding:0; }
.ph-home-program .ph-home-steps > li { position:relative; counter-increment:home-step; padding:.1rem 0 1.25rem 2.5rem; }
.ph-home-program .ph-home-steps > li::before { content:counter(home-step); position:absolute; left:0; top:0; display:grid; place-items:center; width:1.7rem; height:1.7rem; border:1px solid #c8dfd5; border-radius:50%; color:var(--cui-primary); font-size:.8rem; font-weight:600; }
.ph-home-exercise-pager { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:1rem 0; }
.ph-home-exercise-pager [aria-disabled="true"] { opacity:.45; pointer-events:none; }
.ph-home-program :is(p,dd) { overflow-wrap:anywhere; }
@media(max-width:575.98px) {
  .ph-home-exercise-heading { padding:1rem; align-items:flex-start; flex-wrap:wrap; }
  .ph-home-exercise-tabs { display:grid; grid-template-columns:minmax(0,1fr); }
  .ph-home-exercise-pager { flex-wrap:wrap; }
  .ph-home-exercise-pager > .btn { padding-inline:.75rem; }
  .ph-home-exercise-pager > span { order:3; width:100%; text-align:center; }
}

/* Keep the exercise reader comfortable on phones without changing the shared shell. */
@media(max-width:767.98px) {
  .ph-home-program > .notifications-header { gap:.75rem; margin-bottom:1.25rem !important; }
  .ph-home-program .ph-page-title { align-items:flex-start; gap:.65rem; font-size:1.65rem; line-height:1.2; }
  .ph-home-program .ph-page-title::before { width:2rem; height:2rem; flex:0 0 2rem; font-size:1rem; }
  .ph-home-program > .notifications-header .lead { font-size:1rem; line-height:1.5; }
  .ph-home-program > .notifications-header > .btn { min-height:44px; display:inline-flex; align-items:center; font-size:.875rem; }
  .ph-home-program-intro { padding:1rem; border-radius:.75rem; margin-bottom:1rem !important; }
  .ph-home-program-intro h2 { font-size:1rem; }
  .ph-home-program-intro p { font-size:.875rem; line-height:1.55; }
  .ph-home-program .ph-rehab-disclosure > summary { min-height:44px; padding-block:.65rem; }
  .ph-home-routine { padding:.5rem 0 0; }
  .ph-home-routine > div { gap:.65rem !important; }
  .ph-home-routine h2 { font-size:1.25rem; }
  .ph-home-routine > div > p { flex-basis:100%; font-size:.8rem; }
  .ph-home-routine > div > p br { display:none; }
  .ph-home-routine > div > p > span { display:block; margin-top:.15rem; }
  .ph-home-exercise-tabs { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:.5rem; padding:.25rem .1rem .65rem; margin-top:.75rem; scroll-snap-type:x proximity; }
  .ph-home-exercise-tab { flex:0 0 auto; max-width:85%; min-height:48px; padding:.6rem .75rem; font-size:.875rem; scroll-snap-align:start; }
  .ph-home-exercise-tab > span:last-child { max-width:15rem; }
  .ph-home-exercise-pager { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.65rem; padding:.65rem 0; }
  .ph-home-exercise-pager > .btn { display:flex; align-items:center; justify-content:center; min-height:48px; padding:.65rem .5rem; font-size:.875rem; }
  .ph-home-exercise-pager > span { display:none; }
  .ph-home-exercise-heading { padding:1rem; gap:.65rem; align-items:flex-start; }
  .ph-home-exercise-heading > div { min-width:0; flex:1 1 100%; gap:.75rem !important; }
  .ph-home-exercise-heading > .badge { margin-left:3.25rem; }
  .ph-home-exercise-heading h3 { font-size:1.2rem; line-height:1.35; }
  .ph-home-exercise-mark { width:2.5rem; height:2.5rem; border-radius:.65rem; font-size:1rem; }
  .ph-home-schedule { gap:.6rem; font-size:.875rem; line-height:1.55; }
  .ph-home-schedule > i { margin-top:.2rem; }
  .ph-home-schedule .small { margin-top:.35rem; }
  .ph-home-instructions .ph-home-dose { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
  .ph-home-instructions .ph-home-dose > div { min-width:0; padding:.65rem .75rem; }
  .ph-home-instruction-detail { padding:.75rem 0; }
  .ph-home-feedback { padding:1rem; border-top:3px solid var(--cui-primary); }
  .ph-home-feedback h4 { font-size:1.1rem; line-height:1.4; }
  .ph-home-feedback :is(.form-control,.form-select) { min-height:48px; font-size:1rem; }
  .ph-home-feedback button[type="submit"] { min-height:48px; white-space:normal; }
  .ph-home-program .ph-home-steps > li { padding-left:2.25rem; }
  .ph-home-program .ph-home-media { max-height:16rem; }
}

/* Immutable prescription history shares the standard content measure and header. */
.ph-instruction-history :is(h2,p,dd) { overflow-wrap:anywhere; }
.ph-revision { overflow:hidden; border-radius:.85rem; scroll-margin-top:5rem; }
.ph-revision-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem 1.5rem; background:#f0f8f5; border-bottom:1px solid #dce9e2; }
.ph-revision-header .badge { flex-shrink:0; }
.ph-revision-section-title { display:flex; align-items:center; gap:.65rem; font-size:1rem; font-weight:600; margin-bottom:1rem; }
.ph-revision-section-title i { color:var(--cui-primary); }
.ph-revision-dose { display:grid; grid-template-columns:repeat(auto-fit,minmax(8rem,1fr)); gap:.65rem; margin-bottom:1.5rem; }
.ph-revision-dose > div { padding:.85rem 1rem; background:#f0f8f5; border:1px solid #dce9e2; border-radius:.65rem; }
.ph-revision-dose dt,.ph-revision-schedule dt { font-size:.8rem; color:var(--cui-secondary-color); margin-bottom:.3rem; }
.ph-revision-dose dd { margin:0; font-weight:600; }
.ph-revision-details > div { padding:.85rem 0; border-bottom:1px solid var(--cui-border-color-translucent); }
.ph-revision-details dt { font-size:.8rem; color:var(--cui-secondary-color); margin-bottom:.35rem; }
.ph-revision-details dd { margin:0; }
.ph-revision-details .ph-revision-precaution { margin-top:.75rem; padding:1rem; border:1px solid #e9dcba; border-left:3px solid #b78b29; border-radius:.5rem; background:#fffaf0; }
.ph-revision-schedule,.ph-revision-record { padding:1.25rem; border:1px solid #dce9e2; border-radius:.75rem; background:#f5f9f7; }
.ph-revision-schedule dl { margin-bottom:0; }
.ph-revision-schedule dd { margin-bottom:1rem; }
.ph-revision-record { background:var(--cui-body-bg); }
.ph-revision-media,.ph-revision-steps :is(img,video) { width:100%; max-height:24rem; object-fit:contain; }
.ph-revision-steps { list-style:none; counter-reset:revision-step; padding:0; margin-top:1.25rem; }
.ph-revision-steps > li { position:relative; counter-increment:revision-step; padding:0 0 .5rem 3rem; }
.ph-revision-steps > li::before { content:counter(revision-step); position:absolute; left:0; top:0; display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; color:var(--cui-primary); background:#e1f0e9; font-weight:600; }
@media(max-width:767.98px) {
 .ph-instruction-history .ph-page-title { font-size:1.65rem; align-items:flex-start; }
 .ph-instruction-history .lead { font-size:1rem; }
 .ph-revision-header { padding:1rem; flex-wrap:wrap; }
 .ph-revision-header h2 { font-size:1.2rem; }
 .ph-revision-dose { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ph-revision-dose > div { padding:.75rem; }
 .ph-revision-schedule,.ph-revision-record { padding:1rem; }
 .ph-revision-steps > li { padding-left:2.75rem; }
}
.ph-home-history-link { display:flex; align-items:center; gap:.85rem; padding:1rem; border:1px solid #c8dfd5; border-radius:.65rem; background:#f4faf7; color:var(--cui-primary); text-decoration:none; min-height:64px; }
.ph-home-history-link > span { flex:1; min-width:0; }
.ph-home-history-link strong,.ph-home-history-link small { display:block; }
.ph-home-history-link small { color:var(--cui-secondary-color); margin-top:.2rem; }
.ph-home-history-link:hover { background:#e7f3ed; border-color:var(--cui-primary); }
.ph-home-history-link:focus-visible { outline:3px solid var(--cui-primary); outline-offset:3px; }

/* Treatment rehabilitation overview and immutable program history. */
.ph-rehab-overview :is(h1,h2,h3,p,strong,small) { overflow-wrap:anywhere; }
.ph-rehab-overview > .card { padding:1.5rem; border-radius:.8rem; }
.ph-rehab-overview .ph-rehab-choice { display:flex; align-items:center; gap:1rem; padding:1rem; margin-top:.65rem; border:1px solid #dce9e2; border-radius:.65rem; background:#f5faf7; color:var(--cui-primary); text-decoration:none; min-height:72px; }
.ph-rehab-choice > span { flex:1; min-width:0; }
.ph-rehab-choice strong,.ph-rehab-choice small { display:block; }
.ph-rehab-choice strong { font-weight:600; }
.ph-rehab-choice small { margin-top:.25rem; color:var(--cui-secondary-color); }
.ph-rehab-overview .ph-rehab-choice:hover { background:#e7f3ed; border-color:var(--cui-primary); }
.ph-rehab-choice:focus-visible { outline:3px solid var(--cui-primary); outline-offset:3px; }
.ph-rehab-choice > i:first-child { display:grid; place-items:center; flex:0 0 2.5rem; height:2.5rem; background:#e1f0e9; border-radius:.65rem; }
.ph-rehab-history-list { list-style:none; padding:0; margin-bottom:1rem; }
.ph-rehab-revision-reason { padding-top:1rem; border-top:1px solid var(--cui-border-color); color:var(--cui-secondary-color); }
@media(max-width:767.98px) {
 .ph-rehab-overview > .card { padding:1rem; }
 .ph-rehab-overview .ph-page-title { font-size:1.65rem; align-items:flex-start; }
 .ph-rehab-overview .lead { font-size:1rem; }
 .ph-rehab-overview .btn { min-height:44px; white-space:normal; }
 .ph-rehab-overview .ph-rehab-choice { gap:.75rem; padding:.85rem; }
}

.pt-enquiry-message { white-space: pre-wrap; }

/* Compact professional enquiry panel, using CoreUI form controls. */
.ph-pt-join { max-width:600px; padding-top:2.5rem; padding-bottom:2.5rem; }
.ph-pt-join-panel { border:1px solid var(--cui-border-color); border-radius:8px; box-shadow:0 2px 8px rgb(0 55 45 / 3%); }
.ph-pt-join-panel > .card-body { padding:2.25rem; }
.ph-pt-join-heading { margin-bottom:1.5rem; padding-bottom:1.5rem; border-bottom:1px solid var(--cui-border-color); }
.ph-pt-join-heading .foundation-eyebrow { font-size:.7rem; margin-bottom:.5rem; }
.ph-pt-join-heading h1 { font-size:1.6rem; font-weight:600; letter-spacing:-.02em; margin-bottom:.6rem; }
.ph-pt-join-heading > p:last-child { font-size:.9rem; line-height:1.55; margin-bottom:0; }
.ph-pt-join .form-label { font-size:.85rem; font-weight:600; margin-bottom:.5rem; }
.ph-pt-join .form-control { min-height:44px; font-size:1rem; }
.ph-pt-join textarea.form-control { min-height:120px; }
.ph-pt-join .form-control::placeholder { font-size:.85rem; color:var(--cui-secondary-color); opacity:1; }
.ph-pt-join .form-text { font-size:.75rem; margin-top:.4rem; }
.ph-pt-join .btn { min-height:44px; font-size:.9rem; font-weight:600; }
.ph-pt-join-privacy { font-size:.75rem; text-align:center; line-height:1.5; margin:1rem 0 0; }
@media(max-width:575.98px) {
 .ph-pt-join { padding-top:1.5rem; padding-bottom:1.5rem; }
 .ph-pt-join-panel > .card-body { padding:1.5rem; }
}

/* Landing-page gradient and bubbles on the page canvas, with a white form card. */
body:has(.ph-pt-join) {
 background-image:radial-gradient(circle at calc(100% - 6rem) 3rem,transparent 0 9.5rem,rgba(8,117,101,.045) 9.5rem 14rem,transparent 14rem),radial-gradient(circle at 3.5rem calc(100% - .5rem),rgba(241,174,70,.1),transparent 8.5rem),linear-gradient(155deg,#e8f6f2 0%,#f5faf8 48%,#fff8ef 100%) !important;
 background-attachment:fixed;
 background-repeat:no-repeat;
}
.ph-pt-join-panel { background:#fff; }

/* The shared canvas uses !important; let this page's body background show through. */
body:has(.ph-pt-join) .wrapper,
body:has(.ph-pt-join) .body,
body:has(.ph-pt-join) .body > main.ph-pt-join { background:transparent !important; }

/* CoreUI MIT form icons hosted locally for the self-only image CSP. */
.form-check-input:checked[type=checkbox] { --cui-form-check-bg-image: url("/img/icons/checkbox-checked.svg"); }
.form-check-input:checked[type=radio] { --cui-form-check-bg-image: url("/img/icons/radio-checked.svg"); }
.form-check-input[type=checkbox]:indeterminate { --cui-form-check-bg-image: url("/img/icons/checkbox-indeterminate.svg"); }
.form-switch .form-check-input { --cui-form-switch-bg: url("/img/icons/switch-default.svg"); }
.form-switch .form-check-input:focus { --cui-form-switch-bg: url("/img/icons/switch-focus.svg"); }
.form-switch .form-check-input:checked { --cui-form-switch-bg: url("/img/icons/switch-checked.svg"); }
[data-coreui-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) { --cui-form-switch-bg: url("/img/icons/switch-dark.svg"); }

/* Directory welcome: scoped presentation over the existing CoreUI modal. */
.ph-network-welcome { border:1px solid #d5e6df; border-radius:.85rem; overflow:hidden; }
.ph-network-welcome-header { position:relative; padding:2rem 2rem 1.75rem; background:radial-gradient(circle at 100% 0,rgba(62,170,116,.13) 0,rgba(62,170,116,.13) 7rem,transparent 7.05rem),#edf7f2; }
.ph-network-welcome-header > img { display:block; width:148px; height:auto; margin-bottom:1.75rem; }
.ph-network-welcome-header > .btn-close { position:absolute; top:1.25rem; right:1.25rem; }
.ph-network-welcome-eyebrow { margin-bottom:.6rem; color:#28705a; font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.ph-network-welcome-header h2 { margin:0; color:#174c3f; font-size:clamp(1.4rem,5vw,1.75rem); font-weight:700; line-height:1.2; letter-spacing:-.025em; }
.ph-network-welcome-body { padding:1.75rem 2rem; }
.ph-network-welcome-lead { margin-bottom:.6rem; font-weight:600; color:#244b40; }
.ph-network-welcome-body .text-body-secondary { font-size:.92rem; line-height:1.65; margin-bottom:1.5rem; }
.ph-network-welcome-body .btn { min-height:2.85rem; }
.ph-network-welcome-join { margin:1.25rem 0 0; text-align:center; font-size:.82rem; color:var(--ph-muted); }
.ph-network-welcome-join a { display:inline-block; font-weight:600; color:#087d67; text-underline-offset:3px; }
@media(max-width:575.98px) { .ph-network-welcome-header,.ph-network-welcome-body { padding:1.5rem; } }

/* Compact sign-in feedback using the shared alert component. */
.ph-signin-error { margin:1rem 0 1.5rem; }
.ph-signin-error-summary ul { list-style:none; padding:0; margin:0; }
.ph-signin-error-summary li + li { margin-top:.35rem; }

/* Driver.js is restricted to the verification walkthrough; CoreUI owns the page. */
.ph-verification-tour.driver-popover { font-family:inherit; color:var(--ph-ink); border-radius:.75rem; max-width:min(340px,calc(100vw - 24px)); }
.ph-verification-tour .driver-popover-title { font-size:1.1rem; line-height:1.4; }
.ph-verification-tour .driver-popover-description { line-height:1.6; }
.ph-verification-tour .driver-popover-footer button { background:#087d67; color:#fff; border:0; text-shadow:none; padding:.55rem .85rem; border-radius:.35rem; }
.ph-verification-tour .driver-popover-footer button:focus-visible { outline:3px solid #f5a623; outline-offset:2px; }
#verification-submit { scroll-margin-top:6rem; }

#verification-submission-alert, .provider-credential-card { scroll-margin-top:6rem; }
#verification-submission-alert:focus { outline:3px solid var(--cui-danger); outline-offset:3px; }
