/* Design System Tokens - Avenly 2.0
 * Consolidated from inline-styles-1.css (2870 lines)
 * Contains: color tokens, typography, spacing, shadows, semantic tokens
 */

:root{
  --white:#ffffff;
  --pm-surface-hero:var(--shell-hero-bg);
  --pm-surface-clinician:linear-gradient(160deg,var(--blue-900) 0%,#0a3d52 100%);
  --pm-surface-trust:var(--teal-50);
  --pm-surface-trust-pill:var(--white);
  --pm-surface-crisis:#EAF9FF;

  --pm-text-primary:var(--gray-900);
  --pm-text-secondary:var(--gray-700);
  --pm-text-muted:var(--gray-500);
  --pm-text-inverse:var(--white);
  --pm-text-trust:var(--teal-600);
  --pm-text-crisis:#155A83;

  --pm-border-soft:var(--gray-100);
  --pm-border-trust:var(--teal-100);
  --pm-border-crisis:#BEE2F6;
  --pm-border-inverse-soft:rgba(255,255,255,0.24);

  --pm-cta-primary-bg:var(--blue-600);
  --pm-cta-primary-text:var(--white);
  --pm-cta-secondary-bg:rgba(255,255,255,0.14);
  --pm-cta-secondary-text:rgba(255,255,255,0.88);
  --pm-cta-tertiary-bg:rgba(255,255,255,0.03);
  --pm-cta-tertiary-text:rgba(255,255,255,0.78);

  --pm-role-patient-bg:var(--blue-900);
  --pm-role-clinician-bg:var(--teal-600);
  --pm-role-clinician-icon:#9FE1CB;

  --pm-shadow-card:var(--shadow-sm);
  --pm-shadow-card-hover:var(--shadow-md);
  --pm-shadow-cta-primary:0 8px 22px rgba(24,95,165,0.34);

  /* Semantic status tokens */
  --color-success:#10B981;
  --color-success-bg:#ECFDF5;
  --color-success-border:#A7F3D0;
  --color-warning:#F59E0B;
  --color-warning-bg:#FFFBEB;
  --color-warning-border:#FDE68A;
  --color-phi:#7C3AED;
  --color-phi-bg:#F5F3FF;
  --color-phi-border:#DDD6FE;


  /* Dashboard tokens */
  --mw-text-primary:#102033;
  --mw-text-secondary:#607388;
  --mw-text-muted:#61748A;
  --mw-accent-teal:#0A6A61;
  --mw-accent-blue:#185FA5;
  --mw-surface:#ffffff;
  --mw-surface-light:#F8FBFD;
  --mw-surface-lighter:#EEF3F8;
  --mw-border:#DCE5EF;
  --mw-border-hover:#A9CFE3;
  --radius-sm:6px;
  --radius-md:8px;
  --radius-lg:10px;
  --radius-xl:12px;
  --radius-pill:999px;
  --shadow-sm:0 1px 3px rgba(15,35,55,0.06);
  --shadow-md:0 4px 12px rgba(15,35,55,0.08);
  --shadow-lg:0 12px 28px rgba(15,35,55,0.1);
  --mw-badge-success-bg:#D1FAE5;
  --mw-badge-success-text:#065F46;
  --mw-badge-neutral-bg:#F3F4F6;
  --mw-badge-neutral-text:#374151;
  --mw-badge-warning-bg:#FEF3C7;
  --mw-badge-warning-text:#92400E;
  --mw-badge-info-bg:#DBEAFE;
  --mw-badge-info-text:#1E40AF;
  --mw-badge-beta-bg:#CCFBF1;
  --mw-badge-beta-text:#0F766E;}

/* =============================================
   Dark Mode  gap fixes (C3)
   ============================================= */
/* Dark mode button variants */
/* Dark mode urgency badges */
/* -- Compare providers panel -- */
.compare-bar{display:none !important;position:fixed;bottom:0;left:0;right:0;z-index:120;background:var(--blue-900);color:var(--white);padding:0.75rem 1.5rem calc(0.75rem + env(safe-area-inset-bottom,0px));align-items:center;gap:1rem;flex-wrap:wrap;transform:translateY(100%);transition:transform 0.3s cubic-bezier(.4,0,.2,1);box-shadow:0 -4px 20px rgba(4,44,83,0.2);}
.compare-bar.visible{transform:translateY(0);}
@media(max-width:640px){.compare-bar{bottom:60px;}}
.compare-bar-label{font-size:13px;font-weight:600;white-space:nowrap;}
.compare-bar-slots{display:flex;gap:8px;flex:1;flex-wrap:wrap;}
.compare-slot{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,0.1);border:1px dashed rgba(255,255,255,0.25);border-radius:var(--radius-md);padding:5px 10px;min-width:100px;font-size:12px;color:rgba(255,255,255,0.8);}
.compare-slot.filled{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.35);color:var(--white);}
.compare-slot-remove{background:none;border:none;color:rgba(255,255,255,0.5);cursor:pointer;font-size:14px;padding:0;line-height:1;margin-left:2px;}
.compare-slot-remove:hover{color:var(--white);}
.compare-bar-btn{padding:8px 18px;border-radius:var(--radius-md);background:var(--teal-400);color:var(--white);border:none;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity 0.15s;}
.compare-bar-btn:hover{opacity:0.88;}
.compare-bar-clear{background:none;border:none;color:rgba(255,255,255,0.5);font-size:12px;cursor:pointer;white-space:nowrap;}
.compare-bar-clear:hover{color:var(--white);}
/* Compare modal */
.compare-modal{display:none;position:fixed;inset:0;z-index:200;background:rgba(4,44,83,0.55);backdrop-filter:blur(4px);overflow-y:auto;padding:2rem 1rem;}
.compare-modal.open{display:flex;align-items:flex-start;justify-content:center;}
.compare-modal-box{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:900px;overflow:hidden;}
.compare-modal-header{background:var(--blue-900);padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;}
.compare-modal-title{font-family:'DM Serif Display',serif;font-size:1.15rem;color:var(--white);}
.compare-modal-close{background:none;border:none;color:rgba(255,255,255,0.6);font-size:22px;cursor:pointer;line-height:1;}
.compare-modal-close:hover{color:var(--white);}
.compare-grid{display:grid;overflow-x:auto;}
.compare-row{display:grid;border-bottom:1px solid var(--gray-100);align-items:start;}
.compare-row-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-400);padding:0.75rem 1rem;background:var(--gray-50);border-right:1px solid var(--gray-100);}
.compare-cell{padding:0.75rem 1rem;font-size:13px;color:var(--gray-700);border-right:1px solid var(--gray-100);}
.compare-cell:last-child{border-right:none;}
.compare-cell-head{background:var(--blue-50);padding:1rem;border-right:1px solid var(--gray-100);}
/* -- Landing skeleton shimmer on first load -- */
@keyframes landingSkel{0%{background-position:-800px 0}100%{background-position:800px 0}}
.feature-card.skel-land{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:800px 100%;animation:landingSkel 1.5s infinite linear;border-color:transparent;pointer-events:none;}
.feature-card.skel-land *{opacity:0;}
/* -- Global focus states (WCAG 2.1 AA) -- Master unified :focus-visible rule */
:focus-visible{outline:3px solid var(--blue-400);outline-offset:2px;border-radius:4px;}
.wiz-input:focus,.wiz-select:focus{border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(55,138,221,0.18);outline:none;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(55,138,221,0.18);outline:none;}
input:focus,select:focus,textarea:focus{outline:none;}
/* Skip to main content link */
.skip-link{position:absolute;top:-50px;left:1rem;background:var(--blue-900);color:var(--white);padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;z-index:9999;transition:top 0.15s;text-decoration:none;}
.skip-link:focus{top:8px;}
/* -- Button :active press states -- */
.btn-primary:active{transform:scale(0.97)!important;box-shadow:0 2px 8px rgba(15,110,86,0.25)!important;}
.btn-outline:active{transform:scale(0.97)!important;}
.wiz-btn-next:active{transform:scale(0.97)!important;box-shadow:0 2px 8px rgba(15,110,86,0.2)!important;}
.nav-cta:active{transform:scale(0.96);}
.mp-request-btn:active{transform:scale(0.97);}
.ob-next-btn:active{transform:scale(0.97);}
.cl-view-btn:active{transform:scale(0.96);}
.compare-bar-btn:active{transform:scale(0.97);}
.chip:active,.ob-chip:active{transform:scale(0.95);}
/* -- Match score tooltip -- */
.score-tooltip-wrap{position:relative;display:inline-flex;align-items:center;gap:3px;}
.score-tooltip-btn{width:14px;height:14px;border-radius:50%;background:rgba(55,138,221,0.15);border:1px solid rgba(55,138,221,0.3);color:var(--blue-600);font-size:9px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;flex-shrink:0;transition:background 0.15s;font-family:'Plus Jakarta Sans',sans-serif;}
.score-tooltip-btn:hover{background:rgba(55,138,221,0.25);}
.score-tooltip-pop{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:230px;background:var(--blue-900);color:var(--white);border-radius:var(--radius-lg);padding:0.9rem 1rem;box-shadow:var(--shadow-lg);z-index:300;font-size:12px;line-height:1.55;pointer-events:none;opacity:0;transition:opacity 0.15s,transform 0.15s;transform:translateX(-50%) translateY(4px);}
.score-tooltip-pop.visible{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.score-tooltip-pop::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--blue-900);}
.score-tooltip-title{font-weight:600;font-size:12px;color:var(--white);margin-bottom:7px;}
.score-tooltip-dim{display:flex;align-items:center;gap:8px;margin-bottom:5px;}
.score-tooltip-dim:last-child{margin-bottom:0;}
.score-tooltip-bar{flex:1;height:3px;background:rgba(255,255,255,0.12);border-radius:2px;overflow:hidden;}
.score-tooltip-bar-fill{height:100%;border-radius:2px;background:var(--teal-400);}
.score-tooltip-label{font-size:10.5px;color:rgba(255,255,255,0.8);width:80px;flex-shrink:0;}
.score-tooltip-val{font-size:10.5px;font-weight:600;color:rgba(255,255,255,0.85);width:24px;text-align:right;flex-shrink:0;}
/* -- Gray text contrast fixes (WCAG AA) -- */
.testimonial-role{font-size:12px;color:var(--gray-500)!important;margin-top:1px;}
.cl-rate-sub{font-size:11px;color:var(--gray-500)!important;margin-top:-4px;}
.search-sug-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-500)!important;margin-left:auto;flex-shrink:0;}
.compare-row-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-600,var(--gray-500))!important;padding:0.75rem 1rem;background:var(--gray-50);border-right:1px solid var(--gray-100);}
.section-sub{font-size:16px;color:var(--gray-700)!important;max-width:500px;line-height:1.65;}
.wiz-q-sub{font-size:14px;color:var(--gray-700)!important;margin-bottom:1.75rem;line-height:1.55;}
.prof-edu-year{font-size:13px;color:var(--gray-500)!important;}
.cd-empty-requests{text-align:center;padding:2rem 1rem;color:var(--gray-500)!important;font-size:13px;}
input::placeholder,textarea::placeholder,select::placeholder{color:var(--gray-500);}
/* -- How-it-works enhanced connector -- */
.how-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center;}
.how-steps::before{content:'';position:absolute;top:28px;left:calc(16.666% + 21px);right:calc(16.666% + 21px);height:2px;background:linear-gradient(90deg,var(--teal-400),var(--blue-400));opacity:0.25;pointer-events:none;}
.how-steps::after{content:'?';position:absolute;top:19px;left:calc(50% + 12px);font-size:18px;color:var(--blue-200);opacity:0.4;pointer-events:none;letter-spacing:-2px;}
.step-num{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--blue-600),var(--teal-600));color:var(--white);display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:18px;margin:0 auto 1rem;box-shadow:0 3px 12px rgba(24,95,165,0.25);position:relative;z-index:1;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
::selection{background:rgba(13,148,136,0.16);color:#0A1628;}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--gray-50);color:var(--gray-900);font-size:16px;line-height:1.6;transition:background 0.2s,color 0.2s;-webkit-font-smoothing:antialiased;}
/* -- prefers-reduced-motion -- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}
  .scroll-reveal{opacity:1;transform:none;transition:none;}
  .pm-load-nav,.pm-load-hero-heading,.pm-load-hero-subcopy,.pm-load-hero-cta,.pm-load-trust{animation:none!important;opacity:1!important;transform:none!important;}
  .hero-mock-slide{animation:none!important;opacity:0;}
  .hero-mock-slide:first-child{opacity:1;}
  .page.active{animation:none;}
  .wiz-step-wrap{animation:none;}
  .opt-card:hover{transform:none;}
  .btn-primary:hover,.wiz-btn-next:hover,.feature-card:hover,.testimonial-card:hover{transform:none;}
}
/* -- HIPAA banner -- */
.privacy-banner{background:var(--teal-600);color:var(--white);font-size:12.5px;padding:9px 1.5rem;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;z-index:101;}
.privacy-banner a{color:rgba(255,255,255,0.85);text-decoration:underline;}
.privacy-banner a:hover{color:var(--white);}
.privacy-banner-dismiss{background:none;border:none;color:rgba(255,255,255,0.7);cursor:pointer;font-size:18px;line-height:1;padding:0 0 0 8px;flex-shrink:0;transition:color 0.15s;}
.privacy-banner-dismiss:hover{color:var(--white);}
body.member-workspace-active #privacyBanner,
body.member-workspace-active #hipaaBanner,
body.member-workspace-active .pm-load-nav{display:none !important;}
body.member-workspace-active #page-member{min-height:100vh;}
.nav{position:sticky;top:0;z-index:100;background:#0a0f1a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,0.08);box-shadow:0 1px 0 rgba(0,0,0,0.3),0 2px 16px rgba(0,0,0,0.25);display:flex;align-items:center;justify-content:space-between;padding:0 var(--shell-nav-pad-inline);height:var(--shell-nav-height);transition:box-shadow 0.2s,background 0.2s;}
.nav-brand{display:flex;align-items:center;gap:12px;cursor:pointer;overflow:hidden;align-self:stretch;}
.nav-logo{width:30px;height:30px;background:var(--teal-600);border-radius:7px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 0 rgba(0,0,0,0.12),inset 0 1px 0 rgba(255,255,255,0.15);}
.nav-logo svg{width:16px;height:16px;}
.nav-logo-img{height:56px;width:56px;object-fit:contain;display:block;}
.nav-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:600;color:#fff;letter-spacing:-0.01em;}
.nav-links{display:flex;gap:2px;}
.nav-link{padding:7px 13px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:rgba(255,255,255,0.7);cursor:pointer;border:none;background:none;transition:all 0.15s;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;}
.nav-link:hover{color:#fff;background:rgba(255,255,255,0.08);}
.nav-link.active{background:transparent;color:#fff;font-weight:500;position:relative;}
.nav-link.active::after{content:'';position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:60%;height:2px;background:var(--teal-400);border-radius:2px;}
.nav-cta{padding:9px 17px;border-radius:6px;background:#0C8577;color:var(--white);border:none;font-size:13px;font-weight:600;cursor:pointer;transition:background 0.15s,transform 0.15s,box-shadow 0.2s;display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px 0 rgba(0,0,0,0.14),0 4px 12px rgba(12,133,119,0.2);touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;}
.nav-cta:hover{background:#0A7469;transform:translateY(-1px);box-shadow:0 1px 0 rgba(0,0,0,0.1),0 8px 22px rgba(12,133,119,0.28);}
.pm-load-nav,.pm-load-hero-heading,.pm-load-hero-subcopy,.pm-load-hero-cta,.pm-load-trust{opacity:0;transform:translateY(8px);}
.pm-load-nav{animation:pmRevealIn 0.16s ease-out 0.02s forwards;}
.pm-load-hero-heading{animation:pmRevealIn 0.19s ease-out 0.1s forwards;}
.pm-load-hero-subcopy{animation:pmRevealIn 0.2s ease-out 0.2s forwards;}
.pm-load-hero-cta{animation:pmRevealIn 0.22s ease-out 0.3s forwards;}
.pm-load-trust{animation:pmRevealIn 0.24s ease-out 0.44s forwards;}
@keyframes pmRevealIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.page{display:none;min-height:calc(100vh - 60px);content-visibility:auto;}
.page[hidden]{display:none!important;}
.page.active{display:block;animation:pageFadeIn 0.25s cubic-bezier(.4,0,.2,1) both;}
body:not(.member-workspace-active):not(:has(.page.active)):not(:has(.public-fallback-page:target)) #page-marketing{display:block!important;visibility:visible!important;opacity:1!important;}
body:not(.member-workspace-active) .public-fallback-page:target{display:block!important;visibility:visible!important;opacity:1!important;}
body:not(.member-workspace-active):has(.public-fallback-page:target) #page-marketing:not(:target){display:none!important;}
body:not(.member-workspace-active) #page-marketing:target,body:not(.member-workspace-active) #page-browse:target,body:not(.member-workspace-active) #page-for-clinicians:target,body:not(.member-workspace-active) #page-billing:target{display:block!important;visibility:visible!important;opacity:1!important;}
#page-marketing:target,#page-browse:target,#page-for-clinicians:target{display:block!important;visibility:visible!important;opacity:1!important;}
body.member-workspace-active #page-marketing,body.member-workspace-active #page-billing,body.member-workspace-active #page-for-clinicians{display:none!important;visibility:hidden!important;}
@keyframes pageFadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.hero{background:#06101A;position:relative;overflow:hidden;isolation:isolate;}
.hero::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,18,31,0.95) 0%,rgba(5,24,37,0.82) 42%,rgba(5,24,37,0.56) 72%,rgba(5,24,37,0.74) 100%),radial-gradient(ellipse 82% 68% at 58% 18%,rgba(30,169,148,0.18) 0%,rgba(30,169,148,0.06) 35%,transparent 70%),linear-gradient(180deg,rgba(5,12,21,0.38) 0%,rgba(5,12,21,0.12) 45%,rgba(5,12,21,0.84) 100%);pointer-events:none;}
.hero::after{content:'';position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,0.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.024) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 78%);pointer-events:none;}
.hero-video-layer{position:absolute;inset:0;z-index:0;background:#06101A;overflow:hidden;}
.hero-video-layer video{width:100%;height:100%;object-fit:cover;object-position:center;display:block;opacity:.56;filter:none;transform:none;backface-visibility:hidden;contain:paint;}
.hero-video-layer::after{content:'';position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(180deg,transparent,rgba(6,16,26,.88));pointer-events:none;}
.hero-luminous-thread{position:absolute;z-index:1;left:-8%;right:-8%;top:24%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(159,225,203,.12) 18%,rgba(241,170,62,.46) 49%,rgba(159,225,203,.22) 72%,transparent 100%);box-shadow:0 0 28px rgba(241,170,62,.18),0 0 72px rgba(45,212,191,.12);transform:rotate(-7deg);opacity:.7;animation:heroThreadDrift 8s ease-in-out infinite alternate;pointer-events:none;}
@keyframes heroThreadDrift{from{transform:translate3d(-1.5%,0,0) rotate(-7deg);opacity:.48;}to{transform:translate3d(2%,12px,0) rotate(-7deg);opacity:.82;}}
.hero-inner,.hero-search-zone{position:relative;z-index:2;}
.hero-accent-svg{position:absolute;right:-40px;bottom:-10px;opacity:0.07;pointer-events:none;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,0.09);border:1px solid rgba(255,255,255,0.18);border-radius:var(--radius-sm);padding:5px 13px;font-size:12px;font-weight:650;letter-spacing:0.06em;text-transform:uppercase;color:#CFE3F8;margin-bottom:1.1rem;position:relative;box-shadow:0 12px 32px rgba(0,0,0,.14);backdrop-filter:blur(10px);}
.hero-human{font-size:14px;color:#9FE1CB;letter-spacing:0.035em;margin-bottom:0.8rem;position:relative;font-style:normal;font-weight:600;}
.hero-returning{display:none;background:rgba(29,158,117,0.12);border:1px solid rgba(29,158,117,0.25);border-radius:var(--radius-lg);padding:0.75rem 1.25rem;margin-bottom:1.5rem;position:relative;max-width:520px;margin-left:auto;margin-right:auto;}
.hero-returning-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;color:var(--teal-100);margin-bottom:3px;}
.hero-returning-text{font-size:14px;color:rgba(255,255,255,0.88);line-height:1.5;}
.hero-returning-text strong{color:var(--white);}
.hero-returning-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.hero-returning-btn{padding:7px 16px;border-radius:var(--radius-md);background:var(--teal-400);color:var(--white);border:none;font-size:13px;font-weight:500;cursor:pointer;transition:opacity 0.15s;font-family:'Plus Jakarta Sans',sans-serif;}
.hero-returning-btn:hover{opacity:0.88;}
.hero-returning-btn.ghost{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);}
.hero-resume-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:24px;padding:7px 16px;font-size:13px;color:rgba(255,255,255,0.9);position:relative;}
.hero-resume-btn{background:none;border:none;color:var(--teal-100);font-weight:600;text-decoration:underline;cursor:pointer;font-size:13px;padding:0;font-family:inherit;}
.hero h1{font-family:'DM Serif Display',serif;font-size:clamp(2.85rem,5.6vw,4.85rem);color:var(--white);line-height:1.02;margin-bottom:1.15rem;position:relative;letter-spacing:-0.018em;text-shadow:0 20px 56px rgba(0,0,0,.28);}
.hero h1 em{font-style:italic;color:var(--blue-200);}
.hero-sub{font-size:17px;color:rgba(229,242,252,.88);max-width:620px;margin-bottom:1.55rem;line-height:1.62;position:relative;text-wrap:pretty;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative;}
.hero .hero-actions .pm-cta-patient-primary{box-shadow:var(--pm-shadow-cta-primary);}
.hero .hero-actions .pm-cta-role-secondary{padding:10px 20px;font-size:14px;box-shadow:none;}
.hero-cta-caption{font-size:12px;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.76);margin-bottom:0.45rem;position:relative;}
.hero-signal-row{display:flex;flex-wrap:wrap;gap:7px;max-width:690px;margin:.9rem 0 .35rem;position:relative;}
.hero-signal{display:inline-flex;align-items:center;gap:7px;min-height:0;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(0,0,0,.1);}
.hero-signal-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.075em;color:#9FE1CB;white-space:nowrap;}
.hero-signal-copy{display:block;font-size:13px;line-height:1.25;color:rgba(255,255,255,.68);white-space:nowrap;}
.cta-entry-primary{padding:10px 20px;border-radius:var(--radius-lg);border:none;background:var(--blue-600);color:var(--white);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity 0.15s;border:1px solid transparent;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;}
.cta-entry-primary:hover{opacity:0.88;}
.btn-primary{padding:12px 28px;border-radius:6px;background:#0C8577;color:var(--white);border:none;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 2px 0 rgba(0,0,0,0.12),0 6px 20px rgba(12,133,119,0.22);transition:background 0.2s,transform 0.15s,box-shadow 0.2s;letter-spacing:0.01em;display:inline-flex;align-items:center;gap:7px;}
.btn-primary:hover{background:#0A7469;transform:translateY(-1px);box-shadow:0 2px 0 rgba(0,0,0,0.1),0 10px 24px rgba(12,133,119,0.3);}
.btn-outline{padding:12px 22px;border-radius:6px;background:transparent;color:rgba(255,255,255,0.8);border:1px solid rgba(255,255,255,0.28);font-size:14px;font-weight:500;cursor:pointer;transition:all 0.15s;}
.btn-outline:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.5);color:var(--white);}
.search-bar-outer{max-width:680px;margin:3rem auto 0;position:relative;}
.search-bar-wrap{background:var(--white);border-radius:var(--radius-md);border:1px solid var(--gray-100);padding:6px 6px 6px 20px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-sm);position:relative;}
.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:200;overflow:hidden;display:none;}
.search-sug-item{padding:10px 16px;font-size:13px;color:var(--gray-700);cursor:pointer;display:flex;align-items:center;gap:10px;transition:background 0.1s;}
.search-sug-item:hover,.search-sug-item.focused{background:var(--blue-50);color:var(--blue-800);}
.search-sug-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-400);margin-left:auto;flex-shrink:0;}
.search-sug-divider{height:1px;background:var(--gray-100);margin:3px 0;}
.hero-paths-label{font-size:12px;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.5);margin-top:0.65rem;position:relative;}
.hero-entry-paths{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:0.4rem;position:relative;}
.hero-path-btn{padding:5px 10px;border-radius:var(--radius-sm);background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.14);color:rgba(255,255,255,0.72);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;}
.hero-path-btn:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.24);color:rgba(255,255,255,0.86);}
.hero-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:.9rem 0 0;max-width:720px;position:relative;}
.hero-role-card{min-height:104px;text-align:left;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.07);border-radius:var(--radius-lg);padding:12px 14px;color:var(--white);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;display:flex;flex-direction:column;gap:5px;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;backdrop-filter:blur(14px);box-shadow:0 18px 48px rgba(0,0,0,.12);touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.hero-role-card:hover{transform:translateY(-2px);background:rgba(255,255,255,0.115);border-color:rgba(159,225,203,0.52);box-shadow:0 22px 58px rgba(0,0,0,.18);}
.hero-role-card.primary{background:rgba(29,158,117,0.22);border-color:rgba(159,225,203,0.56);}
.hero-role-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#9FE1CB;}
.hero-role-title{font-size:15px;font-weight:700;line-height:1.25;color:var(--white);}
.hero-role-copy{font-size:13px;line-height:1.38;color:rgba(255,255,255,0.68);}
.hero-role-action{margin-top:auto;font-size:13px;font-weight:700;color:#F1AA3E;}
.pm-cta-patient-primary{padding:10px 20px;border-radius:var(--radius-lg);background:var(--pm-cta-primary-bg);color:var(--pm-cta-primary-text);border:1px solid transparent;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;}
.pm-cta-patient-primary:hover{background:var(--blue-700);}
.pm-cta-role-secondary{padding:10px 20px;border-radius:var(--radius-md);background:var(--pm-cta-secondary-bg);color:var(--pm-cta-secondary-text);border:1px solid var(--pm-border-inverse-soft);font-size:14px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.pm-cta-role-secondary:hover{background:rgba(255,255,255,0.22);color:var(--pm-text-inverse);}
.pm-cta-path{background:var(--pm-cta-tertiary-bg);color:var(--pm-cta-tertiary-text);border:1px solid var(--pm-border-inverse-soft);}
.pm-cta-path:hover{background:rgba(255,255,255,0.1);color:var(--pm-text-inverse);}
.search-bar-wrap input{flex:1;border:none;outline:none;font-size:16px;color:var(--gray-900);font-family:'Plus Jakarta Sans',sans-serif;background:transparent;}
.search-bar-wrap input::placeholder{color:var(--gray-500);}
.search-bar-wrap select{border:none;border-left:1px solid var(--gray-100);padding:0 12px;font-size:16px;color:var(--gray-500);background:transparent;outline:none;font-family:'Plus Jakarta Sans',sans-serif;cursor:pointer;}
.search-go{flex-shrink:0;}
.query-prompt-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0 0;}
.query-prompt-chip{padding:5px 11px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,0.25);background:rgba(255,255,255,0.12);color:rgba(255,255,255,0.85);font-size:12px;font-weight:500;cursor:pointer;transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;}
.query-prompt-chip:hover{background:var(--blue-50);border-color:var(--blue-200);}
.trust-bar{background:var(--pm-surface-trust);border-bottom:1px solid var(--pm-border-trust);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;padding:0.8rem 1.4rem;}
.trust-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--pm-text-trust);padding:0.33rem 0.78rem;background:rgba(255,255,255,0.85);border:1px solid rgba(13,148,136,0.18);border-radius:999px;backdrop-filter:blur(4px);}
.trust-sep{display:none;}
.trust-crisis{background:var(--pm-surface-crisis);border-color:var(--pm-border-crisis);color:var(--pm-text-crisis);font-weight:600;margin-left:4px;}
.trust-crisis a{color:var(--pm-text-crisis);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;}
.pm-trust-icon{color:currentColor;}
.pm-trust-icon *{stroke:currentColor!important;}
.hero-scroll-bridge{position:relative;z-index:2;margin-top:-1px;padding:18px 2rem 24px;background:linear-gradient(180deg,#06101A 0%,#071522 48%,#0A1628 100%);overflow:hidden;}
.hero-scroll-bridge::before{content:'';position:absolute;left:10%;right:10%;top:11px;height:1px;background:linear-gradient(90deg,transparent,rgba(159,225,203,.22),rgba(241,170,62,.36),rgba(159,225,203,.2),transparent);box-shadow:0 0 30px rgba(241,170,62,.13);pointer-events:none;}
.hero-scroll-bridge-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;color:rgba(229,242,252,.72);font-size:12px;letter-spacing:.05em;text-transform:uppercase;}
.hero-scroll-bridge-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(159,225,203,.28),rgba(255,255,255,.04));}
.hero-scroll-bridge-pill{padding:6px 11px;border-radius:999px;border:1px solid rgba(159,225,203,.18);background:rgba(255,255,255,.045);backdrop-filter:blur(10px);white-space:nowrap;}
@media(max-width:640px){.trust-crisis-sep{display:none;}.trust-bar{justify-content:flex-start;padding:0.8rem 0.85rem;gap:8px 10px;}.trust-item{font-size:11.5px;}.trust-crisis{margin-left:0;}}
body.wizard-active #crisis-line-bar,
body.wizard-active #beta-banner,
body.wizard-active #top-beta-banner,
body.wizard-active #cookie-consent-banner,
body.wizard-active .mobile-bottom-nav{display:none!important;}
body.wizard-active .feedback-fab{bottom:18px;}
@media(max-width:780px){.hero-role-grid{grid-template-columns:1fr;}.hero-role-card{min-height:auto;}}
.nav-cta:focus-visible,.nav-mobile-cta:focus-visible,.cta-entry-primary:focus-visible,.pm-cta-patient-primary:focus-visible,.pm-cta-role-secondary:focus-visible,.pm-cta-path:focus-visible,.split-cta-btn:focus-visible,.hero-path-btn:focus-visible{outline:3px solid var(--blue-300);outline-offset:2px;}
button,a,[role="button"],[role="tab"],[role="option"]{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.modal-title>button[onclick*="close"],.saved-drawer-close,.mr-filter-drawer-close,.mr-compare-modal-close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
.stats-strip{background:#0A1628;display:grid;grid-template-columns:repeat(3,1fr);}
.stat-item{padding:1.75rem 1rem;text-align:center;border-right:1px solid rgba(255,255,255,0.1);}
.stat-item:last-child{border-right:none;}
.stat-num{font-family:'DM Serif Display',serif;font-size:2.8rem;color:var(--white);line-height:1;margin-bottom:4px;letter-spacing:-0.03em;}
.stat-desc{font-size:14px;color:rgba(255,255,255,0.55);letter-spacing:0.02em;}
.stat-desc{font-size:14px;color:var(--gray-500);margin-top:2px;}
.stat-sub{font-size:12px;color:rgba(255,255,255,0.32);margin-top:3px;letter-spacing:0.01em;}
.section{padding:4.75rem 2.25rem;max-width:1120px;margin:0 auto;}
.section-label{font-size:12px;font-weight:700;color:var(--teal-600);text-transform:uppercase;letter-spacing:0.14em;margin-bottom:0.6rem;}
.section-title{font-family:'DM Serif Display',serif;font-size:clamp(1.75rem,3.5vw,2.6rem);color:var(--blue-900);margin-bottom:0.75rem;line-height:1.12;letter-spacing:-0.02em;}
.section-sub{font-size:16px;color:var(--gray-700);max-width:500px;line-height:1.7;letter-spacing:-0.005em;}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-top:2.5rem;}
.feature-card{background:var(--pm-surface-elevated);border:1px solid rgba(15,23,42,0.07);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 1px 2px rgba(10,22,40,0.05),0 4px 16px rgba(10,22,40,0.07);transition:box-shadow 0.25s cubic-bezier(0.2,0,0,1),transform 0.25s cubic-bezier(0.2,0,0,1),border-color 0.2s;}
.feature-card:hover{box-shadow:0 2px 4px rgba(10,22,40,0.06),0 12px 28px rgba(10,22,40,0.12);transform:translateY(-3px);border-color:rgba(13,148,136,0.2);}
.feature-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;}
.feature-card h3{font-size:15px;font-weight:500;color:var(--blue-900);margin-bottom:6px;}
.feature-card p{font-size:15px;color:var(--gray-500);line-height:1.55;}
.pm-card-value{background:var(--pm-surface-elevated);border-color:var(--pm-border-soft);box-shadow:var(--pm-shadow-card);}
.pm-card-value:hover{box-shadow:var(--pm-shadow-card-hover);}
.pm-card-trust{background:var(--pm-surface-elevated);border-color:var(--pm-border-trust);box-shadow:0 0 0 1px rgba(29,158,117,0.06),var(--pm-shadow-card);}
.pm-icon-blue{background:var(--blue-50);color:var(--blue-600);}
.pm-icon-teal{background:var(--teal-50);color:var(--teal-600);}
.pm-icon-value-alt{background:#CECBF6;color:#3C3489;}
.pm-icon-clinician{background:rgba(255,255,255,0.08);color:var(--pm-role-clinician-icon);}
.pm-icon-blue *,.pm-icon-teal *,.pm-icon-value-alt *,.pm-icon-clinician *{stroke:currentColor!important;}
.pm-inline-right{margin-left:auto;}
.pm-inline-meta{font-size:12px;font-weight:600;color:rgba(255,255,255,0.9);}
.how-steps{margin-top:2.5rem;}
.step{text-align:center;padding:2rem 1.5rem;}
.step-num{width:42px;height:42px;border-radius:50%;background:var(--blue-600);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:18px;margin:0 auto 1rem;}
.step h3{font-size:15px;font-weight:500;color:var(--blue-900);margin-bottom:8px;}
.step p{font-size:15px;color:var(--gray-500);line-height:1.6;}
.cta-band{background:linear-gradient(165deg,var(--blue-900) 0%,#11355D 100%);border-radius:var(--radius-xl);padding:3.75rem 2.75rem;text-align:center;margin:0 2rem 4rem;box-shadow:0 18px 44px rgba(10,22,40,0.22);}
.cta-band h2{font-family:'DM Serif Display',serif;font-size:2rem;color:var(--white);margin-bottom:0.75rem;}
.cta-band p{color:var(--blue-100);font-size:15px;margin-bottom:1.8rem;}
.cta-band-btns{display:flex;gap:12px;justify-content:center;}
#page-directory{background:var(--gray-50);min-height:calc(100vh - 60px);display:none;}
#page-directory.active{display:block;}
.wiz-shell{min-height:calc(100dvh - 68px);display:flex;flex-direction:column;background:linear-gradient(180deg,#F6FAFB 0%,#F8FAFC 42%,var(--gray-50) 100%);}
.wiz-progress-bar{background:rgba(255,255,255,0.96);border-bottom:1px solid rgba(203,213,225,0.72);padding:0 2.25rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:0;z-index:55;}
.wiz-progress-inner{max-width:840px;margin:0 auto;padding:1rem 0 0.9rem;}
.wiz-progress-track{height:6px;background:#E7EEF3;border-radius:999px;overflow:hidden;margin-bottom:8px;}
.wiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--teal-500),var(--blue-600));border-radius:999px;transition:width 0.4s cubic-bezier(.4,0,.2,1);}
.wiz-progress-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--gray-500);}
.wiz-progress-label span:last-child{color:var(--blue-600);font-weight:500;}
.wiz-step-name{font-size:13px;font-weight:500;color:var(--blue-900);margin-top:3px;}
.wiz-step-next{font-size:11px;color:var(--gray-400);margin-top:1px;text-align:right;}
.wiz-progress-meta{display:flex;justify-content:space-between;align-items:flex-start;margin-top:4px;}
.wiz-body{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1.75rem 3.25rem;}
.wiz-step-wrap{width:100%;max-width:840px;animation:stepIn 0.3s cubic-bezier(.4,0,.2,1);background:rgba(255,255,255,0.92);border:1px solid rgba(203,213,225,0.74);border-radius:18px;box-shadow:0 18px 48px rgba(15,35,48,0.08);padding:2rem;}
.wiz-body.results{display:block;padding:1.5rem 1.25rem 3.25rem;}
.wiz-step-wrap.results{max-width:1280px;margin:0 auto;background:transparent;border:0;box-shadow:none;padding:0;}
@keyframes stepIn{from{opacity:0;transform:translateX(26px);}to{opacity:1;transform:translateX(0);}}
@keyframes stepBack{from{opacity:0;transform:translateX(-26px);}to{opacity:1;transform:translateX(0);}}
@media (prefers-reduced-motion:reduce){.wiz-step-wrap{animation:none!important;}}
.wiz-q-label{font-size:13px;font-weight:700;color:var(--teal-700);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.6rem;}
.wiz-q-title{font-family:'DM Serif Display',serif;font-size:clamp(1.65rem,3.5vw,2.2rem);color:var(--blue-900);line-height:1.18;margin-bottom:0.45rem;letter-spacing:0;}
.wiz-quick-path{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.wiz-quick-path-label{font-size:13px;color:var(--blue-800);}
.wiz-quick-path-label strong{font-weight:600;}
.wiz-quick-path-btn{padding:8px 18px;border-radius:var(--radius-md);background:var(--white);border:1.5px solid var(--blue-200);color:var(--blue-700);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;}
.wiz-quick-path-btn:hover{background:var(--blue-100);border-color:var(--blue-300);}
.wiz-quick-form{display:none;background:var(--white);border:1.5px solid var(--blue-100);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem;}
.wiz-quick-form.open{display:block;}
.wiz-quick-form-title{font-size:13px;font-weight:600;color:var(--blue-900);margin-bottom:1rem;}
.wiz-quick-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.wiz-quick-submit{width:100%;padding:11px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--teal-400),var(--blue-600));color:var(--white);border:none;font-size:14px;font-weight:500;cursor:pointer;margin-top:4px;transition:opacity 0.15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;}
.wiz-quick-submit:hover{opacity:0.9;}
@media(max-width:640px){.wiz-quick-row{grid-template-columns:1fr;}}
.wiz-q-sub{font-size:15px;color:var(--gray-500);margin-bottom:1.75rem;line-height:1.55;}
.wiz-answer-preview{display:flex;align-items:flex-start;gap:10px;background:#F8FBFC;border:1px solid #DDEAEF;border-radius:14px;padding:12px 14px;margin:0 0 1.35rem;color:var(--gray-600);}
.wiz-answer-preview svg{color:var(--teal-600);flex-shrink:0;margin-top:2px;}
.wiz-answer-preview-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:var(--gray-500);margin-bottom:6px;}
.wiz-answer-preview-chips{display:flex;flex-wrap:wrap;gap:6px;}
.wiz-answer-preview-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:var(--white);border:1px solid var(--gray-100);font-size:12px;font-weight:600;color:var(--blue-800);}
.wiz-answer-preview-body{flex:1;min-width:0;}
.wiz-live-meter{margin-top:10px;padding-top:10px;border-top:1px dashed #DDEAEF;}
.wiz-live-meter-track{display:flex;gap:5px;margin-bottom:6px;max-width:280px;}
.wiz-live-meter-seg{height:5px;flex:1;border-radius:999px;background:var(--gray-100);transition:background 0.35s ease;}
.wiz-live-meter-seg.on{background:var(--teal-600);}
.wiz-live-meter[data-level="1"] .wiz-live-meter-seg.on{background:var(--gray-300);}
.wiz-live-meter[data-level="2"] .wiz-live-meter-seg.on{background:var(--teal-400);}
.wiz-live-meter-text{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.wiz-live-meter-stage{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--teal-700);}
.wiz-live-meter[data-level="1"] .wiz-live-meter-stage{color:var(--gray-500);}
.wiz-live-meter-label{font-size:12px;color:var(--gray-600);font-weight:500;}
.wiz-options{display:grid;gap:12px;}
.wiz-options.cols-2{grid-template-columns:1fr 1fr;}
.wiz-options.cols-3{grid-template-columns:repeat(3,1fr);}
.wiz-options.cols-auto{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.opt-card{background:var(--white);border:1.5px solid #DCE7EF;border-radius:14px;padding:1rem 1.1rem;cursor:pointer;transition:all 0.18s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:12px;text-align:left;position:relative;user-select:none;min-height:82px;}
.opt-card:hover{border-color:var(--blue-200);background:var(--blue-50);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.opt-card.selected{border-color:var(--teal-600);background:linear-gradient(135deg,#F0FDFA 0%,#EFF6FF 100%);box-shadow:0 0 0 3px rgba(13,148,136,0.16),var(--shadow-sm);}
.opt-card .opt-icon{width:42px;height:42px;border-radius:12px;background:var(--gray-50);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--blue-700);font-size:19px;transition:all 0.18s;}
.opt-card .opt-icon svg{width:21px;height:21px;display:block;stroke:currentColor;}
.opt-card:hover .opt-icon{background:var(--blue-50);transform:scale(1.06);}
.opt-card.selected .opt-icon{background:var(--teal-50);color:var(--teal-700);transform:scale(1.08);}
.opt-card .opt-text{flex:1;}
.opt-card .opt-title{font-size:14px;font-weight:500;color:var(--blue-900);line-height:1.3;}
.opt-card.selected .opt-title{color:var(--teal-800);font-weight:700;}
.opt-card .opt-desc{font-size:12px;color:var(--gray-500);margin-top:2px;line-height:1.4;}
.opt-card .opt-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--gray-200);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all 0.18s;}
.opt-card.selected .opt-check{background:var(--teal-600);border-color:var(--teal-600);box-shadow:0 2px 8px rgba(13,148,136,0.35);}
.opt-card.selected .opt-check::after{content:'';width:5px;height:8px;border:2px solid white;border-top:none;border-left:none;transform:rotate(40deg) translate(-1px,-1px);display:block;}
@keyframes checkPop{0%{transform:scale(0.6);}65%{transform:scale(1.18);}100%{transform:scale(1);}}
.opt-card.selected .opt-check{animation:checkPop 0.28s cubic-bezier(.4,0,.2,1);}
@keyframes cardSelect{0%{transform:translateY(0);}40%{transform:translateY(-3px);}100%{transform:translateY(0);}}
.opt-card.selected{animation:cardSelect 0.22s ease-out;}
.wiz-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0.5rem;}
.chip{padding:7px 14px;border-radius:999px;border:1px solid #DCE7EF;background:var(--white);font-size:13px;color:var(--gray-700);cursor:pointer;transition:all 0.15s;user-select:none;}
.chip:hover{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue-800);}
.chip.selected{border-color:var(--teal-600);background:#F0FDFA;color:var(--teal-800);font-weight:700;box-shadow:0 0 0 2px rgba(13,148,136,0.10);}
.wiz-concern-search{width:100%;box-sizing:border-box;margin:0 0 12px;padding:11px 13px;border:1.5px solid #DCE7EF;border-radius:12px;font:inherit;font-size:14px;color:var(--blue-900);background:var(--white);}
.wiz-concern-search:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(13,148,136,0.12);}
.wiz-safety-choice{margin-top:14px;padding:13px 14px;border:1px solid #FECACA;background:#FFF7F7;border-radius:14px;color:#7F1D1D;}
.wiz-safety-choice-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px;}
.wiz-safety-choice-copy{font-size:13px;line-height:1.5;margin-bottom:10px;}
.wiz-safety-choice .chip{border-color:#FCA5A5;color:#7F1D1D;background:#fff;}
.wiz-safety-choice .chip.selected{background:#FEE2E2;border-color:#B91C1C;color:#7F1D1D;}
.wiz-format-loc{margin-top:1.5rem;padding:1.25rem;background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius-lg);}
.wiz-format-loc .wiz-input-label{color:var(--blue-800);}
.wiz-geo-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
.wiz-geo-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:var(--radius-md);background:var(--blue-50);border:1.5px solid var(--blue-200);color:var(--blue-800);font-size:13.5px;font-weight:500;cursor:pointer;transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;touch-action:manipulation;min-height:44px;}
.wiz-geo-btn.active{background:var(--teal-50);border-color:var(--teal-300);color:var(--teal-800);}
.wiz-geo-btn:disabled{opacity:0.6;cursor:default;}
.wiz-geo-or{font-size:12px;color:var(--gray-400);white-space:nowrap;}
.wiz-geo-error{font-size:13px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);padding:8px 12px;margin-top:6px;width:100%;}
.wiz-location-note{margin-top:16px;padding:10px 14px;background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius-md);font-size:12.5px;color:var(--blue-700);line-height:1.5;}
.wiz-location-form{display:flex;flex-direction:column;gap:14px;}
.wiz-input-group{display:flex;flex-direction:column;gap:5px;}
.wiz-input-label{font-size:12px;font-weight:500;color:var(--gray-700);}
.wiz-input,.wiz-select{padding:11px 14px;border-radius:var(--radius-md);border:1.5px solid var(--gray-100);font-size:16px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--gray-900);background:var(--white);outline:none;transition:border-color 0.15s;}
.wiz-input:focus,.wiz-select:focus{border-color:var(--blue-400);}
.wiz-input-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.identity-group{margin-bottom:1.25rem;}
.identity-group-label{font-size:11px;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px;}
.wiz-footer{background:rgba(255,255,255,0.96);border-top:1px solid var(--gray-100);padding:1.1rem 2.25rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.wiz-footer-inner{max-width:760px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.wiz-btn-back{display:flex;align-items:center;gap:6px;padding:11px 19px;border-radius:8px;border:1.5px solid var(--gray-100);background:transparent;font-size:14px;color:var(--gray-500);cursor:pointer;transition:all 0.15s;}
.wiz-btn-back:hover{border-color:var(--gray-300);color:var(--gray-900);}
.wiz-btn-next{display:flex;align-items:center;gap:6px;padding:12px 25px;border-radius:8px;background:linear-gradient(135deg,var(--teal-400) 0%,var(--blue-600) 100%);color:var(--white);border:none;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.15s;margin-left:auto;box-shadow:0 4px 14px rgba(15,110,86,0.3);}
.wiz-btn-next:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,110,86,0.36);}
.wiz-btn-next:disabled{opacity:0.4;cursor:not-allowed;transform:none;}
.wiz-btn-skip{padding:10px 16px;border-radius:var(--radius-md);border:none;background:transparent;font-size:13px;color:var(--gray-500);cursor:pointer;transition:color 0.15s;}
.wiz-btn-skip:hover{color:var(--gray-600);}
@media(max-width:760px){
  .wiz-progress-bar{padding:0 1rem;}
  .wiz-progress-inner{padding:0.85rem 0;}
  .wiz-progress-meta{gap:8px;}
  .wiz-step-next{display:none;}
  .wiz-body{padding:1rem 0.85rem calc(6rem + env(safe-area-inset-bottom, 0px));}
  .wiz-step-wrap{padding:1.2rem;border-radius:14px;box-shadow:0 10px 28px rgba(15,35,48,0.08);}
  .wiz-options.cols-2,.wiz-options.cols-3,.wiz-options.cols-auto{grid-template-columns:1fr;}
  .opt-card{min-height:74px;padding:0.9rem;}
  .opt-card .opt-icon{width:38px;height:38px;}
  .wiz-footer{position:fixed;left:0;right:0;bottom:0;z-index:70;padding:0.75rem 0.85rem calc(0.75rem + env(safe-area-inset-bottom, 0px));box-shadow:0 -12px 28px rgba(15,35,48,0.09);}
  .wiz-footer-inner{gap:8px;}
  .wiz-btn-back,.wiz-btn-next{padding:11px 14px;min-height:48px;}
  .wiz-btn-skip{padding:10px 8px;min-height:48px;}
  .wiz-answer-preview{padding:10px 12px;}
  .wiz-answer-preview-chip{font-size:11.5px;}
}
/* -- Crisis escalation interstitial -- */
.crisis-screen{position:fixed;inset:0;z-index:600;background:rgba(4,44,83,0.96);backdrop-filter:blur(6px);display:none;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;}
.crisis-screen.active{display:flex;}
.crisis-card{background:var(--white);border-radius:var(--radius-xl);padding:2.25rem 2rem;max-width:480px;width:100%;box-shadow:var(--shadow-lg);}
.crisis-icon{width:56px;height:56px;background:#FFF3F3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;}
.crisis-title{font-family:'DM Serif Display',serif;font-size:1.35rem;color:var(--blue-900);margin-bottom:0.5rem;}
.crisis-sub{font-size:14px;color:var(--gray-600,var(--gray-500));line-height:1.65;margin-bottom:1.5rem;}
.crisis-lines{display:flex;flex-direction:column;gap:10px;margin-bottom:1.5rem;}
.crisis-line{display:flex;align-items:center;gap:12px;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:0.85rem 1rem;text-decoration:none;transition:background 0.15s;}
.crisis-line:hover{background:var(--blue-50);}
.crisis-line-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.crisis-line-text{text-align:left;}
.crisis-line-name{font-size:14px;font-weight:600;color:var(--blue-900);}
.crisis-line-desc{font-size:12px;color:var(--gray-500);margin-top:1px;}
.crisis-continue{width:100%;padding:11px;border-radius:var(--radius-md);background:transparent;border:1.5px solid var(--gray-100);color:var(--gray-500);font-size:13px;cursor:pointer;transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;}
.crisis-continue:hover{border-color:var(--gray-300);color:var(--gray-700);}
/* -- Matching in progress screen -- */
.matching-screen{position:fixed;inset:0;z-index:500;background:var(--blue-900);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;opacity:0;pointer-events:none;transition:opacity 0.3s ease;}
.matching-screen.active{opacity:1;pointer-events:auto;}
.matching-logo-pulse{width:76px;height:76px;background:rgba(255,255,255,0.96);border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;animation:matchPulse 1.5s ease-in-out infinite;box-shadow:0 16px 36px rgba(0,0,0,0.24);}
.matching-logo-pulse img{width:64px;height:64px;object-fit:contain;display:block;}
@keyframes matchPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(29,158,117,0.4);}50%{transform:scale(1.06);box-shadow:0 0 0 14px rgba(29,158,117,0);}}
.matching-title{font-family:'DM Serif Display',serif;font-size:1.75rem;color:var(--white);margin-bottom:0.6rem;line-height:1.2;}
.matching-sub{font-size:15px;color:var(--blue-100);margin-bottom:2rem;line-height:1.6;max-width:380px;}
.matching-progress-track{width:260px;height:4px;background:rgba(255,255,255,0.12);border-radius:2px;overflow:hidden;margin:0 auto 1rem;}
.matching-progress-fill{height:100%;background:linear-gradient(90deg,var(--teal-400),var(--blue-400));border-radius:2px;width:0%;transition:width 0.4s ease;}
.matching-status{font-size:13px;color:rgba(255,255,255,0.5);min-height:20px;transition:opacity 0.3s;}
@media(prefers-reduced-motion:reduce){.matching-logo-pulse{animation:none;}.matching-progress-fill{transition:none;}}
.review-wrap{max-width:680px;margin:0 auto;}
.review-summary-box{background:var(--blue-900);border-radius:var(--radius-xl);padding:2rem 1.75rem;margin-bottom:1.5rem;color:var(--white);}
.review-summary-box .review-eyebrow{font-size:11px;color:var(--blue-200);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.75rem;}
.review-summary-text{font-family:'DM Serif Display',serif;font-size:1.2rem;line-height:1.5;color:var(--white);}
.review-answers{display:flex;flex-direction:column;gap:8px;margin-bottom:1.5rem;}
.review-row{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:0.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.review-row-label{font-size:12px;color:var(--gray-500);}
.review-row-val{font-size:13px;font-weight:500;color:var(--blue-900);text-align:right;flex:1;}
.review-edit-btn{font-size:12px;color:var(--blue-600);background:none;border:none;cursor:pointer;text-decoration:underline;white-space:nowrap;}
.results-wrap{max-width:960px;margin:0 auto;}
.results-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 0 0.85rem;gap:12px;flex-wrap:wrap;}
.results-header-title{font-family:'DM Serif Display',serif;font-size:1.35rem;color:var(--blue-900);line-height:1.15;}
.results-header-sub{font-size:13px;color:var(--gray-500);margin-top:3px;max-width:58ch;line-height:1.5;}
.results-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.results-restart{padding:8px 16px;border-radius:var(--radius-md);border:1.5px solid var(--gray-100);background:transparent;font-size:13px;color:var(--gray-500);cursor:pointer;transition:all 0.15s;}
.results-restart:hover{border-color:var(--blue-200);color:var(--blue-800);}
.results-restart.cta-entry-primary{border-color:transparent;color:var(--white);background:var(--blue-600);}
.results-restart.cta-entry-primary:hover{border-color:transparent;color:var(--white);}
.results-query-shell{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);box-shadow:0 1px 0 rgba(12,32,58,0.02);padding:0.95rem 1rem;margin-bottom:1rem;}
.results-primary-row{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;}
.results-primary-row .rf-count{margin-left:auto;}
.results-refine-btn{padding:8px 14px;border-radius:999px;border:1.5px solid var(--blue-100);background:var(--blue-50);color:var(--blue-800);font-size:13px;font-weight:600;cursor:pointer;transition:all 0.15s;white-space:nowrap;}
.results-refine-btn:hover,.results-refine-btn.active{border-color:var(--blue-300);background:var(--white);color:var(--blue-900);box-shadow:0 4px 14px rgba(24,95,165,0.08);}
.results-active-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:0.85rem;padding-top:0.85rem;border-top:1px solid var(--gray-100);}
.results-active-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-400);white-space:nowrap;}
.results-active-empty{font-size:13px;color:var(--gray-400);}
.results-advanced-panel{display:none;margin-top:0.9rem;padding-top:0.9rem;border-top:1px solid var(--gray-100);}
.results-advanced-panel.open{display:block;}
.results-advanced-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0.85rem;}
.results-advanced-row{display:flex;align-items:center;gap:0.6rem;flex-wrap:wrap;}
.results-advanced-row .rf-label{margin-right:0.15rem;}
.results-advanced-row .rf-select{min-width:120px;}
.results-advanced-row .results-restart{padding:7px 12px;font-size:12px;}
.results-advanced-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
/* Fit-tier grouping headers */
.fit-tier-header{display:flex;align-items:center;gap:10px;padding:0.6rem 0;margin:1.1rem 0 0.5rem;border-bottom:1.5px solid var(--gray-100);font-size:13px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--gray-500);}
.fit-tier-header[data-tier="strong"]{color:var(--teal-600);border-color:var(--teal-100);}
.fit-tier-header[data-tier="good"]{color:var(--blue-600);border-color:var(--blue-100);}
.fit-tier-header[data-tier="possible"]{color:var(--gray-500);border-color:var(--gray-100);}
.fit-tier-count{font-size:11px;font-weight:500;opacity:0.7;margin-left:auto;text-transform:none;letter-spacing:0;}
/* Wizard narrative step */
.rw-narrative-shell{display:flex;flex-direction:column;gap:0;}
.wiz-narrative-ta{width:100%;min-height:96px;resize:vertical;padding:10px 12px;border:1.5px solid var(--gray-300);border-radius:var(--radius-md);font-size:14px;font-family:inherit;color:var(--gray-900);background:var(--white);line-height:1.55;transition:border-color var(--transition-base);}
.wiz-narrative-ta:focus{outline:none;border-color:var(--blue-400);}
/* Wizard license level picker */
.wiz-license-level{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.wiz-ll-option{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);}
.wiz-ll-option:hover{border-color:var(--blue-400);background:var(--blue-50);}
.wiz-ll-option.selected{border-color:var(--blue-600);background:var(--blue-50);}
.wiz-ll-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--gray-300);margin-top:2px;flex-shrink:0;transition:border-color var(--transition-fast),background var(--transition-fast);}
.wiz-ll-option.selected .wiz-ll-dot{border-color:var(--blue-600);background:var(--blue-600);}
.results-fallback-banner{background:var(--amber-50);border:1px solid #E8C07A;border-radius:var(--radius-lg);padding:0.9rem 1.1rem;margin-bottom:1rem;display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--amber-600);line-height:1.55;}
.results-toomany-banner{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius-md);padding:0.6rem 1rem;margin-bottom:0.75rem;font-size:13px;color:var(--blue-800);line-height:1.45;}
.results-fallback-link{background:none;border:none;color:inherit;font-weight:600;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0;font-family:inherit;}
.results-guidance{display:flex;align-items:flex-start;gap:10px;padding:0.5rem 0 0.95rem;color:var(--gray-500);font-size:13px;line-height:1.55;max-width:68ch;}
.results-guidance strong{color:var(--blue-900);}
.results-context-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-800);font-size:12px;font-weight:500;white-space:nowrap;}
.results-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:1rem;padding-top:0.85rem;border-top:1px solid var(--gray-100);flex-wrap:wrap;}
.results-pagination-meta{font-size:12px;color:var(--gray-500);}
.results-pagination-controls{display:flex;align-items:center;gap:6px;}
.results-page-btn{padding:7px 11px;border-radius:var(--radius-md);border:1px solid var(--gray-100);background:var(--white);font-size:12px;color:var(--gray-600);cursor:pointer;transition:all 0.15s;}
.results-page-btn:hover:not(:disabled){border-color:var(--blue-200);color:var(--blue-800);}
.results-page-btn:disabled{opacity:0.45;cursor:not-allowed;}
.cl-why{font-size:12px;line-height:1.45;display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px;margin-top:0.1rem;}
.cl-why-label{font-weight:700;color:var(--gray-500);font-size:11px;text-transform:uppercase;letter-spacing:0.04em;margin-right:1px;white-space:nowrap;flex-shrink:0;}
.cl-section{padding-top:0.75rem;margin-top:0.75rem;border-top:1px solid var(--gray-100);}
.cl-section:first-of-type{border-top:none;padding-top:0;margin-top:0;}
.cl-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-400);margin-bottom:0.35rem;}
.cl-section-copy{font-size:13px;color:var(--gray-700);line-height:1.55;}
.cl-identity-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:0.55rem;}
.cl-access-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.cl-access-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--gray-50);border:1px solid var(--gray-100);font-size:12px;color:var(--gray-700);}
.cl-access-pill strong{color:var(--blue-900);font-weight:600;}
.cl-action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-start;margin-top:0.85rem;}
.cl-action-row .save-btn,.cl-action-row .compare-btn{width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid var(--gray-200);background:var(--white);color:var(--gray-500);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;}
.cl-action-row .compare-btn:hover{border-color:var(--teal-400);color:var(--teal-600);background:var(--teal-50);}
.cl-action-row .compare-btn.active{border-color:var(--teal-500);background:var(--teal-500);color:var(--white);}
.cl-action-row .cl-view-btn{padding:9px 16px;}
.cl-quiet{font-size:12px;color:var(--gray-400);}
/* -- Avatar score ring -- */
.avatar-ring-wrap{position:relative;display:inline-flex;flex-shrink:0;}
.avatar-ring-svg{position:absolute;pointer-events:none;top:-5px;left:-5px;width:calc(100% + 10px);height:calc(100% + 10px);}
/* -- Scroll-entrance reveals -- */
.scroll-reveal{opacity:0;transform:translateY(14px);transition:opacity 0.55s cubic-bezier(0.16,1,0.3,1),transform 0.55s cubic-bezier(0.16,1,0.3,1);}
.scroll-reveal.revealed{opacity:1;transform:translateY(0);}
.scroll-reveal.delay-1{transition-delay:0.08s;}.scroll-reveal.delay-2{transition-delay:0.16s;}.scroll-reveal.delay-3{transition-delay:0.24s;}.scroll-reveal.delay-4{transition-delay:0.32s;}.scroll-reveal.delay-5{transition-delay:0.40s;}.scroll-reveal.delay-6{transition-delay:0.48s;}
/* -- Dimensional score bars -- */
.dim-bar-section{margin-top:0.75rem;}
.dim-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:7px;}
.dim-bar-label{font-size:12px;color:var(--gray-500);width:100px;flex-shrink:0;text-transform:capitalize;}
.dim-bar-track{flex:1;height:6px;background:var(--gray-100);border-radius:3px;overflow:hidden;}
.dim-bar-fill{height:100%;border-radius:3px;transition:width 0.7s cubic-bezier(.4,0,.2,1);}
.dim-bar-val{font-size:12px;font-weight:600;color:var(--blue-800);width:30px;text-align:right;flex-shrink:0;}
/* -- Hero social proof -- */
.hero-proof{display:flex;align-items:center;gap:11px;margin-top:1.5rem;position:relative;}
.hero-proof-avs{display:flex;align-items:center;}
.hero-proof-av{width:26px;height:26px;border-radius:50%;border:2px solid rgba(4,44,83,0.6);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-left:-7px;flex-shrink:0;}
.hero-proof-av:first-child{margin-left:0;}
.hero-proof-text{font-size:12.5px;color:rgba(255,255,255,0.8);line-height:1.4;}
.hero-proof-text strong{color:var(--white);}
/* ââ€Âۉâ€Â€ Hero 2-column layout ââ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Â€ */
.hero-inner{max-width:1220px;margin:0 auto;padding:calc(var(--shell-nav-height) + 1.75rem) 2.25rem 1.6rem;display:flex;align-items:center;gap:3.15rem;}
.hero-col-left{flex:1;min-width:0;text-align:left;}
.hero-col-right{flex:0 0 390px;}
.hero-col-left .hero-sub{max-width:520px;margin-left:0;}
.hero-col-left .hero-returning{margin-left:0;margin-right:0;}
/* Search zone below the 2-col grid */
.hero-search-zone{max-width:720px;margin:0 auto;padding:0 2.25rem 1.85rem;}
/* Trust row chips below CTAs */
.hero-trust-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:14px;}
.hero-trust-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:rgba(255,255,255,0.52);font-weight:500;}
.hero-trust-chip::before{content:'';display:none;}
/* ââ€Âۉâ€Â€ Hero system card (right column) ââ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Â€ */
.hero-system-card{background:linear-gradient(180deg,rgba(255,255,255,0.105),rgba(255,255,255,0.052));border:1px solid rgba(255,255,255,0.15);border-radius:18px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,0.05),0 28px 70px rgba(0,0,0,0.38),0 0 100px rgba(13,148,136,0.09);position:relative;}
.hero-system-card::before{content:'';position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);pointer-events:none;}
.hero-sc-header{padding:15px 18px 14px;border-bottom:1px solid rgba(255,255,255,0.08);}
.hero-sc-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.3);margin-bottom:9px;}
.hero-sc-criteria{display:flex;gap:6px;flex-wrap:wrap;}
.hero-sc-criterion{padding:3px 10px;border-radius:999px;background:rgba(45,212,191,0.13);border:1px solid rgba(45,212,191,0.24);font-size:11.5px;font-weight:500;color:#6EE7C3;}
.hero-sc-result{padding:13px 18px;border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:flex-start;gap:11px;}
.hero-sc-result:last-child{border-bottom:none;}
.hero-sc-av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0;margin-top:1px;}
.hero-sc-info{flex:1;min-width:0;}
.hero-sc-name{font-size:13px;font-weight:600;color:var(--white);margin-bottom:2px;}
.hero-sc-meta{font-size:11px;color:rgba(255,255,255,0.42);margin-bottom:4px;}
.hero-sc-why{font-size:11px;color:rgba(110,231,195,0.75);line-height:1.4;}
.hero-sc-tier{flex-shrink:0;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:600;background:rgba(45,212,191,0.13);color:#6EE7C3;border:1px solid rgba(45,212,191,0.2);white-space:nowrap;margin-top:2px;}
.hero-sc-tier-good{background:rgba(59,130,246,0.13);color:#93C5FD;border-color:rgba(59,130,246,0.22);}
.hero-sc-footer{padding:11px 18px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,0.06);background:rgba(0,0,0,0.12);}
.hero-sc-count{font-size:11px;color:rgba(255,255,255,0.52);}
.hero-sc-cta{padding:7px 14px;border-radius:6px;background:var(--blue-600);color:var(--white);border:none;font-size:12px;font-weight:600;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:background 0.15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;}
.hero-sc-cta:hover{background:#1155A0;}
@media(max-width:1024px){
  .hero::before{background:linear-gradient(180deg,rgba(4,18,31,0.9) 0%,rgba(5,24,37,0.76) 52%,rgba(5,24,37,0.9) 100%),radial-gradient(ellipse 78% 62% at 50% 10%,rgba(30,169,148,0.16) 0%,transparent 68%);}
  .hero-luminous-thread{top:18%;opacity:.5;}
  .hero-video-layer video{opacity:.46;object-position:center top;}
  .hero-inner{flex-direction:column;padding:calc(var(--shell-nav-height) + 1.55rem) 1.75rem 1.7rem;gap:2rem;}
  .hero-col-left{text-align:center;}
  .hero-col-left .hero-sub{max-width:100%;margin-left:auto;margin-right:auto;}
  .hero-col-left .hero-actions{justify-content:center;}
  .hero-col-left .hero-proof{justify-content:center;}
  .hero-col-left .hero-trust-row{justify-content:center;}
  .hero-col-left .hero-cta-caption{text-align:center;}
  .hero-col-right{flex:none;width:100%;max-width:460px;align-self:center;}
  .hero-search-zone{padding:0 1.75rem 1.75rem;}
}
@media(max-width:640px){
  .hero-video-layer video{opacity:.36;}
  .hero-luminous-thread{display:none;}
  .hero h1{font-size:clamp(2.25rem,10vw,3.2rem);}
  .hero-sub{font-size:16px;line-height:1.62;}
  .hero-signal-row{display:grid;grid-template-columns:1fr;max-width:360px;margin-left:auto;margin-right:auto;}
  .hero-signal{min-height:auto;text-align:left;align-items:flex-start;border-radius:var(--radius-md);}
  .hero-signal-copy{white-space:normal;}
  .hero-inner{padding:calc(var(--shell-nav-height) + 1.1rem) 1.25rem 1.45rem;gap:1.55rem;}
  .hero-col-right{max-width:100%;}
  .hero-scroll-bridge{padding:14px 1.1rem 18px;}
  .hero-scroll-bridge-inner{justify-content:center;font-size:10.5px;}
  .hero-scroll-bridge-line{display:none;}
}
@media(prefers-reduced-motion:reduce){
  .hero-video-layer video{display:none!important;}
  .hero-luminous-thread{animation:none;opacity:.38;}
}
/* -- Testimonials -- */
.testimonials-section{padding:4rem 2rem;background:var(--white);border-top:1px solid var(--gray-100);}
.testimonials-inner{max-width:960px;margin:0 auto;}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:2rem;}
.testimonial-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:1.75rem 1.5rem 1.25rem;display:flex;flex-direction:column;position:relative;transition:box-shadow 0.2s,transform 0.2s;}
.testimonial-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.testimonial-card::before{content:'\\201C';position:absolute;top:14px;left:18px;font-family:'DM Serif Display',serif;font-size:3.5rem;color:var(--blue-100);line-height:1;pointer-events:none;}
.testimonial-stars{color:#C2855A;font-size:13px;letter-spacing:3px;margin-bottom:0.9rem;display:block;}
.testimonial-text{font-size:15px;color:var(--gray-700);line-height:1.8;margin-bottom:1.25rem;flex:1;padding-left:0.5rem;}
.testimonial-author{display:flex;align-items:center;gap:10px;padding-top:1rem;border-top:1px solid var(--gray-100);}
.testimonial-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;border:2px solid var(--white);box-shadow:0 0 0 2px var(--gray-100);}
.testimonial-name{font-size:13px;font-weight:600;color:var(--blue-900);}
.testimonial-role{font-size:11px;color:var(--gray-400);margin-top:1px;}
/* -- Sticky results controls -- */
.results-sticky-controls{position:sticky;top:60px;z-index:9;background:var(--gray-50);padding:0.35rem 0 0;margin-bottom:0.25rem;}
/* -- Match preset bar -- */
.mp-preset-bar{display:flex;align-items:center;gap:0.75rem;padding:0.55rem 0 0.45rem;flex-wrap:wrap;border-bottom:1px solid var(--gray-100);margin-bottom:0.75rem;}
.mp-presets{display:flex;gap:5px;flex-wrap:wrap;}
.mp-preset-btn{padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;border:1px solid var(--gray-100);background:var(--white);color:var(--gray-600);cursor:pointer;transition:all 0.15s;white-space:nowrap;line-height:1.5;}
.mp-preset-btn:hover{border-color:var(--blue-300);color:var(--blue-700);background:var(--blue-50);}
.mp-preset-btn.active{border-color:var(--blue-500);background:var(--blue-50);color:var(--blue-800);font-weight:600;}
/* -- Match profile detail page - PT/TherapyDen style -- */
.profile-hero{background:var(--blue-900);padding:2.5rem 2rem 1.5rem;}
.profile-inner{max-width:1040px;margin:0 auto;}
.profile-top{display:flex;gap:2rem;align-items:flex-end;}
.profile-avatar-lg{width:160px;height:160px;border-radius:50%;background:var(--blue-100);color:var(--blue-800);display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:54px;border:3px solid var(--teal-500);box-shadow:0 0 0 4px rgba(20,184,166,0.25);flex-shrink:0;}
.profile-hero-info{padding-bottom:0.5rem;flex:1;}
.profile-name{font-family:'DM Serif Display',serif;font-size:2.1rem;color:var(--white);margin-bottom:6px;line-height:1.2;}
.profile-cred{font-size:14px;color:var(--blue-200);margin-bottom:14px;}
.profile-badges{display:flex;gap:6px;flex-wrap:wrap;}
.profile-badge{font-size:11px;font-weight:500;padding:4px 10px;border-radius:var(--radius-sm);background:rgba(255,255,255,0.1);color:var(--blue-100);border:1px solid rgba(255,255,255,0.15);display:inline-flex;align-items:center;gap:4px;}
.profile-badge.verified{background:rgba(29,158,117,0.22);border-color:rgba(29,158,117,0.4);color:#7ee8c8;}
.profile-badge.open{background:rgba(29,158,117,0.22);border-color:rgba(29,158,117,0.4);color:#7ee8c8;}
.profile-tabs{background:var(--blue-900);border-top:1px solid rgba(255,255,255,0.08);}
.profile-tabs-inner{max-width:1040px;margin:0 auto;display:flex;}
.profile-tab{padding:13px 22px;font-size:13px;color:var(--blue-200);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;transition:all 0.15s;font-weight:500;min-height:44px;display:inline-flex;align-items:center;}
.profile-tab.active{color:var(--white);border-bottom-color:var(--white);}
.profile-tab:hover{color:var(--white);}
.profile-tab:focus-visible{outline:2px solid rgba(126,232,200,0.95);outline-offset:-1px;border-bottom-color:rgba(126,232,200,0.95);}
.profile-body{max-width:1040px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2rem;align-items:start;}
.profile-main-col{display:flex;flex-direction:column;gap:0;}
.profile-side-col{display:flex;flex-direction:column;gap:1rem;position:sticky;top:76px;}
/* Profile sections */
.prof-section{padding:1.5rem 0;border-bottom:1px solid var(--gray-100);}
.prof-section:first-child{padding-top:0;}
.prof-section:last-child{border-bottom:none;padding-bottom:0;}
.prof-section-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem;}
.prof-section-title{font-size:16px;font-weight:600;color:var(--blue-900);}
.prof-edit-btn{font-size:12px;color:var(--blue-600);background:none;border:1px solid var(--blue-200);cursor:pointer;padding:4px 10px;border-radius:var(--radius-sm);transition:background 0.15s;}
.prof-edit-btn:hover{background:var(--blue-50);}
.prof-bio{font-size:15px;color:var(--gray-700);line-height:1.8;max-width:680px;}
.prof-tag-group{margin-bottom:1.1rem;}
.prof-tag-group:last-child{margin-bottom:0;}
.prof-tag-label{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px;}
.prof-tag-grid{display:flex;flex-wrap:wrap;gap:6px;}
.prof-tag{font-size:13px;padding:5px 13px;border-radius:var(--radius-sm);background:var(--blue-50);color:var(--blue-800);border:1px solid var(--blue-100);}
.prof-tag.modality{background:var(--teal-50);color:var(--teal-700);border-color:var(--teal-100);}
.prof-tag.population{background:var(--gray-50);color:var(--gray-700);border-color:var(--gray-200);}
.prof-license-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-md);margin-bottom:8px;}
.prof-license-check{width:18px;height:18px;border-radius:50%;background:var(--teal-500);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.prof-license-body{font-size:13px;color:var(--gray-800);line-height:1.5;}
.prof-license-body strong{color:var(--gray-900);}
.prof-edu-item{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--gray-50);}
.prof-edu-item:last-child{border-bottom:none;padding-bottom:0;}
.prof-edu-degree{font-size:13px;font-weight:500;color:var(--gray-900);}
.prof-edu-school{font-size:12px;color:var(--gray-500);margin-top:2px;}
.prof-edu-year{font-size:13px;color:var(--gray-400);}
/* Sidebar & shared */
.info-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.25rem;}
.info-card-title{font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.9rem;padding-bottom:0.7rem;border-bottom:1px solid var(--gray-100);}
.info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--gray-50);font-size:13px;}
.info-row:last-child{border-bottom:none;}
.info-row-label{color:var(--gray-500);}
.info-row-val{color:var(--gray-900);text-align:right;max-width:60%;}
.tag-grid{display:flex;flex-wrap:wrap;gap:6px;}
.specialty-tag{font-size:12px;padding:4px 11px;border-radius:var(--radius-sm);background:var(--blue-50);color:var(--blue-800);}
.contact-btn{width:100%;padding:13px;border-radius:var(--radius-md);background:var(--blue-600);color:var(--white);border:none;font-size:14px;font-weight:500;cursor:pointer;margin-bottom:8px;transition:opacity 0.15s;}
.contact-btn:hover{opacity:0.88;}
.contact-btn-outline{width:100%;padding:10px;border-radius:var(--radius-md);background:transparent;color:var(--blue-600);border:1px solid var(--blue-200);font-size:14px;cursor:pointer;transition:background 0.15s;}
.contact-btn-outline:hover{background:var(--blue-50);}
.avail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.avail-slot{background:var(--teal-50);color:var(--teal-700);border-radius:var(--radius-sm);padding:8px 10px;font-size:12px;text-align:center;border:1px solid var(--teal-100);}
.avail-slot.full{background:var(--gray-50);color:var(--gray-400);border-color:var(--gray-100);}
.bio-text{font-size:14px;color:var(--gray-700);line-height:1.75;}
.license-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--teal-50);border-radius:var(--radius-md);margin-bottom:6px;}
.license-check{width:16px;height:16px;border-radius:50%;background:var(--teal-400);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.license-text{font-size:12px;color:var(--teal-600);}
/* Profile v2  3-column layout */
.profile-body.has-left-col{grid-template-columns:260px minmax(0,1fr) 280px;max-width:1200px;}
.profile-left-col{display:flex;flex-direction:column;gap:1rem;position:sticky;top:76px;}
.profile-right-col{display:flex;flex-direction:column;gap:1rem;position:sticky;top:76px;}
/* Profile readiness card */
.prof-readiness-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.25rem;}
.prof-readiness-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.prof-readiness-title{font-size:13px;font-weight:700;color:var(--blue-900);}
.prof-readiness-pct{font-size:13px;font-weight:700;color:var(--teal-600);}
.prof-readiness-track{height:6px;background:var(--gray-100);border-radius:3px;overflow:hidden;margin-bottom:12px;}
.prof-readiness-fill{height:100%;background:linear-gradient(90deg,var(--teal-500),var(--teal-400));border-radius:3px;transition:width 0.4s ease;}
.prof-readiness-checklist{display:flex;flex-direction:column;gap:6px;}
.prof-readiness-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gray-600);}
.prof-readiness-item.done{color:var(--gray-500);}
.prof-readiness-dot{width:7px;height:7px;border-radius:50%;background:var(--gray-300);flex-shrink:0;}
.prof-readiness-item.done .prof-readiness-dot{background:var(--teal-500);}
.prof-readiness-cta{margin-top:12px;}
.prof-readiness-cta button{width:100%;padding:8px 12px;border-radius:var(--radius-md);background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-100);font-size:12px;font-weight:600;cursor:pointer;}
.prof-readiness-cta button:hover{background:var(--blue-100);}
/* Section edit links */
.prof-section-source{font-size:11px;color:var(--gray-400);margin-top:10px;padding-top:10px;border-top:1px solid var(--gray-50);display:flex;align-items:center;gap:6px;}
.prof-section-edit-link{color:var(--blue-600);cursor:pointer;font-weight:500;}
.prof-section-edit-link:hover{text-decoration:underline;}
.prof-section-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;background:var(--gray-50);color:var(--gray-500);}
.prof-section-badge.matching{background:var(--teal-50);color:var(--teal-600);}
.prof-section-badge.public{background:var(--blue-50);color:var(--blue-600);}
.prof-section-badge.private{background:var(--amber-50);color:var(--amber-600);}
.prof-section-badge.admin{background:var(--purple-50);color:var(--purple-600);}
/* Empty states */
.prof-empty-state{background:var(--gray-50);border:1px dashed var(--gray-200);border-radius:var(--radius-md);padding:1.25rem;text-align:center;}
.prof-empty-state-text{font-size:13px;color:var(--gray-500);margin-bottom:8px;}
.prof-empty-state-cta{font-size:12px;color:var(--blue-600);cursor:pointer;font-weight:500;}
/* Verification badges */
.verification-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:var(--radius-sm);}
.verification-badge.verified{background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100);}
.verification-badge.pending{background:var(--amber-50);color:var(--amber-700);border:1px solid var(--amber-100);}
.verification-badge.self{background:var(--gray-50);color:var(--gray-600);border:1px solid var(--gray-200);}
/* Availability pill */
.avail-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;}
.avail-pill.open{background:#ECFDF5;color:#065F46;border:1px solid #A7F3D0;}
.avail-pill.waitlist{background:#FFFBEB;color:#92400E;border:1px solid #FDE68A;}
.avail-pill.capacity{background:var(--gray-50);color:var(--gray-500);border:1px solid var(--gray-200);}
.avail-pill.supervision{background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-100);}
/* Public preview mode */
.profile-page.public-preview .prof-section-source,
.profile-page.public-preview .prof-readiness-card,
.profile-page.public-preview .prof-edit-btn,
.profile-page.public-preview #profile-config-trigger{display:none !important;}
.profile-page.public-preview .prof-section-badge.private{display:none !important;}
@media(max-width:768px){
  .profile-body,.profile-body.has-left-col{grid-template-columns:1fr !important;}
  .profile-left-col,.profile-right-col,.profile-side-col{position:static;}
  .profile-top{gap:1.25rem;align-items:center;flex-direction:column;text-align:center;}
  .profile-avatar-lg{width:96px;height:96px;font-size:32px;}
  .profile-name{font-size:1.5rem;}
  .avail-grid{grid-template-columns:1fr 1fr;}
  .profile-badges{justify-content:center;}
}
/* =============================================
   Profile  Animations & Visual Polish (C1)
   ============================================= */
@keyframes avatarPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.02);}}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
@keyframes badgePop{0%{transform:scale(0.85);opacity:0;}70%{transform:scale(1.05);}100%{transform:scale(1);opacity:1;}}
@keyframes heroDrift{0%{background-position:50% 0%;}100%{background-position:52% 1%;}}
@keyframes tabFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@media(prefers-reduced-motion:no-preference){
  .profile-hero{animation:heroDrift 8s ease-in-out alternate infinite;background-size:200% 200%;}
  .profile-avatar-lg:not(.editable){animation:avatarPulse 3s ease-in-out infinite;}
}
.profile-name{animation:fadeSlideUp 0.45s ease both;}
.profile-cred{animation:fadeSlideUp 0.45s 0.12s ease both;}
.profile-badges{animation:fadeSlideUp 0.45s 0.24s ease both;}
.profile-badge.verified{animation:badgePop 0.35s 0.3s ease both;}
.profile-badge.verified+.profile-badge.verified{animation-delay:0.4s;}
.profile-badge.open{animation:badgePop 0.35s 0.5s ease both;}
.profile-badge.open+.profile-badge.open{animation-delay:0.6s;}
.profile-badge.verified:hover,.profile-badge.open:hover{transform:translateY(-2px);border-color:rgba(29,158,117,0.7);transition:all 0.2s ease;}
.info-card{transition:box-shadow 0.2s ease,transform 0.2s ease;}
.info-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
#ptab-content-profile:not([hidden]),#ptab-content-availability:not([hidden]){animation:tabFadeIn 0.22s ease both;}

/* =============================================
   PUBLIC MATCH PROFILE  Premium Redesign
   ============================================= */
#page-match-profile{background:var(--gray-50);min-height:100vh;padding-bottom:3rem;}
.mp-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;}

/* Back bar */
.mp-back-bar{padding:1rem 0;}
.mp-back-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);border:1px solid transparent;background:none;color:var(--gray-500);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;}
.mp-back-btn:hover{color:var(--blue-800);background:var(--white);border-color:var(--gray-100);}

/* Hero */
.mp-hero{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:2rem;display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start;margin-bottom:1.25rem;box-shadow:var(--shadow-sm);}
.mp-hero-main{display:grid;grid-template-columns:160px 1fr;gap:1.5rem;align-items:start;}
.mp-hero-photo{position:relative;display:flex;align-items:center;justify-content:center;}
.mp-hero-photo img{width:160px;height:160px;object-fit:cover;border-radius:50%;display:block;border:4px solid var(--white);box-shadow:0 0 0 1px var(--gray-100),0 16px 38px rgba(15,23,42,.10);}
.mp-hero-photo .mp-avatar-fallback{width:160px;height:160px;border-radius:50%;background:linear-gradient(135deg,var(--blue-100),var(--teal-50));color:var(--blue-800);display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:52px;border:4px solid var(--white);box-shadow:0 0 0 1px var(--gray-100),0 16px 38px rgba(15,23,42,.10);}
.mp-hero-badge{display:none!important;}
.mp-hero-info{display:flex;flex-direction:column;gap:10px;}
.mp-hero-name-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.mp-hero-name-row h1{font-family:'DM Serif Display',serif;font-size:2.4rem;color:var(--blue-900);margin:0;line-height:1.15;}
.mp-verified-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--teal-600);background:var(--teal-50);border:1px solid var(--teal-100);padding:4px 10px;border-radius:999px;}
/* The real Avenly verification mark: filled, unmistakable, only set by
   verificationStatus — 'license on file' keeps the quiet outline above. */
.mp-verified-badge.avenly-verified{color:#fff;background:var(--teal-600);border-color:var(--teal-600);box-shadow:0 1px 0 rgba(10,22,40,.08),0 8px 18px -8px rgba(15,118,110,.55);}
.mp-hero-subtitle{font-size:15px;color:var(--gray-500);font-weight:500;line-height:1.4;}
.mp-hero-tagline{font-size:15px;color:var(--gray-600);line-height:1.6;margin:0;max-width:520px;}
.mp-hero-chips{display:flex;flex-wrap:wrap;gap:6px;}
.mp-hero-chip{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;border:1px solid var(--teal-200);background:var(--white);color:var(--teal-700);font-size:12px;font-weight:600;}
.mp-hero-privacy{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-500);}
.mp-hero-privacy svg{color:var(--teal-500);flex-shrink:0;}
.mp-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px;}
/* Hero contact card */
.mp-hero-contact{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px;}
.mp-hero-contact-hd{font-size:16px;font-weight:700;color:var(--blue-900);margin:0;}
.mp-hero-contact-privacy{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--gray-500);}
.mp-hero-contact-privacy svg{color:var(--teal-500);flex-shrink:0;}
.mp-hero-contact-btn{width:100%;justify-content:center;padding:12px 20px;font-size:14px;font-weight:700;border-radius:var(--radius-md);border:0;background:var(--teal-600);color:var(--white);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .15s;text-decoration:none;}
.mp-hero-contact-btn:hover{background:var(--teal-700);}
.mp-hero-contact-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--gray-50);font-size:14px;color:var(--gray-700);}
.mp-hero-contact-row:last-child{border-bottom:0;}
.mp-hero-contact-row svg{color:var(--gray-400);flex-shrink:0;}
.mp-hero-contact-row a{color:var(--gray-700);text-decoration:none;font-weight:500;flex:1;}
.mp-hero-contact-row a:hover{color:var(--teal-600);}
.mp-hero-contact-row .mp-hero-contact-action{margin-left:auto;color:var(--gray-400);}
.mp-hero-contact-row .mp-hero-contact-action:hover{color:var(--teal-600);}
.mp-hero-contact-footer{font-size:12.5px;color:var(--gray-500);line-height:1.5;}
.mp-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.mp-hero-stats{display:flex;flex-wrap:wrap;gap:10px 20px;padding:12px 0;border-top:1px solid var(--gray-100);margin-top:4px;}
.mp-hero-stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-700);}
.mp-hero-stat svg{color:var(--gray-400);flex-shrink:0;}
.mp-hero-stat-label{font-weight:500;line-height:1.3;}
.mp-btn-primary{padding:11px 22px;border-radius:var(--radius-md);border:0;background:var(--teal-600);color:var(--white);font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .15s;text-decoration:none;}
.mp-btn-primary:hover{background:var(--teal-700);}
.mp-btn-secondary{padding:11px 22px;border-radius:var(--radius-md);border:1px solid var(--gray-200);background:var(--white);color:var(--gray-700);font-size:14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .15s;}
.mp-btn-secondary:hover{border-color:var(--teal-300);color:var(--teal-700);background:var(--teal-50);}
.mp-btn-tertiary{padding:11px 22px;border-radius:var(--radius-md);border:0;background:transparent;color:var(--gray-500);font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .15s;}
.mp-btn-tertiary:hover{color:var(--blue-800);}
.mp-btn-text{padding:0;border:0;background:none;color:var(--teal-600);font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:color .15s;}
.mp-btn-text:hover{color:var(--teal-800);}
.mp-contact-note{font-size:12.5px;color:var(--gray-500);line-height:1.55;max-width:560px;margin-top:2px;}
.mp-trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-0.25rem 0 1.25rem;}
.mp-trust-item{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:0.85rem 1rem;display:flex;gap:10px;align-items:flex-start;box-shadow:0 1px 2px rgba(10,22,40,0.03);}
.mp-trust-icon{width:30px;height:30px;border-radius:999px;background:var(--teal-50);color:var(--teal-700);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mp-trust-item:nth-child(2) .mp-trust-icon{background:var(--blue-50);color:var(--blue-700);}
.mp-trust-item:nth-child(3) .mp-trust-icon{background:#F3F1EB;color:#3D4A5C;}
.mp-trust-item strong{display:block;font-size:12.5px;color:var(--blue-900);line-height:1.3;margin-bottom:2px;}
.mp-trust-item span{display:block;font-size:12px;color:var(--gray-500);line-height:1.45;}
.mp-contact-card{border-color:var(--teal-100);background:linear-gradient(180deg,var(--white),#F8FFFD);}
.mp-contact-card .mp-sidebar-card-body{display:flex;flex-direction:column;gap:10px;}
.mp-contact-primary{width:100%;justify-content:center;}
.mp-contact-small{font-size:11.5px;color:var(--gray-500);line-height:1.5;}

/* Showcase strip */
.mp-showcase{background:linear-gradient(135deg,#F0FDFA,#F8FAFC);border:1px solid var(--teal-100);border-radius:var(--radius-xl);padding:1.5rem 2rem;display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:center;margin-bottom:1.25rem;}
.mp-showcase-text strong{display:block;font-size:15px;font-weight:700;color:var(--blue-900);margin-bottom:4px;}
.mp-showcase-text p{font-size:13px;color:var(--gray-500);line-height:1.5;margin:0;}
.mp-showcase-items{display:flex;gap:1rem;}
.mp-showcase-item{flex:1;background:var(--white);border:1px solid var(--teal-100);border-radius:var(--radius-lg);padding:1rem;display:flex;gap:10px;align-items:flex-start;}
.mp-showcase-item-icon,.mp-expertise-card-icon,.mp-cred-item-icon,.mp-service-check{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:999px;background:var(--teal-50);color:var(--teal-700);}
.mp-showcase-item-icon{width:36px;height:36px;}
.mp-showcase-item:nth-child(2) .mp-showcase-item-icon,.mp-expertise-card:nth-child(2n) .mp-expertise-card-icon,.mp-cred-item:nth-child(2n) .mp-cred-item-icon{background:var(--blue-50);color:var(--blue-700);}
.mp-showcase-item:nth-child(3) .mp-showcase-item-icon,.mp-expertise-card:nth-child(3n) .mp-expertise-card-icon,.mp-cred-item:nth-child(3n) .mp-cred-item-icon{background:#F3F1EB;color:#3D4A5C;}
.mp-showcase-item strong{display:block;font-size:13px;font-weight:700;color:var(--blue-900);margin-bottom:2px;}
.mp-showcase-item p{font-size:12px;color:var(--gray-500);line-height:1.45;margin:0;}

/* Tabs */
.mp-tabs-bar{display:flex;gap:4px;border-bottom:1px solid var(--gray-100);margin-bottom:1.25rem;overflow:auto;}
.mp-tab{padding:12px 18px;font-size:13px;font-weight:600;color:var(--gray-500);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:all .15s;}
.mp-tab:hover{color:var(--gray-700);}
.mp-tab.active{color:var(--teal-600);border-bottom-color:var(--teal-600);}

/* Layout */
.mp-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.5rem;align-items:start;}
.mp-main{display:flex;flex-direction:column;gap:0;}
.mp-sidebar{display:flex;flex-direction:column;gap:1rem;position:sticky;top:76px;}

/* Tab panels */
.mp-tab-panel{display:none;}
.mp-tab-panel.active{display:block;animation:tabFadeIn 0.22s ease both;}

/* Sections */
.mp-section{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);}
.mp-section-title{font-size:16px;font-weight:700;color:var(--blue-900);margin:0 0 1rem;display:flex;align-items:center;gap:8px;}
.mp-section-title svg{color:var(--teal-500);}

/* Expertise grid */
.mp-expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.mp-expertise-card{border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1rem;text-align:center;transition:all .15s;}
.mp-expertise-card:hover{border-color:var(--teal-200);box-shadow:var(--shadow-sm);}
.mp-expertise-card-icon{width:38px;height:38px;margin:0 auto 8px;}
.mp-expertise-card strong{display:block;font-size:13px;font-weight:700;color:var(--blue-900);margin-bottom:2px;}
.mp-expertise-card p{font-size:11px;color:var(--gray-500);line-height:1.4;margin:0;}
.mp-see-all{display:inline-flex;align-items:center;gap:4px;color:var(--teal-600);font-size:13px;font-weight:700;margin-top:10px;cursor:pointer;background:none;border:0;padding:0;}
.mp-see-all:hover{color:var(--teal-800);}

/* About section */
.mp-about-section{display:grid;grid-template-columns:1fr 240px;gap:1.5rem;}
.mp-about-text p{color:var(--gray-600);line-height:1.7;font-size:14px;margin:0;}
.mp-about-video{display:none;}
.mp-about-video.has-video{display:block;}
.mp-video-thumb{position:relative;width:100%;aspect-ratio:16/10;border-radius:var(--radius-lg);overflow:hidden;background:var(--gray-100);margin-bottom:8px;}
.mp-video-thumb img{width:100%;height:100%;object-fit:cover;}
.mp-video-play{position:absolute;inset:0;margin:auto;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,0.92);border:0;color:var(--teal-600);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,0.15);transition:transform .15s;}
.mp-video-play:hover{transform:scale(1.08);}
.mp-video-duration{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,0.65);color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;}

/* Profile Insights */
.mp-insights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.mp-insights-card{border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:14px;background:var(--white);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;}
.mp-insights-card:hover{border-color:var(--teal-200);box-shadow:var(--shadow-sm);transform:translateY(-1px);}
.mp-insights-card-kicker{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--teal-700);margin-bottom:6px;}
.mp-insights-card-title{font-size:14px;line-height:1.35;font-weight:600;color:var(--blue-900);margin-bottom:6px;}
.mp-insights-card-meta{font-size:12px;color:var(--gray-500);line-height:1.45;}
.mp-insights-support-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:#F0FDFA;border:1px solid #99F6E4;color:#065F46;font-size:12px;font-weight:700;margin:0 0 12px;}
.mp-insights-support-badge svg{flex-shrink:0;}
.mp-insights-empty{font-size:13px;color:var(--gray-500);line-height:1.55;margin:0;}
@media(max-width:640px){.mp-insights-grid{grid-template-columns:1fr;}}

/* Services */
.mp-services-list{display:flex;flex-direction:column;gap:6px;}
.mp-service-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--gray-50);font-size:14px;color:var(--gray-700);}
.mp-service-item:last-child{border-bottom:0;}
.mp-service-check{width:22px;height:22px;}

/* Credentials */
.mp-credentials-list{display:flex;flex-direction:column;gap:10px;}
.mp-cred-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;}
.mp-cred-item-icon{width:34px;height:34px;}
.mp-cred-item div strong{display:block;font-size:13px;font-weight:700;color:var(--blue-900);}
.mp-cred-item div span{font-size:12px;color:var(--gray-500);}

/* Modalities chips */
.mp-modalities-chips{display:flex;flex-wrap:wrap;gap:6px;}
.mp-modality-chip{padding:5px 11px;border-radius:999px;border:1px solid var(--blue-100);background:var(--blue-50);color:var(--blue-700);font-size:12px;font-weight:600;}

/* Fees & insurance section */
.mp-fees-section{background:linear-gradient(135deg,#F0FDFA,#F8FAFC);border:1px solid var(--teal-100);}
.mp-fees-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.mp-fees-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1rem;}
.mp-fees-card-hd{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:700;color:var(--blue-900);}
.mp-fees-card-hd svg{color:var(--teal-500);flex-shrink:0;}
.mp-fees-card-body{font-size:13px;color:var(--gray-600);line-height:1.6;}
.mp-fees-card-body strong{display:block;font-size:15px;color:var(--gray-900);font-weight:700;margin-bottom:2px;}
.mp-fees-card-body .mp-fees-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;border:1px solid var(--teal-100);background:var(--teal-50);color:var(--teal-700);font-size:11px;font-weight:600;margin:2px;}
.mp-fees-card-body .mp-fees-tag.private{background:var(--blue-50);color:var(--blue-700);border-color:var(--blue-100);}
@media(max-width:768px){
  .mp-fees-grid{grid-template-columns:1fr;}
}

/* FAQs */
.mp-faq-item{border-bottom:1px solid var(--gray-100);}
.mp-faq-q{width:100%;padding:14px 0;font-size:14px;font-weight:600;color:var(--blue-900);background:none;border:0;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;}
.mp-faq-q svg{transition:transform .2s;color:var(--gray-400);}
.mp-faq-item.open .mp-faq-q svg{transform:rotate(180deg);}
.mp-faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease,padding .25s ease;font-size:13px;color:var(--gray-600);line-height:1.6;}
.mp-faq-item.open .mp-faq-a{max-height:300px;padding-bottom:14px;}

/* Sidebar cards */
.mp-sidebar-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-sm);}
.mp-sidebar-card-hd{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:700;color:var(--blue-900);}
.mp-sidebar-card-hd svg{color:var(--teal-500);}
.mp-sidebar-card-body{font-size:13px;color:var(--gray-600);line-height:1.6;}
.mp-sidebar-card-body .mp-sidebar-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--gray-50);font-size:13px;}
.mp-sidebar-card-body .mp-sidebar-row:last-child{border-bottom:0;}
.mp-sidebar-card-body .mp-sidebar-row strong{color:var(--gray-700);font-weight:500;}
.mp-sidebar-card-body .mp-sidebar-row span{color:var(--gray-900);font-weight:600;}
.mp-sidebar-quicklinks .mp-sidebar-card-body{display:flex;flex-direction:column;gap:6px;}
.mp-sidebar-quicklinks a{color:var(--teal-600);font-size:13px;text-decoration:none;display:flex;justify-content:space-between;align-items:center;padding:4px 0;transition:color .15s;font-weight:500;}
.mp-sidebar-quicklinks a:hover{color:var(--teal-800);text-decoration:underline;}
.mp-sidebar-privacy{background:linear-gradient(135deg,var(--teal-600),var(--teal-700));border-radius:var(--radius-xl);padding:1.25rem;color:var(--white);display:flex;gap:12px;align-items:flex-start;}
.mp-sidebar-privacy svg{flex-shrink:0;margin-top:2px;}
.mp-sidebar-privacy strong{display:block;font-size:13px;font-weight:700;margin-bottom:2px;}
.mp-sidebar-privacy p{font-size:12px;line-height:1.5;margin:0;opacity:.9;}

/* Offerings */
.mp-offerings{margin-top:1.5rem;}
.mp-offerings-title{font-family:'DM Serif Display',serif;font-size:22px;color:var(--blue-900);margin-bottom:1rem;}
.mp-offerings-scroll{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;}
.mp-offering-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .15s;}
.mp-offering-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.mp-offering-media{height:140px;position:relative;background:linear-gradient(135deg,var(--blue-100),var(--teal-50));}
.mp-offering-media img{width:100%;height:100%;object-fit:cover;}
.mp-offering-badge{position:absolute;top:10px;left:10px;border-radius:999px;background:rgba(255,255,255,0.92);color:var(--blue-900);font-size:10px;font-weight:900;padding:4px 8px;}
.mp-offering-body{padding:1rem;}
.mp-offering-body strong{display:block;font-size:14px;font-weight:700;color:var(--blue-900);margin-bottom:4px;}
.mp-offering-body span{font-size:12px;color:var(--gray-500);}
.mp-offering-body .mp-offering-meta{display:flex;gap:8px;margin-top:8px;font-size:12px;color:var(--gray-500);}
.mp-offering-body .mp-offering-price{font-size:14px;font-weight:700;color:var(--teal-600);margin-top:8px;}

/* Why matched (legacy, kept functional) */
.mp-why-matched{padding:1rem;background:var(--teal-50);border:1px solid var(--teal-100);border-radius:var(--radius-lg);margin-bottom:1rem;}
.mp-why-matched-title{color:var(--teal-600);font-size:14px;font-weight:700;margin-bottom:8px;}

/* Responsive */
@media(max-width:768px){
  .mp-hero{grid-template-columns:1fr;text-align:center;}
  .mp-hero-main{grid-template-columns:1fr;}
  .mp-hero-photo{display:flex;justify-content:center;}
  .mp-hero-photo img,.mp-hero-photo .mp-avatar-fallback{width:140px;height:140px;margin:0 auto;}
  .mp-hero-name-row{justify-content:center;}
  .mp-hero-name-row h1{font-size:1.75rem;}
  .mp-hero-actions{justify-content:center;}
  .mp-contact-note{margin-left:auto;margin-right:auto;}
  .mp-showcase{grid-template-columns:1fr;text-align:center;}
  .mp-showcase-items{flex-direction:column;}
  .mp-trust-strip{grid-template-columns:1fr;}
  .mp-layout{grid-template-columns:1fr;}
  .mp-sidebar{position:static;}
  .mp-expertise-grid{grid-template-columns:repeat(2,1fr);}
  .mp-about-section{grid-template-columns:1fr;}
  .mp-tabs-bar{gap:0;}
  .mp-tab{padding:10px 12px;font-size:12px;}
}

/* =============================================
   Profile Page — On-Brand Design Enhancements
   ============================================= */

/* Availability pill in hero */
.mp-avail-hero-wrap{margin-bottom:6px;}

/* "Request a call" outline button in contact card */
.mp-hero-contact-btn-outline{width:100%;justify-content:center;padding:11px 20px;font-size:14px;font-weight:600;border-radius:var(--radius-md);border:1px solid var(--teal-300);background:transparent;color:var(--teal-700);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .15s;font-family:inherit;box-sizing:border-box;}
.mp-hero-contact-btn-outline:hover{background:var(--teal-50);border-color:var(--teal-400);}

/* Sliding scale fee card — teal tint */
.mp-fees-card.mp-fees-card-sliding{background:rgba(20,184,166,0.05);border-color:var(--teal-100);}

/* Mobile sticky CTA bar */
.mp-mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--gray-100);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));z-index:200;box-shadow:0 -4px 16px rgba(10,22,40,0.08);}
@media(max-width:768px){
  .mp-mobile-cta{display:flex;justify-content:center;}
  #page-match-profile{padding-bottom:5rem !important;}
}

/* =============================================
   Profile Page — Accessibility & Color Pass 2
   ============================================= */

/* Hero card — navy top accent anchors it to the site header */
.mp-hero{border-top:5px solid var(--blue-900) !important;border-radius:0 0 var(--radius-xl) var(--radius-xl);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);}

/* At-a-glance stat row — 4 colored tiles below the trust strip */
.mp-glance-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:1.25rem;}
.mp-glance-tile{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:12px 14px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-sm);transition:box-shadow .15s;}
.mp-glance-tile:hover{box-shadow:var(--shadow-md);}
.mp-glance-icon{width:34px;height:34px;border-radius:999px;background:var(--teal-50);color:var(--teal-700);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mp-glance-tile:nth-child(2) .mp-glance-icon{background:var(--blue-50);color:var(--blue-700);}
.mp-glance-tile:nth-child(3) .mp-glance-icon{background:#F3F1EB;color:#3D4A5C;}
.mp-glance-tile:nth-child(4) .mp-glance-icon{background:#F5F3FF;color:#5B21B6;}
.mp-glance-label{font-size:10px;color:var(--gray-500);font-weight:700;text-transform:uppercase;letter-spacing:0.07em;display:block;margin-bottom:3px;}
.mp-glance-val{font-size:13px;color:var(--blue-900);font-weight:700;display:block;line-height:1.3;}
@media(max-width:768px){.mp-glance-row{grid-template-columns:1fr 1fr;}}

/* Specialty / expertise cards — alternating colored backgrounds */
.mp-expertise-card:nth-child(4n+1){background:var(--teal-50);border-color:var(--teal-100);}
.mp-expertise-card:nth-child(4n+2){background:var(--blue-50);border-color:var(--blue-100);}
.mp-expertise-card:nth-child(4n+3){background:#F8F7F3;border-color:#E7E4DD;}
.mp-expertise-card:nth-child(4n+4){background:#F5F3FF;border-color:#DDD6FE;}
.mp-expertise-card:nth-child(4n+1):hover{border-color:var(--teal-300);box-shadow:0 2px 8px rgba(20,184,166,0.12);}
.mp-expertise-card:nth-child(4n+2):hover{border-color:var(--blue-300);box-shadow:0 2px 8px rgba(59,130,246,0.12);}

/* "Good fit for..." panel */
.mp-fit-panel{background:linear-gradient(135deg,#F0FDFA,#EFF6FF);border:1px solid var(--teal-100);border-radius:var(--radius-xl);padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);}
.mp-fit-hd{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.mp-fit-hd strong{font-size:15px;font-weight:700;color:var(--blue-900);}
.mp-fit-hd svg{color:var(--teal-600);flex-shrink:0;}
.mp-fit-list{display:flex;flex-direction:column;gap:7px;}
.mp-fit-item{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:var(--gray-700);line-height:1.55;}
.mp-fit-check{width:18px;height:18px;border-radius:50%;background:var(--teal-500);color:var(--white);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}

/* Section title left-rule accent — makes sections scannable like a document outline */
.mp-section-title{border-left:3px solid var(--teal-400);padding-left:10px;}

/* --- Profile Page — Pass 3 UX Improvements -------------------------------- */

/* Sticky clinician bar — lives in document flow right after the hero.
   position:sticky handles the pinning; opacity/pointer-events hide it
   while the hero is still on screen (toggled by IntersectionObserver). */
.mp-sticky-bar{position:sticky;top:var(--shell-nav-height,68px);left:0;right:0;z-index:190;background:var(--white);border-bottom:1px solid var(--gray-100);box-shadow:0 2px 12px rgba(10,22,40,0.08);padding:10px 0;opacity:0;pointer-events:none;transition:opacity .2s ease;}
.mp-sticky-bar.visible{opacity:1;pointer-events:auto;}
.mp-sticky-bar-info{display:flex;flex-direction:column;}
.mp-sticky-bar-name{font-size:15px;font-weight:700;color:var(--blue-900);font-family:'DM Serif Display',Georgia,serif;}
.mp-sticky-bar-sub{font-size:12px;color:var(--gray-500);margin-top:1px;}
.mp-sticky-bar-btn{padding:8px 18px;font-size:13px;font-weight:600;border-radius:var(--radius-md);background:var(--teal-600);color:var(--white);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:inherit;transition:background .15s;white-space:nowrap;}
.mp-sticky-bar-btn:hover{background:var(--teal-700);}

/* Bio expand/collapse */
.mp-bio-clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.mp-bio-toggle{margin-top:8px;font-size:13px;font-weight:600;color:var(--teal-600);background:none;border:none;cursor:pointer;padding:0;font-family:inherit;display:block;}
.mp-bio-toggle:hover{color:var(--teal-800);}

/* Availability label in sidebar */
.mp-avail-yes{color:var(--teal-600) !important;font-weight:700;}
.mp-avail-waitlist{color:#B45309 !important;font-weight:700;}

/* What happens next */
.mp-next-steps{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--gray-100);}
.mp-next-step{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--gray-600);line-height:1.5;}
.mp-next-step-num{width:20px;height:20px;border-radius:50%;background:var(--teal-50);color:var(--teal-700);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.back-to-top{display:none;position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0px));right:16px;z-index:107;width:40px;height:40px;border-radius:50%;background:var(--blue-900);color:var(--white);border:none;cursor:pointer;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(4,44,83,0.22);opacity:0;transform:translateY(8px);transition:opacity 0.25s,transform 0.25s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.back-to-top.visible{opacity:1;transform:translateY(0);}
@media(max-width:640px){.back-to-top{display:flex;}}
.mkt-sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:108;background:rgba(6,16,26,0.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,0.1);transform:translateY(100%);transition:transform 0.3s cubic-bezier(.4,0,.2,1);}
.mkt-sticky-cta.visible{transform:translateY(0);}
.mkt-sticky-cta-inner{display:flex;gap:8px;align-items:center;}
.mkt-sticky-cta-primary{flex:1;padding:11px 16px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--teal-500),var(--blue-600));color:var(--white);border:none;font-size:14px;font-weight:600;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;}
.mkt-sticky-cta-secondary{padding:11px 14px;border-radius:var(--radius-md);background:transparent;border:1px solid rgba(255,255,255,0.22);color:rgba(255,255,255,0.8);font-size:13px;font-weight:500;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;white-space:nowrap;}
@media(max-width:640px){.mkt-sticky-cta{display:block;}body.sticky-cta-active{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px));}}
.mr-score-legend{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:1rem;padding:8px 0;font-size:11.5px;}
.mr-score-legend-item{display:flex;align-items:center;gap:5px;color:var(--gray-500);}
.mr-score-legend-item em{font-style:normal;color:var(--gray-400);}
.mr-score-legend-item.best{color:var(--teal-700);}
.mr-score-legend-item.good{color:var(--blue-700);}
.mr-score-legend-item.possible{color:var(--gray-500);}
.matching-cancel-btn{margin-top:2rem;padding:10px 22px;border-radius:var(--radius-md);background:transparent;border:1px solid rgba(255,255,255,0.22);color:rgba(255,255,255,0.6);font-size:13px;font-weight:500;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:all 0.15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;}
.matching-cancel-btn:hover{border-color:rgba(255,255,255,0.42);color:rgba(255,255,255,0.86);}
.mp-sticky-back-btn{display:none;align-items:center;gap:4px;background:none;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:5px 10px;font-size:12px;font-weight:600;color:var(--gray-600);cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:inherit;transition:background .12s,color .12s;}
.mp-sticky-back-btn:hover{background:var(--gray-50);color:var(--blue-800);}
@media(max-width:768px){.mp-sticky-bar{padding:8px 0;top:var(--shell-nav-height,56px);}.mp-sticky-bar-sub{display:none;}.mp-sticky-back-btn{display:inline-flex;}}

/* --- Profile Page — Pass 5 Reviews & Tooltips -------------------------------- */

/* Inline info tooltip — used for telehealth states explanation */
.mp-info-tip{position:relative;display:inline-flex;align-items:center;margin-left:4px;cursor:help;vertical-align:middle;}
.mp-info-tip svg{width:13px;height:13px;color:var(--gray-400);transition:color .12s;}
.mp-info-tip:hover svg,.mp-info-tip:focus-within svg{color:var(--teal-600);}
.mp-info-tip-popup{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--blue-900);color:var(--white);font-size:11.5px;line-height:1.5;padding:8px 12px;border-radius:var(--radius-md);width:230px;white-space:normal;z-index:400;pointer-events:none;opacity:0;transition:opacity .15s;}
.mp-info-tip:hover .mp-info-tip-popup,.mp-info-tip:focus-within .mp-info-tip-popup{opacity:1;}
.mp-info-tip-popup::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--blue-900);}

/* --- Profile Page — Pass 4 Trust & Polish -------------------------------- */

/* Hero approach chips — distinct style from specialty chips (teal → blue) */
.mp-hero-chip.approach-chip{background:var(--blue-50);color:var(--blue-700);border-color:var(--blue-200);}

/* Similar providers section */
.mp-similar-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--gray-100);}
.mp-similar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;}
.mp-similar-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:box-shadow .15s,border-color .15s;}
.mp-similar-card:hover{box-shadow:var(--shadow-md);border-color:var(--teal-200);}
.mp-similar-avatar{width:40px;height:40px;border-radius:50%;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mp-similar-name{font-size:13px;font-weight:700;color:var(--blue-900);line-height:1.3;}
.mp-similar-title{font-size:11px;color:var(--gray-500);line-height:1.4;margin-top:1px;}
.mp-similar-spec{font-size:11px;color:var(--teal-700);background:var(--teal-50);border:1px solid var(--teal-100);border-radius:999px;padding:2px 8px;margin-top:2px;display:inline-block;}
.mp-similar-avail{font-size:11px;font-weight:600;}
.mp-similar-avail.open{color:var(--teal-600);}
.mp-similar-avail.waitlist{color:#B45309;}
.mp-similar-view{font-size:12px;font-weight:700;color:var(--teal-600);background:none;border:none;padding:0;cursor:pointer;font-family:inherit;margin-top:4px;text-align:left;}
.mp-similar-view:hover{color:var(--teal-800);}
@media(max-width:768px){.mp-similar-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.mp-similar-grid{grid-template-columns:1fr;}}

/* Dark mode */

.hub-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.25rem;padding:1.25rem 2rem;max-width:1100px;margin:0 auto;}
.hub-sidebar{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1rem;height:fit-content;position:sticky;top:76px;}
.hub-nav-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-md);font-size:13px;color:var(--gray-700);cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:all 0.15s;margin-bottom:3px;}
.hub-nav-item:hover{background:var(--gray-50);}
.hub-nav-item.active{background:var(--blue-50);color:var(--blue-800);font-weight:500;}
.hub-nav-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;}
.hub-count{margin-left:auto;background:var(--blue-600);color:var(--white);border-radius:10px;font-size:10px;padding:1px 7px;font-weight:500;}
.post-ref-btn{width:100%;padding:10px;border-radius:var(--radius-md);background:var(--blue-600);color:var(--white);border:none;font-size:13px;font-weight:500;cursor:pointer;margin-bottom:0.75rem;transition:opacity 0.15s;}
.post-ref-btn:hover{opacity:0.88;}
.privacy-notice{background:var(--amber-50);border-radius:var(--radius-md);padding:10px;font-size:11px;color:var(--amber-600);line-height:1.5;display:flex;gap:7px;}
.ref-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:1.1rem 1.25rem;margin-bottom:0.8rem;cursor:pointer;transition:box-shadow 0.18s,border-color 0.18s,transform 0.18s;}
.ref-card:hover{box-shadow:var(--shadow-md);border-color:var(--gray-200);transform:translateY(-2px);}
.ref-card.top-match{border-left:3px solid var(--teal-500);border-radius:0 var(--radius-xl) var(--radius-xl) 0;}
.ref-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:7px;}
.ref-card-title{font-size:14px;font-weight:600;color:var(--blue-900);margin-bottom:4px;}
.ref-card-desc{font-size:12px;color:var(--gray-500);line-height:1.5;margin-bottom:8px;}
.ref-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:9px;border-top:1px solid var(--gray-50);}
.poster{display:flex;align-items:center;gap:7px;}
.poster-av{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:500;}
.poster-name{font-size:12px;color:var(--gray-500);}
.poster-cred{font-size:11px;color:var(--gray-300);}
.match-indicator{display:flex;align-items:center;gap:6px;}
.match-bar-bg{width:56px;height:4px;background:var(--gray-100);border-radius:2px;overflow:hidden;}
.match-bar-fill{height:100%;border-radius:2px;background:var(--teal-500);}
.match-pct-txt{font-size:11px;font-weight:500;color:var(--teal-700);}
.ref-actions{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--gray-100);}
.ref-act-btn{flex:0 0 auto;padding:8px 16px;border-radius:var(--radius-md);border:1.5px solid var(--gray-200);background:var(--white);font-size:12px;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all 0.15s;text-align:center;font-family:inherit;}
.ref-act-btn:hover{background:var(--gray-50);border-color:var(--gray-300);color:var(--blue-900);}
.ref-act-btn.primary{flex:1;background:var(--teal-600);color:var(--white);border-color:var(--teal-600);font-weight:600;}
.ref-act-btn.primary:hover{background:var(--teal-700,#0F766E);border-color:var(--teal-700,#0F766E);transform:none;}
.ai-match-box{background:var(--teal-50);border:1px solid var(--teal-100);border-radius:var(--radius-xl);padding:1rem 1.25rem;margin-bottom:1rem;display:flex;gap:12px;align-items:flex-start;}
.ai-badge{background:var(--teal-600);color:var(--white);border-radius:var(--radius-sm);padding:3px 8px;font-size:10px;font-weight:600;white-space:nowrap;flex-shrink:0;margin-top:2px;letter-spacing:0.04em;}
.ai-match-text{font-size:13px;color:var(--teal-800,#134e4a);line-height:1.55;}
.hub-tabs{display:flex;gap:4px;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:5px;margin-bottom:1rem;}
.hub-tab{flex:1;padding:8px;border-radius:var(--radius-lg);border:none;background:transparent;font-size:13px;color:var(--gray-500);cursor:pointer;transition:all 0.15s;font-family:inherit;}
.hub-tab.active{background:var(--blue-50);color:var(--blue-800);font-weight:600;}
.ref-card-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.ref-card-meta{font-size:11px;color:var(--gray-400);margin-top:5px;line-height:1.4;}
.ref-type-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;}
.ref-type-badge.client{background:#EFF6FF;color:#1E40AF;border:1px solid #DBEAFE;}
.ref-type-badge.professional{background:#ECFDF5;color:#065F46;border:1px solid #A7F3D0;}
.ref-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:0.03em;white-space:nowrap;flex-shrink:0;}
.ref-badge-routine{background:var(--gray-50);color:var(--gray-500);border:1px solid var(--gray-200);}
.ref-badge-soon{background:#FFF8EB;color:#92400E;border:1px solid #FDE68A;}
.ref-badge-urgent{background:#FEF2F2;color:#991B1B;border:1px solid #FECACA;}
.ref-badge-match{background:#F0FDF4;color:#166534;border:1px solid #BBF7D0;}
.ref-intent-card{display:block;width:100%;text-align:left;padding:16px;border:1.5px solid var(--gray-100);border-radius:var(--radius-lg);background:var(--white);cursor:pointer;transition:border-color 0.15s,box-shadow 0.15s;margin-bottom:0;}
.ref-intent-card:hover{border-color:var(--blue-300);box-shadow:var(--shadow-sm);}
.ref-intent-card.selected{border-color:var(--blue-600);background:var(--blue-50);}
.ref-intent-title{font-size:16px;font-weight:600;color:var(--blue-900);margin-bottom:4px;}
.ref-intent-desc{font-size:14px;color:var(--gray-500);line-height:1.5;}

/* --------------------------------------------------
   REFERRAL SYSTEM - Full Lifecycle
   -------------------------------------------------- */

/* -- Referral creation wizard -- */
.ref-wiz-steps{display:flex;gap:0;margin-bottom:1.5rem;counter-reset:rwiz;}
.ref-wiz-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;}
.ref-wiz-step::after{content:'';position:absolute;top:13px;left:50%;width:100%;height:2px;background:var(--gray-100);z-index:0;}
.ref-wiz-step:last-child::after{display:none;}
.ref-wiz-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;z-index:1;transition:all var(--transition-base);}
.ref-wiz-dot.done{background:var(--teal-600);color:var(--white);}
.ref-wiz-dot.active{background:var(--blue-600);color:var(--white);box-shadow:0 0 0 3px var(--blue-100);}
.ref-wiz-dot.future{background:var(--gray-50);border:1.5px solid var(--gray-300);color:var(--gray-500);}
.ref-wiz-label{font-size:10px;color:var(--gray-400);text-align:center;line-height:1.3;}
.ref-wiz-label.active{color:var(--blue-700);font-weight:500;}
.ref-wiz-pane{display:none;}
.ref-wiz-pane.active{display:block;}
.ref-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:480px){.ref-field-row{grid-template-columns:1fr;}}
.ref-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px;}
.ref-chip{padding:5px 12px;border-radius:var(--radius-sm);border:1px solid var(--gray-100);background:var(--white);font-size:12.5px;color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast);user-select:none;}
.ref-chip:hover{border-color:var(--blue-300);color:var(--blue-700);}
.ref-chip.selected{background:var(--blue-50);border-color:var(--blue-500);color:var(--blue-800);font-weight:500;}
.ref-urgency-row{display:flex;gap:8px;margin-top:6px;}
.ref-urgency-btn{flex:1;padding:8px 6px;border-radius:var(--radius-md);border:1.5px solid var(--gray-200);background:var(--white);font-size:12px;cursor:pointer;text-align:center;transition:all var(--transition-fast);}
.ref-urgency-btn.active{font-weight:600;}
.ref-urgency-btn[data-urgency="routine"].active{background:#EEF6FF;border-color:#185FA5;color:#185FA5;}
.ref-urgency-btn[data-urgency="soon"].active{background:#FFF8EB;border-color:#D97706;color:#92400E;}
.ref-urgency-btn[data-urgency="urgent"].active{background:#FEF2F2;border-color:#DC2626;color:#991B1B;}
.ref-board-toggle{display:flex;align-items:center;justify-content:space-between;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:12px 14px;margin-top:1rem;cursor:pointer;}
.ref-board-toggle-label{font-size:13px;font-weight:500;color:var(--blue-900);}
.ref-board-toggle-sub{font-size:11.5px;color:var(--gray-500);margin-top:2px;}
.ref-toggle-switch{width:36px;height:20px;border-radius:10px;background:var(--gray-200);position:relative;transition:background var(--transition-fast);flex-shrink:0;}
.ref-toggle-switch.on{background:var(--teal-500);}
.ref-toggle-switch::after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--white);transition:transform var(--transition-fast);box-shadow:0 1px 3px rgba(0,0,0,0.2);}
.ref-toggle-switch.on::after{transform:translateX(16px);}

/* -- Structured wizard inputs (multi-select with primary, radio rows, radio cards) -- */
.ref-multichip-group{display:flex;flex-wrap:wrap;gap:7px;}
.ref-multichip{position:relative;padding:6px 12px 6px 10px;border-radius:var(--radius-sm);border:1px solid var(--gray-300);background:var(--white);font-size:12.5px;color:var(--gray-700);cursor:pointer;transition:all 0.15s;user-select:none;display:inline-flex;align-items:center;gap:6px;}
.ref-multichip:hover{border-color:var(--blue-300);color:var(--blue-700);}
.ref-multichip.selected{background:var(--blue-50);border-color:var(--blue-500);color:var(--blue-800);font-weight:500;}
.ref-multichip-star{display:none;font-size:13px;line-height:1;color:var(--gray-300);cursor:pointer;padding:2px 4px;border-radius:50%;transition:color 0.15s,background 0.15s;}
.ref-multichip.selected .ref-multichip-star{display:inline-flex;}
.ref-multichip-star:hover{color:#F59E0B;background:#FEF3C7;}
.ref-multichip.primary{background:var(--teal-50);border-color:var(--teal-600);color:var(--teal-800);}
.ref-multichip.primary .ref-multichip-star{color:#F59E0B;}
.ref-radio-row{display:flex;flex-wrap:wrap;gap:6px;}
.ref-radio-row .ref-radio-btn{flex:1 1 110px;min-width:90px;padding:9px 10px;border-radius:var(--radius-md);border:1.5px solid var(--gray-300);background:var(--white);font-size:12.5px;font-family:inherit;color:var(--gray-700);cursor:pointer;text-align:center;transition:all 0.15s;line-height:1.3;}
.ref-radio-btn:hover{border-color:var(--blue-300);color:var(--blue-700);}
.ref-radio-btn.active{background:var(--teal-50);border-color:var(--teal-600);color:var(--teal-800);font-weight:600;}
.ref-radio-sub{display:block;font-size:10.5px;font-weight:400;color:var(--gray-500);margin-top:2px;}
.ref-radio-btn.active .ref-radio-sub{color:var(--teal-700);}
.ref-radio-stack{display:flex;flex-direction:column;gap:6px;}
.ref-radio-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 14px;border-radius:var(--radius-md);border:1.5px solid var(--gray-300);background:var(--white);font-family:inherit;font-size:13px;color:var(--gray-700);cursor:pointer;text-align:left;transition:all 0.15s;}
.ref-radio-card strong{font-weight:600;color:var(--blue-900);}
.ref-radio-card:hover{border-color:var(--blue-300);}
.ref-radio-card.active{background:var(--teal-50);border-color:var(--teal-600);}
.ref-radio-card.active strong{color:var(--teal-800);}
.ref-radio-card-danger{}
.ref-radio-card-danger.active{background:#FEF2F2;border-color:#DC2626;}
.ref-radio-card-danger.active strong{color:#991B1B;}
.ref-checkbox-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--gray-100);border-radius:var(--radius-md);font-size:12.5px;color:var(--gray-700);cursor:pointer;}
.ref-checkbox-row input[type="checkbox"]{margin-top:3px;}
.ref-checkbox-row strong{display:block;color:var(--blue-900);font-weight:600;font-size:13px;}

/* -- Curated list builder -- */
.list-builder-header{background:var(--blue-50);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.list-builder-count{font-size:13px;font-weight:600;color:var(--blue-800);}
.list-builder-sub{font-size:12px;color:var(--blue-600);margin-top:2px;}
.list-match-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1.5px solid var(--gray-100);border-radius:var(--radius-md);margin-bottom:8px;transition:border-color var(--transition-fast),background var(--transition-fast);cursor:pointer;}
.list-match-card.selected{border-color:var(--blue-400);background:var(--blue-50);}
.list-match-card:hover{border-color:var(--blue-200);}
.list-match-check{width:20px;height:20px;border-radius:5px;border:2px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:all var(--transition-fast);}
.list-match-card.selected .list-match-check{background:var(--blue-600);border-color:var(--blue-600);}
.list-match-score{font-size:12px;font-weight:700;padding:2px 8px;border-radius:var(--radius-sm);flex-shrink:0;}
.score-strong{background:#E1F5EE;color:#085041;}
.score-good{background:#EEF6FF;color:#0C447C;}
.score-possible{background:var(--gray-50);color:var(--gray-600);}
.list-match-name{font-size:13.5px;font-weight:600;color:var(--blue-900);}
.list-match-meta{font-size:12px;color:var(--gray-500);margin-top:2px;line-height:1.4;}
.list-finalize-bar{position:sticky;bottom:0;background:var(--white);border-top:1px solid var(--gray-100);padding:12px 0 4px;margin-top:8px;display:flex;gap:8px;align-items:center;}
.list-finalize-btn{flex:1;padding:10px;background:var(--blue-600);color:var(--white);border:none;border-radius:var(--radius-md);font-size:13.5px;font-weight:600;cursor:pointer;transition:background var(--transition-fast);}
.list-finalize-btn:hover{background:var(--blue-700);}
.list-finalize-btn:disabled{background:var(--gray-200);color:var(--gray-400);cursor:default;}

/* -- Patient share list page -- */
.plist-shell{max-width:680px;margin:0 auto;padding:2rem 1.5rem;}
.plist-header{text-align:center;margin-bottom:2rem;}
.plist-badge{display:inline-flex;align-items:center;gap:6px;background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100);border-radius:var(--radius-sm);padding:3px 10px;font-size:11px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:1rem;}
.plist-title{font-family:'DM Serif Display',serif;font-size:1.8rem;color:var(--blue-900);margin-bottom:0.5rem;}
.plist-sub{font-size:14px;color:var(--gray-500);line-height:1.6;max-width:480px;margin:0 auto;}
.plist-provider-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-xs);}
.plist-provider-card:hover{box-shadow:var(--shadow-sm);border-color:var(--blue-100);}
.plist-provider-name{font-size:1rem;font-weight:700;color:var(--blue-900);margin-bottom:2px;}
.plist-provider-title{font-size:13px;color:var(--gray-500);margin-bottom:10px;}
.plist-provider-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px;}
.plist-provider-chip{font-size:11.5px;padding:3px 9px;border-radius:var(--radius-sm);background:var(--gray-50);color:var(--gray-600);border:1px solid var(--gray-100);}
.plist-contact-row{display:flex;flex-wrap:wrap;gap:8px;}
.plist-contact-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;border:none;transition:all var(--transition-fast);}
.plist-contact-phone{background:var(--teal-600);color:var(--white);}
.plist-contact-phone:hover{background:var(--teal-700);}
.plist-contact-email{background:var(--white);color:var(--blue-700);border:1.5px solid var(--blue-200);}
.plist-contact-email:hover{background:var(--blue-50);}
.plist-contact-web{background:var(--white);color:var(--gray-600);border:1.5px solid var(--gray-200);}
.plist-contact-web:hover{background:var(--gray-50);}
.plist-privacy-footer{background:var(--teal-50);border:1px solid var(--teal-100);border-radius:var(--radius-md);padding:14px 16px;margin-top:1.5rem;font-size:12.5px;color:var(--teal-700);line-height:1.6;display:flex;gap:10px;align-items:flex-start;}
.plist-expires{text-align:center;font-size:12px;color:var(--gray-400);margin-top:1rem;}

/* -- Referral Selection (revamped design) -- */
.rsel-shell{max-width:1100px;margin:0 auto;padding:1.5rem 1.5rem 2rem;}
.rsel-header{margin-bottom:1.25rem;}
.rsel-badge{display:inline-flex;align-items:center;gap:6px;background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100);border-radius:var(--radius-sm);padding:4px 10px;font-size:10.5px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:0.75rem;}
.rsel-title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.rsel-title{font-family:'DM Serif Display',serif;font-size:1.85rem;color:var(--blue-900);margin:0;letter-spacing:-0.01em;}
.rsel-sub-strong{font-size:14px;font-weight:600;color:var(--blue-900);margin-bottom:2px;}
.rsel-sub{font-size:13px;color:var(--gray-500);line-height:1.55;}
.rsel-privacy-banner{background:linear-gradient(135deg,#F0FDF9 0%,#ECFDF5 100%);border:1px solid var(--teal-100);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1.25rem;display:flex;gap:14px;align-items:flex-start;position:relative;}
.rsel-privacy-icon{flex-shrink:0;width:36px;height:36px;background:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--teal-100);}
.rsel-privacy-title{font-size:13.5px;font-weight:700;color:var(--blue-900);margin-bottom:3px;}
.rsel-privacy-text{font-size:12.5px;color:var(--gray-600);line-height:1.55;}
.rsel-tabs-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:flex-end;margin-bottom:1rem;flex-wrap:wrap;}
.rsel-tabs{display:flex;gap:4px;border-bottom:1px solid var(--gray-100);}
.rsel-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;font-size:13px;font-weight:500;color:var(--gray-500);cursor:pointer;font-family:inherit;transition:all 0.15s;}
.rsel-tab:hover{color:var(--blue-700);}
.rsel-tab.active{color:var(--teal-700);border-bottom-color:var(--teal-600);font-weight:600;}
.rsel-stats{display:flex;gap:8px;}
.rsel-stat-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:8px 16px;min-width:90px;text-align:center;}
.rsel-stat-value{font-size:18px;font-weight:700;color:var(--blue-900);line-height:1.2;display:flex;align-items:center;justify-content:center;gap:4px;}
.rsel-stat-accent{color:var(--teal-700);}
.rsel-stat-label{font-size:10.5px;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.04em;font-weight:500;margin-top:2px;}
.rsel-filter-bar{display:flex;gap:8px;align-items:center;margin-bottom:1rem;flex-wrap:wrap;}
.rsel-search{flex:1;min-width:200px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);}
.rsel-search input{flex:1;border:none;outline:none;font-size:13px;font-family:inherit;background:transparent;color:var(--blue-900);}
.rsel-search input::placeholder{color:var(--gray-400);}
.rsel-filter-select,.rsel-filter-sort{padding:8px 12px;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);font-size:12.5px;font-family:inherit;color:var(--gray-700);cursor:pointer;}
.rsel-filter-more{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);font-size:12.5px;font-family:inherit;color:var(--gray-700);cursor:pointer;}
.rsel-filter-more:hover{border-color:var(--gray-300);}
.rsel-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:0.75rem;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:flex-start;box-shadow:var(--shadow-xs);transition:box-shadow 0.15s,border-color 0.15s;position:relative;}
.rsel-card:hover{box-shadow:var(--shadow-sm);border-color:var(--blue-100);}
.rsel-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--white);flex-shrink:0;}
.rsel-card-body{min-width:0;}
.rsel-card-name{font-size:15px;font-weight:700;color:var(--blue-900);margin-bottom:1px;}
.rsel-card-title{font-size:12.5px;color:var(--gray-500);margin-bottom:8px;}
.rsel-match-row{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;margin-bottom:4px;}
.rsel-match-strong{color:var(--teal-700);}
.rsel-match-good{color:var(--blue-700);}
.rsel-match-possible{color:#7C4A00;}
.rsel-match-note{font-size:12.5px;color:var(--gray-600);margin-bottom:4px;}
.rsel-card-desc{font-size:12.5px;color:var(--gray-600);margin-bottom:8px;}
.rsel-card-chips{display:flex;flex-wrap:wrap;gap:5px;}
.rsel-card-chip{font-size:11px;padding:3px 9px;border-radius:var(--radius-sm);background:var(--gray-50);color:var(--gray-700);border:1px solid var(--gray-100);}
.rsel-card-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-start;font-size:12px;color:var(--gray-600);min-width:170px;}
.rsel-card-meta-row{display:flex;align-items:center;gap:6px;}
.rsel-card-side{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:160px;}
.rsel-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;align-self:flex-end;}
.rsel-status-accepting{background:#DCFCE7;color:#166534;}
.rsel-status-limited{background:var(--mw-badge-warning-bg);color:var(--mw-badge-warning-text);}
.rsel-status-not{background:var(--gray-100);color:var(--gray-500);}
.rsel-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;}
.rsel-btn-phone{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--teal-700);color:var(--white);border:none;border-radius:var(--radius-md);font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:none;font-family:inherit;}
.rsel-btn-phone:hover{background:var(--teal-800,#0F5249);}
.rsel-btn-phone.rsel-disabled{background:var(--gray-100);color:var(--gray-400);cursor:not-allowed;}
.rsel-btn-email{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--white);color:var(--blue-700);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none;font-family:inherit;}
.rsel-btn-email:hover{background:var(--blue-50);}
.rsel-view-profile{font-size:12px;color:var(--blue-700);text-decoration:none;text-align:center;font-weight:500;padding:4px;cursor:pointer;background:none;border:none;font-family:inherit;}
.rsel-view-profile:hover{text-decoration:underline;}
.rsel-bookmark{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--gray-300);padding:4px;}
.rsel-bookmark:hover{color:var(--teal-600);}
.rsel-footer-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:14px 18px;margin-top:1rem;}
.rsel-footer-title{font-size:13px;font-weight:600;color:var(--blue-900);display:flex;align-items:center;gap:6px;}
.rsel-footer-title::before{content:"";display:inline-block;width:14px;height:14px;background:var(--gray-300);border-radius:50%;}
.rsel-footer-sub{font-size:12px;color:var(--gray-500);margin-top:2px;}
.rsel-refresh-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--white);color:var(--blue-700);border:1px solid var(--blue-200);border-radius:var(--radius-md);font-size:12.5px;font-weight:500;cursor:pointer;font-family:inherit;}
.rsel-refresh-btn:hover{background:var(--blue-50);}
.rsel-btn-confirm{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--blue-600);color:var(--white);border:none;border-radius:var(--radius-md);font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;flex:1;}
.rsel-btn-confirm:hover{background:var(--blue-700);}
.rsel-btn-confirm:disabled{background:var(--gray-200);color:var(--gray-400);cursor:not-allowed;}
.rsel-confirmation-status{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;margin-bottom:4px;}
.rsel-status-pending{background:var(--mw-badge-warning-bg);color:var(--mw-badge-warning-text);}
.rsel-status-confirmed{background:#DCFCE7;color:#166534;}
.rsel-status-declined{background:#FEE2E2;color:#991B1B;}
.rsel-status-dot-pending{width:6px;height:6px;border-radius:50%;background:#FBBF24;animation:pulse 2s infinite;}
.rsel-status-dot-confirmed{width:6px;height:6px;border-radius:50%;background:#22C55E;}
.rsel-status-dot-declined{width:6px;height:6px;border-radius:50%;background:#EF4444;}
@media(max-width:768px){.rsel-card{grid-template-columns:auto 1fr;}.rsel-card-side{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;}.rsel-tabs-row{grid-template-columns:1fr;}.rsel-stats{justify-content:space-between;}}

/* -- My Referrals list in hub -- */
.my-ref-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:0.75rem;}
.my-ref-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;}
.my-ref-title{font-size:14px;font-weight:600;color:var(--blue-900);}
.my-ref-meta{font-size:12px;color:var(--gray-500);margin-top:2px;}
.ref-status-badge{padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;white-space:nowrap;}
.ref-status-draft{background:var(--gray-100);color:var(--gray-600);}
.ref-status-submitted{background:#EFF6FF;color:#1D4ED8;}
.ref-status-matching{background:#F5F3FF;color:#5B21B6;}
.ref-status-curating{background:#FFF8EB;color:#92400E;}
.ref-status-in-progress{background:#FFF8EB;color:#92400E;}
.ref-status-finalized{background:#E1F5EE;color:#0F6E56;}
.ref-status-shortlisted{background:#E1F5EE;color:#0F6E56;}
.ref-status-sent{background:#EEF6FF;color:#0C447C;}
.ref-status-closed{background:var(--gray-50);color:var(--gray-400);}
.ref-status-expired{background:#FEF2F2;color:#B91C1C;}
/* -- Referral lifecycle progress track -- */
.ref-lifecycle{display:flex;align-items:center;gap:0;margin:10px 0 3px;}
.ref-lc-dot{width:9px;height:9px;border-radius:50%;background:var(--gray-200);flex-shrink:0;}
.ref-lc-dot.done{background:var(--teal-400);}
.ref-lc-dot.active{background:var(--blue-600);box-shadow:0 0 0 3px rgba(22,85,184,0.13);}
.ref-lc-dot.lc-expired{background:#EF4444;box-shadow:0 0 0 3px rgba(239,68,68,0.13);}
.ref-lc-line{flex:1;height:2px;background:var(--gray-200);}
.ref-lc-line.done{background:var(--teal-400);}
.my-ref-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.my-ref-btn{padding:6px 14px;border-radius:var(--radius-md);font-size:12.5px;cursor:pointer;border:1px solid var(--gray-200);background:var(--white);color:var(--gray-700);transition:all var(--transition-fast);}
.my-ref-btn:hover{background:var(--gray-50);}
.my-ref-btn.primary{background:var(--blue-600);color:var(--white);border-color:var(--blue-600);}
.my-ref-btn.primary:hover{background:var(--blue-700);}

/* =============================================
   MY REFERRALS REDESIGN v2  Matches Reference
   ============================================= */

/* PHI-Safe Banner */
.my-ref-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#F0FDFA 0%,#ECFDF5 100%);border:1px solid var(--teal-100);border-radius:var(--radius-xl);padding:18px 22px;margin-bottom:1.25rem;}
.my-ref-banner-icon{width:44px;height:44px;border-radius:12px;background:var(--teal-50);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--teal-600);}
.my-ref-banner-title{font-size:14px;font-weight:700;color:var(--blue-900);margin-bottom:4px;}
.my-ref-banner-text{font-size:12.5px;color:var(--gray-600);line-height:1.55;}

/* Stat Cards */
.my-ref-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.25rem;}
@media(max-width:860px){.my-ref-stat-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.my-ref-stat-grid{grid-template-columns:1fr;}}
.my-ref-stat-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:1.1rem 1.25rem;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-sm);transition:box-shadow 0.15s;}
.my-ref-stat-card:hover{box-shadow:var(--shadow-md);}
.my-ref-stat-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;}
.my-ref-stat-icon.blue{background:var(--blue-50);color:var(--blue-600);}
.my-ref-stat-icon.teal{background:var(--teal-50);color:var(--teal-600);}
.my-ref-stat-icon.purple{background:#F5F3FF;color:#7C3AED;}
.my-ref-stat-icon.green{background:#ECFDF5;color:#059669;}
.my-ref-stat-label{font-size:12.5px;font-weight:600;color:var(--gray-700);}
.my-ref-stat-value{font-size:22px;font-weight:700;color:var(--blue-900);line-height:1.2;margin-top:1px;}
.my-ref-stat-sub{font-size:11.5px;color:var(--gray-500);margin-top:2px;}

/* List Header */
.my-ref-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:1rem;flex-wrap:wrap;}
.my-ref-list-title{font-family:'DM Serif Display',serif;font-size:1.15rem;color:var(--blue-900);}
.my-ref-sort{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--gray-500);}
.my-ref-sort select{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:5px 10px;font-size:12.5px;color:var(--gray-700);cursor:pointer;font-family:inherit;}

/* Referral Item */
.my-ref-item{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:1.25rem;margin-bottom:0.75rem;box-shadow:var(--shadow-sm);transition:box-shadow 0.15s;}
.my-ref-item:hover{box-shadow:var(--shadow-md);}
/* Tab hover (replaces inline onmouseover/onmouseout during the CSP migration; the
   active/inactive base color is still set inline by hubMyRefSetTab, and :hover wins). */
.my-ref-tab-btn:hover{color:var(--blue-700)!important;}
.my-ref-item-inner{display:flex;gap:16px;align-items:flex-start;}
@media(max-width:720px){.my-ref-item-inner{flex-direction:column;}}
.my-ref-item-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;}
.my-ref-item-icon.blue{background:var(--blue-50);color:var(--blue-600);}
.my-ref-item-icon.orange{background:#FFF7ED;color:#EA580C;}
.my-ref-item-icon.green{background:#ECFDF5;color:#059669;}
.my-ref-item-icon.purple{background:#F5F3FF;color:#7C3AED;}
.my-ref-item-icon.gray{background:var(--gray-50);color:var(--gray-400);}
.my-ref-item-content{flex:1;min-width:0;}
.my-ref-item-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px;}
.my-ref-item-title{font-size:15px;font-weight:700;color:var(--blue-900);}
.my-ref-item-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;}
.my-ref-item-badge.draft{background:var(--blue-50);color:var(--blue-600);border:1px solid var(--blue-100);}
.my-ref-item-badge.review{background:#FFF7ED;color:#C2410C;border:1px solid #FED7AA;}
.my-ref-item-badge.shortlist{background:#F5F3FF;color:#7C3AED;border:1px solid #DDD6FE;}
.my-ref-item-badge.shared{background:#ECFDF5;color:#059669;border:1px solid #A7F3D0;}
.my-ref-item-badge.closed{background:var(--gray-50);color:var(--gray-500);border:1px solid var(--gray-100);}
.my-ref-item-meta{font-size:12px;color:var(--gray-500);margin-bottom:8px;}
.my-ref-item-expires{font-size:12px;color:var(--amber-600);font-weight:500;margin-bottom:10px;}
.my-ref-item-warn{background:#EFF6FF;border:1px solid #BFDBFE;border-radius:var(--radius-md);padding:8px 12px;font-size:12px;color:#1E40AF;display:flex;align-items:center;gap:8px;margin-top:10px;}
.my-ref-item-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:140px;}
@media(max-width:720px){.my-ref-item-actions{flex-direction:row;flex-wrap:wrap;}}
.my-ref-action-primary{background:linear-gradient(135deg,var(--blue-600) 0%,var(--blue-400) 100%);color:var(--white);border:none;border-radius:var(--radius-md);padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:transform 0.1s,box-shadow 0.15s;font-family:inherit;white-space:nowrap;}
.my-ref-action-primary:hover{box-shadow:0 4px 14px rgba(24,95,165,0.3);}
.my-ref-action-primary:active{transform:scale(0.97);}
.my-ref-action-ghost{background:var(--white);color:var(--gray-700);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:9px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all 0.15s;font-family:inherit;white-space:nowrap;}
.my-ref-action-ghost:hover{background:var(--gray-50);border-color:var(--gray-200);}
.my-ref-action-danger{background:none;border:none;color:var(--red-600);font-size:12.5px;font-weight:500;cursor:pointer;padding:0;font-family:inherit;text-align:center;}
.my-ref-action-danger:hover{text-decoration:underline;}

/* Progress Tracker v2 */
.my-ref-tracker{display:flex;align-items:flex-start;gap:0;margin:10px 0;max-width:420px;}
.my-ref-tracker-step{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;flex:1;}
.my-ref-tracker-step:first-child{align-items:flex-start;}
.my-ref-tracker-step:last-child{align-items:flex-end;}
.my-ref-tracker-dot{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--gray-200);background:var(--white);transition:all 0.2s;}
.my-ref-tracker-dot.completed{background:var(--teal-500);border-color:var(--teal-500);color:var(--white);}
.my-ref-tracker-dot.active-blue{background:var(--blue-600);border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(24,95,165,0.13);}
.my-ref-tracker-dot.active-orange{background:#EA580C;border-color:#EA580C;box-shadow:0 0 0 3px rgba(234,88,12,0.13);}
.my-ref-tracker-dot.pending{background:var(--white);border-color:var(--gray-200);}
.my-ref-tracker-line{position:absolute;top:8px;left:50%;right:-50%;height:2px;background:var(--gray-100);z-index:-1;}
.my-ref-tracker-line.done{background:var(--teal-400);}
.my-ref-tracker-label{font-size:10px;font-weight:600;color:var(--gray-400);text-transform:capitalize;white-space:nowrap;}
.my-ref-tracker-step.active .my-ref-tracker-label{color:var(--blue-800);}

/* Empty State */
.my-ref-empty{background:var(--white);border:2px dashed var(--gray-200);border-radius:var(--radius-xl);padding:2.5rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;}
.my-ref-empty-icon{width:56px;height:56px;border-radius:16px;background:var(--blue-50);color:var(--blue-600);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:4px;}
.my-ref-empty-title{font-size:15px;font-weight:700;color:var(--blue-900);}
.my-ref-empty-desc{font-size:13px;color:var(--gray-500);max-width:320px;line-height:1.55;}

/* -- Structured messages in dashboard -- */
.msg-card{border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:10px;background:var(--gray-50);}
.msg-card.unread{background:var(--blue-50);border-color:var(--blue-100);}
.msg-card-hdr{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;}
.msg-av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.msg-from-name{font-weight:600;color:var(--blue-900);font-size:14px;line-height:1.3;}
.msg-time{font-size:11.5px;color:var(--gray-400);margin-left:auto;white-space:nowrap;}
.msg-fields{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px;}
.msg-field{font-size:11.5px;padding:3px 9px;border-radius:12px;background:var(--white);border:1px solid var(--gray-100);color:var(--gray-700);}
.msg-body{font-size:13px;color:var(--gray-600);line-height:1.6;margin-bottom:10px;border-left:3px solid var(--blue-200);padding-left:10px;}
.msg-actions{display:flex;gap:8px;}
.msg-btn{padding:6px 14px;border-radius:var(--radius-md);font-size:12.5px;cursor:pointer;border:1px solid var(--gray-200);background:var(--white);color:var(--gray-700);transition:all var(--transition-fast);font-family:'Plus Jakarta Sans',sans-serif;}
.msg-btn:hover{background:var(--gray-50);}
.msg-btn.primary{background:var(--blue-600);color:var(--white);border-color:var(--blue-600);}
.msg-btn.primary:hover{background:var(--blue-700);}
/* -- HIPAA Secure Messaging UI -- */
.smsg-conv-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--gray-100);background:var(--white);cursor:pointer;transition:background 0.12s;margin-bottom:8px;}
.smsg-conv-card:hover{background:var(--gray-50);}
.smsg-conv-card.unread{background:var(--blue-50);border-color:var(--blue-100);}
.smsg-conv-av{width:36px;height:36px;border-radius:50%;background:var(--teal-100);color:var(--teal-700);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
.smsg-conv-info{flex:1;min-width:0;}
.smsg-conv-name{font-weight:600;font-size:14px;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.smsg-conv-meta{font-size:11.5px;color:var(--gray-500);margin-top:1px;}
.smsg-conv-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;}
.smsg-conv-time{font-size:11.5px;color:var(--gray-400);}
.smsg-conv-badge{background:var(--blue-600);color:var(--white);font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.smsg-new-btn{width:100%;padding:9px 0;border-radius:var(--radius-md);border:1px dashed var(--teal-300);background:var(--teal-50);color:var(--teal-700);font-size:13px;font-weight:500;cursor:pointer;transition:all 0.12s;margin-top:6px;font-family:'Plus Jakarta Sans',sans-serif;}
.smsg-new-btn:hover{background:var(--teal-100);border-color:var(--teal-400);}
/* Thread modal */
.smsg-modal-box{background:var(--white);border-radius:12px;width:100%;max-width:540px;max-height:82vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.18);}
.smsg-modal-hdr{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--gray-100);flex-shrink:0;}
.smsg-modal-title{font-weight:700;font-size:15px;color:var(--gray-900);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.smsg-modal-close{background:none;border:none;cursor:pointer;color:var(--gray-400);font-size:22px;line-height:1;padding:2px 6px;border-radius:6px;flex-shrink:0;}
.smsg-modal-close:hover{color:var(--gray-700);background:var(--gray-100);}
.smsg-phi-banner{padding:8px 16px;background:#FFFBEB;border-bottom:1px solid #FDE68A;font-size:12px;color:#92400E;flex-shrink:0;}
.smsg-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:180px;}
.smsg-msg-row{display:flex;flex-direction:column;align-items:flex-start;}
.smsg-msg-row.own{align-items:flex-end;}
.smsg-msg-bubble{max-width:78%;padding:8px 12px;border-radius:12px;font-size:13.5px;line-height:1.55;word-break:break-word;background:var(--gray-100);color:var(--gray-900);}
.smsg-msg-row.own .smsg-msg-bubble{background:var(--teal-600);color:var(--white);}
.smsg-msg-phi-tag{font-size:10px;background:var(--mw-badge-warning-bg);color:var(--mw-badge-warning-text);border-radius:4px;padding:2px 6px;margin-top:3px;font-weight:600;}
.smsg-msg-time{font-size:10.5px;color:var(--gray-400);margin-top:3px;}
.smsg-compose{padding:12px 16px;border-top:1px solid var(--gray-100);flex-shrink:0;}
.smsg-phi-checklabel{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-600);margin-bottom:8px;cursor:pointer;}
.smsg-compose-row{display:flex;gap:8px;align-items:flex-end;}
.smsg-compose-ta{flex:1;border:1px solid var(--gray-200);border-radius:8px;padding:8px 10px;font-size:13.5px;font-family:'Plus Jakarta Sans',sans-serif;resize:none;min-height:56px;max-height:120px;outline:none;color:var(--gray-900);line-height:1.5;}
.smsg-compose-ta:focus{border-color:var(--teal-500);box-shadow:0 0 0 2px rgba(13,148,136,0.1);}
.smsg-send-btn{padding:8px 18px;border-radius:8px;background:var(--teal-600);color:var(--white);border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:background 0.12s;flex-shrink:0;align-self:flex-end;}
.smsg-send-btn:hover:not(:disabled){background:var(--teal-700);}
.smsg-send-btn:disabled{background:var(--gray-200);color:var(--gray-500);cursor:not-allowed;}
.smsg-load-more{text-align:center;margin-bottom:8px;}
.smsg-load-more-btn{background:none;border:1px solid var(--gray-200);border-radius:6px;padding:5px 14px;font-size:12px;color:var(--gray-600);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;}
.smsg-load-more-btn:hover{background:var(--gray-50);}
.smsg-empty{padding:32px 16px;text-align:center;color:var(--gray-400);font-size:13px;}
.smsg-loading{padding:24px;text-align:center;color:var(--gray-400);font-size:13px;}
.smsg-char-hint{font-size:11px;color:var(--gray-400);margin-top:5px;text-align:right;}
/* -- Provider notification in dashboard -- */
.cd-notif-card{border:1px solid var(--blue-100);background:var(--blue-50);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:8px;display:flex;gap:12px;align-items:flex-start;}
.cd-notif-card.read{background:var(--gray-50);border-color:var(--gray-100);}
.cd-notif-icon{width:32px;height:32px;border-radius:50%;background:var(--blue-600);color:var(--white);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cd-notif-card.read .cd-notif-icon{background:var(--gray-200);color:var(--gray-500);}
.cd-notif-title{font-size:13px;font-weight:600;color:var(--blue-900);margin-bottom:2px;}
.cd-notif-card.read .cd-notif-title{color:var(--gray-600);font-weight:500;}
.cd-notif-body{font-size:12px;color:var(--gray-600);line-height:1.5;}
.cd-notif-time{font-size:11px;color:var(--gray-400);margin-top:4px;}
.cd-notif-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--blue-600);flex-shrink:0;margin-top:5px;}

/* -- Board application card -- */
.board-applicant-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--gray-100);border-radius:var(--radius-md);margin-bottom:6px;background:var(--white);}
.board-applicant-av{width:32px;height:32px;border-radius:50%;background:var(--blue-100);color:var(--blue-700);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
.board-applicant-name{font-size:13px;font-weight:500;color:var(--blue-900);}
.board-applicant-meta{font-size:11.5px;color:var(--gray-500);}
.board-add-btn{margin-left:auto;padding:5px 12px;background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-200);border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;}
.board-add-btn:hover{background:var(--teal-100);}
.board-add-btn.added{background:var(--teal-600);color:var(--white);border-color:var(--teal-600);}

.modal-overlay{display:none;position:fixed;inset:0;background:rgba(4,44,83,0.5);z-index:200;align-items:center;justify-content:center;}
/* PHI Preview Modal */
.data-preview-icon{width:52px;height:52px;border-radius:50%;background:var(--teal-50);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;}
.data-preview-title{font-size:1.1rem;font-weight:700;color:var(--gray-900);text-align:center;margin:0 0 0.4rem;}
.data-preview-sub{font-size:13px;color:var(--gray-500);text-align:center;margin:0 0 1rem;line-height:1.55;}
.data-preview-text-wrap{background:var(--teal-50);border:1px solid var(--teal-100);border-radius:var(--radius-md);padding:0.85rem 1rem;margin-bottom:0.75rem;}
.data-preview-text{font-size:14px;color:var(--gray-900);line-height:1.6;font-style:italic;}
.data-preview-details{font-size:12px;color:var(--gray-500);margin-bottom:1.1rem;}
.data-preview-details summary{cursor:pointer;user-select:none;font-weight:500;}
.data-preview-changes{margin:0.5rem 0 0 1rem;padding:0;list-style:disc;color:var(--gray-500);}
.data-preview-changes li{margin-bottom:2px;}
.data-preview-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:0.25rem;}
.btn-ghost{background:none;border:1px solid var(--gray-200);color:var(--gray-600);border-radius:var(--radius-md);padding:9px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition-fast);}
.btn-ghost:hover{background:var(--gray-50);}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--white);border-radius:var(--radius-xl);padding:1.75rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);margin:1rem;}
.posting-type-btn{background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-md);padding:0.75rem 0.5rem;cursor:pointer;text-align:center;transition:border-color 0.15s,background 0.15s;width:100%;}
.posting-type-btn:hover{border-color:var(--teal-400);background:var(--teal-50);}
.posting-type-btn.active{border-color:var(--teal-600);background:#f0faf7;}
.modal-title{font-family:'DM Serif Display',serif;font-size:1.3rem;color:var(--blue-900);margin-bottom:4px;}
.modal-sub{font-size:13px;color:var(--gray-500);margin-bottom:1.25rem;}
.form-group{margin-bottom:1rem;}
.form-label{display:block;font-size:13px;font-weight:500;color:var(--blue-800);margin-bottom:5px;}
.form-input,.form-select,.form-textarea{width:100%;padding:9px 12px;border-radius:var(--radius-md);border:1px solid var(--blue-100);font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--blue-900);background:var(--blue-50);outline:none;transition:border-color 0.15s,background 0.15s;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--teal-500);background:var(--white);box-shadow:0 0 0 3px rgba(20,184,166,0.15);}
.form-textarea{resize:vertical;min-height:80px;line-height:1.5;}
.sensitivity-guard{background:var(--red-50);border-radius:var(--radius-md);padding:10px 12px;font-size:12px;color:var(--red-600);line-height:1.5;margin-bottom:1rem;display:flex;gap:8px;}
.content-warn{display:none;font-size:11px;color:var(--red-600);margin-top:4px;}
.modal-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:1.25rem;}
.modal-cancel{padding:9px 18px;border-radius:var(--radius-md);border:1px solid var(--gray-100);background:transparent;font-size:13px;cursor:pointer;color:var(--gray-500);}
.modal-submit{padding:9px 20px;border-radius:var(--radius-md);background:var(--blue-600);color:var(--white);border:none;font-size:13px;font-weight:500;cursor:pointer;}
.phone-reveal-modal .modal-box{max-width:420px;}
.phone-reveal-title{font-family:'DM Serif Display',serif;font-size:1.2rem;color:var(--blue-900);margin-bottom:4px;}
.phone-reveal-sub{font-size:13px;color:var(--gray-600);margin-bottom:1.5rem;line-height:1.5;}
.phone-reveal-notice{background:var(--amber-50);border:1px solid var(--amber-200);border-radius:var(--radius-md);padding:10px 12px;font-size:12px;color:var(--amber-900);margin-bottom:1.25rem;line-height:1.5;}
.phone-captcha-container{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:12px;margin-bottom:1.25rem;min-height:78px;display:flex;align-items:center;justify-content:center;}
.phone-display-box{background:var(--blue-50);border:2px solid var(--blue-200);border-radius:var(--radius-md);padding:1.25rem;text-align:center;margin-bottom:1rem;}
.phone-display-label{font-size:12px;color:var(--gray-600);margin-bottom:6px;}
.phone-display-number{font-family:monospace;font-size:1.5rem;font-weight:600;color:var(--blue-900);letter-spacing:2px;}
.phone-display-copy{font-size:12px;color:var(--teal-600);margin-top:8px;cursor:pointer;}
.phone-call-link{display:inline-block;margin-top:8px;color:var(--teal-600);text-decoration:none;font-weight:500;}
.match-page{padding:2rem;max-width:900px;margin:0 auto;}
.match-hero{background:var(--blue-900);border-radius:var(--radius-xl);padding:2.5rem 2rem;margin-bottom:2rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;}
.match-hero-title{font-family:'DM Serif Display',serif;font-size:1.6rem;color:var(--white);margin-bottom:0.6rem;}
.match-hero-sub{font-size:14px;color:var(--blue-100);line-height:1.6;}
.match-demo{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-lg);padding:1.25rem;}
.match-demo-label{font-size:11px;color:rgba(255,255,255,0.4);margin-bottom:0.75rem;text-transform:uppercase;letter-spacing:0.06em;}
.signal-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.signal-name{font-size:12px;color:var(--blue-100);width:110px;flex-shrink:0;}
.signal-bar-bg{flex:1;height:5px;background:rgba(255,255,255,0.1);border-radius:3px;overflow:hidden;}
.signal-bar{height:100%;border-radius:3px;background:var(--blue-400);}
.signal-val{font-size:12px;color:var(--white);font-weight:500;width:30px;text-align:right;}
.match-how{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;}
.match-factor{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.25rem;}
.mf-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--blue-50);display:flex;align-items:center;justify-content:center;margin-bottom:0.75rem;}
.mf-title{font-size:13px;font-weight:500;color:var(--blue-900);margin-bottom:5px;}
.mf-desc{font-size:12px;color:var(--gray-500);line-height:1.55;}
.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 60px);}
.admin-sidebar{background:#0A1628;padding:1.5rem 1rem;}
.admin-sidebar-title{font-size:10px;font-weight:600;color:rgba(255,255,255,0.65);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.5rem;padding:0 8px;margin-top:1.25rem;}
.admin-sidebar-title:first-child{margin-top:0;}
.admin-nav-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-md);font-size:13px;color:rgba(255,255,255,0.88);cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:all 0.15s;margin-bottom:2px;}
.admin-nav-item:hover{background:rgba(255,255,255,0.09);color:#fff;}
.admin-nav-item.active{background:rgba(255,255,255,0.14);color:#fff;}
.admin-badge{margin-left:auto;background:#E24B4A;color:var(--white);border-radius:10px;font-size:10px;padding:1px 6px;}
.admin-nav-info-icon{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.4);color:rgba(255,255,255,0.5);font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all 0.15s;line-height:1;margin-left:4px;font-family:'Plus Jakarta Sans',sans-serif;}
.admin-nav-info-icon:hover{border-color:rgba(255,255,255,0.7);color:rgba(255,255,255,0.8);background:rgba(255,255,255,0.1);}
.admin-info-tooltip{position:fixed;z-index:1000;background:var(--white);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-lg);width:280px;max-width:95vw;display:none;}
.admin-info-tooltip.visible{display:block;}
.admin-info-tooltip-title{font-size:13px;font-weight:600;color:var(--blue-900);margin-bottom:0.6rem;}
.admin-info-tooltip-text{font-size:12px;line-height:1.6;color:var(--gray-600);}
.admin-main{padding:1.75rem;background:var(--gray-50);}
.admin-page{display:none;}
.admin-page.active{display:block;}
.admin-hd{font-family:'DM Serif Display',serif;font-size:1.4rem;color:var(--blue-900);margin-bottom:0.25rem;}
.admin-sub{font-size:13px;color:var(--gray-600);margin-bottom:1.5rem;}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:1.5rem;}
.admin-stat{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:1rem;}
.admin-stat-num{font-size:24px;font-weight:500;color:var(--blue-900);}
.admin-stat-label{font-size:12px;color:var(--gray-500);margin-top:3px;}
.admin-stat-trend{font-size:11px;color:var(--teal-600);margin-top:4px;}
/* ── Dark Admin Theme Overrides ─────────────────────────────────────────── */
body.in-admin{background:var(--gray-50);color:var(--gray-800);}
body.in-admin .admin-main{background:var(--gray-50);padding:1.75rem;}
body.in-admin .admin-hd{font-family:'DM Serif Display',serif;font-size:1.5rem;color:var(--blue-900);margin-bottom:0.25rem;}
body.in-admin .admin-sub{font-size:13px;color:var(--gray-600);margin-bottom:1.5rem;}
body.in-admin .admin-card{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 2px rgba(10,22,40,0.04);}
body.in-admin .admin-card-title{font-size:13px;font-weight:600;color:var(--blue-900);margin-bottom:0.9rem;}
body.in-admin .admin-tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--gray-200);margin-bottom:1rem;flex-wrap:wrap;}
body.in-admin .admin-tab{padding:8px 14px;font-size:12.5px;font-weight:500;color:var(--gray-500);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;}
body.in-admin .admin-tab:hover{color:var(--teal-700);}
body.in-admin .admin-tab.active{color:var(--teal-700);border-bottom-color:var(--teal-600);}
body.in-admin .admin-stat{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:1rem;box-shadow:0 1px 2px rgba(10,22,40,0.04);}
body.in-admin .admin-stat-num{font-size:24px;font-weight:600;color:var(--blue-900);}
body.in-admin .admin-stat-label{font-size:12px;color:var(--gray-500);margin-top:3px;}
body.in-admin .admin-stat-trend{font-size:11px;color:var(--teal-600);margin-top:4px;}
body.in-admin .admin-stat-trend.negative{color:#DC2626;}

/* Admin summary cards */
.admin-summary-card{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:center;gap:14px;transition:border-color 0.15s,box-shadow 0.15s;box-shadow:0 1px 2px rgba(10,22,40,0.04);}
.admin-summary-card:hover{border-color:var(--gray-300);box-shadow:0 4px 14px rgba(10,22,40,0.06);}
.admin-summary-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.admin-summary-icon.pending{background:rgba(13,148,136,0.10);color:var(--teal-700);}
.admin-summary-icon.verified{background:#ECFDF5;color:#047857;}
.admin-summary-icon.flagged{background:#FFFBEB;color:#B45309;}
.admin-summary-icon.suspended{background:#FEF2F2;color:#B91C1C;}
.admin-summary-value{font-size:22px;font-weight:700;color:var(--blue-900);line-height:1;}
.admin-summary-label{font-size:12px;color:var(--gray-500);margin-top:3px;}
.admin-summary-delta{font-size:11px;font-weight:600;margin-top:3px;}
.admin-summary-delta.up{color:#059669;}
.admin-summary-delta.down{color:#DC2626;}

/* Admin data table */
.admin-data-table{width:100%;border-collapse:separate;border-spacing:0;}
.admin-data-table thead th{padding:10px 14px;font-size:11px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.05em;text-align:left;border-bottom:1px solid var(--gray-200);background:transparent;white-space:nowrap;}
.admin-data-table tbody td{padding:12px 14px;font-size:13px;color:var(--gray-800);border-bottom:1px solid var(--gray-200);vertical-align:middle;}
.admin-data-table tbody tr:hover td{background:var(--gray-50);}
.admin-data-table tbody tr.selected td{background:var(--teal-50);}
.admin-data-table .td-name{display:flex;align-items:center;gap:10px;}
.admin-data-table .td-avatar{width:32px;height:32px;border-radius:50%;background:var(--teal-50);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--teal-700);flex-shrink:0;}
.admin-data-table .td-name-text{font-weight:500;color:var(--blue-900);}
.admin-data-table .td-email{font-size:11px;color:var(--gray-500);}

/* Badges */
.badge-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;}
.badge-role-professional{background:#ECFEFF;color:var(--teal-700);border:1px solid #99F6E4;}
.badge-role-patient{background:#F5F3FF;color:#7C3AED;border:1px solid #DDD6FE;}
.badge-role-admin{background:#FFFBEB;color:#B45309;border:1px solid #FDE68A;}
.badge-verification-verified{background:#ECFDF5;color:#047857;border:1px solid #A7F3D0;}
.badge-verification-pending{background:#FFFBEB;color:#B45309;border:1px solid #FDE68A;}
.badge-verification-flagged{background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA;}
.badge-verification-rejected{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200);}
.badge-status-active{background:#ECFDF5;color:#047857;border:1px solid #A7F3D0;}
.badge-status-suspended{background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA;}
.badge-status-pending{background:#FFFBEB;color:#B45309;border:1px solid #FDE68A;}

/* Admin filters */
.admin-filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:1rem;}
.admin-filter-input{background:var(--white);border:1px solid var(--gray-300);border-radius:8px;padding:8px 12px;color:var(--gray-800);font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;min-width:180px;}
.admin-filter-input::placeholder{color:var(--gray-400);}
.admin-filter-input:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(20,184,166,0.15);}
.admin-filter-select{background:var(--white);border:1px solid var(--gray-300);border-radius:8px;padding:8px 12px;color:var(--gray-800);font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;min-width:140px;cursor:pointer;}
.admin-filter-select:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(20,184,166,0.15);}
.admin-filter-btn{background:var(--white);border:1px solid var(--gray-300);border-radius:8px;padding:8px 14px;color:var(--gray-600);font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;cursor:pointer;transition:all 0.15s;}
.admin-filter-btn:hover{background:var(--gray-50);color:var(--gray-800);border-color:var(--gray-400);}
.admin-filter-btn.primary{background:var(--teal-600);color:#fff;border-color:var(--teal-600);font-weight:600;}
.admin-filter-btn.primary:hover{background:var(--teal-700);border-color:var(--teal-700);}

/* Admin detail drawer */
.admin-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:100vw;background:var(--white);border-left:1px solid var(--gray-200);box-shadow:-4px 0 24px rgba(10,22,40,0.16);z-index:3000;display:flex;flex-direction:column;transform:translateX(100%);transition:transform 0.25s ease;}
.admin-drawer.open{transform:translateX(0);}
.admin-drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(10,22,40,0.35);z-index:2999;display:none;}
.admin-drawer-overlay.open{display:block;}
.admin-drawer-header{padding:20px 24px;border-bottom:1px solid var(--gray-200);display:flex;align-items:flex-start;gap:14px;}
.admin-drawer-header .drawer-avatar{width:48px;height:48px;border-radius:50%;background:var(--teal-50);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:var(--teal-700);flex-shrink:0;}
.admin-drawer-header .drawer-title{font-size:15px;font-weight:700;color:var(--blue-900);}
.admin-drawer-header .drawer-meta{font-size:12px;color:var(--gray-500);margin-top:3px;}
.admin-drawer-body{flex:1;overflow-y:auto;padding:20px 24px;}
.admin-drawer-footer{padding:16px 24px;border-top:1px solid var(--gray-200);display:flex;gap:10px;flex-wrap:wrap;}
.admin-drawer-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--gray-500);font-size:20px;cursor:pointer;padding:4px;line-height:1;}
.admin-drawer-close:hover{color:var(--blue-900);}

/* Drawer tabs */
.drawer-tabs{display:flex;gap:0;border-bottom:1px solid var(--gray-200);margin-bottom:1rem;}
.drawer-tab{padding:8px 14px;font-size:12.5px;font-weight:500;color:var(--gray-500);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;}
.drawer-tab:hover{color:var(--teal-700);}
.drawer-tab.active{color:var(--teal-700);border-bottom-color:var(--teal-600);}
.drawer-tab-content{display:none;}
.drawer-tab-content.active{display:block;}

/* Drawer verification cards */
.drawer-ver-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;padding:14px;margin-bottom:10px;}
.drawer-ver-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.drawer-ver-card-title{font-size:13px;font-weight:600;color:var(--blue-900);display:flex;align-items:center;gap:8px;}
.drawer-ver-card-value{font-size:13px;color:var(--gray-800);margin-bottom:4px;}
.drawer-ver-card-sub{font-size:12px;color:var(--gray-500);}

/* Drawer notes */
.drawer-note{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;padding:14px;margin-bottom:10px;}
.drawer-note-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.drawer-note-author{font-size:12px;font-weight:600;color:var(--blue-900);}
.drawer-note-date{font-size:11px;color:var(--gray-400);}
.drawer-note-text{font-size:13px;color:var(--gray-700);line-height:1.5;}

/* Admin sidebar restructuring */
.admin-sidebar .sidebar-brand{display:flex;align-items:center;gap:10px;margin-bottom:1.5rem;padding:0 8px;}
.admin-sidebar .sidebar-brand-logo{width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,#14B8A6,#0D9488);display:flex;align-items:center;justify-content:center;font-size:14px;}
.admin-sidebar .sidebar-brand-name{font-family:'DM Serif Display',serif;font-size:16px;color:#F8FAFC;}
.admin-sidebar .sidebar-brand-tag{font-size:10px;color:#94A3B8;margin-top:-2px;}

/* Action buttons in drawer */
.btn-drawer-approve{background:#10B981;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity 0.15s;}
.btn-drawer-approve:hover{opacity:0.9;}
.btn-drawer-reject{background:#EF4444;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity 0.15s;}
.btn-drawer-reject:hover{opacity:0.9;}
.btn-drawer-secondary{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);border-radius:8px;padding:10px 18px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:all 0.15s;}
.btn-drawer-secondary:hover{background:var(--gray-200);}

/* Pagination */
.admin-pagination{display:flex;align-items:center;gap:6px;margin-top:1rem;}
.admin-pagination-btn{background:var(--white);border:1px solid var(--gray-300);border-radius:6px;padding:6px 12px;color:var(--gray-600);font-size:12px;cursor:pointer;font-family:inherit;}
.admin-pagination-btn:hover{background:var(--gray-50);color:var(--gray-800);}
.admin-pagination-btn.active{background:var(--teal-600);color:#fff;border-color:var(--teal-600);font-weight:600;}

/* Keep existing light admin styles for non-dark contexts */
.admin-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem;}
.admin-pending-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:1.5rem;}
.admin-pending-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;gap:6px;}
.admin-pending-card .pending-name{font-size:14px;font-weight:600;color:var(--blue-900);}
.admin-pending-card .pending-meta{font-size:12px;color:var(--gray-500);line-height:1.45;}
.admin-pending-card .pending-actions{display:flex;gap:8px;margin-top:4px;}
.admin-pipeline{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:0.5rem;}
.admin-pipeline-step{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:10px 12px;text-align:center;flex:1;min-width:90px;}
.admin-pipeline-step .pipeline-num{font-size:20px;font-weight:600;color:var(--blue-900);}
.admin-pipeline-step .pipeline-label{font-size:11px;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.5px;margin-top:2px;}
.admin-pipeline-arrow{color:var(--gray-300);font-size:14px;flex-shrink:0;}
.admin-card-title{font-size:13px;font-weight:500;color:var(--blue-900);margin-bottom:0.9rem;}
.admin-tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--gray-100);margin-bottom:1rem;flex-wrap:wrap;}
.admin-tab{padding:8px 14px;font-size:12.5px;font-weight:500;color:var(--gray-500);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;}
.admin-tab:hover{color:var(--blue-800);}
.admin-tab.active{color:var(--blue-900);border-bottom-color:var(--blue-600);}
.privilege-matrix{width:100%;border-collapse:collapse;font-size:12px;}
.privilege-matrix th,.privilege-matrix td{padding:8px 10px;border-bottom:1px solid var(--gray-100);text-align:left;}
.privilege-matrix th{font-weight:600;color:var(--gray-600);background:var(--gray-50);font-size:11px;text-transform:uppercase;letter-spacing:0.05em;}
.privilege-matrix td{color:var(--gray-700);}
.privilege-toggle{width:36px;height:20px;border-radius:10px;background:var(--gray-200);position:relative;cursor:pointer;transition:background 0.2s;display:inline-block;flex-shrink:0;}
.privilege-toggle.on{background:var(--teal-500);}
.privilege-toggle::after{content:'';position:absolute;width:16px;height:16px;border-radius:50%;background:var(--white);top:2px;left:2px;transition:left 0.2s;box-shadow:0 1px 2px rgba(0,0,0,0.15);}
.privilege-toggle.on::after{left:18px;}
.launch-checklist{display:flex;flex-direction:column;gap:0;}
.launch-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--gray-50);}
.launch-item:last-child{border-bottom:none;}
.launch-status{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px;}
.launch-status.not-started{background:var(--gray-300);}
.launch-status.needs-review{background:#F59E0B;}
.launch-status.working{background:#3B82F6;}
.launch-status.complete{background:var(--teal-500);}
.data-risk-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;}
.data-risk-badge.low{background:var(--gray-50);color:var(--gray-500);}
.data-risk-badge.medium{background:#FEF3C7;color:#854F0B;}
.data-risk-badge.high{background:#FEECEC;color:#A32D2D;}
.data-risk-badge.critical{background:var(--red-600);color:var(--white);}
.feature-flag-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--gray-50);flex-wrap:wrap;}
.feature-flag-row:last-child{border-bottom:none;}
.feature-flag-info{flex:1;min-width:200px;}
.feature-flag-name{font-size:13px;font-weight:500;color:var(--blue-900);margin-bottom:2px;}
.feature-flag-desc{font-size:11.5px;color:var(--gray-500);}
.feature-flag-meta{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.content-editor-field{margin-bottom:1.5rem;}
.content-editor-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.content-editor-label-text{font-size:13px;font-weight:500;color:var(--blue-900);}
.content-editor-status{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--gray-100);color:var(--gray-500);}
.content-editor-status.draft{background:var(--mw-badge-warning-bg);color:var(--mw-badge-warning-text);}
.content-editor-status.published{background:#ECFDF5;color:#065F46;}
.compliance-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--gray-50);flex-wrap:wrap;}
.compliance-setting-row:last-child{border-bottom:none;}
.compliance-setting-label{font-size:13px;color:var(--gray-700);}
.compliance-setting-control{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.referral-ops-table{width:100%;border-collapse:collapse;font-size:12px;}
.referral-ops-table th,.referral-ops-table td{padding:8px 10px;border-bottom:1px solid var(--gray-100);text-align:left;}
.referral-ops-table th{font-weight:600;color:var(--gray-600);background:var(--gray-50);font-size:11px;text-transform:uppercase;letter-spacing:0.05em;}
.referral-ops-table td{color:var(--gray-700);}
.quick-action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:1rem;}
.quick-action-btn{padding:12px;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);font-size:12px;font-weight:500;color:var(--blue-900);cursor:pointer;transition:all 0.15s;text-align:left;font-family:'Plus Jakarta Sans',sans-serif;}
.quick-action-btn:hover{background:var(--blue-50);border-color:var(--blue-200);}
.flag-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--gray-50);}
.flag-row:last-child{border-bottom:none;}
.flag-sev{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.flag-sev.high{background:var(--red-600);}
.flag-sev.med{background:#BA7517;}
.flag-sev.low{background:var(--gray-300);}
.flag-body{flex:1;}
.flag-title{font-size:13px;color:var(--gray-900);margin-bottom:2px;}
.flag-meta{font-size:11px;color:var(--gray-500);}
.flag-actions{display:flex;gap:5px;flex-shrink:0;}
.flag-btn{padding:5px 11px;border-radius:var(--radius-sm);font-size:11px;cursor:pointer;border:1px solid var(--gray-100);background:transparent;color:var(--gray-700);transition:background 0.15s;}
.flag-btn:hover{background:var(--gray-50);}
.flag-btn.approve{border-color:var(--teal-100);color:var(--teal-600);}
.flag-btn.remove{border-color:#F09595;color:var(--red-600);}
.license-table{width:100%;border-collapse:collapse;font-size:13px;}
.license-table th{font-size:11px;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.04em;padding:8px 10px;border-bottom:1px solid var(--gray-100);text-align:left;}
.license-table td{padding:10px 10px;border-bottom:1px solid var(--gray-50);color:var(--gray-700);vertical-align:middle;}
.license-table tr:last-child td{border-bottom:none;}
.lic-status{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 7px;border-radius:var(--radius-sm);}
.lic-active{background:var(--teal-50);color:var(--teal-600);}
.lic-expiring{background:var(--amber-50);color:var(--amber-600);}
.lic-expired{background:var(--red-50);color:var(--red-600);}
.role-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:0.9rem;display:flex;align-items:center;gap:12px;}
.role-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.role-name{font-size:14px;font-weight:500;color:var(--blue-900);margin-bottom:3px;}
.role-desc{font-size:12px;color:var(--gray-500);line-height:1.5;}
.role-perms{margin-left:auto;text-align:right;}
.perm-pill{display:inline-block;font-size:10px;padding:2px 8px;border-radius:10px;background:var(--blue-50);color:var(--blue-800);margin:2px;}
.divider{border:none;border-top:1px solid var(--gray-100);margin:1rem 0;}
/* -- Mobile bottom navigation -- */
.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:110;background:var(--white);border-top:1px solid var(--gray-100);box-shadow:0 -4px 20px rgba(4,44,83,0.08);padding-bottom:env(safe-area-inset-bottom,0px);}
.mobile-bottom-nav-inner{display:grid;grid-template-columns:repeat(4,1fr);height:60px;}
.mbn-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:none;background:none;cursor:pointer;color:var(--gray-400);font-size:10px;font-weight:500;transition:color 0.15s;padding:0;position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.mbn-tab svg{width:22px;height:22px;stroke:currentColor;fill:none;transition:stroke 0.15s;}
.mbn-tab.active{color:var(--blue-700);}
.mbn-tab.active svg{stroke:var(--blue-700);}
.mbn-tab-badge{position:absolute;top:6px;right:calc(50% - 16px);background:var(--teal-600);color:white;font-size:9px;font-weight:700;border-radius:10px;padding:1px 5px;min-width:16px;text-align:center;display:none;}
.mbn-tab-badge.visible{display:block;}
@media(max-width:640px){
  .mobile-bottom-nav{display:block;}
  body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));}
  .nav-mobile-menu{z-index:120;}
  .nav-mobile-menu.open ~ .mobile-bottom-nav{display:none;}
}
/* Mobile nav */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:4px;border-radius:var(--radius-md);}
.nav-hamburger span{display:block;height:2px;width:22px;background:var(--gray-700);border-radius:2px;transition:all 0.25s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-mobile-menu{display:none;position:fixed;inset:60px 0 0 0;background:var(--white);z-index:99;padding:1rem;overflow-y:auto;border-top:1px solid var(--gray-100);}
.nav-mobile-menu.open{display:flex;flex-direction:column;gap:4px;}
.nav-mobile-link{padding:11px 14px;border-radius:var(--radius-md);font-size:15px;color:var(--gray-700);background:none;border:none;cursor:pointer;text-align:left;width:100%;font-family:'Plus Jakarta Sans',sans-serif;transition:background 0.15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;}
.nav-mobile-link:hover{background:var(--gray-50);}
.nav-mobile-cta{margin-top:8px;padding:13px;border-radius:var(--radius-md);background:var(--blue-600);color:var(--white);border:none;font-size:15px;font-weight:500;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;}
.nav-mobile-crisis{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--gray-100);margin-top:1rem;text-align:center;font-size:13px;color:var(--gray-500);}
.nav-mobile-crisis a{color:var(--teal-600);font-weight:500;text-decoration:none;}
/* -- Results filter/sort bar -- */
.rf-bar{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:0.75rem 1rem;margin-bottom:1rem;display:flex;gap:0.6rem;flex-wrap:wrap;align-items:center;}
.rf-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--gray-400);white-space:nowrap;}
.rf-select{border:1.5px solid var(--gray-200);border-radius:var(--radius-md);padding:5px 10px;font-size:13px;color:var(--gray-700);background:var(--white);cursor:pointer;font-family:inherit;}
.rf-select:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(55,138,221,0.15);}
.rf-divider{width:1px;height:20px;background:var(--gray-100);flex-shrink:0;}
.rf-count{margin-left:auto;font-size:13px;font-weight:500;color:var(--gray-500);white-space:nowrap;}
/* -- Save / heart button -- */
.save-btn{background:none;border:none;cursor:pointer;padding:4px;line-height:1;flex-shrink:0;color:var(--gray-300);transition:color 0.15s,transform 0.15s;}
.save-btn:hover{color:#e05674;transform:scale(1.15);}
.save-btn.saved{color:#e05674;}
/* -- Saved drawer -- */
.saved-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:150;background:var(--blue-900);color:var(--white);border:none;border-radius:50px;padding:0.65rem 1.1rem;font-size:14px;font-weight:500;cursor:pointer;box-shadow:var(--shadow-lg);display:none;align-items:center;gap:7px;transition:opacity 0.15s;}
.saved-fab.visible{display:flex;}
.saved-fab:hover{opacity:0.88;}
.saved-drawer{position:fixed;inset:0;z-index:300;display:none;}
.saved-drawer.open{display:block;}
.saved-drawer-bg{position:absolute;inset:0;background:rgba(4,44,83,0.4);}
.saved-drawer-panel{position:absolute;right:0;top:0;bottom:0;width:360px;max-width:95vw;background:var(--white);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;}
.saved-drawer-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;}
.saved-drawer-title{font-family:'DM Serif Display',serif;font-size:1.1rem;color:var(--blue-900);}
.saved-drawer-close{background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--gray-400);line-height:1;padding:4px;}
.saved-drawer-body{flex:1;overflow-y:auto;padding:1rem;}
.saved-item{display:flex;align-items:center;gap:0.75rem;padding:0.75rem;border:1px solid var(--gray-100);border-radius:var(--radius-md);margin-bottom:0.5rem;cursor:pointer;transition:border-color 0.15s;}
.saved-item:hover{border-color:var(--blue-200);}
/* -- Split CTA section -- */
.split-cta{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--radius-xl);overflow:hidden;margin:2.5rem 0;}
.split-cta-panel{padding:2.5rem 2rem;}
.split-cta-panel.patient{background:var(--blue-900);color:var(--white);}
.split-cta-panel.clinician{background:var(--teal-600);color:var(--white);}
.split-cta-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;opacity:0.7;margin-bottom:0.5rem;}
.split-cta-title{font-family:'DM Serif Display',serif;font-size:1.4rem;margin-bottom:0.5rem;color:var(--white);}
.split-cta-sub{font-size:14px;opacity:0.85;line-height:1.55;margin-bottom:1.25rem;}
.split-cta-btn{background:var(--pm-cta-secondary-bg);border:1.5px solid var(--pm-border-inverse-soft);color:var(--pm-text-inverse);border-radius:var(--radius-md);padding:0.65rem 1.25rem;font-size:14px;font-weight:500;cursor:pointer;transition:background 0.15s;font-family:inherit;}
.split-cta-btn:hover{background:rgba(255,255,255,0.25);}
.split-cta-btn.solid{background:var(--white);color:var(--blue-900);border-color:var(--white);}
.split-cta-btn.solid:hover{background:var(--gray-50);}
.split-cta-btn.solid.pm-cta-patient-primary{background:var(--pm-cta-primary-bg);color:var(--pm-cta-primary-text);border-color:transparent;box-shadow:var(--pm-shadow-cta-primary);}
.split-cta-btn.solid.pm-cta-patient-primary:hover{background:var(--blue-700);}
/* -- Profile edit modal -- */
.profile-edit-overlay{display:none;position:fixed;inset:0;background:rgba(4,44,83,0.5);z-index:250;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto;}
.profile-edit-overlay.open{display:flex;}
.profile-edit-box{background:var(--white);border:1px solid var(--teal-100);border-radius:var(--radius-xl);padding:2rem;width:100%;max-width:580px;box-shadow:var(--shadow-lg);margin:auto;}
/* -- Admin/demo gating (legacy pattern preserved for future use) -- */
.admin-demo-only{display:none !important;}
body.is-admin .admin-demo-only{display:inline-flex !important;}
/* -- Nav unification: hide public top nav inside dashboard / admin shells -- */
body.in-dashboard > nav.pm-load-nav,
body.in-dashboard #nav-mobile-menu,
body.in-admin > nav.pm-load-nav,
body.in-admin #nav-mobile-menu{display:none !important;}
/* -- Hero mock card -- */
.hero-mock-card{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);border-radius:16px;padding:1rem 1.25rem;max-width:360px;margin:0 auto 0.5rem;backdrop-filter:blur(6px);position:relative;overflow:hidden;}
@keyframes mockCardFade{0%{opacity:0;transform:translateY(8px);}15%{opacity:1;transform:translateY(0);}85%{opacity:1;transform:translateY(0);}100%{opacity:0;transform:translateY(-6px);}}
.hero-mock-slide{position:absolute;inset:0;padding:1rem 1.25rem;animation:mockCardFade 5s ease-in-out infinite;opacity:0;}
.hero-mock-slide:nth-child(1){animation-delay:0s;}
.hero-mock-slide:nth-child(2){animation-delay:5s;}
.hero-mock-slide:nth-child(3){animation-delay:10s;}
.hero-mock-card-height{height:112px;}
.hero-mock-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.4);margin-bottom:0.65rem;}
.hero-mock-row{display:flex;align-items:center;gap:10px;margin-bottom:0.65rem;}
.hero-mock-av{width:40px;height:40px;border-radius:50%;background:#B5D4F4;color:#0C447C;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex-shrink:0;}
.hero-mock-name{font-size:13px;font-weight:600;color:var(--white);}
.hero-mock-cred{font-size:11px;color:rgba(255,255,255,0.55);}
.hero-mock-why{font-size:11px;color:rgba(110,231,195,0.85);margin-bottom:0.65rem;line-height:1.5;}
.hero-mock-foot{display:flex;align-items:center;justify-content:space-between;}
.hero-mock-match{background:rgba(24,95,165,0.5);color:#B5D4F4;border-radius:10px;padding:3px 9px;font-size:11px;font-weight:600;}
.hero-mock-avail{font-size:11px;color:#6ee7c3;font-weight:500;}
/* -- Clinician features dark section -- */
.clinician-section{background:var(--pm-surface-clinician);padding:3.5rem 2rem;}
.clinician-section .section-inner,.clinician-section-inner{max-width:900px;margin:0 auto;}
.clinician-section .section-label{color:rgba(255,255,255,0.45);}
.clinician-section .section-title{color:var(--white);}
.clinician-section .section-sub{color:rgba(255,255,255,0.65);}
.clinician-section .pm-card-clinician{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.1);}
.clinician-section .pm-card-clinician h3{color:var(--white);}
.clinician-section .pm-card-clinician p{color:rgba(255,255,255,0.65);}
.pm-clinician-grid{margin-top:2rem;}
.pm-clinician-join-wrap{text-align:center;margin-top:2.5rem;}
.pm-cta-clinician{font-size:15px;padding:0.8rem 2rem;}
/* -- Skeleton loaders -- */
@keyframes shimmer{0%{background-position:-600px 0}100%{background-position:600px 0}}
.skel{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:600px 100%;animation:shimmer 1.4s infinite linear;border-radius:4px;}
.skel-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;display:grid;grid-template-columns:54px 1fr auto;gap:1rem;align-items:start;margin-bottom:0.9rem;}
.skel-avatar{width:54px;height:54px;border-radius:50%;background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:600px 100%;animation:shimmer 1.4s infinite linear;}
.skel-line{height:12px;margin-bottom:8px;}
.skel-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:90px;}
/* -- Results empty state -- */
.results-empty{text-align:center;padding:3.5rem 1.5rem;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);margin-top:0.5rem;}
.results-empty-icon{width:56px;height:56px;background:var(--blue-50);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;}
.results-empty-title{font-family:'DM Serif Display',serif;font-size:1.25rem;color:var(--blue-900);margin-bottom:0.4rem;}
.results-empty-sub{font-size:14px;color:var(--gray-500);max-width:340px;margin:0 auto 1.5rem;line-height:1.6;}
.results-empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
/* -- Saved drawer quick actions -- */
.saved-item-actions{display:flex;gap:6px;margin-top:7px;}
.saved-item-act{flex:1;padding:6px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:all 0.15s;text-align:center;font-family:inherit;}
.saved-item-act.view{background:var(--blue-50);color:var(--blue-800);border:1px solid var(--blue-100);}
.saved-item-act.view:hover{background:var(--blue-100);}
.saved-item-act.req{background:var(--teal-50);color:var(--teal-600);border:1px solid var(--teal-100);}
.saved-item-act.req:hover{background:var(--teal-100);}
/* -- Request modal confirmation -- */
.req-success{display:none;text-align:center;padding:1.5rem 1rem 0.5rem;}
.req-success-icon{width:52px;height:52px;background:var(--teal-50);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;}
.req-success-title{font-family:'DM Serif Display',serif;font-size:1.3rem;color:var(--blue-900);margin-bottom:0.4rem;}
.req-success-sub{font-size:14px;color:var(--gray-500);line-height:1.6;margin-bottom:0.5rem;}
/* old req-next-steps removed - replaced by .req-next-item layout at mp-request-btn block */
/* -- Avatar ring polish -- */
.cl-avatar{box-shadow:0 0 0 2px rgba(255,255,255,0.9),0 0 0 3px rgba(4,44,83,0.08);}
/* -- Site footer -- */
.site-footer{background:var(--blue-900);color:rgba(255,255,255,0.7);padding:3rem 2rem 0;}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:220px 1fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,0.1);}
.footer-logo-wrap{display:flex;align-items:center;gap:8px;margin-bottom:0.75rem;}
.footer-logo-img{width:92px;height:auto;object-fit:contain;display:block;}
.footer-tagline{font-size:13px;color:rgba(255,255,255,0.45);line-height:1.6;margin:0;}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.footer-col-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.35);margin-bottom:0.75rem;}
.footer-col a{display:block;font-size:13px;color:rgba(255,255,255,0.6);text-decoration:none;margin-bottom:0.5rem;transition:color 0.15s;cursor:pointer;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{max-width:1100px;margin:0 auto;padding:1.25rem 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(255,255,255,0.35);flex-wrap:wrap;gap:0.5rem;}
.footer-bottom a{color:#6ee7c3;text-decoration:none;}
@media(max-width:640px){
  .nav{padding:0 1rem;height:60px;}
  .hero{padding:4.5rem 1.1rem 3.1rem;}
  .hero h1{font-size:clamp(2rem,7.8vw,2.6rem);}
  .hero-sub{font-size:16px;max-width:34ch;margin-bottom:2rem;}
  .hero-actions{gap:10px;}
  .section{padding:3.6rem 1.1rem;}
  .cta-band{margin:0 1rem 3rem;padding:2.6rem 1.2rem;}
  .nav-links{display:none;}
  .nav-cta{display:none;}
  #nav-login-btn,#nav-join-btn{display:none!important;}
  .nav-hamburger{display:flex;}
  .wiz-options.cols-2,.wiz-options.cols-3,.wiz-options.cols-auto{grid-template-columns:1fr 1fr;}
  .wiz-options.cols-auto .opt-card{padding:0.75rem 0.5rem;}
  .wiz-input-row{grid-template-columns:1fr;}
  .profile-body{grid-template-columns:1fr;}
  .hub-layout{grid-template-columns:1fr;}
  .hub-sidebar{position:static;margin-bottom:0;}
  .admin-layout{grid-template-columns:1fr;}
  .admin-sidebar{display:none;}
  .match-hero{grid-template-columns:1fr;}
  .how-steps{grid-template-columns:1fr;}
  .match-how{grid-template-columns:1fr;}
  .split-cta{grid-template-columns:1fr;}
  .rf-bar{gap:0.4rem;}
  .rf-select{font-size:12px;padding:4px 8px;}
  .results-header{flex-wrap:wrap;gap:8px;}
  .wiz-shell{padding:0;}
  .wiz-body{padding:1.15rem 1rem calc(6rem + env(safe-area-inset-bottom, 0px));}
  .wiz-progress-bar,.wiz-footer{padding:0 1rem;}
  .saved-drawer-panel{width:100%;right:auto;left:0;}
  .stats-strip{grid-template-columns:1fr;}
  .stat-item{border-right:none;border-bottom:1px solid rgba(255,255,255,0.1);padding:1.25rem;}
  .stat-item:last-child{border-bottom:none;}
  .how-steps{grid-template-columns:1fr;}.how-steps::before{display:none;}
  .footer-inner{grid-template-columns:1fr;gap:1.5rem;}
  .footer-links{grid-template-columns:1fr 1fr;}
  .clinician-section{padding:2.5rem 1.25rem;}
}

/* ===== AUTH AND ROLES SYSTEM ===== */
#auth-overlay{position:fixed;inset:0;z-index:10001;background:linear-gradient(145deg,#071321 0%,#0B2A3D 48%,#0F5C57 100%);display:flex;align-items:center;justify-content:center;padding:1rem;}
#auth-overlay.hidden{display:none;}
.auth-card{position:relative;background:#0A2235;border:1px solid rgba(159,225,203,0.22);border-radius:var(--radius-lg);padding:2rem 2rem;width:100%;max-width:420px;max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,0.34),inset 0 1px 0 rgba(255,255,255,0.08);scrollbar-width:thin;scrollbar-color:rgba(159,225,203,0.45) rgba(255,255,255,0.08);}
.auth-overlay-close{position:absolute;top:10px;right:12px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:rgba(255,255,255,0.62);font-size:25px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.auth-overlay-close:hover,.auth-overlay-close:focus-visible{background:rgba(255,255,255,0.1);color:#fff;}
.auth-card[data-auth-tab="signup"]{max-width:520px;}
.auth-card::-webkit-scrollbar{width:8px;}
.auth-card::-webkit-scrollbar-track{background:rgba(255,255,255,0.06);border-radius:999px;}
.auth-card::-webkit-scrollbar-thumb{background:rgba(159,225,203,0.42);border-radius:999px;}
/* -- Onboarding flow -- */
.onboard-shell{max-width:620px;margin:0 auto;padding:2rem 1.25rem 4rem;}
.onboard-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap;}
.onboard-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.onboard-logo-img{width:96px;height:auto;object-fit:contain;display:block;}
.onboard-progress-wrap{flex:1;min-width:180px;}
.onboard-step-label{font-size:12px;font-weight:500;color:var(--gray-500);margin-bottom:6px;}
.onboard-progress-bar{height:6px;background:var(--gray-100);border-radius:3px;overflow:hidden;}
.onboard-progress-fill{height:100%;background:var(--teal-600);border-radius:3px;transition:width 0.4s ease;}
.onboard-card{background:var(--white);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-md);margin-bottom:1.25rem;}
.ob-step-title{font-family:'DM Serif Display',serif;font-size:1.4rem;color:var(--blue-900);margin-bottom:6px;}
.ob-step-sub{font-size:14px;color:var(--gray-500);margin-bottom:1.5rem;line-height:1.5;}
.ob-chips{display:flex;flex-wrap:wrap;gap:0.4rem;}
.ob-chip{border:1px solid var(--gray-100);background:var(--white);border-radius:var(--radius-sm);padding:5px 12px;font-size:13px;cursor:pointer;transition:border-color 0.15s,background 0.15s,color 0.15s;color:var(--gray-700);}
.ob-chip:hover{border-color:var(--teal-400);}
.ob-chip.active{border-color:var(--teal-600);background:#f0faf7;color:var(--teal-700);font-weight:500;}
.ob-format-btn{border:2px solid var(--gray-200);background:var(--white);border-radius:var(--radius-md);padding:0.75rem 0.5rem;cursor:pointer;font-size:13px;line-height:1.6;transition:border-color 0.15s,background 0.15s;}
.ob-format-btn:hover{border-color:var(--teal-400);}
.ob-format-btn.active{border-color:var(--teal-600);background:#f0faf7;font-weight:500;}
.ob-avail-btn{border:2px solid var(--gray-200);background:var(--white);border-radius:var(--radius-md);padding:0.6rem 0.75rem;cursor:pointer;font-size:13px;text-align:left;transition:border-color 0.15s,background 0.15s;}
.ob-avail-btn:hover{border-color:var(--blue-300);}
.ob-avail-btn.active{border-color:var(--blue-600);background:var(--blue-50);font-weight:500;}
.ob-golive-box{background:linear-gradient(135deg,var(--teal-50) 0%,var(--blue-50) 100%);border:1px solid var(--teal-100);border-radius:var(--radius-lg);padding:1.25rem;text-align:center;margin-top:1.5rem;}
.onboard-actions{display:flex;justify-content:space-between;align-items:center;}
.ob-back-btn{background:none;border:none;color:var(--gray-500);font-size:14px;cursor:pointer;padding:0.5rem 0;}
.ob-back-btn:hover{color:var(--gray-700);}
.ob-next-btn{background:var(--blue-900);color:var(--white);border:none;border-radius:var(--radius-md);padding:0.7rem 1.75rem;font-size:15px;font-weight:500;cursor:pointer;transition:opacity 0.15s;}
.ob-next-btn:hover{opacity:0.88;}
.ob-next-btn.finish{background:var(--teal-600);}
.ob-validation-msg{display:none;margin-top:0.75rem;font-size:12.5px;line-height:1.5;padding:10px 12px;border-radius:8px;border:1px solid #f4c7c7;background:#fef2f2;color:#b91c1c;}
.ob-validation-msg.show{display:block;}
.ob-invalid{border-color:#ef4444 !important;box-shadow:0 0 0 2px rgba(239,68,68,0.12);}
.ob-step-error-shake{animation:obShake 180ms ease-in-out 0s 2;}
@keyframes obShake{0%{transform:translateX(0);}25%{transform:translateX(-3px);}50%{transform:translateX(3px);}100%{transform:translateX(0);}}
/* -- Onboarding payment step -- */
.ob-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:1.5rem;}
.ob-plan-card{border:2px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.25rem 1rem;cursor:pointer;transition:border-color 0.15s,background 0.15s;position:relative;}
.ob-plan-card:hover{border-color:var(--blue-300);}
.ob-plan-card.selected{border-color:var(--blue-600);background:var(--blue-50);}
.ob-plan-card.disabled{opacity:0.55;cursor:not-allowed;pointer-events:none;border-color:var(--gray-200);background:var(--gray-50);}
.ob-plan-card.disabled .ob-plan-name{color:var(--gray-500);}
.ob-plan-card.disabled .ob-plan-price{color:var(--gray-400);}
.ob-plan-card.disabled .ob-plan-desc{color:var(--gray-400);}
.ob-plan-card.selected .ob-plan-check{opacity:1;}
.ob-plan-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;background:var(--teal-600);color:#fff;padding:2px 7px;border-radius:var(--radius-sm);margin-bottom:8px;}
.ob-plan-name{font-weight:600;font-size:15px;color:var(--blue-900);margin-bottom:2px;}
.ob-plan-price{font-size:1.25rem;font-weight:700;color:var(--blue-900);line-height:1.2;}
.ob-plan-price span{font-size:13px;font-weight:400;color:var(--gray-500);}
.ob-plan-desc{font-size:12px;color:var(--gray-500);margin-top:6px;line-height:1.4;}
.ob-plan-check{position:absolute;top:10px;right:10px;width:18px;height:18px;background:var(--blue-600);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.15s;}
.ob-trial-note{background:linear-gradient(135deg,var(--teal-50) 0%,var(--blue-50) 100%);border:1px solid var(--teal-100);border-radius:var(--radius-md);padding:0.75rem 1rem;font-size:12.5px;color:var(--gray-600);margin-bottom:1.25rem;display:flex;align-items:center;gap:8px;}
.ob-stripe-label{font-size:12.5px;font-weight:500;color:var(--gray-700);margin-bottom:8px;}
.ob-stripe-error{color:#d32f2f;font-size:12px;margin-top:6px;min-height:16px;}
.ob-pay-note{font-size:11.5px;color:var(--gray-400);text-align:center;margin-top:0.5rem;display:flex;align-items:center;justify-content:center;gap:5px;}
.ob-processing{display:none;text-align:center;padding:1.75rem 0;}
.ob-processing-spinner{width:34px;height:34px;border:3px solid var(--gray-100);border-top-color:var(--blue-600);border-radius:50%;animation:spin 0.75s linear infinite;margin:0 auto 0.875rem;}
.auth-logo{display:flex;align-items:center;justify-content:center;margin-bottom:1.75rem;}
.auth-logo-img{width:132px;height:auto;object-fit:contain;display:block;filter:drop-shadow(0 10px 18px rgba(0,0,0,0.28));}
.auth-logo-icon{display:none;}
.auth-logo-name{display:none;}
.auth-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,0.14);margin-bottom:1.5rem;position:sticky;top:0;z-index:8;background:#0A2235;padding-top:6px;}
.auth-tab{flex:1;padding:10px;border:none;background:transparent;font-size:14px;font-weight:500;color:rgba(255,255,255,0.62);cursor:pointer;border-bottom:2px solid transparent;transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;}
.auth-tab.active{color:#9FE1CB;border-bottom-color:#2DD4BF;}
.auth-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;padding:12px 14px;border:1px solid rgba(159,225,203,0.16);border-radius:var(--radius-md);background:rgba(255,255,255,0.045);}
.auth-form-title{font-size:15px;font-weight:700;color:#fff;line-height:1.25;}
.auth-form-subtitle{font-size:11.5px;color:rgba(255,255,255,0.55);line-height:1.45;margin-top:3px;}
.auth-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.auth-switch-btn,.auth-inline-link{background:transparent!important;border:none!important;color:#2DD4BF!important;cursor:pointer;font-size:12px;font-weight:700;font-family:inherit;padding:0!important;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;box-shadow:none!important;}
.auth-switch-btn:hover,.auth-inline-link:hover{color:#5EEAD4;}
.auth-section{padding:14px;border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius-md);background:rgba(255,255,255,0.035);margin-bottom:14px;}
.auth-section-label{font-size:11px;font-weight:700;color:#9FE1CB;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:10px;}
.auth-signup-panel{padding:14px;border:1px solid rgba(255,255,255,0.12);border-radius:var(--radius-md);background:rgba(255,255,255,0.035);margin-bottom:14px;}
.auth-field{margin-bottom:1rem;}
.auth-field label{display:block;font-size:12px;font-weight:500;color:rgba(255,255,255,0.82);margin-bottom:5px;}
.auth-field input,.auth-field select{width:100%;padding:11px 14px;border:1.5px solid rgba(255,255,255,0.18);border-radius:var(--radius-md);font-size:14px;font-family:'Plus Jakarta Sans',sans-serif;color:#EAF4F8;outline:none;transition:border-color 0.15s,background 0.15s;background:rgba(255,255,255,0.08);}
.auth-field input::placeholder{color:rgba(234,244,248,0.54);}
.auth-field input:focus,.auth-field select:focus{border-color:#2DD4BF;background:rgba(255,255,255,0.12);}
.auth-btn{width:100%;padding:14px;border-radius:var(--radius-md);background:var(--blue-600);color:var(--white);border:none;font-size:14px;font-weight:600;cursor:pointer;transition:opacity 0.15s;font-family:'Plus Jakarta Sans',sans-serif;margin-top:0.5rem;}
.auth-btn:hover{opacity:0.88;}
.auth-btn:disabled{opacity:0.5;cursor:not-allowed;}
.auth-divider{text-align:center;color:rgba(255,255,255,0.42);font-size:12px;margin:1rem 0;position:relative;}
.auth-divider::before,.auth-divider::after{content:'';position:absolute;top:50%;width:42%;height:1px;background:rgba(255,255,255,0.14);}
.auth-divider::before{left:0;}.auth-divider::after{right:0;}
.auth-google-btn{width:100%;padding:11px;border-radius:var(--radius-md);background:rgba(255,255,255,0.96);color:#0A2235;border:1.5px solid rgba(255,255,255,0.2);font-size:14px;font-weight:500;cursor:pointer;transition:background 0.15s;font-family:'Plus Jakarta Sans',sans-serif;display:flex;align-items:center;justify-content:center;gap:10px;}
.auth-google-btn:hover{background:var(--white);}
.auth-error{background:var(--red-50);color:var(--red-600);border-radius:var(--radius-md);padding:10px 14px;font-size:13px;margin-top:0.75rem;display:none;}
.auth-error.visible{display:block;}
.auth-success-msg{background:var(--teal-50);color:var(--teal-600);border-radius:var(--radius-md);padding:10px 14px;font-size:13px;margin-top:0.75rem;display:none;}
.auth-success-msg.visible{display:block;}
.auth-demo-hint{display:none;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:10px 14px;font-size:12px;color:var(--gray-700);margin-bottom:1.25rem;line-height:1.9;}
body.allow-demo-auth .auth-demo-hint{display:block;}
.auth-demo-hint strong{font-weight:600;display:block;margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-500);}
.auth-demo-account{padding:2px 0;cursor:pointer;color:var(--gray-700);font-family:'Plus Jakarta Sans',monospace;font-size:12px;display:flex;align-items:center;gap:8px;}
.auth-demo-account:hover{color:var(--blue-600);}
.auth-demo-role{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--gray-500);background:var(--gray-100);padding:1px 6px;border-radius:var(--radius-sm);}
body.allow-demo-auth .auth-card .auth-demo-hint{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.16);color:rgba(255,255,255,0.78);}
body.allow-demo-auth .auth-card .auth-demo-hint strong{color:#9FE1CB;}
body.allow-demo-auth .auth-card .auth-demo-account{color:rgba(255,255,255,0.82);}
body.allow-demo-auth .auth-card .auth-demo-account:hover{color:#9FE1CB;}
/* Explore / demo tab */
.auth-explore-intro{font-size:12.5px;color:rgba(255,255,255,0.6);text-align:center;margin-bottom:14px;line-height:1.5;}
.auth-demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.auth-demo-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.11);border-radius:10px;padding:12px 14px;cursor:pointer;transition:background 0.15s,border-color 0.15s;text-align:left;display:flex;flex-direction:column;gap:0;}
.auth-demo-card:hover{background:rgba(45,212,191,0.08);border-color:rgba(45,212,191,0.35);}
.auth-demo-card-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:8px;flex-shrink:0;}
.auth-demo-card-role{font-size:12.5px;font-weight:700;color:#fff;line-height:1.3;}
.auth-demo-card-cred{font-size:10.5px;color:rgba(255,255,255,0.5);margin-top:3px;line-height:1.35;}
.auth-demo-card-badge{display:inline-block;margin-top:8px;font-size:10px;font-weight:600;background:rgba(45,212,191,0.15);color:#2DD4BF;border-radius:4px;padding:2px 6px;letter-spacing:0.03em;}
.auth-demo-card-badge.recommended{background:rgba(45,212,191,0.22);color:#5EEAD4;}
.auth-explore-footer{margin-top:14px;text-align:center;font-size:11.5px;color:rgba(255,255,255,0.4);}
.auth-explore-footer button{background:none;border:none;color:#2DD4BF;cursor:pointer;font-size:11.5px;font-family:inherit;padding:0;text-decoration:underline;text-underline-offset:2px;}
.auth-explore-footer button:hover{color:#5EEAD4;}
/* Discipline picker on Join tab */
.auth-discipline-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:6px;}
.auth-discipline-card{position:relative;cursor:pointer;}
.auth-discipline-card input[type=radio]{position:absolute;opacity:0;width:0;height:0;}
.auth-discipline-label{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1.5px solid rgba(255,255,255,0.13);border-radius:9px;background:rgba(255,255,255,0.04);cursor:pointer;transition:all 0.15s;min-height:52px;}
.auth-discipline-card input:checked + .auth-discipline-label{border-color:#2DD4BF;background:rgba(45,212,191,0.1);}
.auth-discipline-label:hover{border-color:rgba(45,212,191,0.4);background:rgba(45,212,191,0.06);}
.auth-discipline-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.auth-discipline-text{}
.auth-discipline-title{font-size:12px;font-weight:700;color:#fff;line-height:1.2;}
.auth-discipline-creds{font-size:10px;color:rgba(255,255,255,0.5);margin-top:2px;line-height:1.3;}
.auth-discipline-note{font-size:11.5px;color:rgba(255,255,255,0.45);text-align:center;margin-top:10px;line-height:1.5;}
.auth-discipline-note .auth-inline-link{font-size:11.5px;}
.auth-discipline-note button{background:transparent!important;border:none!important;color:#2DD4BF!important;padding:0!important;font:inherit!important;font-weight:700!important;text-decoration:underline;text-underline-offset:3px;box-shadow:none!important;}
.auth-signin-return{text-align:center;margin-top:14px;font-size:11.5px;color:rgba(255,255,255,0.45);}
@media(max-width:640px){#auth-overlay{align-items:flex-start;overflow-y:auto;padding:1rem 1rem env(safe-area-inset-bottom, 1rem);}.auth-card{padding:1.4rem 1rem;max-height:none;}.auth-card[data-auth-tab="signup"]{max-width:420px;}.auth-form-heading{flex-direction:column;gap:8px;}.auth-form-actions{justify-content:flex-start}.auth-switch-btn{white-space:normal}.auth-discipline-grid{grid-template-columns:1fr;}}
.auth-demo-rec{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--teal-600);background:var(--teal-50);padding:2px 6px;border-radius:var(--radius-sm);margin-left:4px;}
.auth-demo-divider{height:1px;background:var(--gray-200);margin:8px 0;}
body.allow-demo-auth .auth-card .auth-demo-divider{background:rgba(255,255,255,0.12);}
body.allow-demo-auth .auth-card .auth-demo-role{background:rgba(255,255,255,0.12);color:rgba(255,255,255,0.72);}
#nav-user-area{display:none;align-items:center;gap:6px;margin-left:4px;}
.nav-user-wrap{position:relative;display:flex;align-items:center;gap:2px;}
.nav-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--blue-600);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:opacity 0.15s;}
.nav-user-avatar:hover{opacity:0.85;}
.nav-user-chevron{width:20px;height:20px;border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gray-400);transition:background 0.15s,color 0.15s;padding:0;flex-shrink:0;}
.nav-user-chevron:hover{background:var(--gray-50);color:var(--gray-700);}
.nav-user-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:0.5rem;box-shadow:var(--shadow-lg);min-width:210px;z-index:200;display:none;}
.nav-user-dropdown.open{display:block;}
.nav-user-info{padding:8px 12px 10px;border-bottom:1px solid var(--gray-100);margin-bottom:4px;}
.nav-user-name-d{font-size:13px;font-weight:600;color:var(--blue-900);}
.nav-user-email-d{font-size:11px;color:var(--gray-500);word-break:break-all;}
.nav-role-badge{display:inline-block;margin-top:5px;font-size:10px;font-weight:600;padding:2px 7px;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-700);text-transform:uppercase;letter-spacing:0.05em;}
.nav-role-badge.admin{background:var(--amber-50);color:var(--amber-600);}
.nav-role-badge.moderator{background:var(--teal-50);color:var(--teal-600);}
.nav-dropdown-item{display:block;width:100%;padding:8px 12px;text-align:left;background:transparent;border:none;font-size:13px;color:var(--gray-700);cursor:pointer;border-radius:var(--radius-sm);transition:background 0.1s;font-family:'Plus Jakarta Sans',sans-serif;}
.nav-dropdown-item:hover{background:var(--gray-50);}
.nav-dropdown-item.danger{color:var(--red-600);}
#auth-loading{position:fixed;inset:0;z-index:10000;background:var(--gray-50);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;}
#auth-loading.hidden{display:none;}
.spinner{width:36px;height:36px;border:3px solid var(--gray-100);border-top-color:var(--blue-600);border-radius:50%;animation:spin 0.7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.auth-forgot{font-size:12px;color:#9FE1CB;cursor:pointer;display:block;text-align:right;margin-top:-6px;margin-bottom:8px;background:none;border:none;font-family:'Plus Jakarta Sans',sans-serif;}
.auth-forgot:hover{text-decoration:underline;}
#toast{position:fixed;bottom:24px;right:24px;background:var(--blue-900);color:var(--white);padding:12px 20px;border-radius:var(--radius-lg);font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);z-index:9998;transform:translateY(80px);opacity:0;transition:all 0.3s cubic-bezier(.4,0,.2,1);max-width:320px;}
#toast.show{transform:translateY(0);opacity:1;}
#toast.success{background:var(--teal-600);}
#toast.error{background:var(--red-600);}
#toast.info{background:var(--blue-800);}
.auth-role-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:1rem;}
.auth-role-option{padding:10px;border:1.5px solid var(--gray-100);border-radius:var(--radius-md);cursor:pointer;text-align:center;transition:all 0.15s;}
.auth-role-option:hover{border-color:var(--blue-200);background:var(--blue-50);}
.auth-role-option.selected{border-color:var(--blue-600);background:var(--blue-50);}
.auth-role-option .r-icon{font-size:20px;margin-bottom:4px;}
.auth-role-option .r-label{font-size:12px;font-weight:500;color:var(--blue-900);}
.auth-role-option .r-desc{font-size:10px;color:var(--gray-500);}
#nav-login-btn,#nav-join-btn{padding:8px 18px;border-radius:var(--radius-lg);font-size:13px;font-weight:600;cursor:pointer;transition:opacity 0.15s,transform 0.15s;font-family:'Plus Jakarta Sans',sans-serif;margin-left:8px;min-height:44px;}
#nav-login-btn{background:transparent;color:var(--gray-700);border:1px solid var(--gray-300);}
#nav-join-btn{background:var(--blue-600);color:var(--white);border:1px solid var(--blue-600);}
#nav-login-btn:hover,#nav-join-btn:hover{opacity:0.88;transform:translateY(-1px);}
#nav-login-btn:focus-visible,#nav-join-btn:focus-visible{outline:3px solid var(--blue-300);outline-offset:2px;}
.roles-tbl{width:100%;border-collapse:collapse;}
.roles-tbl th{text-align:left;padding:10px 14px;font-size:11px;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.05em;border-bottom:1px solid var(--gray-100);background:var(--gray-50);}
.roles-tbl td{padding:10px 14px;border-bottom:1px solid var(--gray-50);font-size:13px;vertical-align:middle;}
.roles-tbl tr:last-child td{border-bottom:none;}
.roles-tbl tr:hover td{background:var(--blue-50);}
.role-sel{padding:5px 10px;border-radius:6px;border:1px solid var(--gray-100);font-size:12px;font-family:'Plus Jakarta Sans',sans-serif;background:var(--white);}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:middle;}
.status-dot.active{background:var(--teal-400);}
.status-dot.suspended{background:var(--red-600);}
/* =============================================
   Global Consistency & Tablet Polish (C5)
   ============================================= */
/* Tablet breakpoint (1024px) */
@media(max-width:1024px){
  .profile-side-col{position:static;}
  .how-steps::before,.how-steps::after{display:none;}
  .how-steps{grid-template-columns:1fr;gap:1.5rem;}
  .profile-body{grid-template-columns:1fr;}
  .admin-layout{grid-template-columns:1fr;}
  .admin-sidebar{display:none;}
  .section{padding:3rem 1.5rem;}
}
/* Input/select/textarea font consistency */
input,select,textarea{font-family:'Plus Jakarta Sans',system-ui,sans-serif;}
/* Cursor pointer on interactive cards */
.clinician-card{cursor:pointer;}
.opt-card{cursor:pointer;}
/* Admin dark mode */
/* CEU card dark mode */
/* CD chip dark mode */
/* Mobile: cd-save-bar clears bottom nav */
@media(max-width:640px){
  .cd-save-bar{margin-bottom:60px;}
}
/* Mobile: hero-mock-card no overflow */
@media(max-width:480px){
  .hero-mock-card{max-width:100%;overflow:hidden;}
}
/* Notify button */
.flag-btn.notify {
  border-color: #9DBDE8;
  color: var(--blue-600);
}
.flag-btn.notify:hover {
  background: var(--blue-50);
}

/* Notify modal */
#notifyModal .modal-box {
  max-width: 520px;
}
.notify-poster-row {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--gray-50);
  border-radius: var(--radius-md);
  padding: 10px 12px;
  margin-bottom: 1rem;
}
.notify-poster-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--blue-600);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  flex-shrink: 0;
}
.notify-poster-info {
  flex: 1;
}
.notify-poster-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--blue-900);
}
.notify-poster-flag {
  font-size: 11px;
  color: var(--gray-500);
  margin-top: 2px;
}
.notify-method-row {
  display: flex;
  gap: 8px;
  margin-bottom: 1rem;
}
.notify-method-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 10px;
  border-radius: var(--radius-md);
  border: 1.5px solid var(--gray-100);
  background: var(--white);
  font-size: 12px;
  font-weight: 500;
  color: var(--gray-700);
  cursor: pointer;
  transition: all 0.15s;
}
.notify-method-btn.active {
  border-color: var(--blue-400);
  background: var(--blue-50);
  color: var(--blue-800);
}
.notify-method-btn svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}
.notify-templates {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 1rem;
}
.notify-template-chip {
  padding: 8px 12px;
  border-radius: var(--radius-md);
  border: 1px solid var(--gray-100);
  background: var(--white);
  font-size: 12px;
  color: var(--gray-700);
  cursor: pointer;
  text-align: left;
  transition: all 0.15s;
  line-height: 1.4;
}
.notify-template-chip:hover {
  background: var(--blue-50);
  border-color: var(--blue-100);
  color: var(--blue-800);
}
.notify-template-chip.selected {
  background: var(--blue-50);
  border-color: var(--blue-400);
  color: var(--blue-800);
}
.notify-custom-label {
  font-size: 11px;
  font-weight: 500;
  color: var(--gray-500);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 5px;
}
.notify-send-row {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 1.25rem;
}
.notify-send-btn {
  padding: 9px 20px;
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  background: var(--blue-600);
  color: #fff;
  transition: background 0.15s;
  display: flex;
  align-items: center;
  gap: 6px;
}
.notify-send-btn:hover {
  background: var(--blue-800);
}
.notify-send-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.notify-cancel-btn {
  padding: 9px 16px;
  border-radius: var(--radius-md);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid var(--gray-100);
  background: transparent;
  color: var(--gray-700);
  transition: background 0.15s;
}
.notify-cancel-btn:hover {
  background: var(--gray-50);
}
.notify-sent-state {
  display: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.5rem 1rem;
  gap: 10px;
}
.notify-sent-state svg {
  color: var(--teal-400);
}
.notify-sent-title {
  font-family: 'DM Serif Display', serif;
  font-size: 1.15rem;
  color: var(--blue-900);
}
.notify-sent-sub {
  font-size: 13px;
  color: var(--gray-500);
}

/* -- Structured Request Form (2-stage) -- */
.req-stage-indicator{display:flex;gap:6px;align-items:center;margin-bottom:1.1rem;}
.req-stage-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;transition:background var(--transition-base),color var(--transition-base);}
.req-stage-dot.done{background:var(--teal-600);color:var(--white);}
.req-stage-dot.active{background:var(--blue-600);color:var(--white);}
.req-stage-dot.future{background:var(--gray-100);color:var(--gray-400);}
.req-stage-line{flex:1;height:2px;background:var(--gray-100);border-radius:2px;}
.req-stage-line.done{background:var(--teal-300);}
.req-contact-gate{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius-md);padding:12px 14px;display:flex;gap:10px;align-items:flex-start;margin-bottom:1rem;font-size:12.5px;color:var(--blue-800);line-height:1.5;}
.req-contact-gate strong{display:block;margin-bottom:2px;font-size:13px;}
.req-privacy-note{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--gray-500);margin-top:6px;padding:6px 10px;background:var(--gray-50);border-radius:var(--radius-sm);}
.req-char-row{display:flex;justify-content:space-between;align-items:center;margin-top:3px;}
.req-char-count{font-size:11px;color:var(--gray-400);text-align:right;}
/* -- Pending Requests (Clinician Dashboard) -- */
.cd-pending-badge{background:var(--blue-600);color:var(--white);border-radius:var(--radius-sm);font-size:11px;font-weight:600;padding:1px 7px;min-width:20px;text-align:center;}
.cd-request-card{border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:10px;background:var(--gray-50);}
.cd-request-card:last-child{margin-bottom:0;}
.cd-request-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.cd-request-chip{font-size:11.5px;padding:3px 9px;border-radius:var(--radius-sm);background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-100);}
.cd-request-note{font-size:12.5px;color:var(--gray-600);margin-bottom:10px;line-height:1.5;font-style:italic;}
.cd-request-note:empty{display:none;}
.cd-request-actions{display:flex;gap:8px;}
.cd-req-accept{padding:7px 16px;background:var(--teal-600);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition-fast);}
.cd-req-accept:hover{background:var(--teal-700);}
.cd-req-decline{padding:7px 14px;background:transparent;color:var(--gray-500);border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:13px;cursor:pointer;}
.cd-req-decline:hover{background:var(--gray-50);color:var(--red-600);border-color:var(--red-200);}
.cd-request-id{font-size:10.5px;color:var(--gray-400);margin-bottom:8px;}
.cd-empty-requests{text-align:center;padding:2rem 1rem;color:var(--gray-400);font-size:13px;}
.cd-empty-requests svg{display:block;margin:0 auto 10px;opacity:0.35;}
.cd-req-accepted-confirm{font-size:12.5px;color:var(--teal-700);display:flex;align-items:center;gap:6px;padding:6px 0;}

/* ============================================================
   MATCHING RESULTS V2  Redesigned results page
   ============================================================ */
.mr-layout{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;gap:1.25rem;max-width:1480px;margin:0 auto;padding:1.25rem 1rem 5.5rem;align-items:start;}
.mr-layout.no-shortlist{grid-template-columns:280px minmax(0,1fr);}
@media(max-width:1180px){.mr-layout{grid-template-columns:250px minmax(0,1fr);}.mr-layout .mr-shortlist-sidebar{display:none;}}
@media(max-width:768px){.mr-layout{grid-template-columns:1fr;padding:0.85rem 0.75rem 5.5rem;}.mr-filters-sidebar{display:none;}}

/* -- Match Summary Bar -- */
.mr-results-shell{background:linear-gradient(180deg,#F4FAFC 0,#F8FBFD 210px,#F8FBFD 100%);min-height:calc(100vh - 76px);padding:0;}
.mr-summary-bar{background:linear-gradient(135deg,#FFFFFF 0%,#F5FBFD 55%,#EAF8FA 100%);border-bottom:1px solid #D9E8F0;margin:0;box-shadow:0 10px 30px rgba(15,35,55,0.06);}
.mr-summary-inner{max-width:1480px;margin:0 auto;padding:1.65rem 1rem 1.25rem;}
.mr-summary-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:0.75rem;}
.mr-summary-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--teal-700);margin-bottom:0.35rem;}
.mr-summary-title{font-size:2rem;color:var(--blue-900);line-height:1.12;font-weight:700;letter-spacing:0;}
.mr-summary-sub{font-size:14px;color:#40556B;margin-top:6px;max-width:68ch;line-height:1.55;}
.mr-summary-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.mr-edit-pref-btn{min-height:40px;padding:0 16px;border-radius:8px;border:1.5px solid #7DB8D5;background:#fff;color:#0B5D7C;font-size:13px;font-weight:700;cursor:pointer;transition:all 0.15s;white-space:nowrap;box-shadow:0 8px 18px rgba(15,35,55,0.06);}
.mr-edit-pref-btn:hover{border-color:var(--blue-300);background:var(--white);box-shadow:0 4px 14px rgba(24,95,165,0.08);}
.mr-summary-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0.9rem 0 1rem;}
.mr-summary-guide-item{border:1px solid #DCE7F1;background:rgba(255,255,255,.82);border-radius:10px;padding:0.75rem 0.85rem;font-size:12px;color:var(--gray-600);line-height:1.45;box-shadow:0 8px 18px rgba(15,35,55,0.045);}
.mr-summary-guide-item strong{display:block;color:var(--blue-900);font-size:12.5px;margin-bottom:2px;}
.mr-pref-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.mr-pref-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-400);white-space:nowrap;}
.mr-pref-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid #C9DDEB;color:#102033;font-size:12px;font-weight:700;box-shadow:0 5px 12px rgba(15,35,55,0.035);}
.mr-pref-chip svg{flex-shrink:0;}
.mr-pref-chip.secondary{background:#F0F7FF;border-color:#CFE3F8;color:#185FA5;}

/* -- Filters Sidebar -- */
.mr-filters-sidebar{position:sticky;top:76px;align-self:start;}
.mr-filters-panel{background:rgba(255,255,255,.94);border:1px solid #DCE7F1;border-radius:12px;padding:1.15rem;box-shadow:0 14px 32px rgba(15,35,55,0.07);}
.mr-filters-title{font-size:14px;font-weight:700;color:var(--blue-900);margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;}
.mr-filter-group{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #E7EEF5;}
.mr-filter-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.mr-filter-label{font-size:12px;font-weight:600;color:var(--gray-700);margin-bottom:0.5rem;display:flex;align-items:center;gap:6px;}
.mr-filter-label svg{color:var(--gray-400);}
.mr-filter-select{width:100%;min-height:40px;padding:8px 10px;border-radius:8px;border:1px solid #C8D6E3;background:#fff;font-size:13px;color:var(--gray-700);cursor:pointer;transition:border-color 0.15s;}
.mr-filter-select:focus{border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(55,138,221,0.12);outline:none;}
.mr-filter-range{display:flex;align-items:center;gap:8px;}
.mr-filter-range input{width:78px;min-height:36px;padding:6px 8px;border-radius:8px;border:1px solid #C8D6E3;font-size:12px;}
.mr-filter-check{display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer;font-size:13px;color:var(--gray-700);}
.mr-filter-check input{width:16px;height:16px;accent-color:var(--teal-600);}
.mr-filter-chips{display:flex;flex-wrap:wrap;gap:6px;}
.mr-filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-600);font-size:11px;font-weight:500;cursor:pointer;transition:all 0.12s;}
.mr-filter-chip:hover{border-color:var(--teal-300);color:var(--teal-700);background:var(--teal-50);}
.mr-filter-chip.active{background:var(--teal-50);border-color:var(--teal-200);color:var(--teal-700);}
.mr-filters-apply{width:100%;padding:10px;border-radius:var(--radius-md);background:var(--blue-600);color:var(--white);border:none;font-size:13px;font-weight:600;cursor:pointer;margin-top:0.5rem;}
.mr-filters-apply:hover{background:var(--blue-700);}
.mr-filters-reset{width:100%;padding:8px;border-radius:var(--radius-md);background:transparent;color:var(--gray-500);border:1px solid var(--gray-200);font-size:12px;font-weight:500;cursor:pointer;margin-top:0.5rem;}
.mr-filters-reset:hover{background:var(--gray-50);}
.mr-mobile-filter-toggle{display:none;padding:10px 16px;border-radius:var(--radius-md);border:1.5px solid var(--gray-200);background:var(--white);color:var(--gray-700);font-size:13px;font-weight:600;cursor:pointer;align-items:center;gap:8px;}
@media(max-width:768px){.mr-mobile-filter-toggle{display:inline-flex;width:100%;justify-content:center;}}

/* -- Mobile Filter Drawer -- */
.mr-filter-drawer{display:none;position:fixed;inset:0;z-index:200;}
.mr-filter-drawer.open{display:block;}
.mr-filter-drawer-bg{position:absolute;inset:0;background:rgba(4,44,83,0.45);backdrop-filter:blur(3px);}
.mr-filter-drawer-panel{position:absolute;top:0;left:0;bottom:0;width:85%;max-width:340px;background:var(--white);overflow-y:auto;padding:1.25rem;box-shadow:4px 0 24px rgba(4,44,83,0.15);}
.mr-filter-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.mr-filter-drawer-title{font-size:16px;font-weight:700;color:var(--blue-900);}
.mr-filter-drawer-close{background:none;border:none;color:var(--gray-500);font-size:22px;cursor:pointer;padding:0;line-height:1;}

/* -- Results Main -- */
.mr-results-main{min-width:0;}
.mr-results-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;}
.mr-results-count{font-size:14px;font-weight:700;color:var(--blue-900);}
.mr-results-count span{color:var(--gray-400);font-weight:400;}
.mr-sort-bar{display:flex;align-items:center;gap:8px;}
.mr-sort-label{font-size:12px;color:var(--gray-500);}
.mr-sort-select{min-height:38px;padding:7px 12px;border-radius:8px;border:1px solid #C8D6E3;background:var(--white);font-size:13px;color:var(--gray-700);cursor:pointer;}

/* -- Category Headers -- */
.mr-category-header{display:flex;align-items:center;gap:10px;padding:1rem 0 0.6rem;margin-top:0.5rem;border-bottom:1.5px solid var(--gray-100);}
.mr-category-header[data-tier="best"]{border-color:var(--teal-200);}
.mr-category-header[data-tier="good"]{border-color:var(--blue-200);}
.mr-category-header[data-tier="soon"]{border-color:var(--amber-200);}
.mr-category-header[data-tier="budget"]{border-color:var(--green-200);}
.mr-category-header[data-tier="specialized"]{border-color:var(--purple-200);}
.mr-category-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mr-category-icon.best{background:var(--teal-50);color:var(--teal-600);}
.mr-category-icon.good{background:var(--blue-50);color:var(--blue-600);}
.mr-category-icon.soon{background:var(--amber-50);color:var(--amber-600);}
.mr-category-icon.budget{background:var(--green-50);color:var(--green-600);}
.mr-category-icon.specialized{background:var(--purple-50);color:var(--purple-600);}
.mr-category-title{font-size:14px;font-weight:700;color:var(--gray-700);text-transform:uppercase;letter-spacing:0.04em;}
.mr-category-title.best{color:var(--teal-700);}
.mr-category-title.good{color:var(--blue-700);}
.mr-category-count{font-size:12px;font-weight:500;color:var(--gray-400);margin-left:auto;}

/* -- Provider Match Cards V2 -- */
.mr-card{background:var(--white);border:1px solid #DCE7F1;border-radius:12px;padding:1.15rem 1.25rem;margin-bottom:1rem;box-shadow:0 14px 32px rgba(15,35,55,0.065);transition:box-shadow 0.2s,transform 0.15s,border-color .15s;border-left:4px solid transparent;cursor:pointer;}
.mr-card:hover{box-shadow:0 18px 40px rgba(15,35,55,0.11);transform:translateY(-1px);border-color:#CFE0EA;}
.mr-card.top-match{border-left-color:var(--teal-500);}
.mr-card-header-row{display:flex;gap:1rem;}
.mr-card-avatar{flex-shrink:0;}
.mr-card-avatar img{border-radius:50%;object-fit:cover;}
.mr-card-main{flex:1;min-width:0;}
.mr-card-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;flex-wrap:wrap;}
.mr-card-name{font-size:16px;font-weight:700;color:var(--blue-900);line-height:1.25;}
.mr-card-creds{font-size:12px;color:var(--gray-500);margin-top:1px;}
.mr-card-license{font-size:11px;color:var(--gray-400);margin-top:2px;}
.mr-card-location{font-size:12px;color:var(--gray-600);display:flex;align-items:center;gap:4px;margin-top:4px;}
.mr-card-match-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;}
.mr-card-match-badge.strong{background:var(--teal-50);border:1px solid var(--teal-100);color:var(--teal-700);}
.mr-card-match-badge.good{background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-700);}
.mr-card-match-badge.possible{background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-600);}
.mr-card-match-score{font-size:13px;font-weight:700;color:var(--teal-600);}
.mr-card-badges-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:0.5rem;}
.mr-card-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:500;}
.mr-card-badge.open{background:#ECFDF5;border:1px solid #A7F3D0;color:#047857;}
.mr-card-badge.waitlist-badge{background:var(--amber-50);border:1px solid var(--amber-200);color:var(--amber-700);}
.mr-card-badge.telehealth{background:var(--teal-50);border:1px solid var(--teal-100);color:var(--teal-700);}
.mr-card-badge.inperson{background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-700);}
.mr-card-badge.specialty{background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-700);}
.mr-card-badge.approach{background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-600);}
.mr-card-badge.lang{background:var(--amber-50);border:1px solid var(--amber-100);color:var(--amber-700);}
.mr-card-rationale{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:0.65rem;}
.mr-card-rationale-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-400);}
.mr-card-rationale-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;background:var(--gray-50);border:1px solid var(--gray-100);color:var(--gray-700);font-size:11.5px;font-weight:500;}
.mr-card-price{text-align:right;min-width:110px;}
.mr-card-price strong{display:block;font-size:18px;color:var(--blue-900);line-height:1.1;}
.mr-card-price span{display:block;font-size:11px;color:var(--gray-500);margin-top:2px;}

/* -- Card Details Grid -- */
.mr-card-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0.75rem 1rem;margin-top:0.75rem;padding-top:0.75rem;border-top:1px solid var(--gray-100);}
.mr-detail-item{display:flex;flex-direction:column;gap:2px;}
.mr-detail-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-400);}
.mr-detail-value{font-size:12.5px;color:var(--gray-700);line-height:1.4;}

/* -- Card Actions -- */
.mr-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:0.85rem;padding-top:0.85rem;border-top:1px solid #EEF3F8;}
.mr-action-btn{min-height:38px;padding:0 14px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all 0.15s;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;}
.mr-action-btn.primary{background:var(--blue-600);color:var(--white);}
.mr-action-btn.primary:hover{background:var(--blue-700);}
.mr-action-btn.secondary{background:var(--white);color:var(--gray-700);border-color:var(--gray-200);}
.mr-action-btn.secondary:hover{background:var(--gray-50);border-color:var(--gray-300);}
.mr-action-btn.ghost{background:transparent;color:var(--gray-500);border-color:var(--gray-200);}
.mr-action-btn.ghost:hover{background:var(--gray-50);}
.mr-action-btn.save{border:1px solid var(--gray-200);background:var(--white);color:var(--gray-600);display:inline-flex;align-items:center;justify-content:center;}
.mr-action-btn.save:hover{border-color:var(--red-300);color:var(--red-500);background:#FEF2F2;}
.mr-action-btn.save.saved{border-color:var(--red-400);color:var(--red-500);background:#FEF2F2;}
.mr-action-btn.compare{border:1px solid var(--gray-200);background:var(--white);color:var(--gray-600);display:inline-flex;align-items:center;justify-content:center;}
.mr-action-btn.compare:hover{border-color:var(--teal-300);color:var(--teal-600);background:var(--teal-50);}
.mr-action-btn.compare.active{border-color:var(--teal-500);background:var(--teal-500);color:var(--white);}
/* -- Waitlist join button -- */
.mr-action-btn.waitlist{background:var(--amber-50);color:var(--amber-700);border-color:var(--amber-200);gap:5px;}
.mr-action-btn.waitlist:hover{background:var(--amber-100);border-color:var(--amber-600);}
/* -- Not-a-fit ghost link -- */
.mr-not-fit-btn{background:none;border:none;padding:3px 6px;font-size:11px;color:var(--gray-400);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit;line-height:1;}
.mr-not-fit-btn:hover{color:var(--gray-600);}
/* -- Jargon tooltip on approach badges -- */
.mr-card-badge.jargon-tip{position:relative;cursor:help;}
.mr-card-badge.jargon-tip::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);background:var(--gray-900);color:var(--white);font-size:11px;font-weight:400;line-height:1.45;padding:7px 11px;border-radius:var(--radius-md);white-space:normal;width:210px;text-align:left;z-index:var(--z-tooltip);pointer-events:none;opacity:0;transition:opacity 0.15s ease;box-shadow:var(--shadow-lg);}
.mr-card-badge.jargon-tip::before{content:'';position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--gray-900);opacity:0;transition:opacity 0.15s ease;pointer-events:none;z-index:var(--z-tooltip);}
.mr-card-badge.jargon-tip:hover::after,.mr-card-badge.jargon-tip:hover::before{opacity:1;}
/* -- Telehealth state mismatch badge -- */
.mr-badge-mismatch{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;background:var(--amber-50);color:var(--amber-700);border:1px solid var(--amber-200);}
/* -- Waitlist join toast / confirmation -- */
.mr-waitlist-confirm{background:var(--teal-50);border:1px solid var(--teal-200);border-radius:var(--radius-lg);padding:14px 16px;margin:12px 0 4px;font-size:13px;color:var(--teal-700);}
.mr-waitlist-confirm strong{color:var(--teal-600);}
/* -- Guided template notice in contact modal -- */
.req-guided-banner{display:flex;gap:8px;align-items:flex-start;background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:12px;font-size:12px;color:var(--blue-800);}
.req-guided-banner svg{flex-shrink:0;margin-top:1px;color:var(--blue-600);}

/* -- Why This Match Expandable -- */
.mr-why-toggle{font-size:12px;color:var(--blue-600);background:none;border:none;cursor:pointer;padding:4px 0;margin-top:0.5rem;display:inline-flex;align-items:center;gap:4px;font-weight:500;}
.mr-why-toggle:hover{color:var(--blue-800);}
.mr-why-panel{display:none;margin-top:0.5rem;padding:0.875rem 1rem;background:var(--teal-50);border:1px solid var(--teal-100);border-radius:var(--radius-lg);}
.mr-why-panel.open{display:block;}
.mr-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem 1.25rem;}
@media(max-width:640px){.mr-why-grid{grid-template-columns:1fr;}}
.mr-why-item{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--gray-700);line-height:1.45;}
.mr-why-item svg{flex-shrink:0;margin-top:2px;color:var(--teal-600);}
.mr-why-item.miss svg{color:var(--amber-500);}
.mr-why-item.miss{color:var(--gray-600);}
.mr-why-title{font-size:12px;font-weight:700;color:var(--teal-700);margin-bottom:0.5rem;display:flex;align-items:center;gap:6px;}
.mr-why-limitations{margin-top:0.75rem;padding-top:0.75rem;border-top:1px dashed var(--teal-200);}
.mr-why-limit-title{font-size:11px;font-weight:700;color:var(--amber-700);margin-bottom:0.35rem;text-transform:uppercase;letter-spacing:0.04em;}
.mr-phi-warning{font-size:11px;color:var(--gray-500);margin-top:0.5rem;padding-top:0.5rem;border-top:1px dashed var(--teal-200);font-style:italic;}

/* -- Shortlist Sidebar -- */
.mr-shortlist-sidebar{position:sticky;top:76px;align-self:start;display:grid;gap:1rem;}
.mr-right-panel,.mr-shortlist-panel{background:rgba(255,255,255,.96);border:1px solid #DCE7F1;border-radius:12px;padding:1.15rem;box-shadow:0 14px 32px rgba(15,35,55,0.07);}
.mr-shortlist-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.mr-shortlist-title{font-size:14px;font-weight:700;color:var(--blue-900);}
.mr-shortlist-count{font-size:12px;color:var(--gray-400);font-weight:500;}
.mr-shortlist-item{display:flex;align-items:center;gap:10px;padding:0.6rem 0;border-bottom:1px solid var(--gray-100);}
.mr-shortlist-item:last-child{border-bottom:none;}
.mr-shortlist-avatar{flex-shrink:0;}
.mr-shortlist-info{flex:1;min-width:0;}
.mr-shortlist-name{font-size:13px;font-weight:600;color:var(--blue-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mr-shortlist-meta{font-size:11px;color:var(--gray-500);}
.mr-shortlist-remove{background:none;border:none;color:var(--gray-300);cursor:pointer;font-size:16px;padding:0;line-height:1;}
.mr-shortlist-remove:hover{color:var(--red-400);}
.mr-shortlist-actions{display:flex;gap:6px;margin-top:1rem;}
.mr-shortlist-actions button{flex:1;}
.mr-shortlist-empty{text-align:center;padding:1.5rem 0.5rem;color:var(--gray-400);font-size:13px;}
.mr-shortlist-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;}
.mr-shortlist-link{border:0;background:transparent;color:#185FA5;font-size:12px;font-weight:700;cursor:pointer;}
.mr-shortlist-price{font-size:11px;color:var(--gray-500);}

/* -- Decision Support Panel -- */
.mr-decision-panel{background:linear-gradient(135deg,#F6FBFF 0%,#EEF9F6 100%);border:1px solid #DCE7F1;border-radius:12px;padding:1.15rem;margin:0;box-shadow:0 14px 32px rgba(15,35,55,0.07);}
.mr-decision-title{font-size:14px;font-weight:700;color:var(--blue-900);margin-bottom:0.35rem;display:flex;align-items:center;gap:8px;}
.mr-decision-sub{font-size:12px;color:var(--gray-600);margin-bottom:0.75rem;}
.mr-decision-options{display:flex;gap:6px;flex-wrap:wrap;}
.mr-decision-btn{padding:7px 14px;border-radius:999px;border:1.5px solid var(--blue-200);background:var(--white);color:var(--blue-700);font-size:12px;font-weight:600;cursor:pointer;transition:all 0.15s;}
.mr-decision-btn:hover{border-color:var(--blue-400);background:var(--blue-50);}
.mr-decision-btn.active{background:var(--blue-600);border-color:var(--blue-600);color:var(--white);}

/* -- Fallback Panel -- */
.mr-fallback-panel{background:var(--amber-50);border:1px solid var(--amber-200);border-radius:var(--radius-xl);padding:1.25rem;margin-bottom:1rem;}
.mr-fallback-title{font-size:14px;font-weight:700;color:var(--amber-800);margin-bottom:0.5rem;display:flex;align-items:center;gap:8px;}
.mr-fallback-options{display:flex;gap:8px;flex-wrap:wrap;}
.mr-fallback-btn{padding:7px 14px;border-radius:999px;border:1.5px solid var(--amber-200);background:var(--white);color:var(--amber-700);font-size:12px;font-weight:600;cursor:pointer;transition:all 0.15s;}
.mr-fallback-btn:hover{border-color:var(--amber-400);background:var(--amber-100);}

/* -- Compare Bar V2 -- */
.mr-rail-title{font-size:14px;font-weight:700;color:var(--blue-900);margin-bottom:.35rem;}
.mr-rail-copy{font-size:12px;line-height:1.45;color:var(--gray-600);margin:0 0 .85rem;}
.mr-rail-action{width:100%;min-height:40px;border:1px solid #8ECFD0;background:#fff;color:#0A6A61;border-radius:8px;font-size:12.5px;font-weight:700;cursor:pointer;}
.mr-rail-action.primary{background:linear-gradient(135deg,#0A9B92,#087C86);border-color:#087C86;color:#fff;}
.mr-compare-rail-list{display:grid;gap:8px;margin:.75rem 0;}
.mr-compare-rail-item{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--gray-700);}
.mr-compare-rail-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mr-compare-rail-empty{font-size:12px;color:var(--gray-500);line-height:1.45;margin:.65rem 0;}
.mr-compare-bar{position:fixed;bottom:18px;left:50%;right:auto;z-index:120;width:min(760px,calc(100vw - 32px));transform:translate(-50%,130%);background:#071D36;color:var(--white);padding:0.75rem 1rem;border-radius:18px;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;transition:transform 0.3s cubic-bezier(.4,0,.2,1);box-shadow:0 18px 45px rgba(4,44,83,0.28);}
.mr-compare-bar.visible{transform:translate(-50%,0);}
@media(max-width:640px){.mr-compare-bar{bottom:70px;left:12px;right:12px;width:auto;transform:translateY(130%);border-radius:14px;}.mr-compare-bar.visible{transform:translateY(0);}}
.mr-compare-bar-label{font-size:13px;font-weight:600;white-space:nowrap;}
.mr-compare-bar-slots{display:flex;gap:8px;flex:1;flex-wrap:wrap;}
.mr-compare-bar-slot{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,0.1);border:1px dashed rgba(255,255,255,0.25);border-radius:var(--radius-md);padding:5px 10px;min-width:100px;font-size:12px;color:rgba(255,255,255,0.8);}
.mr-compare-bar-slot.filled{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.35);color:var(--white);}
.mr-compare-bar-remove{background:none;border:none;color:rgba(255,255,255,0.5);cursor:pointer;font-size:14px;padding:0;line-height:1;margin-left:2px;}
.mr-compare-bar-remove:hover{color:var(--white);}
.mr-compare-bar-btn{padding:8px 18px;border-radius:var(--radius-md);background:var(--teal-400);color:var(--white);border:none;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity 0.15s;}
.mr-compare-bar-btn:hover{opacity:0.88;}
.mr-compare-bar-clear{background:none;border:none;color:rgba(255,255,255,0.5);font-size:12px;cursor:pointer;white-space:nowrap;}
.mr-compare-bar-clear:hover{color:var(--white);}

/* -- Compare Modal V2 -- */
.mr-compare-modal{display:none;position:fixed;inset:0;z-index:200;background:rgba(4,44,83,0.55);backdrop-filter:blur(4px);overflow-y:auto;padding:2rem 1rem;}
.mr-compare-modal.open{display:flex;align-items:flex-start;justify-content:center;}
.mr-compare-modal-box{background:var(--white);border-radius:var(--radius-xl);width:100%;max-width:1200px;overflow:hidden;margin-top:2rem;}
.mr-compare-modal-header{background:var(--blue-900);padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;}
.mr-compare-modal-title{font-family:'DM Serif Display',serif;font-size:1.15rem;color:var(--white);}
.mr-compare-modal-close{background:none;border:none;color:rgba(255,255,255,0.6);font-size:22px;cursor:pointer;line-height:1;}
.mr-compare-modal-close:hover{color:var(--white);}
.mr-compare-grid{display:grid;gap:0;overflow-x:auto;}
.mr-compare-row{display:contents;}
.mr-compare-cell{padding:0.875rem 1rem;border-bottom:1px solid var(--gray-100);font-size:13px;color:var(--gray-700);line-height:1.5;min-width:180px;}
.mr-compare-cell.header{background:var(--gray-50);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--gray-500);border-right:1px solid var(--gray-100);position:sticky;left:0;z-index:1;}
.mr-compare-cell.provider{text-align:center;}
.mr-compare-cell.provider .mr-compare-provider-name{font-size:13px;font-weight:600;color:var(--blue-900);margin-top:6px;}
.mr-compare-cell.provider .mr-compare-provider-cred{font-size:11px;color:var(--gray-500);}
.mr-compare-match-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;}
.mr-compare-match-pill.strong{background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100);}
.mr-compare-match-pill.good{background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-100);}
.mr-compare-limitation{font-size:11px;color:var(--amber-600);font-style:italic;}
/* -- Compare modal: sticky provider row, diff highlighting, mobile swipe hint -- */
.mr-compare-modal-box{max-height:calc(100vh - 4rem);display:flex;flex-direction:column;}
.mr-compare-cell.provider-row{position:sticky;top:0;background:var(--white);z-index:2;box-shadow:0 8px 14px -10px rgba(15,35,55,0.25);}
.mr-compare-cell.header.provider-row{left:0;background:var(--gray-50);z-index:3;}
.mr-compare-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0.85rem 0 0.65rem;}
.mr-compare-diff-toggle{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--blue-800);cursor:pointer;user-select:none;}
.mr-compare-diff-toggle input{accent-color:var(--teal-600);width:15px;height:15px;cursor:pointer;}
.mr-compare-swipe-hint{display:none;font-size:11.5px;color:var(--gray-500);}
@media(max-width:640px){.mr-compare-swipe-hint{display:inline;}}
.mr-compare-diff-on .mr-compare-cell.mr-diff-row{background:#FFFBEB;}
.mr-compare-diff-on .mr-compare-cell.header.mr-diff-row{background:#FEF3C7;}
/* -- Staggered card entrance on results reveal -- */
@keyframes mrCardIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.mr-cards-reveal>*{animation:mrCardIn 0.45s cubic-bezier(.4,0,.2,1) both;animation-delay:0.4s;}
.mr-cards-reveal>*:nth-child(1){animation-delay:0.03s;}
.mr-cards-reveal>*:nth-child(2){animation-delay:0.08s;}
.mr-cards-reveal>*:nth-child(3){animation-delay:0.13s;}
.mr-cards-reveal>*:nth-child(4){animation-delay:0.18s;}
.mr-cards-reveal>*:nth-child(5){animation-delay:0.23s;}
.mr-cards-reveal>*:nth-child(6){animation-delay:0.27s;}
.mr-cards-reveal>*:nth-child(7){animation-delay:0.31s;}
.mr-cards-reveal>*:nth-child(8){animation-delay:0.35s;}
@media (prefers-reduced-motion:reduce){.mr-cards-reveal>*{animation:none!important;}}

/* -- Skeleton -- */
.mr-skeleton-card{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);padding:1.25rem;margin-bottom:1rem;}
.mr-skeleton{display:flex;gap:1rem;}
.mr-skeleton-avatar{width:60px;height:60px;border-radius:50%;background:var(--gray-100);animation:mrPulse 1.5s ease-in-out infinite;}
.mr-skeleton-line{height:14px;background:var(--gray-100);border-radius:4px;animation:mrPulse 1.5s ease-in-out infinite;}
@keyframes mrPulse{0%,100%{opacity:1;}50%{opacity:0.5;}}

/* -- Empty State -- */
.mr-empty{text-align:center;padding:3rem 1.5rem;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);}
.mr-empty-icon{width:56px;height:56px;background:var(--blue-50);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;}
.mr-empty-title{font-family:'DM Serif Display',serif;font-size:1.25rem;color:var(--blue-900);margin-bottom:0.4rem;}
.mr-empty-sub{font-size:14px;color:var(--gray-500);max-width:340px;margin:0 auto 1.5rem;line-height:1.6;}
.mr-empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}

/* -- How Matching Works Link -- */
.mr-how-link{font-size:12px;color:var(--blue-600);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:4px;}
.mr-how-link:hover{text-decoration:underline;}

/* -- Responsive Adjustments -- */
@media(max-width:640px){
  .mr-card-header-row{flex-direction:column;gap:0.75rem;}
  .mr-card-details{grid-template-columns:1fr 1fr;}
  .mr-card-actions{flex-wrap:wrap;}
  .mr-summary-header{flex-direction:column;align-items:flex-start;}
  .mr-summary-guide{grid-template-columns:1fr;}
  .mr-pref-row{gap:6px;}
  .mr-decision-options{gap:6px;}
  .mr-decision-btn{padding:6px 12px;font-size:11px;}
  .mr-category-header{flex-wrap:wrap;}
}
@media(max-width:480px){
  .mr-card-details{grid-template-columns:1fr;}
  .mr-why-grid{grid-template-columns:1fr;}
}


/* -- Shared loading + empty states (Phase 2, 2026-06-09) --
   Generalized from the heatmap's .hm-skeleton shimmer. Token-based so both
   themes work. Build placeholder markup with avenlySkeletonHTML(rows) in
   site-utilities.js. */

@keyframes avenly-shimmer { 0% { background-position: -600px 0; } 100% { background-position: 600px 0; } }

.skeleton {
  background: linear-gradient(90deg, var(--gray-100) 25%, var(--gray-50) 50%, var(--gray-100) 75%);
  background-size: 600px 100%;
  animation: avenly-shimmer 1.4s ease-in-out infinite;
  border-radius: var(--radius-md);
}

.skeleton-list { display: flex; flex-direction: column; gap: 10px; padding: 14px 0; }
.skeleton-card {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-lg);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.skeleton-line { height: 12px; }
.skeleton-line.w-40 { width: 40%; }
.skeleton-line.w-60 { width: 60%; }
.skeleton-line.w-80 { width: 80%; }

/* -- Inline button spinner (avenlyButtonBusy in site-utilities.js) -- */
@keyframes avenly-spin { to { transform: rotate(360deg); } }
.avenly-btn-spinner {
  display: inline-block;
  width: 13px;
  height: 13px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  margin-right: 7px;
  vertical-align: -2px;
  animation: avenly-spin 0.7s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .skeleton { animation: none; }
  .avenly-btn-spinner { animation-duration: 1.6s; }
}

/* -- Promise-based dialog (avenlyConfirm / avenlyPrompt in site-utilities.js) --
   Replaces native confirm()/prompt() in pod management flows. */
.avenly-dialog-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-overlay-backdrop);
  padding: 20px;
}
.avenly-dialog {
  width: min(440px, 100%);
  background: var(--color-surface);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  padding: 22px;
}
.avenly-dialog h2 {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.3;
  color: var(--color-text-primary);
}
.avenly-dialog p {
  margin: 0 0 16px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--color-text-secondary);
  white-space: pre-line;
}
.avenly-dialog input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
  padding: 10px 12px;
  font: inherit;
  font-size: 14px;
  margin-bottom: 16px;
  color: var(--color-text-primary);
  background: var(--color-surface);
}
.avenly-dialog input:focus-visible {
  outline: 2px solid var(--color-border-focus);
  outline-offset: 1px;
}
.avenly-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.avenly-dialog-actions button {
  font: inherit;
  font-size: 13.5px;
  font-weight: 600;
  padding: 9px 16px;
  border-radius: var(--radius-md);
  cursor: pointer;
  min-height: 40px;
}
.avenly-dialog-cancel {
  background: transparent;
  border: 1px solid var(--color-border-default);
  color: var(--color-text-secondary);
}
.avenly-dialog-confirm {
  background: var(--teal-600);
  border: 1px solid var(--teal-600);
  color: var(--white);
}
.avenly-dialog-confirm.danger {
  background: var(--color-danger-border);
  border-color: var(--color-danger-border);
}

/* -- Verification journey stepper (pro-verify / pending-review dark pages) -- */
.avenly-journey {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 0 0 2rem;
  padding: 0;
}
.avenly-journey li {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.45);
  white-space: nowrap;
}
.avenly-journey li + li::before {
  content: "";
  width: 18px;
  height: 1px;
  background: rgba(255, 255, 255, 0.18);
  margin-right: 6px;
}
.avenly-journey .dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10.5px;
  font-weight: 700;
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  color: rgba(255, 255, 255, 0.55);
  flex-shrink: 0;
}
.avenly-journey li.done { color: rgba(20, 184, 166, 0.9); }
.avenly-journey li.done .dot {
  background: rgba(20, 184, 166, 0.18);
  border-color: rgba(20, 184, 166, 0.6);
  color: rgba(20, 184, 166, 0.95);
}
.avenly-journey li.current { color: rgba(255, 255, 255, 0.92); }
.avenly-journey li.current .dot {
  background: var(--teal-500);
  border-color: var(--teal-500);
  color: var(--blue-900);
}
@media (max-width: 560px) {
  .avenly-journey { gap: 4px; }
  .avenly-journey li { font-size: 11px; }
  .avenly-journey li + li::before { width: 10px; }
}


/* -- Clinician Dashboard Styles -- */

.cd-section {
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: 1.75rem;
  margin-bottom: 1.25rem;
}
.cd-section-title {
  font-family: 'DM Serif Display', serif;
  font-size: 1.05rem;
  color: var(--blue-900);
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.cd-section-sub {
  font-size: 13px;
  color: var(--gray-500);
  margin-bottom: 1.25rem;
}
.cd-divider {
  border: none;
  border-top: 1px solid var(--gray-100);
  margin: 1.25rem 0;
}

/* -- Availability Toggle -- */
.avail-toggle-group {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.avail-toggle-btn {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 20px;
  border-radius: var(--radius-md);
  border: 2px solid var(--gray-100);
  background: var(--white);
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-700);
  cursor: pointer;
  transition: all 0.15s;
  flex: 1;
  min-width: 160px;
  justify-content: center;
}
.avail-toggle-btn:hover {
  border-color: var(--blue-200);
  background: var(--blue-50);
}
.avail-toggle-btn.avail-open { border-color: var(--teal-400); color: var(--teal-600); background: var(--teal-50); }
.avail-toggle-btn.avail-capacity { border-color: #D97706; color: #92400E; background: #FFFBEB; }
.avail-toggle-btn.avail-supervision { border-color: var(--blue-400); color: var(--blue-800); background: var(--blue-50); }
.avail-toggle-btn .avail-dot {
  width: 9px; height: 9px; border-radius: 50%; background: currentColor; flex-shrink: 0;
}
.avail-status-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px; border-radius: var(--radius-sm); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em;
  margin-top: 12px;
}
.avail-status-badge.open { background: var(--teal-50); color: var(--teal-600); border: 1px solid var(--teal-100); }
.avail-status-badge.capacity { background: #FFFBEB; color: #92400E; border: 1px solid #FDE68A; }
.avail-status-badge.supervision { background: var(--blue-50); color: var(--blue-800); border: 1px solid var(--blue-100); }

/* -- Filter Chips -- */
.cd-filter-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--gray-500);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 9px;
  margin-top: 1.1rem;
}
.cd-filter-label:first-of-type { margin-top: 0; }
.cd-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.cd-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--gray-100);
  background: var(--white);
  font-size: 13px;
  color: var(--gray-700);
  cursor: pointer;
  transition: all 0.14s;
  user-select: none;
}
.cd-chip:hover { border-color: var(--blue-200); background: var(--blue-50); }
.cd-chip.cd-chip-active {
  border-color: var(--blue-600);
  background: var(--blue-50);
  color: var(--blue-800);
  font-weight: 500;
}
.cd-chip.cd-chip-active::before {
  content: '? ';
  font-size: 11px;
  font-weight: 700;
}

/* -- Save bar -- */
.cd-save-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 1rem 1.75rem;
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  border-top: 3px solid var(--blue-600);
}
.cd-save-hint { font-size: 13px; color: var(--gray-500); }
.cd-save-hint strong { color: var(--gray-900); }
.cd-btn-save {
  padding: 10px 26px;
  border-radius: var(--radius-md);
  background: var(--blue-600);
  color: var(--white);
  border: none;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
}
.cd-btn-save:hover { background: var(--blue-800); }
.cd-save-success {
  display: none;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  color: var(--teal-600);
}
.cd-save-success.show { display: flex; }

/* -- Algorithm preview -- */
.cd-algo-preview {
  background: var(--gray-50);
  border-radius: var(--radius-md);
  padding: 1.1rem 1.25rem;
  margin-top: 1.1rem;
}
.cd-algo-preview-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--gray-500);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}
.cd-algo-rows { display: flex; flex-direction: column; gap: 7px; }
.cd-algo-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
}
.cd-algo-row-label { color: var(--gray-700); }
.cd-algo-bar-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  margin: 0 14px;
}
.cd-algo-bar-bg {
  height: 6px;
  background: var(--gray-100);
  border-radius: 3px;
  flex: 1;
  overflow: hidden;
}
.cd-algo-bar-fill {
  height: 100%;
  border-radius: 3px;
  background: var(--blue-400);
  transition: width 0.4s ease;
}
.cd-algo-score {
  font-size: 13px;
  font-weight: 700;
  color: var(--blue-800);
  min-width: 36px;
  text-align: right;
}
/* =============================================
   CLINICIAN DASHBOARD REDESIGN v2  Design System
   Calm clinical tone, consistent cards, headers,
   badges, and buttons across all clinician areas.
   ============================================= */

/* --- Page Shell --- */
.cd2-page-shell {
  background: var(--gray-50);
  min-height: calc(100vh - 60px);
  padding: 0 1.5rem 2rem;
}
.cd2-page-shell > .cd2-page-inner {
  max-width: 1100px;
  margin: 0 auto;
}

/* --- Page Header --- */
.cd2-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1.25rem 0 0.75rem;
}
.cd2-page-header-left { flex: 1; min-width: 260px; }
.cd2-page-header-title {
  font-family: 'DM Serif Display', serif;
  font-size: 1.35rem;
  color: var(--blue-900);
  line-height: 1.25;
  margin: 0;
}
.cd2-page-header-sub {
  font-size: 13px;
  color: var(--gray-500);
  margin-top: 4px;
  line-height: 1.5;
}
.cd2-page-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* --- Ethics Banner --- */
.cd2-ethics-banner {
  background: var(--teal-50);
  border: 1px solid var(--teal-100);
  border-radius: var(--radius-lg);
  padding: 10px 16px;
  font-size: 12px;
  color: var(--teal-600);
  line-height: 1.6;
  margin-bottom: 1rem;
}
.cd2-ethics-banner svg {
  display: inline-block;
  vertical-align: -2px;
  margin-right: 6px;
  flex-shrink: 0;
}

/* --- Cards --- */
.cd2-card {
  background: var(--white);
  border-radius: var(--radius-xl);
  border: 1px solid var(--gray-100);
  box-shadow: var(--shadow-sm);
  padding: 1.25rem;
  margin-bottom: 1rem;
  transition: box-shadow 0.15s, border-color 0.15s;
}
.cd2-card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--gray-200);
}
.cd2-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 0.75rem;
  flex-wrap: wrap;
}
.cd2-card-title {
  font-family: 'DM Serif Display', serif;
  font-size: 1.05rem;
  color: var(--blue-900);
}
.cd2-card-sub {
  font-size: 12.5px;
  color: var(--gray-500);
  margin-top: 2px;
  line-height: 1.45;
}
.cd2-card-link {
  background: none;
  border: none;
  color: var(--blue-600);
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
  text-decoration: none;
  white-space: nowrap;
}
.cd2-card-link:hover { text-decoration: underline; }

/* --- Buttons --- */
.cd2-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 18px;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--blue-600) 0%, var(--blue-400) 100%);
  color: var(--white);
  border: none;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.1s, box-shadow 0.15s;
  white-space: nowrap;
  font-family: inherit;
}
.cd2-btn-primary:hover {
  box-shadow: 0 4px 14px rgba(24,95,165,0.3);
}
.cd2-btn-primary:active { transform: scale(0.97); }

.cd2-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 16px;
  border-radius: var(--radius-md);
  background: var(--white);
  color: var(--gray-700);
  border: 1px solid var(--gray-100);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
  font-family: inherit;
}
.cd2-btn-ghost:hover {
  background: var(--gray-50);
  border-color: var(--gray-300);
  color: var(--gray-900);
}
.cd2-btn-ghost:active { transform: scale(0.97); }

.cd2-btn-back {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 12px;
  border-radius: var(--radius-md);
  background: var(--white);
  color: var(--gray-500);
  border: 1px solid var(--gray-100);
  font-size: 12.5px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
}
.cd2-btn-back:hover {
  background: var(--gray-50);
  color: var(--gray-700);
}

/* --- Badges / Pills --- */
.cd2-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}
.cd2-badge-blue {
  background: var(--blue-50);
  color: var(--blue-600);
  border: 1px solid var(--blue-100);
}
.cd2-badge-teal {
  background: var(--teal-50);
  color: var(--teal-600);
  border: 1px solid var(--teal-100);
}
.cd2-badge-gray {
  background: var(--gray-50);
  color: var(--gray-500);
  border: 1px solid var(--gray-100);
}
.cd2-badge-amber {
  background: var(--amber-100);
  color: var(--amber-700);
  border: 1px solid var(--amber-200);
}
.cd2-badge-red {
  background: var(--red-50);
  color: var(--red-600);
  border: 1px solid var(--red-100);
}

/* --- Demo Data Badge --- */
.demo-data-badge {
  display: inline-block;
  background: var(--amber-100);
  color: var(--amber-800);
  border: 1px solid var(--amber-300);
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-left: 4px;
  vertical-align: middle;
}

/* --- Progress Tracker --- */
.cd2-tracker {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 1rem 0;
}
.cd2-tracker-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  position: relative;
}
.cd2-tracker-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--gray-100);
  border: 2px solid var(--gray-200);
  transition: all 0.2s;
  z-index: 1;
}
.cd2-tracker-step.active .cd2-tracker-dot {
  background: var(--teal-500);
  border-color: var(--teal-500);
}
.cd2-tracker-step.completed .cd2-tracker-dot {
  background: var(--blue-600);
  border-color: var(--blue-600);
}
.cd2-tracker-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--gray-400);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.cd2-tracker-step.active .cd2-tracker-label { color: var(--teal-600); }
.cd2-tracker-step.completed .cd2-tracker-label { color: var(--blue-600); }
.cd2-tracker-line {
  flex: 1;
  height: 2px;
  background: var(--gray-100);
  margin: 0 4px;
  margin-bottom: 20px;
  max-width: 60px;
}
.cd2-tracker-line.completed { background: var(--blue-200); }

/* --- Sidebar nav items (hub-style) --- */
.cd2-hub-sidebar {
  width: 240px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cd2-hub-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: var(--radius-md);
  border: none;
  background: transparent;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--gray-600);
  cursor: pointer;
  transition: all 0.12s;
  text-align: left;
  font-family: inherit;
  width: 100%;
}
.cd2-hub-nav-item:hover {
  background: var(--gray-50);
  color: var(--gray-900);
}
.cd2-hub-nav-item.active {
  background: var(--blue-50);
  color: var(--blue-800);
  font-weight: 600;
}
.cd2-hub-nav-icon {
  width: 28px;
  height: 28px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cd2-hub-nav-item.active .cd2-hub-nav-icon {
  background: var(--blue-100);
}
.cd2-hub-nav-item:not(.active) .cd2-hub-nav-icon {
  background: var(--gray-50);
}
.cd2-hub-nav-count {
  margin-left: auto;
  background: var(--gray-100);
  color: var(--gray-500);
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
}
.cd2-hub-nav-item.active .cd2-hub-nav-count {
  background: var(--blue-100);
  color: var(--blue-600);
}

/* --- Two-column hub layout --- */
.cd2-hub-layout {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
}
.cd2-hub-main {
  flex: 1;
  min-width: 0;
}
@media (max-width: 860px) {
  .cd2-hub-layout { flex-direction: column; }
  .cd2-hub-sidebar { width: 100%; }
}

/* --- Section note --- */
.cd2-section-note {
  font-size: 12.5px;
  color: var(--gray-500);
  line-height: 1.6;
  margin-bottom: 0.75rem;
}

/* --- Empty state --- */
.cd2-empty {
  text-align: center;
  padding: 2.5rem 1rem;
  color: var(--gray-500);
}
.cd2-empty-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--gray-700);
  margin-bottom: 6px;
}
.cd2-empty-desc {
  font-size: 13px;
  color: var(--gray-500);
  line-height: 1.5;
  max-width: 400px;
  margin: 0 auto 1rem;
}

/* --- Privacy notice box --- */
.cd2-privacy-box {
  background: var(--teal-50);
  border: 1px solid var(--teal-100);
  border-radius: var(--radius-md);
  padding: 10px 12px;
  font-size: 11.5px;
  color: var(--teal-600);
  line-height: 1.55;
}
.cd2-privacy-box strong {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 600;
  margin-bottom: 3px;
}

/* --- Divider --- */
.cd2-divider {
  border: none;
  border-top: 1px solid var(--gray-100);
  margin: 0.75rem 0;
}

/* --- Mobile bottom padding for nav --- */
@media (max-width: 768px) {
  .cd2-page-shell { padding: 0 1rem 5rem; }
}


/* --------------------------------
   CEU HUB - Core Layout
-------------------------------- */
#page-ceu { background: var(--gray-50); min-height: calc(100vh - 60px); display: none; }
#page-ceu.active { display: block; }

.ceu-layout {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 1.75rem;
  padding: 1.75rem 2.5rem;
  max-width: 1300px;
  margin: 0 auto;
}

/* -- Sidebar -- */
.ceu-sidebar {
  background: var(--white);
  border: 1px solid #E7E4DD;
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  height: fit-content;
  position: sticky;
  top: 76px;
  box-shadow: 0 1px 4px rgba(15,35,55,0.05);
}
.ceu-sidebar-label {
  font-size: 10px;
  font-weight: 800;
  color: #94A3B8;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  padding: 0 4px 4px;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 18px;
}
.ceu-sidebar-label::before {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #14B8A6;
  flex-shrink: 0;
}
.ceu-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: #5E6877;
  cursor: pointer;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
  transition: all 0.18s ease;
  margin-bottom: 2px;
  position: relative;
}
.ceu-nav-item:hover {
  background: #F4F8FA;
  color: #0F1E36;
}
.ceu-nav-item.active {
  background: #E7F4F1;
  color: #0F766E;
  font-weight: 700;
  box-shadow: none;
}
.ceu-nav-item.active:hover {
  background: #D8F5F2;
}
.ceu-nav-icon {
  width: 28px; height: 28px;
  border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all 0.18s ease;
}
.ceu-nav-icon svg { width: 15px; height: 15px; stroke-width: 2; stroke: currentColor; fill: none; stroke-linecap: round; stroke-linejoin: round; }
/* Section-based icon colors */
.ceu-sidebar-section:nth-child(2) .ceu-nav-icon { background: #E7F4F1; color: #14B8A6; }
.ceu-sidebar-section:nth-child(3) .ceu-nav-icon { background: #F3F1EB; color: #3D4A5C; }
.ceu-sidebar-section:nth-child(4) .ceu-nav-icon { background: #E7F4F1; color: #0F766E; }
.ceu-nav-item:hover .ceu-nav-icon { filter: brightness(0.94); }
.ceu-nav-item.active .ceu-nav-icon {
  background: #14B8A6;
  color: #fff;
  box-shadow: 0 2px 6px rgba(15,168,155,0.3);
}

.ceu-sidebar-section {
  margin-bottom: 6px;
}
.ceu-sidebar-section + .ceu-sidebar-section {
  border-top: 1px solid #EEF2F8;
  padding-top: 16px;
  margin-top: 10px;
}
.ceu-sidebar-section:last-child { margin-bottom: 0; }
.ceu-sidebar-section .ceu-nav-item { margin-bottom: 2px; }
.ceu-sidebar-section .ceu-nav-item:last-child { margin-bottom: 0; }

.ceu-section-title {
  font-size: 10px;
  font-weight: 700;
  color: #94A3B8;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  padding: 0 4px 8px;
  margin-bottom: 6px;
  display: block;
  border-left: none;
}

/* -- Main content area -- */
.ceu-main { display: flex; flex-direction: column; gap: 1.1rem; }
.ceu-panel { display: none; }
.ceu-panel.active { display: flex; flex-direction: column; gap: 1.1rem; }

/* -- Cards -- */
.ceu-card {
  background: var(--white);
  border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 1.5rem 1.75rem;
}
.ceu-card-title {
  font-family: 'DM Serif Display', serif;
  font-size: 1.05rem;
  color: var(--blue-900);
  margin-bottom: 3px;
}
.ceu-card-sub {
  font-size: 13px;
  color: var(--gray-500);
  margin-bottom: 1.25rem;
}

/* -- Progress ring / summary -- */
.ceu-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.ceu-stat-box {
  background: var(--gray-50);
  border-radius: var(--radius-md);
  padding: 1rem 1.1rem;
  text-align: center;
}
.ceu-stat-num {
  font-family: 'DM Serif Display', serif;
  font-size: 2rem;
  color: var(--blue-800);
  line-height: 1;
  margin-bottom: 4px;
}
.ceu-stat-num.warn { color: #B45309; }
.ceu-stat-num.danger { color: var(--red-600); }
.ceu-stat-label { font-size: 11px; color: var(--gray-500); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }

/* -- Progress bar -- */
.ceu-progress-wrap { margin-bottom: 1.1rem; }
.ceu-progress-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 6px;
}
.ceu-progress-title { font-size: 13px; font-weight: 600; color: var(--gray-700); }
.ceu-progress-pct { font-size: 13px; color: var(--gray-500); }
.ceu-progress-bg {
  height: 10px; background: var(--gray-100);
  border-radius: 5px; overflow: hidden;
}
.ceu-progress-fill {
  height: 100%; border-radius: 5px;
  background: linear-gradient(90deg, var(--blue-400), var(--teal-400));
  transition: width 0.5s ease;
}
.ceu-progress-fill.warn { background: linear-gradient(90deg, #F59E0B, #D97706); }
.ceu-progress-fill.complete { background: linear-gradient(90deg, var(--teal-400), #059669); }

.ceu-category-bars { display: flex; flex-direction: column; gap: 8px; }
.ceu-cat-row { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.ceu-cat-label { width: 140px; color: var(--gray-700); flex-shrink: 0; }
.ceu-cat-bg { flex: 1; height: 7px; background: var(--gray-100); border-radius: 4px; overflow: hidden; }
.ceu-cat-fill { height: 100%; border-radius: 4px; transition: width 0.4s ease; }
.ceu-cat-score { width: 55px; text-align: right; color: var(--gray-500); font-size: 12px; }

/* -- Log entry form -- */
.ceu-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.ceu-form-grid.full { grid-template-columns: 1fr; }
.ceu-form-group { display: flex; flex-direction: column; gap: 5px; }
.ceu-form-group.span2 { grid-column: 1 / -1; }
.ceu-label {
  font-size: 12px; font-weight: 600;
  color: var(--gray-500);
  text-transform: uppercase; letter-spacing: 0.06em;
}
.ceu-input, .ceu-select, .ceu-textarea {
  padding: 10px 13px;
  border: 1.5px solid var(--gray-100);
  border-radius: var(--radius-md);
  font-size: 14px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: var(--gray-900);
  background: var(--white);
  transition: border-color 0.15s, box-shadow 0.15s;
  width: 100%;
}
.ceu-input:focus, .ceu-select:focus, .ceu-textarea:focus {
  outline: none;
  border-color: var(--blue-400);
  box-shadow: 0 0 0 3px rgba(55,138,221,0.12);
}
.ceu-textarea { resize: vertical; min-height: 72px; }
.ceu-form-actions { display: flex; gap: 10px; align-items: center; margin-top: 8px; }
.ceu-btn-primary {
  padding: 10px 24px; border-radius: var(--radius-md);
  background: var(--blue-600); color: var(--white);
  border: none; font-size: 14px; font-weight: 600;
  cursor: pointer; transition: background 0.15s;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.ceu-btn-primary:hover { background: var(--blue-800); }
.ceu-btn-ghost {
  padding: 10px 18px; border-radius: var(--radius-md);
  background: transparent; color: var(--gray-500);
  border: 1.5px solid var(--gray-100); font-size: 14px;
  cursor: pointer; transition: all 0.15s;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.ceu-btn-ghost:hover { border-color: var(--gray-300); color: var(--gray-700); }
.ceu-form-success {
  display: none; align-items: center; gap: 7px;
  font-size: 13px; font-weight: 600; color: var(--teal-600);
}
.ceu-form-success.show { display: flex; }

/* -- Log table -- */
.ceu-log-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ceu-log-table th {
  text-align: left; font-size: 11px; font-weight: 700;
  color: var(--gray-300); text-transform: uppercase; letter-spacing: 0.07em;
  padding: 0 10px 10px; border-bottom: 1px solid var(--gray-100);
}
.ceu-log-table td {
  padding: 11px 10px; border-bottom: 1px solid var(--gray-50);
  color: var(--gray-700); vertical-align: middle;
}
.ceu-log-table tr:last-child td { border-bottom: none; }
.ceu-log-table tr:hover td { background: var(--gray-50); }
.ceu-tag {
  display: inline-block; padding: 3px 10px;
  border-radius: 12px; font-size: 11px; font-weight: 600;
}
.ceu-tag-ethics { background: #EDE9FE; color: #5B21B6; }
.ceu-tag-cultural { background: #FEF3C7; color: #92400E; }
.ceu-tag-clinical { background: var(--blue-50); color: var(--blue-800); }
.ceu-tag-supervision { background: var(--teal-50); color: var(--teal-600); }
.ceu-tag-law { background: #FEE2E2; color: #991B1B; }
.ceu-tag-general { background: var(--gray-50); color: var(--gray-700); border: 1px solid var(--gray-100); }
/* Course directory */
.ceu-filter-bar { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.ceu-search-input { flex: 1 1 240px; min-width: 200px; padding: 8px 12px; border: 1px solid #E7E4DD; border-radius: 8px; font-size: 13px; background: #fff; }
.ceu-select { padding: 8px 10px; border: 1px solid #E7E4DD; border-radius: 8px; font-size: 13px; background: #fff; min-width: 130px; }
.ceu-course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ceu-course-card { background: #fff; border: 1px solid #E7E4DD; border-radius: 10px; padding: 16px; box-shadow: 0 2px 8px rgba(15,35,55,.04); transition: box-shadow .2s, transform .2s; }
.ceu-course-card:hover { box-shadow: 0 6px 20px rgba(15,35,55,.08); transform: translateY(-1px); }
.ceu-course-hd { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.ceu-course-format { font-size: 11px; color: #5E6877; font-weight: 600; text-transform: capitalize; }
.ceu-course-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 850; color: #0A1628; margin-bottom: 3px; line-height: 1.35; }
.ceu-course-provider { font-size: 11.5px; color: #5E6877; margin-bottom: 6px; }
.ceu-course-desc { font-size: 12px; color: #4A5568; line-height: 1.45; margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ceu-course-footer { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.ceu-course-hours { font-size: 12px; font-weight: 700; color: #0F766E; }
.ceu-course-price { font-size: 12px; font-weight: 700; color: #0A1628; }
.ceu-match-badge { display: inline-block; font-size: 10.5px; font-weight: 700; color: #065F46; background: #D1FAE5; padding: 3px 8px; border-radius: 12px; margin-bottom: 8px; }
.ceu-gap-badge { display: inline-block; font-size: 10px; font-weight: 700; color: #1D4ED8; background: #DBEAFE; padding: 2px 7px; border-radius: 10px; margin-left: 6px; }
@media(max-width:980px){ .ceu-course-grid { grid-template-columns: 1fr; } .ceu-filter-bar { flex-direction: column; } }
.ceu-log-actions { display: flex; gap: 6px; }
.ceu-icon-btn {
  padding: 5px 8px; border-radius: var(--radius-sm);
  border: 1px solid var(--gray-100); background: var(--white);
  font-size: 12px; cursor: pointer; color: var(--gray-500);
  transition: all 0.15s;
}
.ceu-icon-btn:hover { border-color: var(--blue-200); color: var(--blue-600); background: var(--blue-50); }
.ceu-icon-btn.danger:hover { border-color: #FCA5A5; color: var(--red-600); background: var(--red-50); }

/* -- Certificates panel -- */
.ceu-cert-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.ceu-cert-card {
  border: 1.5px solid var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 1.25rem 1.4rem;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
  background: var(--white);
}
.ceu-cert-card:hover {
  border-color: var(--blue-200);
  box-shadow: var(--shadow-sm);
}
.ceu-cert-card.workshop {
  border-top: 4px solid var(--blue-400);
}
.ceu-cert-ribbon {
  position: absolute; top: 14px; right: 14px;
  background: var(--teal-50); color: var(--teal-600);
  border-radius: 12px; padding: 3px 10px;
  font-size: 11px; font-weight: 600;
}
.ceu-cert-icon { font-size: 28px; margin-bottom: 8px; }
.ceu-cert-name { font-weight: 600; color: var(--blue-900); font-size: 14px; margin-bottom: 3px; }
.ceu-cert-meta { font-size: 12px; color: var(--gray-500); margin-bottom: 12px; }
.ceu-cert-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.ceu-cert-btn {
  padding: 6px 14px; border-radius: var(--radius-md);
  font-size: 12px; font-weight: 500; cursor: pointer;
  border: 1.5px solid var(--gray-100); background: var(--white);
  color: var(--gray-700); transition: all 0.15s;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.ceu-cert-btn:hover { border-color: var(--blue-200); color: var(--blue-800); background: var(--blue-50); }
.ceu-cert-btn.primary {
  background: var(--blue-600); color: var(--white); border-color: var(--blue-600);
}
.ceu-cert-btn.primary:hover { background: var(--blue-800); border-color: var(--blue-800); }

/* -- Requirements panel -- */
.ceu-req-list { display: flex; flex-direction: column; gap: 10px; }
.ceu-req-row {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 14px; border-radius: var(--radius-md);
  border: 1px solid var(--gray-100); background: var(--white);
}
.ceu-req-icon {
  width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; flex-shrink: 0;
}
.ceu-req-icon svg { width: 17px; height: 17px; }
.ceu-req-icon.complete { background: var(--teal-50); color: var(--teal-700); }
.ceu-req-icon.partial { background: #FEF3C7; color: #B45309; }
.ceu-req-icon.empty { background: var(--gray-50); color: var(--gray-500); }
.ceu-req-body { flex: 1; }
.ceu-req-name { font-size: 13px; font-weight: 600; color: var(--gray-900); margin-bottom: 3px; }
.ceu-req-note { font-size: 12px; color: var(--gray-500); }
.ceu-req-right { text-align: right; flex-shrink: 0; }
.ceu-req-count { font-size: 13px; font-weight: 700; color: var(--blue-800); }
.ceu-req-needed { font-size: 11px; color: var(--gray-400); }
.ceu-req-bar-bg { height: 5px; background: var(--gray-100); border-radius: 3px; overflow: hidden; margin-top: 6px; }
.ceu-req-bar-fill { height: 100%; border-radius: 3px; background: var(--teal-400); transition: width 0.4s; }
.ceu-req-bar-fill.partial { background: #F59E0B; }

/* -- Certificate modal -- */
#ceu-cert-modal {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(4,44,83,0.55);
  display: flex; align-items: center; justify-content: center;
  padding: 2rem;
  display: none;
}
#ceu-cert-modal.open { display: flex; }
.ceu-cert-modal-inner {
  background: var(--white);
  border-radius: var(--radius-xl);
  width: 620px;
  max-width: 100%;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.ceu-cert-preview {
  background: radial-gradient(ellipse 58% 72% at 86% 0%, rgba(20,184,166,0.14), transparent 62%), #0A1628;
  padding: 2.5rem 2.5rem 2rem;
  text-align: center;
  position: relative;
}
.ceu-cert-preview::before {
  content: '';
  position: absolute; inset: 10px;
  border: 1.5px solid rgba(255,255,255,0.2);
  border-radius: 14px; pointer-events: none;
}
.ceu-cert-logo { font-size: 13px; font-weight: 700; color: rgba(255,255,255,0.5); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 1rem; }
.ceu-cert-seal { font-size: 48px; margin-bottom: 1rem; }
.ceu-cert-headline { font-family: 'DM Serif Display', serif; font-size: 1.6rem; color: var(--white); margin-bottom: 6px; }
.ceu-cert-subhead { font-size: 13px; color: var(--blue-100); margin-bottom: 1.25rem; }
.ceu-cert-awardee { font-family: 'DM Serif Display', serif; font-size: 1.3rem; color: var(--white); border-bottom: 1px solid rgba(255,255,255,0.25); display: inline-block; padding: 0 2rem 6px; margin-bottom: 1rem; }
.ceu-cert-detail { font-size: 13px; color: var(--blue-100); margin-bottom: 6px; }
.ceu-cert-hours-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--radius-sm); padding: 5px 14px; font-size: 13px; color: var(--white); font-weight: 600;
  margin-top: 8px;
}
.ceu-cert-modal-footer {
  padding: 1.25rem 1.75rem;
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  border-top: 1px solid var(--gray-100);
}
.ceu-cert-modal-meta { font-size: 12px; color: var(--gray-500); }
.ceu-cert-modal-meta strong { color: var(--gray-900); }
.ceu-cert-modal-actions { display: flex; gap: 8px; }
.ceu-dashboard-shell{display:flex;flex-direction:column;gap:18px;}
.ceu-dash-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.ceu-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:20px;align-items:stretch;}
.ceu-snapshot{background:radial-gradient(ellipse 58% 72% at 86% 0%,rgba(20,184,166,0.14),transparent 62%),#0A1628;color:#fff;border:0;overflow:hidden;position:relative;box-shadow:0 18px 40px rgba(6,43,54,.16);}
.ceu-snapshot::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 18%,rgba(77,227,217,.18),transparent 34%),linear-gradient(120deg,transparent 0%,rgba(255,255,255,.08) 100%);pointer-events:none;}
.ceu-snapshot>*{position:relative;z-index:1;}
.ceu-snapshot-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:22px;}
.ceu-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:rgba(255,255,255,.68);margin-bottom:6px;}
.ceu-snapshot-title{font-size:18px;font-weight:700;letter-spacing:0;color:#fff;margin:0 0 5px;}
.ceu-snapshot-sub{font-size:12.5px;color:rgba(255,255,255,.76);}
.ceu-deadline-card{min-width:172px;border-left:1px solid rgba(255,255,255,.2);padding-left:22px;text-align:left;}
.ceu-deadline-icon{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(77,227,217,.14);color:#B7FFF6;margin-bottom:10px;}
.ceu-deadline-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.ceu-big-progress{display:flex;align-items:flex-end;gap:10px;margin-bottom:10px;}
.ceu-big-num{font-size:38px;font-weight:700;line-height:1;color:#fff;}
.ceu-big-denom{font-size:20px;color:rgba(255,255,255,.78);font-weight:600;margin-bottom:3px;}
.ceu-snapshot .ceu-progress-bg{height:12px;background:rgba(255,255,255,.86);}
.ceu-snapshot .ceu-progress-fill{background:linear-gradient(90deg,#5EEAD4,#14B8A6);}
.ceu-progress-caption{display:flex;justify-content:space-between;font-size:11.5px;color:rgba(255,255,255,.76);margin-top:7px;}
.ceu-panel-card{background:#fff;border:1px solid #E7E4DD;border-radius:10px;padding:20px 24px;box-shadow:0 14px 34px rgba(15,35,55,.05);}
.ceu-panel-card .ceu-card-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;margin-bottom:3px;}
.ceu-req-dashboard{display:flex;flex-direction:column;gap:12px;margin-top:14px;}
.ceu-req-dash-row{display:grid;grid-template-columns:26px minmax(0,1fr) 96px 72px;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #F3F1EB;}
.ceu-req-dash-row:last-child{border-bottom:0;}
.ceu-req-dash-icon{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#0F766E;background:#EAFBFA;}
.ceu-req-dash-icon svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.ceu-req-dash-name{font-size:13px;font-weight:700;color:#0A1628;}
.ceu-req-dash-note{font-size:11.5px;color:#5E6877;margin-top:2px;}
.ceu-req-mini-bg{height:7px;background:#E7E4DD;border-radius:999px;overflow:hidden;}
.ceu-req-mini-fill{height:100%;border-radius:999px;background:#14B8A6;}
.ceu-req-mini-fill.needs{background:#2C7BDE;}
.ceu-req-dash-count{text-align:right;font-size:12px;font-weight:700;color:#0A1628;}
.ceu-req-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;border-radius:999px;padding:4px 8px;font-size:10.5px;font-weight:700;background:#DFF8EF;color:#0F766E;}
.ceu-req-pill.needs{background:#EAF2FF;color:#185FA5;}
.ceu-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr);gap:20px;}
.ceu-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.ceu-plan-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.ceu-plan-item{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:10px;border:1px solid #E7E4DD;border-radius:8px;background:#FBFCFE;}
.ceu-plan-num{width:24px;height:24px;border-radius:999px;background:#14B8A6;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;}
.ceu-plan-title{font-size:12.5px;font-weight:700;color:#0A1628;}
.ceu-plan-sub{font-size:11px;color:#5E6877;margin-top:2px;}
.ceu-month-chart{height:145px;display:flex;align-items:end;gap:11px;padding:12px 4px 0;border-bottom:1px solid #E7E4DD;margin-top:8px;}
.ceu-month{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:10.5px;color:#5E6877;}
.ceu-month-bar{width:100%;max-width:18px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#5EEAD4,#14B8A6);min-height:6px;}
.ceu-month-bar.goal{background:transparent;border:1.5px dashed #9BAFBF;}
.ceu-list-compact{display:flex;flex-direction:column;gap:0;}
.ceu-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #F3F1EB;}
.ceu-list-row:last-child{border-bottom:0;}
.ceu-list-title{font-size:12.5px;font-weight:700;color:#0A1628;margin-bottom:2px;}
.ceu-list-meta{font-size:11.5px;color:#5E6877;}
.ceu-cert-mini{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #F3F1EB;}
.ceu-cert-mini:last-child{border-bottom:0;}
.ceu-cert-mini-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#FFF4F0;color:#D9480F;}
.ceu-cert-mini-icon svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.ceu-status-ok{font-size:10.5px;font-weight:700;color:#0F766E;background:#DFF8EF;border-radius:999px;padding:4px 8px;}
.ceu-reco-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #F3F1EB;}
.ceu-reco-row:last-child{border-bottom:0;}
.ceu-reco-thumb{height:40px;border-radius:7px;background:linear-gradient(135deg,#EAFBFA,#EAF2FF);display:flex;align-items:center;justify-content:center;color:#0F766E;}
.ceu-reco-thumb svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.ceu-dashboard-note{border:1px solid #BFECE7;background:#F0FCFA;color:#0F766E;border-radius:8px;padding:12px 14px;font-size:12.5px;margin-top:14px;}
/* --- Dashboard layout --- */
.ceu-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.ceu-stat-card{background:#fff;border:1px solid #E7E4DD;border-radius:10px;padding:18px 18px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;box-shadow:0 1px 3px rgba(0,0,0,0.04);}
.ceu-stat-ico{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:6px;flex-shrink:0;}
.ceu-stat-ico svg{width:17px;height:17px;stroke-width:2;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;}
.ceu-stat-ico--teal{background:#E7F4F1;color:#14B8A6;}
.ceu-stat-ico--slate{background:#EEF1F7;color:#4B6A88;}
.ceu-stat-ico--amber{background:#FFF8E6;color:#C97C10;}
.ceu-stat-ico--orange{background:#E7F4F1;color:#0F766E;}
.ceu-stat-num{font-size:1.75rem;font-weight:700;line-height:1;color:#14B8A6;}
.ceu-stat-neutral{color:#0F1E36;}
.ceu-stat-amber{color:#C97C10;}
.ceu-stat-label{font-size:12px;color:#7A8FA0;font-weight:500;margin-top:2px;}
.ceu-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ceu-chart-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;}
.ceu-panelcard-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px;}
.ceu-panelcard-hd .ceu-card-sub{margin-bottom:0;}
.ceu-panelcard-hd .ceu-card-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:700;color:#0A1628;margin-bottom:2px;}
.ceu-icon-btn svg,.ceu-btn-primary svg,.ceu-btn-ghost svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;}
.ceu-btn-primary,.ceu-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;}
.ceu-icon-btn{min-width:34px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;}
@media(max-width:980px){.ceu-layout{grid-template-columns:1fr;padding:1rem}.ceu-sidebar{position:static}.ceu-hero-grid,.ceu-dashboard-grid{grid-template-columns:1fr}.ceu-card-grid{grid-template-columns:1fr}.ceu-split-grid,.ceu-chart-grid{grid-template-columns:1fr}.ceu-stat-row{grid-template-columns:1fr 1fr}.ceu-deadline-card{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:14px 0 0;min-width:0}.ceu-snapshot-top{flex-direction:column}.ceu-req-dash-row{grid-template-columns:26px minmax(0,1fr);}.ceu-req-mini-bg,.ceu-req-dash-count{grid-column:2}.ceu-req-dash-count{text-align:left}.ceu-list-row,.ceu-reco-row{grid-template-columns:1fr}.ceu-dash-actions{justify-content:flex-start}}

/* -- Mobile: the inner sidebar becomes a horizontal chip rail instead of
   consuming the whole first screen (and the off-brand #3B6ECD icon joins
   the teal system). -- */
@media (max-width: 760px) {
  .ceu-layout { grid-template-columns: 1fr; padding: 0.75rem; gap: 0.9rem; }
  .ceu-sidebar { position: static; padding: 0.6rem 0.75rem; display: flex; gap: 4px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .ceu-sidebar::-webkit-scrollbar { display: none; }
  .ceu-sidebar-label, .ceu-sidebar-section + .ceu-sidebar-section { border: 0; margin: 0; padding: 0; }
  .ceu-sidebar-label { display: none; }
  .ceu-sidebar-section { display: flex; gap: 4px; margin: 0; }
  .ceu-sidebar .ceu-nav-item { white-space: nowrap; margin: 0; flex: 0 0 auto; }
}


/* --------------------------------
   DISCOVERY HUB - Workshops & Groups
-------------------------------- */
.discovery-hub {
  background: var(--gray-50);
  min-height: 100vh;
  padding: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.discovery-header {
  margin-bottom: 2rem;
  text-align: center;
}

.discovery-header h1 {
  font-family: 'DM Serif Display', serif;
  font-size: 2rem;
  color: var(--blue-900);
  margin: 0 0 0.5rem;
}

.discovery-header p {
  font-size: 15px;
  color: var(--gray-600);
  margin: 0;
}

.discovery-controls {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.search-input,
.filter-select {
  padding: 0.75rem 1rem;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  font-size: 14px;
  background: var(--white);
  color: var(--gray-900);
}

.search-input {
  flex: 1;
  min-width: 250px;
}

.search-input::placeholder {
  color: var(--gray-400);
}

.search-input:focus,
.filter-select:focus {
  outline: none;
  border-color: var(--teal-500);
  box-shadow: 0 0 0 3px rgba(16,185,129,0.1);
}

.discovery-results {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

.discovery-card {
  background: var(--white);
  border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  cursor: pointer;
  transition: all 0.2s;
}

.discovery-card:hover {
  border-color: var(--teal-500);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

.discovery-card-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.discovery-card h3 {
  font-size: 16px;
  font-weight: 600;
  color: var(--blue-900);
  margin: 0;
  flex: 1;
}

.discovery-meta {
  font-size: 14px;
  font-weight: 600;
  color: var(--teal-600);
  white-space: nowrap;
}

.discovery-card-host {
  font-size: 13px;
  color: var(--gray-600);
  margin: 0 0 0.75rem;
}

.discovery-card-status {
  display: inline-block;
  font-size: 12px;
  padding: 0.25rem 0.75rem;
  background: var(--green-50);
  color: var(--green-700);
  border-radius: var(--radius-sm);
  margin-bottom: 1rem;
}

.discovery-card-btn {
  width: 100%;
  padding: 0.75rem 1rem;
  background: var(--teal-600);
  color: var(--white);
  border: none;
  border-radius: var(--radius-md);
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.discovery-card-btn:hover {
  background: var(--teal-700);
}

.empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 3rem;
  color: var(--gray-500);
  font-size: 15px;
}

/* Detail Page Styles */
.detail-page {
  background: var(--white);
  min-height: 100vh;
  padding: 2rem;
}

.detail-back-btn {
  background: none;
  border: none;
  color: var(--teal-600);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 1.5rem;
  padding: 0;
}

.detail-back-btn:hover {
  color: var(--teal-700);
}

.detail-header {
  margin-bottom: 2.5rem;
  border-bottom: 1px solid var(--gray-100);
  padding-bottom: 1.5rem;
}

.detail-header h1 {
  font-family: 'DM Serif Display', serif;
  font-size: 2rem;
  color: var(--blue-900);
  margin: 0 0 1rem;
}

.detail-meta {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
}

.detail-host,
.detail-price {
  font-size: 14px;
  color: var(--gray-700);
}

.detail-price {
  font-weight: 600;
  color: var(--teal-600);
}

.detail-content {
  max-width: 800px;
}

.detail-section {
  margin-bottom: 2rem;
}

.detail-section h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--blue-900);
  margin: 0 0 1rem;
}

.detail-section p {
  font-size: 14px;
  color: var(--gray-700);
  line-height: 1.6;
  margin: 0;
}

.detail-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  padding: 1rem;
  background: var(--gray-50);
  border-radius: var(--radius-md);
}

.detail-info-grid div {
  font-size: 14px;
  color: var(--gray-700);
}

.detail-info-grid strong {
  color: var(--blue-900);
}

.detail-actions {
  margin-top: 2rem;
  display: flex;
  gap: 1rem;
}

.btn {
  padding: 0.875rem 1.5rem;
  border: none;
  border-radius: var(--radius-md);
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
}

.btn-primary {
  background: var(--teal-600);
  color: var(--white);
}

.btn-primary:hover {
  background: var(--teal-700);
}

.btn-secondary {
  background: var(--gray-100);
  color: var(--gray-900);
}

.btn-secondary:hover {
  background: var(--gray-200);
}

/* Phase 2: Registration Forms & Attendance Tracking */
.ws-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 5000;
  padding: 1rem;
}

.ws-modal-overlay.active,
.ws-modal-overlay[style*="display: flex"] {
  display: flex !important;
}

.ws-modal-box {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 2rem;
  max-width: 500px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
  position: relative;
}

.ws-modal-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: var(--gray-400);
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ws-modal-close:hover {
  color: var(--gray-600);
}

.ws-modal-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--blue-900);
  margin: 0 0 0.5rem;
  padding-right: 2rem;
}

.ws-modal-subtitle {
  font-size: 13px;
  color: var(--gray-600);
  margin: 0 0 1.5rem;
}

.ws-form-group {
  margin-bottom: 1rem;
}

.ws-form-group label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--gray-900);
  margin-bottom: 0.5rem;
}

.ws-form-input {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  font-size: 14px;
  background: var(--white);
  color: var(--gray-900);
}

.ws-form-input:focus {
  outline: none;
  border-color: var(--teal-500);
  box-shadow: 0 0 0 3px rgba(16,185,129,0.1);
}

.ws-form-actions {
  display: flex;
  gap: 1rem;
  margin-top: 1.5rem;
}

.ws-btn {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: var(--radius-md);
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
}

.ws-btn-primary {
  background: var(--teal-600);
  color: var(--white);
  flex: 1;
}

.ws-btn-primary:hover {
  background: var(--teal-700);
}

.ws-btn-secondary {
  background: var(--gray-100);
  color: var(--gray-900);
  flex: 1;
}

.ws-btn-secondary:hover {
  background: var(--gray-200);
}

/* Attendance Tracking Panel */
.attendance-panel {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 2rem;
  max-width: 1000px;
  margin: 0 auto;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.attendance-header {
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--gray-200);
  padding-bottom: 1rem;
}

.attendance-header h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--blue-900);
  margin: 0 0 0.5rem;
}

.attendance-header p {
  font-size: 13px;
  color: var(--gray-600);
  margin: 0;
}

.attendance-table-wrapper {
  overflow-x: auto;
  margin-bottom: 1.5rem;
}

.attendance-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.attendance-table thead {
  background: var(--gray-50);
  border-bottom: 2px solid var(--gray-200);
}

.attendance-table th {
  padding: 1rem;
  text-align: left;
  font-weight: 600;
  color: var(--gray-900);
}

.attendance-table td {
  padding: 1rem;
  border-bottom: 1px solid var(--gray-100);
  color: var(--gray-700);
}

.attendance-table tbody tr:hover {
  background: var(--gray-50);
}

.attendance-btn {
  padding: 0.5rem 1rem;
  background: var(--teal-600);
  color: var(--white);
  border: none;
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.attendance-btn:hover {
  background: var(--teal-700);
}

.attendance-actions {
  display: flex;
  gap: 1rem;
  margin-top: 1.5rem;
}

.attendance-actions .ws-btn {
  flex: 1;
}


/* -------------------------------------------
   SHARED MODAL OVERLAY
------------------------------------------- */
.cp-modal-overlay {
  position: fixed; inset: 0; z-index: 3000;
  background: rgba(4,44,83,0.55);
  display: none; align-items: center; justify-content: center; padding: 1.5rem;
}
.cp-modal-overlay.open { display: flex; }
.cp-modal-box {
  background: var(--white); border-radius: var(--radius-xl);
  width: 560px; max-width: 100%; max-height: 90vh;
  overflow-y: auto; box-shadow: var(--shadow-lg);
}
.cp-modal-header {
  padding: 1.5rem 1.75rem 0;
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
}
.cp-modal-title { font-family:'DM Serif Display',serif; font-size: 1.2rem; color: var(--blue-900); }
.cp-modal-sub { font-size: 13px; color: var(--gray-500); margin-top: 3px; }
.cp-modal-close {
  width: 30px; height: 30px; border-radius: 50%; border: none; background: var(--gray-50);
  font-size: 16px; cursor: pointer; color: var(--gray-500); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; transition: background 0.15s;
}
.cp-modal-close:hover { background: var(--gray-100); }
.cp-modal-body { padding: 1.25rem 1.75rem; }
.cp-modal-footer {
  padding: 1rem 1.75rem 1.5rem;
  display: flex; gap: 10px; justify-content: flex-end;
  border-top: 1px solid var(--gray-100);
}

/* -------------------------------------------
   SUPERVISION HUB PAGE
------------------------------------------- */
#page-supervision { background: var(--gray-50); min-height: calc(100vh - 60px); display: none; }
#page-supervision.active { display: block; }

.sup-hero {
  background: linear-gradient(135deg, var(--blue-900) 0%, #0C447C 100%);
  padding: 2.5rem 2rem 0;
}
.sup-hero-inner { max-width: 1060px; margin: 0 auto; }
.sup-hero-top {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 1.5rem; padding-bottom: 0; flex-wrap: wrap;
}
.sup-hero-label { font-size: 11px; font-weight: 700; color: var(--blue-200); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 6px; }
.sup-hero-title { font-family:'DM Serif Display',serif; font-size: 2rem; color: var(--white); margin-bottom: 6px; }
.sup-hero-sub { font-size: 14px; color: var(--blue-100); max-width: 480px; line-height: 1.6; }
.sup-hero-actions { display: flex; gap: 10px; padding-bottom: 1.75rem; flex-wrap: wrap; }
.sup-btn-white {
  padding: 11px 22px; border-radius: var(--radius-md); background: var(--white);
  color: var(--blue-900); border: none; font-size: 14px; font-weight: 600;
  cursor: pointer; transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif;
}
.sup-btn-white:hover { box-shadow: var(--shadow-md); transform: translateY(-1px); }
.sup-btn-outline-white {
  padding: 11px 22px; border-radius: var(--radius-md); background: transparent;
  color: var(--white); border: 1.5px solid rgba(255,255,255,0.35); font-size: 14px;
  cursor: pointer; transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif;
}
.sup-btn-outline-white:hover { background: rgba(255,255,255,0.1); }
.sup-hero-tabs {
  display: flex; gap: 0; border-top: 1px solid rgba(255,255,255,0.1); margin-top: 1.25rem;
}
.sup-hero-tab {
  padding: 12px 22px; font-size: 13px; font-weight: 500; color: rgba(255,255,255,0.55);
  cursor: pointer; border: none; background: none; border-bottom: 3px solid transparent;
  transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif;
}
.sup-hero-tab:hover { color: var(--white); }
.sup-hero-tab.active { color: var(--white); border-bottom-color: var(--white); }

.sup-layout { max-width: 1060px; margin: 0 auto; padding: 1.5rem 2rem; display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 1.25rem; }
.sup-sidebar { display: flex; flex-direction: column; gap: 1rem; }

/* Search / Filter sidebar */
.sup-filter-card {
  background: var(--white); border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg); padding: 1.25rem;
}
.sup-filter-title { font-size: 12px; font-weight: 700; color: var(--gray-500); text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 10px; }
.sup-filter-group { margin-bottom: 14px; }
.sup-filter-label { font-size: 12px; color: var(--gray-500); margin-bottom: 6px; font-weight: 500; }
.sup-filter-input, .sup-filter-select {
  width: 100%; padding: 9px 11px; border: 1.5px solid var(--gray-100);
  border-radius: var(--radius-md); font-size: 13px; font-family:'Plus Jakarta Sans',sans-serif;
  color: var(--gray-900); background: var(--white); transition: border-color 0.15s;
}
.sup-filter-input:focus, .sup-filter-select:focus { outline: none; border-color: var(--blue-400); }
.sup-filter-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.sup-fchip {
  padding: 4px 11px; border-radius: 14px; border: 1.5px solid var(--gray-100);
  background: var(--white); font-size: 12px; color: var(--gray-700); cursor: pointer;
  transition: all 0.13s; user-select: none;
}
.sup-fchip:hover { border-color: var(--blue-200); background: var(--blue-50); }
.sup-fchip.active { border-color: var(--blue-600); background: var(--blue-50); color: var(--blue-800); font-weight: 500; }

/* Main panel */
.sup-main { display: flex; flex-direction: column; gap: 1rem; }
.sup-panel { display: none; }
.sup-panel.active { display: flex; flex-direction: column; gap: 1rem; }
.sup-results-header {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 13px; color: var(--gray-500);
}
.sup-results-count strong { color: var(--gray-900); }

/* Mentor card */
.sup-card {
  background: var(--white); border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg); padding: 1.25rem 1.4rem;
  transition: box-shadow 0.2s, border-color 0.2s; cursor: default;
}
.sup-card:hover { box-shadow: var(--shadow-sm); border-color: var(--blue-100); }
.sup-card-top { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 10px; }
.sup-avatar {
  width: 52px; height: 52px; border-radius: 50%; background: var(--blue-100);
  color: var(--blue-800); font-family:'DM Serif Display',serif; font-size: 18px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.sup-card-info { flex: 1; }
.sup-card-name { font-weight: 600; color: var(--blue-900); font-size: 15px; margin-bottom: 2px; }
.sup-card-cred { font-size: 12px; color: var(--gray-500); margin-bottom: 6px; }
.sup-card-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.sup-badge {
  font-size: 11px; padding: 3px 10px; border-radius: 12px; font-weight: 500;
}
.sup-badge-sup { background: var(--teal-50); color: var(--teal-600); border: 1px solid var(--teal-100); }
.sup-badge-consult { background: var(--blue-50); color: var(--blue-800); border: 1px solid var(--blue-100); }
.sup-badge-pro { background: #F5F3FF; color: #5B21B6; border: 1px solid #DDD6FE; }
.sup-badge-verify { background: var(--gray-50); color: var(--gray-700); border: 1px solid var(--gray-100); }
.sup-card-rate { font-size: 14px; font-weight: 700; color: var(--blue-800); white-space: nowrap; }
.sup-card-rate-sub { font-size: 11px; color: var(--gray-400); }
.sup-card-body { font-size: 13px; color: var(--gray-600); line-height: 1.6; margin-bottom: 12px; }
.sup-card-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 12px; }
.sup-card-tag {
  padding: 3px 10px; border-radius: 12px; font-size: 11px;
  background: var(--gray-50); color: var(--gray-700); border: 1px solid var(--gray-100);
}
.sup-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.sup-card-avail { font-size: 12px; color: var(--teal-600); font-weight: 500; }
.sup-card-avail.full { color: var(--gray-400); }
.sup-card-actions { display: flex; gap: 8px; }
.sup-btn-book {
  padding: 8px 18px; border-radius: var(--radius-md); background: var(--blue-600);
  color: var(--white); border: none; font-size: 13px; font-weight: 600;
  cursor: pointer; transition: background 0.15s; font-family:'Plus Jakarta Sans',sans-serif;
}
.sup-btn-book:hover { background: var(--blue-800); }
.btn-sup-confirm {
  padding: 10px 20px; border-radius: var(--radius-md); background: var(--blue-600);
  color: var(--white); border: none; font-size: 14px; font-weight: 600;
  cursor: pointer; transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif;
}
.btn-sup-confirm:hover { background: var(--blue-800); transform: translateY(-1px); }
.btn-sup-cancel {
  padding: 10px 18px; border-radius: var(--radius-md); background: var(--white);
  color: var(--gray-600); border: 1.5px solid var(--gray-200); font-size: 14px;
  cursor: pointer; transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif;
}
.btn-sup-cancel:hover { border-color: var(--gray-300); color: var(--gray-800); }
.sup-btn-msg {
  padding: 8px 14px; border-radius: var(--radius-md); background: var(--white);
  color: var(--gray-700); border: 1.5px solid var(--gray-100); font-size: 13px;
  cursor: pointer; transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif;
}
.sup-btn-msg:hover { border-color: var(--blue-200); color: var(--blue-800); }

/* === REDESIGNED SUPERVISION SECTION === */
.sup-ethics-strip {
  background: var(--gray-50); border-bottom: 1px solid var(--gray-100);
  padding: 10px 2rem; font-size: 12px; color: var(--gray-600); line-height: 1.5;
  display: flex; align-items: center; gap: 8px;
}
.sup-ethics-icon { color: var(--teal-500); font-size: 14px; font-weight: 700; }

.sup-assoc-banner {
  background: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);
  border-bottom: 1px solid #F5D79C;
}
.sup-assoc-inner {
  max-width: 1060px; margin: 0 auto; padding: 14px 2rem;
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.sup-assoc-icon {
  width: 36px; height: 36px; border-radius: 50%; background: #F59E0B;
  color: #fff; font-size: 16px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.sup-assoc-title { font-size: 14px; font-weight: 700; color: #92400E; }
.sup-assoc-text { font-size: 12px; color: #92400E; margin-top: 2px; }
.sup-assoc-btn {
  margin-left: auto; background: #F59E0B; color: #fff; border: none;
  border-radius: var(--radius-md); padding: 8px 16px; font-size: 12px; font-weight: 700;
  cursor: pointer; transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif;
}
.sup-assoc-btn:hover { background: #D97706; }

.sup-search-wrap { position: relative; }
.sup-search-icon {
  position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
  color: var(--gray-400); pointer-events: none;
}
.sup-filter-input { padding-left: 32px !important; }

.sup-filter-clear {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; border-radius: var(--radius-md);
  background: transparent; color: var(--gray-500);
  border: 1.5px solid var(--gray-100); font-size: 12px; font-weight: 500;
  cursor: pointer; transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif;
}
.sup-filter-clear:hover { border-color: var(--gray-300); color: var(--gray-700); }

/* Rate display */
.sup-rate-box {
  text-align: right; flex-shrink: 0; display: flex; align-items: baseline; gap: 2px;
}
.sup-rate-amount { font-size: 22px; font-weight: 700; color: var(--blue-900); line-height: 1; }
.sup-rate-unit { font-size: 13px; color: var(--gray-400); font-weight: 500; }

/* Service badges */
.sup-svc-badge {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; padding: 3px 10px; border-radius: 12px; font-weight: 600;
}
.sup-svc-ind { background: var(--teal-50); color: var(--teal-700); border: 1px solid var(--teal-100); }
.sup-svc-group { background: var(--blue-50); color: var(--blue-700); border: 1px solid var(--blue-100); }
.sup-svc-consult { background: #F5F3FF; color: #5B21B6; border: 1px solid #DDD6FE; }

/* Card improvements */
.sup-card {
  background: var(--white); border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg); padding: 1.25rem 1.4rem;
  transition: box-shadow 0.2s, border-color 0.2s, transform 0.15s; cursor: default;
}
.sup-card:hover { box-shadow: var(--shadow-md); border-color: var(--blue-100); transform: translateY(-1px); }
.sup-card-top { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 12px; }
.sup-avatar {
  width: 56px; height: 56px; border-radius: 50%;
  color: var(--white); font-family:'DM Serif Display',serif; font-size: 20px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.sup-card-info { flex: 1; min-width: 0; }
.sup-card-name { font-weight: 700; color: var(--blue-900); font-size: 16px; margin-bottom: 3px; }
.sup-card-cred { font-size: 12px; color: var(--gray-500); margin-bottom: 8px; }
.sup-card-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.sup-card-body { font-size: 13px; color: var(--gray-600); line-height: 1.6; margin-bottom: 14px; }

/* Skills/tags */
.sup-card-skills { margin-bottom: 14px; }
.sup-skill-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.sup-skill-label { font-size: 10px; font-weight: 700; color: var(--gray-400); text-transform: uppercase; letter-spacing: 0.08em; min-width: 42px; }
.sup-skill-tag {
  display: inline-block; padding: 3px 10px; border-radius: 12px; font-size: 11px;
  background: var(--blue-50); color: var(--blue-700); border: 1px solid var(--blue-100); font-weight: 500;
}
.sup-skill-alt { background: var(--gray-50); color: var(--gray-700); border-color: var(--gray-100); }

/* Footer */
.sup-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding-top: 12px; border-top: 1px solid var(--gray-50); }
.sup-card-avail { font-size: 12px; color: var(--teal-600); font-weight: 600; display: flex; align-items: center; gap: 6px; }
.sup-card-avail.full { color: var(--gray-400); }
.sup-avail-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--teal-500); display: inline-block; }
.sup-card-actions { display: flex; gap: 8px; }

/* NPI bar */
.sup-npi-bar {
  margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--gray-50);
  font-size: 11px; color: var(--teal-600); font-weight: 500;
  display: flex; align-items: center; gap: 6px;
}
.sup-npi-icon { width: 16px; height: 16px; border-radius: 50%; background: var(--teal-50); color: var(--teal-600); display: inline-flex; align-items: center; justify-content: center; font-size: 10px; }

/* Modal overlay */
.sup-modal-overlay {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(10, 35, 66, 0.45);
  display: none; align-items: center; justify-content: center;
  padding: 1rem; backdrop-filter: blur(4px);
}
.sup-modal-overlay.open { display: flex; }
.sup-modal {
  background: var(--white); border-radius: var(--radius-lg);
  padding: 1.5rem; max-width: 520px; width: 100%;
  max-height: 90vh; overflow-y: auto; position: relative;
  box-shadow: var(--shadow-xl); animation: supModalIn 0.2s ease;
}
@keyframes supModalIn {
  from { opacity: 0; transform: scale(0.96) translateY(10px); }
  to { opacity: 1; transform: none; }
}

/* Modal improvements */
.sup-modal-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 20px; }
.sup-modal-close {
  position: absolute; top: 14px; right: 14px; width: 32px; height: 32px;
  border-radius: 50%; border: none; background: var(--gray-100); color: var(--gray-500);
  font-size: 20px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: all 0.15s; z-index: 10;
}
.sup-modal-close:hover { background: var(--gray-200); color: var(--gray-700); }
.sup-modal-label { display: block; font-size: 12px; font-weight: 600; color: var(--gray-700); margin-bottom: 8px; }

/* Time slot grid */
.book-time-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; margin-bottom: 4px; }
.book-time-slot {
  padding: 10px 8px; border-radius: var(--radius-md); border: 1.5px solid var(--gray-100);
  background: var(--white); text-align: center; font-size: 12px; color: var(--gray-700);
  cursor: pointer; transition: all 0.15s; user-select: none; line-height: 1.4;
}
.book-time-slot:hover { border-color: var(--blue-300); background: var(--blue-50); }
.book-time-slot.selected { border-color: var(--blue-600); background: var(--blue-50); color: var(--blue-800); font-weight: 600; box-shadow: 0 0 0 2px rgba(24,95,165,0.1); }
.book-time-slot.unavail { opacity: 0.4; cursor: not-allowed; background: var(--gray-50); }

/* Fee box */
.book-fee-box { background: var(--gray-50); border-radius: var(--radius-md); padding: 12px 14px; }
.book-fee-row { display: flex; justify-content: space-between; font-size: 13px; padding: 4px 0; color: var(--gray-600); }
.book-fee-row.total { font-weight: 700; color: var(--gray-900); border-top: 1px solid var(--gray-200); padding-top: 8px; margin-top: 4px; }

/* List modal */
.sup-list-modal { background: var(--white); border-radius: var(--radius-lg); padding: 1.5rem; max-width: 520px; width: 90%; max-height: 90vh; overflow-y: auto; position: relative; }
.sup-form-row { margin-bottom: 14px; }
.sup-form-row label { display: block; font-size: 12px; font-weight: 600; color: var(--gray-700); margin-bottom: 6px; }
.sup-form-row input, .sup-form-row textarea, .sup-form-row select {
  width: 100%; padding: 9px 11px; border: 1.5px solid var(--gray-100);
  border-radius: var(--radius-md); font-size: 13px; font-family:'Plus Jakarta Sans',sans-serif;
  color: var(--gray-900); background: var(--white); transition: border-color 0.15s; box-sizing: border-box;
}
.sup-form-row input:focus, .sup-form-row textarea:focus { outline: none; border-color: var(--blue-400); }
.sup-list-ethics-note {
  background: var(--amber-50); border: 1px solid #F5D79C; border-radius: var(--radius-md);
  padding: 10px 12px; font-size: 11px; color: var(--amber-700); line-height: 1.5; margin-bottom: 14px;
}

/* Responsive */
@media (max-width: 768px) {
  .sup-layout { grid-template-columns: 1fr; padding: 1rem; }
  .sup-sidebar { order: 2; }
  .sup-main { order: 1; }
  .sup-hero { padding: 1.5rem 1rem 0; }
  .sup-hero-title { font-size: 1.5rem; }
  .sup-assoc-inner { padding: 12px 1rem; }
  .sup-assoc-btn { margin-left: 0; width: 100%; margin-top: 8px; }
  .sup-card-top { gap: 0.75rem; }
  .sup-avatar { width: 48px; height: 48px; font-size: 16px; }
}

/* My listing panel */
.sup-listing-card {
  background: var(--white); border: 1.5px solid var(--blue-100);
  border-radius: var(--radius-lg); padding: 1.4rem 1.6rem;
  border-left: 4px solid var(--blue-600);
}
.sup-listing-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; flex-wrap: wrap; gap: 10px; }

/* -------------------------------------------
   BILLING TIER CARDS (Admin update)
------------------------------------------- */
.tier-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 10px; }
.tier-card {
  border: 1.5px solid var(--gray-100); border-radius: var(--radius-lg);
  padding: 1.1rem 1.2rem; position: relative; background: var(--white);
  transition: border-color 0.2s;
}
.tier-card:hover { border-color: var(--blue-200); }
.tier-card.featured { border-color: var(--blue-400); }
.tier-card.featured::before {
  content: 'Most Popular'; position: absolute; top: -11px; left: 16px;
  background: var(--blue-600); color: var(--white); font-size: 10px; font-weight: 700;
  padding: 2px 10px; border-radius: 10px; letter-spacing: 0.05em;
}
.tier-name { font-weight: 700; color: var(--blue-900); font-size: 14px; margin-bottom: 2px; }
.tier-price { font-family:'DM Serif Display',serif; font-size: 1.5rem; color: var(--blue-800); line-height: 1; margin-bottom: 8px; }
.tier-price span { font-size: 13px; color: var(--gray-500); font-family:'Plus Jakarta Sans',sans-serif; }
.tier-features { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 5px; }
.tier-features li { font-size: 12px; color: var(--gray-700); display: flex; align-items: flex-start; gap: 6px; line-height: 1.4; }
.tier-features li::before { content: '?'; color: var(--teal-600); font-weight: 700; flex-shrink: 0; }
.tier-features li.no::before { content: '?'; color: var(--gray-400); }
.tier-platform-fee {
  margin-top: 10px; padding: 8px 10px; background: var(--amber-50);
  border-radius: var(--radius-sm); font-size: 11px; color: var(--amber-600); font-weight: 500;
}

/* Revenue breakdown */
.revenue-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 9px 0; border-bottom: 1px solid var(--gray-50); font-size: 13px;
}
.revenue-row:last-child { border-bottom: none; }
.revenue-label { color: var(--gray-700); }
.revenue-amount { font-weight: 700; color: var(--blue-800); }
.revenue-note { font-size: 11px; color: var(--gray-400); }

/* -------------------------------------------
   ENGAGEMENT / COMMUNITY PAGE
------------------------------------------- */
#page-engage { background: var(--gray-50); min-height: calc(100vh - 60px); display: none; }
#page-engage.active { display: block; }
.engage-layout { max-width: 1060px; margin: 0 auto; padding: 1.5rem 2rem; display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 1.25rem; }
.engage-main { display: flex; flex-direction: column; gap: 1.25rem; }
.engage-sidebar { display: flex; flex-direction: column; gap: 1.1rem; }

.engage-card {
  background: var(--white); border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg); padding: 1.4rem 1.6rem;
}
.engage-card-title {
  font-family:'DM Serif Display',serif; font-size: 1.05rem; color: var(--blue-900);
  margin-bottom: 3px;
}
.engage-card-sub { font-size: 13px; color: var(--gray-500); margin-bottom: 1.1rem; }

/* Discovery section */
.disc-section { margin-bottom: 2rem; }
.disc-section-hd { display: flex; align-items: baseline; gap: 10px; margin-bottom: 0.85rem; }
.disc-section-title { font-size: 14px; font-weight: 700; color: var(--blue-900); }
.disc-section-count { font-size: 12px; color: var(--gray-500); }
.disc-filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-bottom: 1.1rem; }
.disc-chip {
  display: inline-flex; align-items: center; padding: 5px 12px;
  border-radius: 999px; border: 1.5px solid var(--gray-100);
  background: var(--white); font-size: 12px; font-weight: 500;
  color: var(--gray-700); cursor: pointer; transition: all 0.12s;
}
.disc-chip:hover { border-color: var(--blue-200); color: var(--blue-600); }
.disc-chip.active { background: var(--blue-600); border-color: var(--blue-600); color: #fff; }
.disc-event-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px;
}
.disc-event-card {
  background: var(--white); border: 1px solid var(--gray-100);
  border-radius: var(--radius-lg); padding: 1rem 1.1rem;
  cursor: pointer; transition: box-shadow 0.15s, border-color 0.15s;
}
.disc-event-card:hover { box-shadow: var(--shadow-md); border-color: var(--blue-100); }
.disc-event-type-badge {
  display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; padding: 2px 8px; border-radius: 999px;
  margin-bottom: 7px;
}
.disc-event-type-badge.ceu { background: var(--blue-50); color: var(--blue-600); }
.disc-event-type-badge.workshop { background: var(--teal-50); color: var(--teal-600); }
.disc-event-type-badge.supervision { background: #F3F0FF; color: #7C3AED; }
.disc-event-type-badge.therapy_group,.disc-event-type-badge.support_group { background: #FFF7ED; color: #D97706; }
.disc-event-type-badge.mentorship { background: #FDF2F8; color: #BE185D; }
.disc-event-title { font-size: 13.5px; font-weight: 700; color: var(--blue-900); margin-bottom: 4px; line-height: 1.35; }
.disc-event-meta { font-size: 12px; color: var(--gray-500); line-height: 1.6; }
.disc-event-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 9px; }
.disc-price-tag { font-size: 12px; font-weight: 700; color: var(--teal-600); }
.disc-price-tag.free { color: var(--teal-600); }
.disc-price-tag.paid { color: var(--blue-600); }
.disc-new-badge { font-size: 10px; font-weight: 700; color: #065F46; background: var(--teal-100); padding: 2px 7px; border-radius: 999px; }
.disc-fairness-note { font-size: 11px; color: var(--gray-500); margin-bottom: 1.1rem; font-style: italic; }
.disc-empty { text-align: center; padding: 2.5rem 1rem; color: var(--gray-400); font-size: 13px; }
.disc-empty strong { display: block; font-size: 14px; color: var(--gray-500); margin-bottom: 6px; }
.disc-location-group { margin-bottom: 1.25rem; }
.disc-location-label { font-size: 12px; font-weight: 600; color: var(--gray-500); text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 8px; }

/* ââ€Âۉâ€Â€ Browse Directory ââ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Âۉâ€Â€ */
.dir-hero { background: var(--white); border-bottom: 1px solid var(--gray-100); padding: 2rem 2rem 1.5rem; }
.dir-hero-inner { max-width: 1120px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.dir-hero-text h1 { font-family:'DM Serif Display',serif; font-size: clamp(1.5rem,3vw,2rem); color: var(--blue-900); margin-bottom: 4px; }
.dir-hero-text p { font-size: 14px; color: var(--gray-500); line-height: 1.5; }
.dir-filter-bar { background: var(--white); border-bottom: 1px solid var(--gray-100); padding: 0.75rem 2rem; position: sticky; top: var(--shell-nav-height); z-index: 40; }
.dir-filter-inner { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: minmax(200px,1.4fr) repeat(3,minmax(120px,1fr)) auto auto; gap: 8px; align-items: center; }
.dir-search-wrap { position: relative; flex: 1; min-width: 180px; max-width: 280px; }
.dir-search-wrap svg { position: absolute; left: 9px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--gray-400); }
.dir-search-input { width: 100%; padding: 7px 10px 7px 30px; border: 1.5px solid var(--gray-100); border-radius: var(--radius-md); font-size: 13px; color: var(--blue-900); background: var(--gray-50); outline: none; font-family: inherit; transition: border-color 0.15s, background 0.15s; }
.dir-search-input:focus { border-color: var(--blue-400); background: var(--white); }
.dir-select { padding: 7px 26px 7px 9px; border: 1.5px solid var(--gray-100); border-radius: var(--radius-md); font-size: 12px; color: var(--gray-700); background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5l3 3 3-3' stroke='%2364748B' stroke-width='1.3' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") no-repeat right 8px center; -webkit-appearance: none; appearance: none; cursor: pointer; outline: none; font-family: inherit; transition: border-color 0.15s; }
.dir-select:focus { border-color: var(--blue-400); }
.dir-clear-btn { font-size: 12px; color: var(--blue-600); background: none; border: none; cursor: pointer; padding: 0 4px; font-family: inherit; white-space: nowrap; }
.dir-more-btn { display:flex;align-items:center;gap:5px;padding:7px 12px;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);font-size:12px;font-weight:500;color:var(--gray-600);background:var(--white);cursor:pointer;font-family:inherit;transition:border-color 0.15s,color 0.15s,background 0.15s;white-space:nowrap; }
.dir-more-btn:hover { border-color:var(--blue-300);color:var(--blue-600); }
.dir-more-btn.active { border-color:var(--blue-400);color:var(--blue-600);background:var(--blue-50); }
.dir-more-badge { display:none;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:8px;background:var(--blue-600);color:var(--white);font-size:10px;font-weight:700;padding:0 4px;margin-left:1px; }
#dir-extra-filters { display:none;max-width:1120px;margin:6px auto 0;display:none;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:8px; }
.dir-filter-note{max-width:1120px;margin:8px auto 0;font-size:11.5px;color:var(--gray-500);line-height:1.45;}
.dir-tabs-bar { background: var(--gray-50); border-bottom: 1px solid var(--gray-100); }
.dir-tabs-inner { max-width: 1120px; margin: 0 auto; padding: 0 2rem; display: flex; gap: 0; }
.dir-tab { padding: 10px 18px; font-size: 13px; font-weight: 500; color: var(--gray-500); border: none; background: none; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color 0.15s, border-color 0.15s; font-family: inherit; }
.dir-tab.active { color: var(--blue-600); border-bottom-color: var(--blue-600); font-weight: 600; }
.dir-body { max-width: 1120px; margin: 0 auto; padding: 1.5rem 2rem 5rem; }
.dir-count { font-size: 13px; color: var(--gray-500); margin-bottom: 1rem; }
.dir-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.dir-card { background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--radius-xl); padding: 1.25rem; cursor: default; transition: box-shadow 0.15s, border-color 0.15s, transform 0.15s; display: flex; flex-direction: column; }
.dir-card:hover { box-shadow: var(--shadow-md); border-color: var(--gray-200); transform: translateY(-2px); }
.dir-card-head { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 0.75rem; }
.dir-card-avatar { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; flex-shrink: 0; }
.dir-card-name { font-size: 14px; font-weight: 600; color: var(--blue-900); line-height: 1.25; }
.dir-card-cred { font-size: 11px; color: var(--gray-500); margin-top: 2px; }
.dir-avail { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 600; letter-spacing: 0.03em; padding: 2px 7px; border-radius: 999px; margin-top: 3px; }
.dir-avail.open { background: var(--teal-50); color: var(--teal-600); }
.dir-avail.waitlist { background: var(--amber-warm-bg); color: var(--amber-600); }
.dir-specs { display: flex; flex-wrap: wrap; gap: 4px; margin: 0.6rem 0; }
.dir-spec { font-size: 10px; font-weight: 500; padding: 2px 8px; border-radius: 999px; background: var(--blue-50); color: var(--blue-600); }
.dir-spec.teal { background: var(--teal-50); color: var(--teal-600); }
.dir-meta { font-size: 12px; color: var(--gray-500); line-height: 1.6; flex: 1; }
.dir-rate { font-size: 13px; font-weight: 600; color: var(--blue-900); margin-top: 0.6rem; }
.dir-card-actions { margin-top: 0.95rem; padding-top: 0.95rem; border-top: 1px solid var(--gray-100); position: relative; z-index: 1; }
.dir-card-btn { width: 100%; padding: 10px 12px; border-radius: var(--radius-md); background: var(--blue-600); color: var(--white); border: none; font-size: 12px; font-weight: 600; cursor: pointer; transition: opacity 0.15s; font-family: inherit; position: relative; z-index: 2; }
.dir-card-btn:hover { opacity: 0.88; }
.dir-empty { text-align: center; padding: 5rem 1rem; }
.dir-empty-title { font-size: 15px; font-weight: 600; color: var(--blue-900); margin-bottom: 6px; }
.dir-empty-sub { font-size: 13px; color: var(--gray-500); }
.dir-group-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.dir-group-card { background: var(--white); border: 1px solid var(--gray-100); border-radius: var(--radius-xl); padding: 1.25rem; transition: box-shadow 0.15s, transform 0.15s; }
.dir-group-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.dir-group-type { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; padding: 2px 8px; border-radius: 999px; background: var(--blue-50); color: var(--blue-600); display: inline-block; margin-bottom: 8px; }
.dir-group-type.ceu { background: var(--teal-50); color: var(--teal-600); }
.dir-group-type.supervision { background: var(--blue-100); color: var(--blue-600); }
.dir-group-type.workshop { background: var(--amber-warm-bg); color: var(--amber-600); }
.dir-group-title { font-size: 14px; font-weight: 600; color: var(--blue-900); margin-bottom: 4px; }
.dir-group-host { font-size: 12px; color: var(--gray-500); margin-bottom: 8px; }
.dir-group-meta { font-size: 12px; color: var(--gray-700); line-height: 1.6; }
.dir-group-price { font-size: 12px; font-weight: 600; color: var(--teal-600); margin-top: 6px; }
.dir-mobile-filter-btn { display: none; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.dir-mobile-filter-header { display: none; }
@media (max-width: 1024px) { .dir-grid { grid-template-columns: repeat(2, 1fr); } .dir-filter-inner{grid-template-columns:repeat(3,minmax(0,1fr));}.dir-search-wrap{max-width:none;grid-column:1/-1;} }
@media (max-width: 640px) { .dir-grid { grid-template-columns: 1fr; } .dir-group-grid { grid-template-columns: 1fr; } .dir-hero-inner { flex-direction: column; align-items: flex-start; } .dir-filter-bar { padding: 0.75rem 1rem; } .dir-filter-inner{grid-template-columns:1fr;}.dir-body { padding: 1.25rem 1rem 4rem; } .pricing-grid { grid-template-columns: 1fr !important; } .nav-mobile-account { display: flex; flex-direction: column; gap: 4px; padding: 12px; background: var(--gray-50); border-radius: var(--radius-md); margin-bottom: 4px; } .nav-mobile-account-hd { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; } .nav-mobile-account-name { font-size: 14px; font-weight: 600; color: var(--gray-900); } .nav-mobile-account-email { font-size: 12px; color: var(--gray-500); } .dir-mobile-filter-btn { display: none; align-items: center; gap: 6px; padding: 10px 14px; border-radius: var(--radius-md); background: var(--white); border: 1px solid var(--gray-200); font-size: 14px; font-weight: 500; color: var(--gray-700); cursor: pointer; font-family: 'Plus Jakarta Sans', sans-serif; min-height: 44px; } .dir-mobile-filter-btn svg { width: 16px; height: 16px; color: var(--gray-500); flex-shrink: 0; } .dir-mobile-filter-badge { display: none; align-items: center; justify-content: center; min-width: 18px; height: 18px; border-radius: 9px; background: var(--blue-600); color: var(--white); font-size: 11px; font-weight: 600; padding: 0 5px; } .dir-filter-bar .dir-select,.dir-filter-bar .dir-clear-btn,.dir-filter-bar .dir-filter-note { display: none; } .dir-filter-bar .dir-mobile-filter-btn { display: flex; } .dir-filter-bar .dir-filter-inner { grid-template-columns: 1fr auto; gap: 8px; align-items: center; } .dir-filter-bar.expanded { position: fixed; inset: 0; z-index: 130; overflow-y: auto; background: var(--white); padding: 1rem; animation: dirFilterSlideIn 0.22s ease-out; } .dir-filter-bar.expanded .dir-filter-inner { display: block; max-width: none; padding: 0; } .dir-filter-bar.expanded .dir-select,.dir-filter-bar.expanded .dir-clear-btn,.dir-filter-bar.expanded .dir-filter-note { display: block; } .dir-filter-bar.expanded #dir-extra-filters { display:block!important; } .dir-filter-bar.expanded .dir-more-btn { display:none; } .dir-filter-bar.expanded .dir-mobile-filter-btn { display: none; } .dir-filter-bar.expanded .dir-mobile-filter-header { display: flex; } .dir-mobile-filter-header { display: none; justify-content: space-between; align-items: center; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--gray-100); } .dir-mobile-filter-header-title { font-size: 16px; font-weight: 600; color: var(--gray-900); } .dir-mobile-filter-close { background: none; border: none; font-size: 20px; color: var(--gray-500); cursor: pointer; padding: 4px; } .nav-hamburger { width: 44px; height: 44px; gap: 5px; } .nav-hamburger span { width: 24px; } .dir-search-input, .dir-select, .auth-field input, .auth-field select, .wiz-input, .wiz-select, .form-input, .form-select, .form-textarea, .creator-input, .creator-select, .creator-textarea, .mw-search, .referral-filter-select, .ref-filter-select, .hi-supv-input, .hi-supv-select, .hi-supv-textarea, .rev-input { font-size: 16px !important; } .search-bar-wrap input, .search-bar-wrap select { font-size: 16px !important; } }

@keyframes dirFilterSlideIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
/* Goal tracker */
.goal-list { display: flex; flex-direction: column; gap: 12px; }
.goal-row { display: flex; align-items: center; gap: 12px; }
.goal-icon { font-size: 20px; flex-shrink: 0; width: 36px; text-align: center; }
.goal-body { flex: 1; }
.goal-name { font-size: 13px; font-weight: 600; color: var(--gray-900); margin-bottom: 4px; }
.goal-bar-bg { height: 7px; background: var(--gray-100); border-radius: 4px; overflow: hidden; }
.goal-bar-fill { height: 100%; border-radius: 4px; transition: width 0.5s ease; }
.goal-right { text-align: right; flex-shrink: 0; min-width: 64px; }
.goal-pct { font-size: 12px; font-weight: 700; color: var(--blue-800); }
.goal-label { font-size: 11px; color: var(--gray-400); }
.goal-add-btn {
  margin-top: 14px; width: 100%; padding: 9px; border-radius: var(--radius-md);
  border: 1.5px dashed var(--gray-100); background: var(--white); color: var(--gray-400);
  font-size: 13px; cursor: pointer; transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif;
}
.goal-add-btn:hover { border-color: var(--blue-200); color: var(--blue-600); background: var(--blue-50); }

/* Spotlight */
.spotlight-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.spotlight-card {
  border: 1px solid var(--gray-100); border-radius: var(--radius-lg);
  padding: 1rem; text-align: center; transition: all 0.2s;
}
.spotlight-card:hover { border-color: var(--blue-100); box-shadow: var(--shadow-sm); }
.spotlight-card.gold { border-top: 3px solid #F59E0B; }
.spotlight-card.silver { border-top: 3px solid #94A3B8; }
.spotlight-card.teal { border-top: 3px solid var(--teal-400); }
.spotlight-avatar {
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--blue-50); color: var(--blue-800);
  font-family:'DM Serif Display',serif; font-size: 16px;
  display: flex; align-items: center; justify-content: center; margin: 0 auto 8px;
}
.spotlight-name { font-size: 13px; font-weight: 600; color: var(--blue-900); margin-bottom: 2px; }
.spotlight-stat { font-size: 11px; color: var(--gray-500); margin-bottom: 6px; }
.spotlight-badge {
  display: inline-block; font-size: 10px; font-weight: 700;
  padding: 2px 9px; border-radius: 10px; text-transform: uppercase; letter-spacing: 0.05em;
}
.spotlight-badge.gold { background: #FEF3C7; color: #92400E; }
.spotlight-badge.silver { background: var(--gray-50); color: var(--gray-700); border: 1px solid var(--gray-100); }
.spotlight-badge.teal { background: var(--teal-50); color: var(--teal-600); }

/* Mentorship */
.mentor-match-card {
  border: 1px solid var(--gray-100); border-radius: var(--radius-lg);
  padding: 1rem 1.1rem; display: flex; gap: 12px; align-items: center;
  transition: all 0.15s; margin-bottom: 8px;
}
.mentor-match-card:hover { border-color: var(--blue-100); box-shadow: var(--shadow-sm); }
.mentor-match-avatar {
  width: 42px; height: 42px; border-radius: 50%; background: var(--blue-50);
  color: var(--blue-800); font-family:'DM Serif Display',serif; font-size: 14px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.mentor-match-body { flex: 1; }
.mentor-match-name { font-size: 13px; font-weight: 600; color: var(--blue-900); margin-bottom: 2px; }
.mentor-match-meta { font-size: 12px; color: var(--gray-500); }
.mentor-match-score {
  font-size: 12px; font-weight: 700; color: var(--teal-600);
  background: var(--teal-50); border-radius: 12px; padding: 3px 9px; white-space: nowrap;
}
.mentor-toggle-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 0; border-bottom: 1px solid var(--gray-50); font-size: 13px;
}
.mentor-toggle-row:last-child { border-bottom: none; }
.mentor-toggle-label { color: var(--gray-700); }

/* Toggle switch */
.cp-toggle { position: relative; display: inline-block; width: 38px; height: 22px; }
.cp-toggle input { opacity: 0; width: 0; height: 0; }
.cp-toggle-slider {
  position: absolute; cursor: pointer; inset: 0;
  background: var(--gray-100); border-radius: 22px; transition: background 0.2s;
}
.cp-toggle-slider::before {
  content: ''; position: absolute; width: 16px; height: 16px; border-radius: 50%;
  background: var(--white); left: 3px; bottom: 3px; transition: transform 0.2s;
  box-shadow: var(--shadow-sm);
}
.cp-toggle input:checked + .cp-toggle-slider { background: var(--teal-400); }
.cp-toggle input:checked + .cp-toggle-slider::before { transform: translateX(16px); }

/* Activity feed */
.activity-item {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 9px 0; border-bottom: 1px solid var(--gray-50); font-size: 13px;
}
.activity-item:last-child { border-bottom: none; }
.activity-dot {
  width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; flex-shrink: 0;
}
.activity-text { flex: 1; color: var(--gray-700); line-height: 1.5; }
.activity-time { font-size: 11px; color: var(--gray-300); white-space: nowrap; }

/* Booking modal specifics */
.book-time-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 10px 0; }
.book-time-slot {
  padding: 9px 6px; border: 1.5px solid var(--gray-100); border-radius: var(--radius-md);
  text-align: center; font-size: 12px; cursor: pointer; transition: all 0.13s;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.book-time-slot:hover { border-color: var(--blue-400); background: var(--blue-50); }
.book-time-slot.selected { border-color: var(--blue-600); background: var(--blue-50); color: var(--blue-800); font-weight: 600; }
.book-time-slot.unavail { background: var(--gray-50); color: var(--gray-300); cursor: not-allowed; pointer-events: none; }
.book-fee-box {
  background: var(--gray-50); border-radius: var(--radius-md); padding: 12px 14px;
  margin: 10px 0; font-size: 13px;
}
.book-fee-row { display: flex; justify-content: space-between; margin-bottom: 4px; color: var(--gray-700); }
.book-fee-row.total { font-weight: 700; color: var(--blue-900); border-top: 1px solid var(--gray-100); padding-top: 6px; margin-top: 6px; }
/* ---- Event Builder Wizard ---- */
.evb-modal{max-width:860px;width:min(860px,calc(100vw - 32px));padding:0;display:flex;flex-direction:column;max-height:92vh;}
.evb-header{padding:1.5rem 1.75rem 1rem;border-bottom:1px solid var(--gray-100);flex-shrink:0;}
.evb-title{font-family:'DM Serif Display',serif;font-size:1.25rem;color:var(--blue-900);margin-bottom:1rem;}
.evb-steps{display:flex;align-items:center;gap:0;}
.evb-step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid var(--gray-200);color:var(--gray-400);background:var(--white);flex-shrink:0;transition:all 0.2s;}
.evb-step-dot.active{border-color:var(--blue-600);background:var(--blue-600);color:var(--white);}
.evb-step-dot.done{border-color:var(--teal-600);background:var(--teal-600);color:var(--white);}
.evb-step-line{flex:1;height:2px;background:var(--gray-100);}
.evb-step-line.done{background:var(--teal-600);}
.evb-step-label{font-size:11px;color:var(--gray-400);margin-top:6px;}
.evb-step-label.active{color:var(--blue-600);font-weight:600;}
.evb-body{flex:1;overflow-y:auto;padding:1.5rem 1.75rem;}
.evb-footer{padding:1rem 1.75rem;border-top:1px solid var(--gray-100);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:var(--white);border-radius:0 0 var(--radius-xl) var(--radius-xl);}
.evb-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.evb-type-card{background:var(--white);border:2px solid var(--gray-100);border-radius:var(--radius-lg);padding:1rem;cursor:pointer;text-align:left;transition:border-color 0.15s,box-shadow 0.15s;font-family:inherit;}
.evb-type-card:hover{border-color:var(--blue-200);box-shadow:var(--shadow-sm);}
.evb-type-card.selected{border-color:var(--blue-600);background:var(--blue-50);}
.evb-type-icon{width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:8px;}
.evb-type-name{font-size:13px;font-weight:600;color:var(--blue-900);margin-bottom:2px;}
.evb-type-desc{font-size:11px;color:var(--gray-500);line-height:1.4;}
.evb-field-group{margin-bottom:1rem;}
.evb-field-group label{display:block;font-size:12px;font-weight:600;color:var(--gray-700);margin-bottom:5px;}
.evb-field-hint{font-size:11px;color:var(--gray-400);margin-bottom:5px;line-height:1.4;}
@media(max-width:760px){.evb-modal{width:calc(100vw - 18px);max-height:94vh;}.evb-body{padding:1.1rem;}.evb-header{padding:1.2rem 1.1rem .85rem;}.evb-footer{padding:.9rem 1.1rem;}.evb-location-card [style*="grid-template-columns"]{grid-template-columns:1fr!important;}}
.registration-box{max-width:720px!important;width:min(720px,calc(100vw - 28px));}
.registration-pricing{background:#F8FAFC;border:1px solid #DCE8F0;border-radius:12px;padding:16px;margin-bottom:20px;}
.registration-price-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#102033;}
.registration-price-head span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#607388;}
.registration-price-head strong{font-size:22px;line-height:1;}
.registration-price-lines{border-top:1px solid #DCE8F0;padding-top:10px;display:grid;gap:7px;font-size:13px;color:#425466;}
.registration-price-lines div{display:flex;justify-content:space-between;gap:12px;}
.registration-price-lines b{color:#102033;}
.registration-checkout-note{margin-top:12px;background:#ECFDF5;border:1px solid #A7F3D0;border-radius:10px;padding:10px 12px;color:#047857;font-size:12.5px;line-height:1.5;}
.registration-free-note{border-top:1px solid #DCE8F0;padding-top:10px;font-size:12.5px;color:#047857;}
@media(max-width:760px){.registration-box{width:calc(100vw - 18px)!important;}.registration-price-lines div{align-items:flex-start;}.registration-price-head strong{font-size:19px;}}
.evb-compliance-block{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius-md);padding:1rem 1.1rem;margin-bottom:1rem;}
.evb-compliance-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:10px;}
.evb-review-card{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.25rem;}
.evb-review-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--gray-100);}
.evb-review-row:last-child{border-bottom:none;}
.evb-review-label{font-size:11px;font-weight:600;color:var(--gray-500);width:120px;flex-shrink:0;padding-top:1px;}
.evb-review-val{font-size:13px;color:var(--gray-900);line-height:1.5;flex:1;}
.evb-success-wrap{text-align:center;padding:1rem 0 0.5rem;}
.evb-success-icon{width:56px;height:56px;border-radius:50%;background:var(--teal-50);border:2px solid var(--teal-100);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;}
.evb-event-page-card{border:1.5px solid var(--gray-100);border-radius:var(--radius-lg);padding:1.1rem;text-align:left;margin-top:1.25rem;}
.evb-event-url{font-size:12px;color:var(--blue-600);font-family:monospace;background:var(--blue-50);border-radius:4px;padding:4px 8px;display:inline-block;margin-top:4px;}
/* ---- Moderation Tools ---- */
.mod-flag-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;}
.mod-flag-pill.high{background:#FEECEC;color:#A32D2D;}
.mod-flag-pill.medium{background:#FEF3C7;color:#854F0B;}
.mod-flag-pill.low{background:var(--gray-50);color:var(--gray-500);}
.mod-listing-card{border:1.5px solid var(--gray-100);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:10px;background:var(--white);}
.mod-listing-card.sev-high{border-left:3px solid var(--red-600);}
.mod-listing-card.sev-medium{border-left:3px solid #D97706;}
.mod-action-bar{display:flex;align-items:center;gap:6px;margin-top:10px;flex-wrap:wrap;}
.mod-user-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:0.05em;}
.mod-user-pill.warn{background:#FEF3C7;color:#854F0B;}
.mod-user-pill.suspend{background:#FEECEC;color:#A32D2D;}
.mod-audit-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--gray-100);font-size:12px;}
.mod-audit-row:last-child{border-bottom:none;}
.mod-audit-action{font-weight:600;color:var(--blue-900);min-width:150px;flex-shrink:0;}
.mod-audit-meta{color:var(--gray-500);line-height:1.5;}
/* ---- Feedback FAB ---- */
#feedback-fab{position:fixed;bottom:24px;right:24px;z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
#feedback-fab-menu{display:none;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:8px;min-width:200px;}
#feedback-fab-menu.open{display:block;animation:fabIn .12s ease;}
@keyframes fabIn{from{opacity:0;transform:scale(.96) translateY(6px);}to{opacity:1;transform:none;}}
#feedback-fab-toggle-wrap{position:relative;display:inline-flex;}
#feedback-fab-toggle{width:46px;height:46px;border-radius:50%;background:var(--blue-600);color:var(--white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:background var(--transition-fast),transform var(--transition-fast);}
#feedback-fab-toggle:hover{background:var(--blue-900);transform:scale(1.06);}
#feedback-fab-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:8px;background:#DC2626;color:#fff;font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center;padding:0 3px;line-height:1;pointer-events:none;}
.fb-fab-opt{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500;color:var(--blue-900);text-align:left;font-family:inherit;transition:background var(--transition-fast);}
.fb-fab-opt:hover{background:var(--gray-50);}
.fb-fab-opt-icon{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.fb-fab-sep{border:none;border-top:1px solid var(--gray-100);margin:4px 0;}
@media(max-width:760px){#feedback-fab{bottom:140px;}}
@media(max-width:640px){#feedback-fab{bottom:70px;right:auto;left:16px;}}
body.wizard-active #feedback-fab{display:none!important;}

/* --- Missing rules for actual HTML class names --- */
.sup-hero h1 { font-family:'DM Serif Display',serif; font-size: 2rem; color: var(--white); margin-bottom: 6px; }
.sup-hero p { font-size: 14px; color: var(--blue-100); max-width: 480px; line-height: 1.6; margin-bottom: 1rem; }
.sup-tab { padding: 12px 22px; font-size: 13px; font-weight: 500; color: rgba(255,255,255,0.55); cursor: pointer; border: none; background: none; border-bottom: 3px solid transparent; transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif; }
.sup-tab:hover { color: var(--white); }
.sup-tab.active { color: var(--white); border-bottom-color: var(--white); }
.btn-sup-list { background: var(--teal-600); color: var(--white); border: none; border-radius: var(--radius-md); padding: 8px 16px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif; }
.btn-sup-list:hover { background: var(--teal-700); transform: translateY(-1px); }
.btn-sup-listing { background: rgba(255,255,255,0.12); color: var(--white); border: 1px solid rgba(255,255,255,0.25); border-radius: var(--radius-md); padding: 8px 16px; font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.15s; font-family:'Plus Jakarta Sans',sans-serif; }
.btn-sup-listing:hover { background: rgba(255,255,255,0.2); }
.sup-chip { display: inline-block; background: var(--white); font-size: 12px; font-weight: 500; color: var(--gray-700); cursor: pointer; transition: all 0.12s; user-select: none; padding: 5px 12px; border-radius: var(--radius-md); border: 1px solid var(--gray-100); margin: 0 6px 6px 0; }
.sup-chip:hover { border-color: var(--teal-200); color: var(--teal-700); }
.sup-chip.active { background: var(--teal-50); border-color: var(--teal-300); color: var(--teal-700); }
.sup-filter-section { margin-bottom: 1.25rem; }
.sup-filter-section label { display: block; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--gray-500); margin-bottom: 8px; }
.sup-search-input { width: 100%; padding: 8px 12px; border: 1px solid var(--gray-200); border-radius: var(--radius-md); font-size: 13px; font-family: inherit; outline: none; transition: border-color 0.15s; box-sizing: border-box; }
.sup-search-input:focus { border-color: var(--blue-400); box-shadow: 0 0 0 2px rgba(24,95,165,0.08); }
.sup-chip-group { display: flex; flex-wrap: wrap; gap: 4px; }


/* Payment step indicator */
.sup-modal-steps { display:flex; align-items:center; gap:0; margin-bottom:24px; }
.sup-step { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; }
.sup-step-num { width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; background:#e5e7eb; color:#6b7280; flex-shrink:0; }
.sup-step.active .sup-step-num { background:var(--blue-900); color:#fff; }
.sup-step.done .sup-step-num { background:var(--teal-500); color:#0a2342; }
.sup-step-label { color:#9ca3af; }
.sup-step.active .sup-step-label { color:#111; }
.sup-step.done .sup-step-label { color:var(--teal-500); }
.sup-step-divider { flex:1; height:2px; background:#e5e7eb; margin:0 8px; }
.sup-step.done + .sup-step-divider, .sup-step-divider.done { background:var(--teal-500); }

/* Payment panel */
#sup-payment-panel { display:none; }
.stripe-section-label { font-size:13px; font-weight:600; color:#374151; margin-bottom:8px; display:block; }
.stripe-input-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.stripe-input-row.full { grid-template-columns:1fr; }
.stripe-field { background:#fff; border:1px solid #d1d5db; border-radius:8px; padding:11px 13px; font-size:14px; font-family:inherit; width:100%; box-sizing:border-box; transition:border-color .2s; outline:none; }
.stripe-field:focus { border-color:var(--blue-900); box-shadow:0 0 0 2px rgba(10,35,66,0.08); }
.stripe-field.error { border-color:#ef4444; }
#stripe-card-element { background:#fff; border:1px solid #d1d5db; border-radius:8px; padding:11px 13px; margin-bottom:12px; min-height:44px; transition:border-color .2s; }
#stripe-card-element.StripeElement--focus { border-color:var(--blue-900); box-shadow:0 0 0 2px rgba(10,35,66,0.08); }
#stripe-card-element.StripeElement--invalid { border-color:#ef4444; }
#stripe-card-errors { color:#ef4444; font-size:12px; margin-bottom:10px; min-height:16px; }

/* Saved cards */
.stripe-saved-cards { margin-bottom:16px; }
.stripe-saved-card { display:flex; align-items:center; gap:10px; padding:10px 13px; border:1px solid #e5e7eb; border-radius:8px; margin-bottom:8px; cursor:pointer; transition:all .15s; }
.stripe-saved-card:hover { border-color:var(--blue-900); background:#f8f9ff; }
.stripe-saved-card.selected { border-color:var(--blue-900); background:#f0f4ff; }
.stripe-card-icon { font-size:20px; }
.stripe-card-details { flex:1; }
.stripe-card-details .card-number { font-size:13px; font-weight:600; color:#111; }
.stripe-card-details .card-expiry { font-size:11px; color:#9ca3af; }
.stripe-card-radio { width:16px; height:16px; accent-color:var(--blue-900); }
.stripe-new-card-toggle { font-size:13px; color:var(--blue-900); font-weight:600; cursor:pointer; margin-bottom:14px; display:flex; align-items:center; gap:6px; }
.stripe-new-card-toggle:hover { text-decoration:underline; }

/* Pay button */
.btn-stripe-pay { flex:1; background:linear-gradient(135deg,#4f46e5,#0a2342); color:#fff; border:none; padding:13px; border-radius:8px; font-weight:700; font-size:15px; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; transition:opacity .2s; }
.btn-stripe-pay:disabled { opacity:.6; cursor:not-allowed; }
.btn-stripe-pay .lock-icon { font-size:14px; }
.stripe-security-note { text-align:center; font-size:11px; color:#9ca3af; margin-top:10px; display:flex; align-items:center; justify-content:center; gap:4px; }

/* Success screen */
#sup-payment-success { display:none; text-align:center; padding:20px 0; }
.payment-success-icon { width:64px; height:64px; background:linear-gradient(135deg,#4ecdc4,#0a2342); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:28px; }
.payment-success-title { font-family:'DM Serif Display',serif; font-size:22px; margin:0 0 8px; }
.payment-success-sub { font-size:14px; color:#6b7280; margin:0 0 20px; }
.payment-receipt { background:#f8f7f4; border-radius:10px; padding:16px; text-align:left; margin-bottom:20px; }
.payment-receipt-row { display:flex; justify-content:space-between; font-size:13px; padding:4px 0; }
.payment-receipt-row.total { font-weight:700; border-top:1px solid #e5e7eb; padding-top:10px; margin-top:6px; }
.payment-conf-number { font-size:11px; color:#9ca3af; margin-top:8px; }

/* Processing overlay */
.stripe-processing { display:none; position:absolute; inset:0; background:rgba(255,255,255,0.9); border-radius:16px; align-items:center; justify-content:center; flex-direction:column; gap:12px; z-index:10; }
.stripe-processing.active { display:flex; }
.stripe-spinner { width:40px; height:40px; border:3px solid #e5e7eb; border-top-color:var(--blue-900); border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.stripe-processing-text { font-size:14px; font-weight:600; color:#374151; }


/* Edit mode toggle button */
.profile-edit-btn {
  position: absolute; top: 18px; right: 24px;
  background: rgba(255,255,255,0.15); color: #fff;
  border: 1.5px solid rgba(255,255,255,0.35); border-radius: 8px;
  padding: 8px 16px; font-size: 13px; font-weight: 600;
  cursor: pointer; display: flex; align-items: center; gap: 6px;
  transition: all .2s; backdrop-filter: blur(4px);
}
.profile-edit-btn:hover { background: rgba(255,255,255,0.25); }
.profile-edit-btn.editing { background: var(--teal-500); color: #0a2342; border-color: var(--teal-500); }

/* Hero edit mode */
.profile-hero { position: relative; }
.profile-avatar-lg { cursor: default; position: relative; }
.profile-avatar-lg.editable { cursor: pointer; }
.profile-avatar-lg.editable:hover::after {
  content: '• Change photo';
  position: absolute; inset: 0; border-radius: 50%;
  background: rgba(10,35,66,0.7); display: flex;
  align-items: center; justify-content: center;
  font-size: 11px; font-weight: 600; color: #fff;
  text-align: center; padding: 8px;
}
.profile-avatar-lg img {
  width: 100%; height: 100%; border-radius: 50%;
  object-fit: cover; display: block;
}
.avatar-upload-input { display: none; }

/* Editable field styles */
.profile-edit-field {
  background: rgba(255,255,255,0.12);
  border: 1.5px solid rgba(255,255,255,0.3);
  border-radius: 6px; color: #fff;
  font-family: inherit; padding: 6px 10px;
  font-size: inherit; font-weight: inherit;
  width: 100%; box-sizing: border-box;
  outline: none; transition: border-color .2s;
}
.profile-edit-field:focus { border-color: var(--teal-500); background: rgba(255,255,255,0.18); }
.profile-edit-field.dark {
  background: #fff; border-color: #d1d5db; color: #111;
  border-radius: 8px; padding: 8px 12px; font-size: 14px;
}
.profile-edit-field.dark:focus { border-color: var(--blue-900); box-shadow: 0 0 0 2px rgba(10,35,66,0.08); }
textarea.profile-edit-field.dark { resize: vertical; min-height: 100px; line-height: 1.6; }
#peSpecChips{max-height:230px;overflow:auto;padding:8px;border:1px solid var(--gray-100);border-radius:var(--radius-md);background:var(--gray-50);}
#peSpecChips .ob-chip,.profile-wizard-chipbox .ob-chip{margin:3px;}
.profile-specialty-search{width:100%;box-sizing:border-box;margin:8px 0 8px;padding:10px 12px;border:1px solid var(--blue-100);border-radius:var(--radius-md);font-family:inherit;font-size:13px;background:var(--blue-50);color:var(--blue-900);}
.profile-specialty-search:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px rgba(20,184,166,0.15);}
.profile-specialty-note{font-size:11.5px;color:var(--blue-600);line-height:1.5;margin-top:6px;}
.profile-wizard-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0 18px;}
.profile-wizard-step-btn{border:1px solid var(--blue-100);background:var(--blue-50);border-radius:999px;padding:8px 8px;font-size:11.5px;font-weight:700;color:var(--blue-700);cursor:pointer;text-align:center;}
.profile-wizard-step-btn.active{background:var(--blue-900);border-color:var(--blue-900);color:var(--white);}
.profile-wizard-step-btn.done{border-color:var(--teal-200);color:var(--teal-700);background:var(--teal-50);}
.profile-wizard-panel{display:none;}
.profile-wizard-panel.active{display:block;}
.profile-wizard-title{font-size:18px;font-weight:700;color:var(--blue-900);margin-bottom:4px;}
.profile-wizard-copy{font-size:12.5px;color:var(--blue-700);line-height:1.6;margin-bottom:14px;}
.profile-wizard-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.profile-wizard-chipbox{max-height:190px;overflow:auto;padding:8px;border:1px solid var(--blue-100);border-radius:var(--radius-md);background:var(--blue-50);}
.profile-wizard-shell{display:grid;grid-template-columns:minmax(0,1fr)280px;gap:18px;align-items:start;}
.profile-wizard-main{min-width:0;}
.profile-wizard-support{position:sticky;top:12px;display:grid;gap:10px;}
.profile-wizard-card{border:1px solid var(--gray-100);background:var(--white);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px;box-shadow:0 1px 0 rgba(15,23,42,0.03);}
.profile-wizard-card h3{font-size:14px;font-weight:700;color:var(--blue-900);margin-bottom:4px;}
.profile-wizard-card p{font-size:12.5px;color:var(--gray-600);line-height:1.55;margin-bottom:12px;}
.pe-field-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;}
.pe-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border:1px solid var(--gray-100);background:var(--gray-50);color:var(--gray-600);}
.pe-badge.required{background:var(--blue-50);border-color:var(--blue-100);color:var(--blue-700);}
.pe-badge.public{background:var(--teal-50);border-color:var(--teal-100);color:var(--teal-700);}
.pe-badge.internal{background:var(--amber-50);border-color:var(--amber-100);color:var(--amber-700);}
.pe-badge.matching{background:#ECFDF5;border-color:#BBF7D0;color:#166534;}
.pe-phi-note{border-left:3px solid var(--amber-400);background:var(--amber-50);border-radius:var(--radius-md);padding:10px 12px;font-size:12px;color:var(--amber-700);line-height:1.5;margin:10px 0;}
.pe-support-card{border:1px solid var(--blue-100);background:var(--blue-50);border-radius:var(--radius-lg);padding:13px 14px;}
.pe-support-kicker{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--blue-600);margin-bottom:6px;}
.pe-support-score{font-size:28px;font-weight:900;color:var(--blue-900);line-height:1;}
.pe-support-track{height:7px;background:rgba(24,95,165,.12);border-radius:999px;overflow:hidden;margin:10px 0;}
.pe-support-track span{display:block;height:100%;background:linear-gradient(90deg,var(--teal-600),var(--teal-400));border-radius:999px;}
.pe-support-status{font-size:12px;font-weight:700;border-radius:999px;padding:4px 9px;display:inline-flex;}
.pe-support-status.ready{background:var(--teal-50);color:var(--teal-700);}
.pe-support-status.blocked{background:var(--amber-50);color:var(--amber-700);}
.pe-support-title{font-size:15px;font-weight:800;color:var(--blue-900);margin-bottom:8px;}
.pe-support-list{display:grid;gap:5px;}
.pe-support-list span,.pe-support-card li,.pe-support-card p{font-size:13px;color:var(--blue-800);line-height:1.5;}
.pe-support-card ul{margin:0;padding-left:18px;}
.pe-discipline-guide{margin-top:14px;}
.pe-track-card{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;border:1px solid #BCE4DF;background:linear-gradient(135deg,#F0F7F2,#FFFFFF);border-radius:14px;padding:16px;box-shadow:0 10px 24px rgba(15,35,52,.05);}
.pe-track-pill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;background:#0E8177;color:#FFFFFF;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;margin-bottom:9px;}
.pe-guide-title{font-size:18px;font-weight:850;color:#102033;margin-bottom:4px;}
.pe-guide-copy{font-size:15px!important;color:#38546B!important;line-height:1.5!important;margin:0!important;max-width:58ch;}
.pe-guide-list{display:flex;flex-wrap:wrap;gap:8px;}
.pe-guide-list span{display:inline-flex;align-items:center;min-height:34px;border:1px solid #BCE4DF;background:#FFFFFF;color:#0A6A61;border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:800;}
.pe-missing-list{display:grid;gap:7px;}
.pe-missing-link{width:100%;min-height:44px;text-align:left;border:1px solid #F5D48B;background:#FFF8E8;color:#6E4A00;border-radius:10px;padding:10px 12px;font:800 13px/1.35 inherit;cursor:pointer;}
.pe-missing-link:hover,.pe-missing-link:focus{outline:none;border-color:#D89A00;background:#FFF1CC;box-shadow:0 0 0 3px rgba(216,154,0,.16);}
#peInsuranceSection.pe-private-pay-only{border:1px solid #BCE4DF;background:#F0F7F2;border-radius:12px;padding:12px;}
#peInsuranceSection.pe-private-pay-only small{color:#0A6A61!important;font-weight:700;}
.pe-card-lede{font-size:14px!important;color:#52687D!important;line-height:1.55!important;margin:0 0 12px!important;}
.pe-mini-heading{font-size:13px;font-weight:900;color:#102033;margin:12px 0 8px;}
.pe-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 12px;}
.pe-check-card{display:flex;align-items:flex-start;gap:10px;min-height:58px;border:1px solid #DCE7EF;background:#FFFFFF;border-radius:12px;padding:11px 12px;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s;}
.pe-check-card:hover{border-color:#97C9D1;background:#F7FAFC;}
.pe-check-card:focus-within{border-color:#0E8177;box-shadow:0 0 0 3px rgba(14,129,119,.14);}
.pe-check-card input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:#0E8177;}
.pe-check-card strong{display:block;font-size:14px;color:#102033;line-height:1.25;}
.pe-check-card small{display:block;font-size:12.5px;color:#5E7186!important;line-height:1.35;margin-top:3px;}
.pe-compact-grid{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.pe-signal-panel{border-top:1px solid #E5EEF4;padding-top:2px;margin-top:8px;}
.pe-sup-details{margin-top:12px;}
.pe-license-extra-row{grid-template-columns:1fr 1fr 1fr 150px auto!important;}
.pe-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.pe-review-card{border:1px solid var(--blue-100);background:var(--blue-50);border-radius:var(--radius-md);padding:11px 12px;font-size:12px;color:var(--blue-800);}
.pe-review-card strong{display:block;color:var(--blue-900);font-size:12.5px;margin-bottom:3px;}
.profile-wizard-review{display:grid;gap:8px;margin-top:10px;}
.profile-wizard-review div{border:1px solid var(--blue-100);border-radius:var(--radius-md);background:var(--blue-50);padding:10px 12px;font-size:12px;color:var(--blue-800);}
.profile-wizard-review strong{display:block;color:var(--blue-900);font-size:12.5px;margin-bottom:3px;}
.profile-wizard-main{position:relative;z-index:1;}
.profile-wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px;position:relative;z-index:5;}
.profile-wizard-actions .modal-btns{margin:0;margin-left:auto;}
.profile-wizard-actions button,.profile-wizard-actions .modal-btns button{cursor:pointer !important;pointer-events:auto !important;}
.clinic-wizard-overview{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin:0 0 14px;}
.clinic-wizard-overview-card{background:#fff;border:1px solid #DCE7EF;border-radius:12px;padding:14px;box-shadow:0 8px 20px rgba(15,35,52,.04);}
.clinic-wizard-overview-card strong{display:block;color:#102033;font-size:14px;margin-bottom:4px;}
.clinic-wizard-overview-card span{display:block;color:#5E7186;font-size:12.5px;line-height:1.55;}
.clinic-wizard-overview-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.clinic-step-validation{border:1px solid #F5D48B;background:#FFF8E8;color:#6E4A00;border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.55;margin:0 0 12px;}
.clinic-step-validation.ok{border-color:#BCE4DF;background:#E9F7F5;color:#0A6A61;}
.clinic-step-validation strong{display:block;margin-bottom:3px;}
/* Profile wizard redesign: calm clinical operations workspace */
.profile-edit-overlay{background:linear-gradient(135deg,rgba(232,244,248,.92),rgba(246,249,252,.95));padding:1.5rem 1rem;}
.profile-edit-box{max-width:1180px;padding:18px;background:#F8FBFD;border:1px solid #D8E5EC;border-radius:18px;box-shadow:0 28px 80px rgba(15,35,52,.18);color:#102033;}
.profile-edit-box .modal-title{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:22px;font-weight:700;color:#102033;letter-spacing:0;margin:2px 4px 2px!important;}
.profile-edit-box .modal-sub{color:#5E7186;font-size:13px;margin:0 4px 16px;}
.profile-edit-box > div[style*="height:2px"]{height:4px!important;background:#E5EEF4!important;margin:0 4px 18px!important;border-radius:999px;}
.profile-edit-box #profile-wizard-progress-fill{background:linear-gradient(90deg,#0E8177,#4AA3A2)!important;box-shadow:none;}
.profile-edit-box #clinic-wizard-progress-fill{background:linear-gradient(90deg,#0E8177,#4AA3A2)!important;box-shadow:none;}

/* -- Account Setup Wizard ------------------------------------------------- */
#aswOverlay{position:fixed;inset:0;z-index:1500;background:rgba(10,22,40,0.6);backdrop-filter:blur(4px);overflow-y:auto;display:none;}
#aswOverlay.visible{display:block;}
.asw-shell{max-width:560px;margin:3rem auto 2rem;background:var(--white);border-radius:var(--radius-xl);box-shadow:0 24px 64px rgba(10,22,40,0.2);overflow:hidden;}
.asw-shell.checkout-active{max-width:760px;}
.asw-head{background:linear-gradient(135deg,#0A1628 0%,#0D9488 100%);padding:1.5rem 1.75rem 1.25rem;}
.asw-head-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.asw-head-title{font-size:18px;font-weight:700;color:#fff;margin-bottom:2px;}
.asw-head-sub{font-size:13px;color:rgba(255,255,255,0.75);}
.asw-progress-track{margin-top:14px;height:4px;background:rgba(255,255,255,0.2);border-radius:2px;overflow:hidden;}
.asw-progress-fill{height:100%;background:#fff;border-radius:2px;transition:width 0.35s ease;}
.asw-skip-all{background:rgba(255,255,255,0.12);border:none;border-radius:6px;color:rgba(255,255,255,0.8);font-size:12px;padding:5px 12px;cursor:pointer;font-family:inherit;}
.asw-skip-all:hover{background:rgba(255,255,255,0.2);color:#fff;}
.asw-body{padding:1.5rem 1.75rem 1.25rem;}
.asw-step{display:none;}
.asw-step.active{display:block;}
.asw-step-title{font-family:'DM Serif Display',serif;font-size:1.25rem;color:var(--blue-900);margin-bottom:6px;}
.asw-step-sub{font-size:13px;color:var(--gray-500);margin-bottom:1.25rem;line-height:1.55;}
.asw-checklist{display:flex;flex-direction:column;gap:10px;margin-bottom:1.5rem;}
.asw-check-item{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:var(--radius-md);background:var(--gray-50);border:1px solid var(--gray-100);}
.asw-check-num{width:22px;height:22px;border-radius:50%;background:var(--teal-600);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.asw-check-label{font-size:13px;font-weight:600;color:var(--blue-900);}
.asw-check-desc{font-size:12px;color:var(--gray-500);margin-top:2px;}
.asw-field{margin-bottom:14px;}
.asw-field label{display:block;font-size:12px;font-weight:600;color:var(--gray-700);margin-bottom:5px;text-transform:uppercase;letter-spacing:0.05em;}
.asw-field input,.asw-field textarea,.asw-field select{width:100%;box-sizing:border-box;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);padding:9px 12px;font-size:14px;font-family:inherit;color:var(--blue-900);background:var(--white);transition:border-color 0.15s;}
.asw-field input:focus,.asw-field textarea:focus,.asw-field select:focus{outline:none;border-color:var(--teal-500);}
.asw-field textarea{min-height:80px;resize:vertical;}
.asw-format-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px;}
.asw-format-card{border:1.5px solid var(--gray-200);border-radius:var(--radius-md);padding:12px 10px;cursor:pointer;text-align:center;transition:border-color 0.15s,background 0.15s;}
.asw-format-card:hover{border-color:var(--teal-400);background:var(--teal-50);}
.asw-format-card.selected{border-color:var(--teal-600);background:var(--teal-50);}
.asw-format-card-icon{font-size:20px;margin-bottom:5px;}
.asw-format-card-label{font-size:12px;font-weight:600;color:var(--blue-900);}
.asw-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.asw-plan-card{border:1.5px solid var(--gray-200);border-radius:var(--radius-lg);padding:16px;cursor:pointer;transition:border-color 0.15s,background 0.15s;}
.asw-plan-card:hover{border-color:var(--teal-400);}
.asw-plan-card.selected{border-color:var(--teal-600);background:var(--teal-50);}
.asw-plan-name{font-size:14px;font-weight:700;color:var(--blue-900);margin-bottom:3px;}
.asw-plan-price{font-size:20px;font-weight:700;color:var(--teal-600);}
.asw-plan-price span{font-size:13px;font-weight:400;color:var(--gray-500);}
.asw-plan-desc{font-size:12px;color:var(--gray-500);margin-top:6px;line-height:1.5;}
.asw-checkout-wrap{display:grid;grid-template-columns:minmax(0,1fr)220px;gap:14px;align-items:start;}
.asw-stripe-mount{min-width:0;}
.asw-test-card{border:1px solid #F2D083;background:#FFF8E8;border-radius:12px;padding:13px 14px;color:#6E4A00;box-shadow:0 8px 22px rgba(15,35,52,.05);}
.asw-test-kicker{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#8A5A00;margin-bottom:7px;}
.asw-test-title{font-size:13px;font-weight:700;color:#102033;margin-bottom:5px;}
.asw-test-copy{font-size:11.5px;line-height:1.45;color:#6E4A00;margin-bottom:10px;}
.asw-test-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid rgba(138,90,0,.16);padding:8px 0;}
.asw-test-row:first-of-type{border-top:none;}
.asw-test-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#8A5A00;}
.asw-test-value{font-size:12px;font-weight:700;color:#102033;text-align:right;word-break:break-word;}
.asw-copy-btn{min-width:52px;height:28px;border:1px solid rgba(138,90,0,.24);background:#fff;border-radius:7px;color:#8A5A00;font-size:11px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.asw-copy-btn:hover{background:#FFF1CC;border-color:#D89A00;}
.asw-test-note{font-size:10.5px;line-height:1.4;color:#7A5600;margin-top:8px;}
@media(max-width:760px){.asw-checkout-wrap{grid-template-columns:1fr;}.asw-test-card{order:-1;}}
.asw-done-list{display:flex;flex-direction:column;gap:8px;margin-bottom:1.25rem;}
.asw-done-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--gray-700);}
.asw-done-row.skipped{color:var(--gray-400);}
.asw-done-icon{font-size:15px;width:20px;text-align:center;}
.asw-foot{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.75rem 1.5rem;border-top:1px solid var(--gray-100);margin-top:0.5rem;}
.asw-skip-step{background:none;border:none;color:var(--gray-400);font-size:13px;cursor:pointer;font-family:inherit;padding:0;}
.asw-skip-step:hover{color:var(--gray-600);}
.asw-foot-right{display:flex;align-items:center;gap:10px;}


.profile-edit-box .profile-wizard-steps{background:#FFFFFF;border:1px solid #DCE7EF;border-radius:12px;padding:12px;margin:0 0 16px;gap:10px;box-shadow:0 8px 22px rgba(15,35,52,.05);}
.profile-edit-box .clinic-wizard-steps{grid-template-columns:repeat(7,minmax(0,1fr));}
.profile-edit-box .profile-wizard-step-btn{position:relative;min-height:44px;border:1px solid #DCE7EF;background:#F7FAFC;color:#52687D;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:700;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;}
.profile-edit-box .profile-wizard-step-btn:hover{border-color:#97C9D1;color:#0A5F62;background:#EFF8F9;}
.profile-edit-box .profile-wizard-step-btn.active{background:#0E8177;border-color:#0E8177;color:#FFFFFF;box-shadow:0 8px 18px rgba(14,129,119,.2);}
.profile-edit-box .profile-wizard-step-btn.done{background:#E9F7F5;border-color:#BCE4DF;color:#0A6A61;}
.profile-wizard-shell{grid-template-columns:minmax(0,1fr)300px;gap:14px;}
.profile-wizard-main{background:#FFFFFF;border:1px solid #DCE7EF;border-radius:14px;padding:14px;min-height:560px;box-shadow:0 10px 26px rgba(15,35,52,.05);}
.profile-wizard-title{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:22px;color:#102033;font-weight:800;margin:0 0 5px;}
.profile-wizard-copy{color:#5E7186;font-size:15px;line-height:1.55;margin-bottom:16px;max-width:68ch;}
.profile-wizard-card{background:#FFFFFF;border:1px solid #DCE7EF;border-radius:10px;padding:14px;margin-bottom:10px;box-shadow:0 8px 20px rgba(15,35,52,.04);}
.profile-wizard-card h3{color:#102033;font-size:13.5px;letter-spacing:0;margin-bottom:8px;}
.profile-wizard-card p{color:#5E7186;}
.profile-edit-box .form-label{color:#38546B;font-size:13px;font-weight:800;margin-bottom:7px;letter-spacing:.01em;}
.profile-edit-box .form-group{margin-bottom:12px;}
.profile-edit-box .form-input,.profile-edit-box .form-select,.profile-edit-box .form-textarea,.profile-edit-box select,.profile-edit-box input[type="text"],.profile-edit-box input[type="url"],.profile-edit-box input[type="email"],.profile-edit-box input[type="tel"],.profile-edit-box input[type="number"],.profile-edit-box input[type="date"],.profile-edit-box textarea{background:#FFFFFF!important;border:1px solid #C9D8E2!important;color:#102033!important;border-radius:9px!important;box-shadow:none;font-size:15px!important;min-height:44px;}
.profile-edit-box .form-input::placeholder,.profile-edit-box .form-textarea::placeholder,.profile-edit-box input::placeholder,.profile-edit-box textarea::placeholder{color:#8AA0B2;}
.profile-edit-box .form-input:focus,.profile-edit-box .form-select:focus,.profile-edit-box .form-textarea:focus,.profile-edit-box input:focus,.profile-edit-box select:focus,.profile-edit-box textarea:focus{border-color:#0E8177!important;box-shadow:0 0 0 3px rgba(14,129,119,.15)!important;outline:none;}
.profile-specialty-search{background:#FFFFFF!important;border-color:#C9D8E2!important;color:#102033!important;}
#peSpecChips,.profile-wizard-chipbox{background:#F7FAFC;border-color:#DCE7EF;border-radius:10px;}
.profile-edit-box .ob-chip{background:#FFFFFF;border-color:#C9D8E2;color:#38546B;border-radius:9px;font-size:13px;min-height:36px;padding:7px 11px;}
.profile-edit-box .ob-chip:hover{background:#EFF8F9;border-color:#97C9D1;color:#0A5F62;}
.profile-edit-box .ob-chip.active{background:#0E8177;border-color:#0E8177;color:#FFFFFF;}
.profile-specialty-note,.profile-edit-box small{color:#5E7186!important;}
.pe-badge{background:#F3F7FA;border-color:#DCE7EF;color:#52687D;}
.pe-badge.required{background:#E9F7F5;border-color:#BCE4DF;color:#0A6A61;}
.pe-badge.public{background:#EAF4FF;border-color:#C7DEF5;color:#185FA5;}
.pe-badge.internal{background:#FFF7E8;border-color:#F5D48B;color:#8A5A00;}
.pe-badge.matching{background:#F0F7F2;border-color:#CBE7D2;color:#2D6A3E;}
.pe-phi-note{background:#FFF8E8;border-left-color:#D89A00;color:#6E4A00;}
.profile-wizard-support{top:14px;}
.pe-support-card{background:#FFFFFF;border-color:#DCE7EF;border-radius:12px;box-shadow:0 10px 24px rgba(15,35,52,.06);}
.pe-support-kicker{color:#185FA5;}
.pe-support-score{color:#102033;}
.pe-support-title{color:#102033;}
.pe-support-track{background:#E5EEF4;}
.pe-support-track span{background:linear-gradient(90deg,#0E8177,#4AA3A2);box-shadow:none;}
.pe-support-status.ready{background:#E9F7F5;color:#0A6A61;}
.pe-support-status.blocked{background:#FFF7E8;color:#8A5A00;}
.pe-support-list span,.pe-support-card li,.pe-support-card p{color:#52687D;}
.pe-review-card{background:#F7FAFC;border-color:#DCE7EF;color:#52687D;}
.pe-review-card strong{color:#102033;}
.profile-edit-box .modal-cancel{background:#FFFFFF;border:1px solid #C9D8E2;color:#38546B;border-radius:8px;}
.profile-edit-box .modal-cancel:hover{background:#F3F7FA;border-color:#97AFC0;}
.profile-edit-box .modal-submit,.profile-edit-box .btn-profile-save{background:#0E8177;color:#FFFFFF;border:1px solid #0E8177;border-radius:8px;font-weight:700;box-shadow:0 10px 22px rgba(14,129,119,.2);}
.profile-edit-box .modal-submit:hover,.profile-edit-box .btn-profile-save:hover{background:#0A6A61;}
.profile-edit-box .btn-add-license{background:#FFFFFF;border-color:#C9D8E2;color:#0A5F62;border-radius:8px;}
.profile-edit-box .btn-add-license:hover{background:#EFF8F9;border-color:#97C9D1;}
.clinic-repeat-row{border:1px solid #DCE7EF;background:#F7FAFC;border-radius:10px;padding:12px;margin-bottom:10px;}
.profile-edit-box .pe-badge.referrals{background:#EAF4FF;border-color:#C7DEF5;color:#185FA5;}
.profile-edit-box .pe-badge.admin{background:#FCEEEF;border-color:#F4C5CC;color:#A33A49;}
.profile-edit-box .ob-avail-btn{background:#FFFFFF;border:1px solid #C9D8E2;color:#38546B;border-radius:8px;}
.profile-edit-box .ob-avail-btn.active{background:#0E8177;border-color:#0E8177;color:#FFFFFF;}
.profile-save-bar{background:#FFFFFF;border-top:1px solid #DCE7EF;}
@media(max-width:920px){.profile-wizard-shell{grid-template-columns:1fr}.profile-wizard-support{position:static}.pe-license-extra-row{grid-template-columns:1fr!important}.pe-review-grid{grid-template-columns:1fr}.pe-choice-grid,.pe-compact-grid{grid-template-columns:1fr}.pe-track-card{padding:14px}.pe-guide-title{font-size:17px}}
@media(max-width:920px){.clinic-wizard-overview{grid-template-columns:1fr}}
@media(max-width:980px){.profile-edit-box .clinic-wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:768px){.profile-wizard-steps{grid-template-columns:1fr 1fr}.profile-wizard-grid{grid-template-columns:1fr}.profile-edit-box{max-height:92vh;overflow:auto;}}

/* Edit section label */
.edit-section-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 14px;
}
.edit-field-label {
  font-size: 11px; font-weight: 700; letter-spacing: .8px;
  text-transform: uppercase; color: #9ca3af; margin-bottom: 5px; display: block;
}

/* Save bar */
.profile-save-bar {
  display: none; position: sticky; bottom: 0; left: 0; right: 0;
  background: var(--blue-900); color: #fff;
  padding: 14px 32px; display: none;
  align-items: center; justify-content: space-between;
  z-index: 100; box-shadow: 0 -4px 20px rgba(0,0,0,0.2);
}
.profile-save-bar.visible { display: flex !important; }
.profile-save-bar-text { font-size: 14px; }
.profile-save-bar-text strong { color: var(--teal-500); }
.profile-save-bar-actions { display: flex; gap: 10px; }
.btn-profile-save { background: var(--teal-500); color: #0a2342; border: none; padding: 9px 22px; border-radius: 8px; font-weight: 700; font-size: 14px; cursor: pointer; }
.btn-profile-discard { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.3); padding: 9px 18px; border-radius: 8px; font-size: 14px; cursor: pointer; }

/* Edit highlight on hover in edit mode */
.profile-editable-zone {
  border-radius: 8px; transition: outline .15s;
}
.edit-mode .profile-editable-zone:hover {
  outline: 2px dashed var(--teal-500);
  outline-offset: 3px;
}

/* Photo crop/preview indicator */
.avatar-photo-ring {
  position: absolute; inset: -3px; border-radius: 50%;
  border: 3px solid var(--teal-500);
  opacity: 0; transition: opacity .2s; pointer-events: none;
}
.profile-avatar-lg.editable:hover .avatar-photo-ring { opacity: 1; }

/* -- Avatar crop modal -- */
.avatar-crop-modal{position:fixed;inset:0;z-index:500;background:rgba(4,44,83,0.88);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:1rem;}
.avatar-crop-modal.open{display:flex;}
.avatar-crop-box{background:var(--white);border-radius:var(--radius-xl);padding:1.75rem;max-width:400px;width:100%;box-shadow:var(--shadow-lg);}
.avatar-crop-title{font-family:'DM Serif Display',serif;font-size:1.1rem;color:var(--blue-900);margin-bottom:3px;}
.avatar-crop-sub{font-size:12.5px;color:var(--gray-500);margin-bottom:1.25rem;line-height:1.5;}
.avatar-crop-viewport{width:220px;height:220px;border-radius:50%;overflow:hidden;margin:0 auto 1rem;position:relative;border:3px solid var(--blue-300);cursor:move;background:var(--gray-100);user-select:none;flex-shrink:0;}
.avatar-crop-viewport img{position:absolute;transform-origin:top left;pointer-events:none;max-width:none;}
.avatar-crop-scale-row{display:flex;align-items:center;gap:10px;margin-bottom:1.25rem;}
.avatar-crop-scale-row svg{flex-shrink:0;color:var(--gray-400);}
.avatar-crop-scale-row input[type=range]{flex:1;accent-color:var(--blue-600);}
.avatar-crop-actions{display:flex;gap:8px;flex-wrap:wrap;}
.avatar-save-btn{flex:1;padding:9px;background:var(--blue-600);color:var(--white);border:none;border-radius:var(--radius-md);font-size:13.5px;font-weight:600;cursor:pointer;transition:background var(--transition-fast);}
.avatar-save-btn:hover{background:var(--blue-700);}
.avatar-cancel-btn{padding:9px 16px;background:transparent;color:var(--gray-500);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:13px;cursor:pointer;}
.avatar-remove-btn{padding:9px 14px;background:transparent;color:var(--red-500,#EF4444);border:1px solid #FECACA;border-radius:var(--radius-md);font-size:13px;cursor:pointer;transition:background var(--transition-fast);}
.avatar-remove-btn:hover{background:#FEF2F2;}
.pe-field-missing{animation:peFieldMissingPulse 1.5s ease 3;}
@keyframes peFieldMissingPulse{0%,100%{box-shadow:0 0 0 0 transparent;}50%{box-shadow:0 0 0 3px rgba(239,68,68,0.35);}}

/* Toast */
.profile-toast {
  position: fixed; bottom: 80px; left: 50%; transform: translateX(-50%) translateY(20px);
  background: #111; color: #fff; padding: 12px 22px; border-radius: 10px;
  font-size: 14px; font-weight: 500; opacity: 0; transition: all .3s; z-index: 9999;
  white-space: nowrap; display:flex; align-items:center; pointer-events:none;
}
.profile-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }


/* --- CLINICIAN TYPE SELECTOR --------------------------- */
.clinician-type-selector {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.ctype-card {
  flex: 1;
  min-width: 140px;
  border: 2px solid #e2e8f0;
  border-radius: 14px;
  padding: 16px 14px;
  cursor: pointer;
  text-align: center;
  transition: all 0.2s;
  background: #fff;
  position: relative;
}
.ctype-card:hover { border-color: #3b6fd4; background: #f0f4ff; }
.ctype-card.selected { border-color: #3b6fd4; background: #eef2ff; }
.ctype-card.selected::after {
  content: '?';
  position: absolute;
  top: 8px; right: 10px;
  color: #3b6fd4;
  font-weight: 700;
  font-size: 14px;
}
.ctype-icon { font-size: 28px; margin-bottom: 6px; }
.ctype-label { font-size: 13px; font-weight: 700; color: #1a365d; }
.ctype-desc { font-size: 11px; color: #64748b; margin-top: 3px; line-height: 1.3; }

/* --- ASSOCIATE PANEL ----------------------------------- */
.associate-panel {
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
  border: 1.5px solid #f59e0b;
  border-radius: 14px;
  padding: 20px;
  margin-top: 16px;
}
.associate-panel-title {
  font-size: 14px;
  font-weight: 700;
  color: #92400e;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.associate-panel-sub {
  font-size: 12px;
  color: #92400e;
  margin-bottom: 16px;
  opacity: 0.8;
}
.assoc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 640px) { .assoc-grid { grid-template-columns: 1fr; } }
.assoc-hours-bar {
  margin-top: 14px;
  background: #fde68a;
  border-radius: 8px;
  padding: 12px 14px;
}
.assoc-hours-label {
  font-size: 12px; font-weight: 600; color: #92400e;
  margin-bottom: 8px;
}
.assoc-hours-inputs {
  display: flex; gap: 12px; align-items: center;
}
.assoc-hours-inputs input {
  width: 80px;
  padding: 6px 10px;
  border: 1px solid #f59e0b;
  border-radius: 8px;
  font-size: 13px;
  background: #fff;
}
.assoc-hours-separator { color: #92400e; font-size: 13px; font-weight: 600; }
.assoc-hours-note { font-size: 11px; color: #92400e; margin-top: 6px; opacity: 0.75; }

/* --- CREDENTIAL SECTION HEADERS ----------------------- */
.cred-section-header {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
  margin: 14px 0 8px 0;
  padding-bottom: 4px;
  border-bottom: 1px solid #e2e8f0;
}
.cred-section-header:first-child { margin-top: 0; }

/* --- ASSOCIATE BADGE (Profile & Directory) ------------- */
.associate-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #fef9ec;
  color: #92400e;
  border: 1px solid #f0c060;
  border-radius: var(--radius-sm);
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.associate-badge::before { content: ''; }

.student-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #86efac;
  border-radius: var(--radius-sm);
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.student-badge::before { content: ''; }

/* --- SUPERVISION SEEKER BADGE ---------------------------- */
.needs-supervision-badge {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #93c5fd;
  border-radius: var(--radius-sm);
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* --- CREDENTIAL CHIP GROUPING --------------------------- */
.chip-group-label {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #94a3b8;
  width: 100%;
  margin: 10px 0 4px 0;
}


/* Waitlist button styling */
  .avail-toggle-btn.avail-waitlist {
    border-color: #9333EA;
    color: #6B21A8;
    background: #FAF5FF;
  }
  .avail-toggle-btn.avail-waitlist .avail-dot {
    background: #9333EA;
  }

  /* Multi-select active state - use a checkmark ring instead of opacity dimming */
  .avail-toggle-btn.avail-selected {
    opacity: 1 !important;
    position: relative;
  }
  .avail-toggle-btn.avail-selected::after {
    content: '?';
    position: absolute;
    top: 4px;
    right: 6px;
    font-size: 11px;
    font-weight: 700;
    opacity: 0.85;
  }
  /* Inactive state - dimmed */
  .avail-toggle-btn.avail-unselected {
    opacity: 0.42;
  }

  /* Status badge for waitlist */
  .avail-status-badge.waitlist {
    background: #FAF5FF;
    color: #6B21A8;
    border: 1px solid #D8B4FE;
  }

  /* Multi-badge wrapper */
  .avail-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 14px;
  }
  .avail-badge-row .avail-status-badge {
    margin-top: 0;
  }


/* -- OPPORTUNITY HEAT MAP -- */
#page-heatmap { background: #F7F8FC; min-height: calc(100vh - 44px); }
.hm-layout { display: grid; grid-template-columns: 260px 1fr 320px; min-height: calc(100vh - 88px); }
.hm-sidebar { background: #fff; border-right: 1px solid #E2E8F0; padding: 1.25rem; overflow-y: auto; }
.hm-main { display: flex; flex-direction: column; overflow: hidden; }
.hm-detail { background: #fff; border-left: 1px solid #E2E8F0; padding: 0; overflow-y: auto; min-width: 0; }
#hm-detail-empty { padding: 1.25rem; width: 100%; min-width: 0; box-sizing: border-box; }
.hm-header { background: linear-gradient(135deg, #0A1628 0%, #0F2647 50%, #0D3B47 100%); padding: 2rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; position: relative; overflow: hidden; box-shadow: 0 8px 32px rgba(0,0,0,0.3); }
.hm-header::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.035) 1px,transparent 1px); background-size: 48px 48px; pointer-events: none; opacity: 0.5; }
.hm-header::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 80% 80% at 15% 50%, rgba(45,212,191,0.15) 0%, transparent 60%), radial-gradient(ellipse 60% 60% at 85% 50%, rgba(13,148,136,0.08) 0%, transparent 50%); pointer-events: none; }
.hm-header-content { position: relative; flex: 1; }
.hm-header h1 { font-family: 'DM Serif Display', serif; font-size: 1.5rem; color: #fff; margin: 0 0 6px; font-weight: 400; letter-spacing: -0.5px; }
.hm-header p { font-size: 13px; color: rgba(255,255,255,0.65); margin: 0; line-height: 1.5; }
.hm-badge { position: relative; background: linear-gradient(135deg, rgba(45,212,191,0.25) 0%, rgba(13,148,136,0.2) 100%); border: 1.5px solid rgba(45,212,191,0.4); color: #2DD4BF; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; padding: 5px 12px; border-radius: 100px; flex-shrink: 0; }
.hm-map-container { flex: 1; position: relative; background: #EEF2FF; min-height: 420px; }
#hm-map-svg-holder svg { width: 100%; height: 100%; }
.hm-state-path { cursor: pointer; transition: opacity 0.15s; stroke: #fff; stroke-width: 0.5; }
.hm-state-path:hover { opacity: 0.8; stroke-width: 1.5; stroke: rgba(255,255,255,0.9); }
.hm-state-path.selected { stroke: #fff; stroke-width: 2; filter: drop-shadow(0 0 6px rgba(13,148,136,0.5)); }
.hm-state-path.hm-compact-highlight { stroke: #0F766E !important; stroke-width: 2.5 !important; filter: drop-shadow(0 0 4px rgba(15,118,110,0.55)); }
.hm-county-path { cursor: pointer; transition: opacity 0.15s; }
.hm-county-path:hover { opacity: 0.75; stroke-width: 1 !important; stroke: rgba(255,255,255,0.9) !important; }
#hm-back-btn:hover { background: #F0FDF4; border-color: #0D9488; color: #0D9488; }
.hm-tooltip { position: absolute; background: #0F1E36; color: #fff; padding: 8px 12px; border-radius: 8px; font-size: 12px; pointer-events: none; z-index: 50; box-shadow: 0 8px 24px rgba(0,0,0,0.25); border: 1px solid rgba(255,255,255,0.1); min-width: 160px; }
.hm-tooltip-state { font-weight: 700; margin-bottom: 4px; font-size: 13px; }
.hm-tooltip-score { color: #2DD4BF; font-size: 18px; font-weight: 700; font-family: 'DM Serif Display', serif; }
.hm-tooltip-sub { color: rgba(255,255,255,0.5); font-size: 11px; margin-top: 2px; }
.hm-legend { padding: 0.75rem 1rem; background: #fff; border-top: 1px solid #E2E8F0; display: flex; align-items: center; gap: 12px; font-size: 12px; color: #64748B; }
.hm-legend-bar { height: 8px; width: 180px; border-radius: 4px; background: linear-gradient(to right, #3B82F6, #8B5CF6, #EF4444); flex-shrink: 0; }
.hm-section-title { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #94A3B8; margin: 1rem 0 0.5rem; }
.hm-section-title:first-child { margin-top: 0; }
.hm-filter-group { margin-bottom: 1rem; }
.hm-filter-label { font-size: 12px; font-weight: 600; color: #374151; margin-bottom: 6px; display: block; }
.hm-select { width: 100%; padding: 7px 10px; border: 1px solid #E2E8F0; border-radius: 6px; font-size: 13px; color: #1E293B; background: #fff; cursor: pointer; font-family: inherit; }
.hm-select:focus { outline: none; border-color: #0D9488; }
.hm-chip-row { display: flex; flex-wrap: wrap; gap: 5px; }
.hm-chip { padding: 4px 10px; border-radius: 100px; font-size: 11px; font-weight: 500; border: 1px solid #E2E8F0; cursor: pointer; background: #fff; color: #64748B; transition: all 0.15s; }
.hm-chip.active { background: #0D9488; border-color: #0D9488; color: #fff; }
.hm-chip:hover:not(.active) { border-color: #0D9488; color: #0D9488; }
.hm-score-ring { width: 80px; height: 80px; position: relative; flex-shrink: 0; }
.hm-score-ring svg { transform: rotate(-90deg); }
.hm-score-num { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: 'DM Serif Display', serif; font-size: 22px; font-weight: 400; }
.hm-metric-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid #F1F5F9; font-size: 13px; }
.hm-metric-row:last-child { border-bottom: none; }
.hm-metric-label { color: #64748B; }
.hm-metric-val { font-weight: 600; color: #1E293B; }
.hm-metric-bar { height: 4px; border-radius: 2px; background: #E2E8F0; margin-top: 4px; overflow: hidden; }
.hm-metric-fill { height: 100%; border-radius: 2px; background: #0D9488; transition: width 0.6s ease; }
.hm-signal-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; }
.hm-signal-high { background: #DCFCE7; color: #15803D; }
.hm-signal-med { background: #FEF9C3; color: #854D0E; }
.hm-signal-low { background: #FEE2E2; color: #991B1B; }
.hm-compare-btn { width: 100%; padding: 8px; border: 1.5px dashed #CBD5E1; border-radius: 8px; background: none; color: #94A3B8; font-size: 12px; cursor: pointer; transition: all 0.15s; margin-top: 8px; }
.hm-compare-btn:hover { border-color: #0D9488; color: #0D9488; }
.hm-compare-modal { position: fixed; inset: 0; background: rgba(10,22,40,0.7); z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px; }
/* display:flex above outranks the .u-hidden utility (declared earlier in the
   bundle, same specificity), which left this dialog permanently open on the
   heat map. Open/close uses inline style.display, so re-asserting the hidden
   class state is safe. */
.hm-compare-modal.u-hidden { display: none; }
.hm-compare-box { background: #fff; border-radius: 16px; width: 100%; max-width: 900px; max-height: 80vh; overflow: auto; padding: 2rem; }
.hm-compare-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 1.5rem; margin-top: 1.25rem; }
.hm-compare-col { border: 1px solid #E2E8F0; border-radius: 12px; padding: 1.25rem; }
.hm-compare-col-hd { font-family: 'DM Serif Display', serif; font-size: 1.1rem; color: #0A1628; margin-bottom: 1rem; }
.hm-data-freshness { background: #F0FDF4; border: 1px solid #BBF7D0; border-radius: 6px; padding: 8px 12px; font-size: 11.5px; color: #166534; display: flex; align-items: center; gap: 6px; margin-bottom: 1rem; }
.hm-gate-overlay { position: absolute; inset: 0; background: rgba(10,22,40,0.6); backdrop-filter: blur(4px); z-index: 100; display: flex; align-items: center; justify-content: center; border-radius: 0; }
.hm-gate-card { background: #fff; border-radius: 16px; padding: 2.5rem; text-align: center; max-width: 420px; box-shadow: 0 20px 60px rgba(0,0,0,0.2); }
.hm-empty { text-align: center; padding: 3rem 1.5rem; color: #94A3B8; }
.hm-empty svg { margin: 0 auto 1rem; display: block; opacity: 0.4; }
@media (max-width: 1024px) { .hm-layout { grid-template-columns: 220px 1fr; } .hm-detail { display: none; } }
@media (max-width: 768px) { .hm-layout { grid-template-columns: 1fr; } .hm-sidebar { display: none; } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes hm-pulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:0.5;transform:scale(1.3);} }
@keyframes hm-shimmer { 0%{background-position:-400px 0;} 100%{background-position:400px 0;} }

/* -- Avenly data layer -- */
.hm-avenly-live-dot { width:7px;height:7px;background:#10B981;border-radius:50%;display:inline-block;margin-right:5px;animation:hm-pulse 2s ease-in-out infinite;flex-shrink:0; }
.hm-avenly-badge { display:inline-flex;align-items:center;gap:5px;background:#ECFDF5;color:#065F46;border:1px solid #A7F3D0;border-radius:20px;padding:3px 10px;font-size:10.5px;font-weight:700;letter-spacing:0.04em; }
.hm-platform-card { background:#F0FDF4;border:1px solid #BBF7D0;border-radius:8px;padding:10px 12px;margin-bottom:10px; }
.hm-platform-card-title { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#065F46;margin-bottom:6px;display:flex;align-items:center;gap:6px; }
.hm-platform-stat { display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:11.5px; }
.hm-platform-stat-label { color:#047857; }
.hm-platform-stat-val { font-weight:700;color:#065F46; }

/* -- My Market personalized card -- */
.hm-mymarket-card { background:linear-gradient(135deg,#0A1628 0%,#0F2647 100%);border-radius:10px;padding:14px 16px;margin-bottom:1.25rem;color:#fff;position:relative;overflow:hidden; }
.hm-mymarket-card::before { content:'';position:absolute;top:-30px;right:-30px;width:100px;height:100px;background:radial-gradient(circle,rgba(13,148,136,0.3) 0%,transparent 70%);pointer-events:none; }
.hm-mymarket-title { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#2DD4BF;margin-bottom:8px;display:flex;align-items:center;gap:6px; }
.hm-mymarket-headline { font-family:'DM Serif Display',serif;font-size:1.05rem;color:#fff;line-height:1.4;margin-bottom:10px; }
.hm-mymarket-row { display:flex;align-items:center;gap:8px;font-size:11.5px;color:rgba(255,255,255,0.75);margin-bottom:5px;line-height:1.4; }
.hm-mymarket-row strong { color:#fff; }
.hm-mymarket-pill { display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,0.12);border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600;color:#fff;margin-top:6px;margin-right:4px; }

/* -- Upsell gate (blur + overlay) -- */
.hm-gate-wrap { position:relative;border-radius:8px;overflow:hidden; }
.hm-gate-blur { filter:blur(4px);pointer-events:none;user-select:none;opacity:0.6; }
.hm-gate-overlay { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,0.75);backdrop-filter:blur(2px);border-radius:8px;padding:16px;text-align:center;z-index:5; }
.hm-gate-overlay-title { font-size:13px;font-weight:700;color:#0A1628;margin-bottom:4px; }
.hm-gate-overlay-sub { font-size:11px;color:#64748B;margin-bottom:10px;line-height:1.5; }
.hm-gate-btn { background:#0D9488;color:#fff;border:none;border-radius:6px;padding:7px 16px;font-size:12px;font-weight:700;cursor:pointer; }

/* -- Insights view -- */
.hm-insights-grid { display:flex;flex-direction:column;gap:6px;padding:0.75rem; }
.hm-insight-row { display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-radius:8px;border:1px solid #E2E8F0; }
.hm-insight-rank { font-size:11px;font-weight:700;color:#94A3B8;width:20px;flex-shrink:0; }
.hm-insight-icon { font-size:20px;width:32px;text-align:center;flex-shrink:0; }
.hm-insight-body { flex:1;min-width:0; }
.hm-insight-title { font-size:12.5px;font-weight:600;color:#0A1628; }
.hm-insight-sub { font-size:11px;color:#64748B;margin-top:1px; }
.hm-insight-badge { font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;white-space:nowrap;flex-shrink:0; }
.hm-insight-badge.urgent { background:#FEF2F2;color:#991B1B; }
.hm-insight-badge.high { background:#ECFDF5;color:#065F46; }
.hm-insight-badge.rising { background:#EFF6FF;color:#1D4ED8; }
@media (max-width: 768px) {
  .hm-insight-row { align-items:flex-start;flex-wrap:wrap;gap:8px; }
  .hm-insight-rank { width:auto;min-width:24px; }
  .hm-insight-badge { margin-left:auto; }
}
@media (prefers-reduced-motion: reduce) {
  .hm-insight-row,
  .hm-view-tab,
  .hm-gate-btn { transition:none !important;animation:none !important; }
}


/* -- HEAT MAP UX ENHANCEMENTS -- */

/* -- Sidebar layout -- */
.hm-sidebar { background:#fff; border-right:1px solid #E2E8F0; padding:0; overflow-y:auto; display:flex; flex-direction:column; }
.hm-sidebar-body { flex:1; padding:0.85rem 0.85rem 0; }
.hm-sidebar-footer { padding:0.6rem 0.85rem 0.85rem; border-top:1px solid #F1F5F9; background:#fff; }

/* -- My Market CTA (top of sidebar) -- */
.hm-mm-cta { background:linear-gradient(135deg,#0A1628 0%,#0F2647 50%, #133D4A 100%); border-radius:12px; padding:16px 16px; margin-bottom:1rem; position:relative; overflow:hidden; box-shadow: 0 8px 24px rgba(13,148,136,0.12); border: 1px solid rgba(45,212,191,0.15); }
.hm-mm-cta::before { content:''; position:absolute; top:-40px; right:-40px; width:120px; height:120px; background:radial-gradient(circle,rgba(45,212,191,0.25),transparent 70%); pointer-events:none; }
.hm-mm-cta::after { content:''; position:absolute; bottom:-30px; left:-30px; width:90px; height:90px; background:radial-gradient(circle,rgba(13,148,136,0.15),transparent 70%); pointer-events:none; }
.hm-mm-cta-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.12em; color:#2DD4BF; margin-bottom:5px; display:flex; align-items:center; gap:5px; }
.hm-mm-cta-title { font-size:13px; font-weight:700; color:#fff; margin-bottom:4px; line-height:1.3; position:relative; }
.hm-mm-cta-sub { font-size:11px; color:rgba(255,255,255,0.65); margin-bottom:11px; line-height:1.5; position:relative; }
.hm-mm-cta-btn { width:100%; padding:9px 12px; background:linear-gradient(135deg,rgba(45,212,191,0.2),rgba(13,148,136,0.15)); border:1.5px solid rgba(45,212,191,0.4); border-radius:8px; color:#2DD4BF; font-size:12px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:7px; transition:all 0.2s; position:relative; }
.hm-mm-cta-btn:hover { background:linear-gradient(135deg,rgba(45,212,191,0.35),rgba(13,148,136,0.25)); border-color:rgba(45,212,191,0.6); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(45,212,191,0.15); }

/* -- View-mode card tabs -- */
.hm-view-tabs { display:flex; flex-direction:column; gap:6px; margin-bottom:1rem; }
.hm-view-tab { display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:10px; border:1.5px solid #E2E8F0; background:#fff; cursor:pointer; text-align:left; transition:all 0.18s cubic-bezier(0.4, 0, 0.2, 1); width:100%; box-shadow: 0 2px 4px rgba(0,0,0,0.02); }
.hm-view-tab:hover { border-color:#2DD4BF; background:#F0FFFE; transform: translateX(2px); box-shadow: 0 4px 12px rgba(13,148,136,0.1); }
.hm-view-tab.active { border-color:#0D9488; background:linear-gradient(135deg, #F0FDF4 0%, #CCFBF1 100%); box-shadow: 0 6px 16px rgba(13,148,136,0.12); }
.hm-view-tab-icon { width:32px; height:32px; border-radius:8px; background:#F1F5F9; display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; color:#64748B; transition:all 0.18s; }
.hm-view-tab:hover .hm-view-tab-icon { background:#E0F2FE; color:#0D9488; }
.hm-view-tab.active .hm-view-tab-icon { background:#CCFBF1; color:#0D9488; }
.hm-view-tab-body { flex:1; min-width:0; }
.hm-view-tab-name { font-size:12.5px; font-weight:700; color:#374151; line-height:1.3; }
.hm-view-tab:hover .hm-view-tab-name { color:#0D9488; }
.hm-view-tab.active .hm-view-tab-name { color:#065F46; }
.hm-view-tab-desc { font-size:11px; color:#94A3B8; margin-top:2px; line-height:1.3; }
.hm-view-tab:hover .hm-view-tab-desc { color:#0D9488; }
.hm-view-tab.active .hm-view-tab-desc { color:#0D9488; font-weight:500; }
.hm-view-tab-check { width:16px; height:16px; border-radius:50%; border:2px solid #E2E8F0; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:9px; transition:all 0.18s; }
.hm-view-tab.active .hm-view-tab-check { background:#0D9488; border-color:#0D9488; color:#fff; }
.hm-view-tab.active .hm-view-tab-check::after { content:'\2713'; }

/* -- Filter blocks -- */
.hm-filter-block { margin-bottom:0.8rem; }
.hm-filter-block-hd { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; color:#374151; margin-bottom:5px; }
.hm-filter-hint { font-size:10px; color:#94A3B8; margin-top:3px; line-height:1.4; }
.hm-filter-divider { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#94A3B8; padding:7px 0 5px; border-top:1px solid #F1F5F9; margin-top:2px; display:flex; align-items:center; gap:7px; cursor:pointer; user-select:none; }
.hm-filter-divider-arrow { font-size:9px; color:#CBD5E1; transition:transform 0.15s; margin-left:auto; }
.hm-refine-body.collapsed { display:none; }

/* -- Platform section -- */
.hm-platform-section { border-top:2px solid #F0FDF4; padding-top:0.8rem; margin-top:0.25rem; }

/* -- Context bar (above map, inside .hm-main) -- */
.hm-context-bar { display:flex; align-items:center; gap:7px; padding:7px 14px; background:#fff; border-bottom:1px solid #E2E8F0; font-size:11px; color:#64748B; flex-wrap:wrap; min-height:36px; }
.hm-context-bar-label { font-size:10px; font-weight:700; color:#94A3B8; text-transform:uppercase; letter-spacing:0.06em; flex-shrink:0; }
.hm-ctx-tag { display:inline-flex; align-items:center; gap:4px; background:#F1F5F9; border-radius:4px; padding:3px 7px; font-size:10.5px; font-weight:600; color:#374151; }
.hm-ctx-avenly-on { display:inline-flex; align-items:center; gap:5px; background:#ECFDF5; border-radius:4px; padding:3px 8px; font-size:10.5px; font-weight:700; color:#065F46; }
.hm-ctx-clear { font-size:11px; color:#94A3B8; cursor:pointer; background:none; border:none; padding:2px 5px; margin-left:auto; border-radius:4px; }
.hm-ctx-clear:hover { color:#DC2626; background:#FEF2F2; }

/* -- Enhanced legend -- */
.hm-legend-v2 { padding:8px 14px; background:#fff; border-top:1px solid #E2E8F0; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.hm-legend-tiers { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.hm-tier-item { display:flex; align-items:center; gap:5px; font-size:10.5px; color:#64748B; white-space:nowrap; }
.hm-tier-swatch { width:10px; height:10px; border-radius:2px; flex-shrink:0; }
.hm-legend-help { margin-left:auto; font-size:10.5px; color:#0D9488; cursor:pointer; background:none; border:none; padding:0; font-family:inherit; }
.hm-legend-help:hover { text-decoration:underline; }

/* -- Detail panel: rich empty state -- */
.hm-empty-v2 { padding:1.5rem 1.1rem; width:100%; min-width:0; box-sizing:border-box; }
.hm-empty-v2-hero { width:48px; height:48px; border-radius:12px; background:linear-gradient(135deg,#F0FDF4,#ECFDF5); border:1.5px solid #A7F3D0; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; font-size:22px; }
.hm-empty-v2-title { font-family:'DM Serif Display',serif; font-size:1.05rem; color:#0A1628; text-align:center; margin-bottom:5px; white-space:normal; overflow-wrap:break-word; word-wrap:break-word; }
.hm-empty-v2-sub { font-size:11.5px; color:#64748B; text-align:center; line-height:1.6; margin-bottom:1.1rem; white-space:normal; overflow-wrap:break-word; word-wrap:break-word; }
.hm-start-steps { display:flex; flex-direction:column; gap:6px; }
.hm-start-step { display:flex; align-items:flex-start; gap:9px; padding:8px 10px; background:#F8FAFC; border-radius:8px; border:1px solid #E2E8F0; }
.hm-start-step-num { width:18px; height:18px; border-radius:50%; background:#0D9488; color:#fff; font-size:9.5px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.hm-start-step-text { font-size:11px; color:#374151; line-height:1.45; }
.hm-start-step-text strong { color:#0A1628; }

/* -- Score tier quick-reference -- */
.hm-score-guide { display:flex; gap:5px; margin-bottom:14px; }
.hm-sg-pill { flex:1; border-radius:8px; padding:8px 6px; text-align:center; border:1.5px solid transparent; }
.hm-sg-val { font-size:11px; font-weight:700; }
.hm-sg-lbl { font-size:9px; font-weight:600; margin-top:2px; letter-spacing:0.03em; }

/* -- "What to do" action callout -- */
.hm-action-callout { background:#FFFBEB; border:1px solid #FDE68A; border-radius:9px; padding:10px 13px; margin-top:12px; }
.hm-action-callout-title { font-size:11px; font-weight:700; color:#92400E; margin-bottom:5px; }
.hm-action-callout-body { font-size:11px; color:#78350F; line-height:1.55; }
.hm-action-btns { display:flex; gap:6px; margin-top:9px; }
.hm-action-btn { flex:1; padding:7px 8px; border-radius:7px; font-size:11px; font-weight:700; cursor:pointer; border:none; text-align:center; transition:opacity 0.15s; }
.hm-action-btn:hover { opacity:0.85; }
.hm-action-btn-primary { background:#0D9488; color:#fff; }
.hm-action-btn-secondary { background:#fff; color:#374151; border:1.5px solid #E2E8F0 !important; }

/* -- Pro tip strip -- */
.hm-pro-tip { display:flex; align-items:flex-start; gap:8px; padding:9px 11px; background:#FFFBEB; border:1px solid #FDE68A; border-radius:8px; margin-top:1rem; }
.hm-pro-tip-icon { font-size:13px; flex-shrink:0; }
.hm-pro-tip-text { font-size:11px; color:#92400E; line-height:1.5; }
.hm-help-btn { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:32px; padding:7px 12px; border-radius:8px; border:1px solid rgba(45,212,191,0.38); background:rgba(255,255,255,0.08); color:#DFFCF6; font-size:12px; font-weight:600; cursor:pointer; font-family:inherit; z-index:1; }
.hm-help-btn:hover { background:rgba(45,212,191,0.16); border-color:rgba(45,212,191,0.58); }
.hm-help-strip { margin:0 0 10px; padding:10px 11px; border:1px solid #BDEFE6; border-radius:10px; background:linear-gradient(135deg,#F0FDFA,#F8FAFC); color:#0F3B4A; }
.hm-help-strip-title { font-size:12px; font-weight:700; color:#0A1628; margin-bottom:4px; }
.hm-help-strip-body { font-size:11px; line-height:1.55; color:#456174; }
.hm-help-strip-actions { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.hm-help-mini-btn { border:1px solid #CFE6E2; background:#fff; color:#0D6F66; border-radius:7px; padding:6px 8px; font-size:10.5px; font-weight:700; cursor:pointer; font-family:inherit; }
.hm-help-mini-btn:hover { border-color:#0D9488; background:#F0FDFA; }
.hm-tour-overlay { position:fixed; inset:0; z-index:260; background:rgba(10,22,40,0.48); pointer-events:none; }
.hm-tour-popover { position:fixed; z-index:270; width:min(390px,calc(100vw - 28px)); background:#fff; border:1px solid #DCE8F2; border-radius:14px; box-shadow:0 22px 70px rgba(10,22,40,0.24); overflow:hidden; }
.hm-tour-popover-head { padding:15px 16px 13px; border-bottom:1px solid #E2E8F0; background:linear-gradient(135deg,#F8FAFC,#F0FDFA); }
.hm-tour-eyebrow { font-size:10px; font-weight:700; color:#0D9488; letter-spacing:.1em; text-transform:uppercase; margin-bottom:4px; }
.hm-tour-title { font-family:'DM Serif Display',serif; font-size:1.2rem; color:#0A1628; line-height:1.18; }
.hm-tour-body { padding:14px 16px; font-size:12.5px; line-height:1.65; color:#475569; }
.hm-tour-tip { margin-top:10px; padding:9px 10px; border-radius:9px; border:1px solid #BDEFE6; background:#F0FDFA; color:#0F766E; font-size:11.5px; line-height:1.5; }
.hm-tour-controls { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 16px; border-top:1px solid #E2E8F0; background:#fff; }
.hm-tour-progress { font-size:11px; font-weight:600; color:#64748B; white-space:nowrap; }
.hm-tour-actions { display:flex; gap:7px; }
.hm-tour-btn { border:1px solid #CBD5E1; background:#fff; color:#0F3B4A; border-radius:8px; padding:8px 10px; font-size:12px; font-weight:700; cursor:pointer; font-family:inherit; }
.hm-tour-btn.primary { border-color:#0D9488; background:#0D9488; color:#fff; }
.hm-tour-btn:hover { opacity:.88; }
.hm-tour-close { position:absolute; top:10px; right:10px; width:30px; height:30px; border-radius:8px; border:1px solid #DCE8F2; background:#fff; color:#64748B; cursor:pointer; font-size:18px; line-height:1; }
.hm-tour-target-active { position:relative; z-index:265 !important; outline:3px solid rgba(45,212,191,0.78) !important; outline-offset:4px; box-shadow:0 0 0 8px rgba(45,212,191,0.16),0 18px 48px rgba(10,22,40,0.18) !important; border-radius:10px; }
@media (max-width:768px) {
  .hm-help-btn { width:100%; }
  .hm-tour-popover { left:14px !important; right:14px !important; bottom:14px !important; top:auto !important; width:auto; }
}
@media (prefers-reduced-motion: reduce) {
  .hm-tour-popover,
  .hm-tour-overlay,
  .hm-tour-target-active { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}


/* -- HEAT MAP POLISH - all 16 expert design recommendations -- */

/* #4 - Wider layout grid -- */
.hm-layout { grid-template-columns: 280px 1fr 360px; }
@media (max-width:1280px) { .hm-layout { grid-template-columns: 260px 1fr 320px; } }
@media (max-width:1024px) {
  .hm-layout { grid-template-columns: 260px 1fr; }
  .hm-layout.detail-open .hm-main { pointer-events:none; user-select:none; }
  .hm-layout.detail-open .hm-detail { pointer-events:auto; }
  .hm-detail {
    display: block;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    height: 0;
    overflow: hidden;
    transition: height 0.3s cubic-bezier(0.4,0,0.2,1);
    z-index: 80;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -8px 32px rgba(0,0,0,0.18);
    border-left: none;
    border-top: 1px solid #E2E8F0;
  }
  #hm-detail-panel.sid-open { height: 75vh; }
}
@media (max-width:768px) { .hm-layout { grid-template-columns: 1fr; } }

/* #3 - Slim header -- */
.hm-header { padding:0.65rem 1.5rem; }
.hm-header p { display:none; }
.hm-header h1 { font-size:1.15rem; }

/* #7 - Map background -- */
.hm-map-container { background:#E8EEF5; }

/* #8 - State path hover -- */
.hm-state-path { transition:filter 0.15s ease, stroke-width 0.12s ease; }
.hm-state-path:hover {
  opacity:1;
  stroke:rgba(255,255,255,0.95);
  stroke-width:2.2;
  filter:brightness(1.12) drop-shadow(0 0 5px rgba(13,148,136,0.38));
}
.hm-state-path.selected {
  stroke:#fff; stroke-width:2.5;
  filter:drop-shadow(0 0 8px rgba(13,148,136,0.55));
}

/* #5 - Score ring entrance animation -- */
@keyframes hm-ring-fill { from { stroke-dasharray:0 176; } }
.hm-score-ring svg circle:last-child {
  animation:hm-ring-fill 0.65s cubic-bezier(0.4,0,0.2,1) both;
}

/* #6 - Tooltip upgrades -- */
.hm-tooltip { min-width:200px; padding:10px 14px; border-radius:10px; }
.hm-tooltip-tier {
  display:inline-flex; align-items:center;
  padding:2px 8px; border-radius:4px;
  font-size:10.5px; font-weight:700; margin-bottom:6px;
}
.hm-tooltip-hint {
  font-size:10px; color:rgba(255,255,255,0.4);
  margin-top:6px; padding-top:6px;
  border-top:1px solid rgba(255,255,255,0.1);
}

/* #9 - Card depth / elevation -- */
.hm-platform-card { box-shadow:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04); }
.hm-mm-cta { box-shadow:0 4px 18px rgba(10,22,40,0.3); }
.hm-insight-row { transition:box-shadow 0.15s,border-color 0.15s; }
.hm-insight-row:hover { box-shadow:0 2px 8px rgba(0,0,0,0.07); border-color:#CBD5E1; }
.hm-start-step { transition:box-shadow 0.15s; }
.hm-start-step:hover { box-shadow:0 1px 4px rgba(0,0,0,0.06); }

/* #10 - Section dividers in detail panel -- */
.hm-section-div {
  display:flex; align-items:center; gap:10px;
  font-size:10px; font-weight:700; text-transform:uppercase;
  letter-spacing:0.08em; color:#94A3B8; margin:18px 0 10px;
}
.hm-section-div::before,
.hm-section-div::after { content:''; flex:1; height:1px; background:#F1F5F9; }

/* #13 - Sticky mini-header in detail panel -- */
.hm-detail-sticky {
  position:sticky; top:0; z-index:10;
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  padding:8px 16px;
  margin:-1.25rem -1.25rem 0.85rem;
  border-bottom:1px solid #F1F5F9;
  display:flex; align-items:center; gap:9px;
}
.hm-detail-sticky-name { font-size:13px; font-weight:700; color:#0A1628; flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hm-detail-sticky-score { padding:3px 9px; border-radius:6px; font-size:12px; font-weight:700; flex-shrink:0; }
.hm-detail-sticky-tier  { font-size:10px; font-weight:700; padding:2px 7px; border-radius:4px; flex-shrink:0; }

/* #11 - Skeleton shimmer -- */
@keyframes hm-shimmer { 0%{background-position:-600px 0;} 100%{background-position:600px 0;} }
.hm-skeleton {
  background:linear-gradient(90deg,#E2E8F0 25%,#F1F5F9 50%,#E2E8F0 75%);
  background-size:600px 100%;
  animation:hm-shimmer 1.4s ease-in-out infinite;
  border-radius:6px;
}

/* #15 - Colorblind pattern toggle -- */
.hm-pattern-btn {
  position:absolute; top:10px; right:12px; z-index:20;
  display:flex; align-items:center; gap:5px;
  padding:5px 11px; background:rgba(255,255,255,0.95);
  border:1.5px solid #E2E8F0; border-radius:20px;
  font-size:11px; font-weight:600; color:#64748B;
  cursor:pointer; box-shadow:0 1px 4px rgba(0,0,0,0.09);
  transition:all 0.15s; white-space:nowrap;
}
.hm-pattern-btn:hover { border-color:#0D9488; color:#0D9488; background:#fff; }
.hm-pattern-btn.on    { background:#F0FDF4; border-color:#0D9488; color:#065F46; }
.hm-state-path.cb-pattern-low  { fill:url(#cbPatternLow)  !important; }
.hm-state-path.cb-pattern-mid  { fill:url(#cbPatternMid)  !important; }
.hm-state-path.cb-pattern-high { fill:url(#cbPatternHigh) !important; }

/* #16 - Mobile slide-over sidebar -- */
.hm-sidebar-handle { width:36px; height:4px; background:#E2E8F0; border-radius:2px; margin:10px auto 4px; flex-shrink:0; cursor:grab; display:none; }
.hm-mobile-fab { display:none; }
.hm-mobile-overlay { display:none; position:fixed; inset:0; background:rgba(10,22,40,0.45); z-index:199; }
.hm-mobile-overlay.on { display:block; }
@media (max-width:768px) {
  .hm-sidebar {
    position:fixed; bottom:0; left:0; right:0;
    height:auto; max-height:82vh; width:100%;
    border-radius:16px 16px 0 0;
    box-shadow:0 -4px 32px rgba(0,0,0,0.16);
    transform:translateY(100%);
    transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);
    z-index:200; display:flex; flex-direction:column;
  }
  .hm-sidebar.open { transform:translateY(0); }
  .hm-sidebar-handle { display:block; }
  .hm-mobile-fab {
    display:flex; align-items:center; gap:7px;
    position:fixed; bottom:20px; left:50%; transform:translateX(-50%);
    padding:11px 20px; background:#0A1628; color:#fff;
    border:none; border-radius:28px; font-size:13px; font-weight:700;
    cursor:pointer; z-index:100;
    box-shadow:0 4px 20px rgba(10,22,40,0.3);
    white-space:nowrap; font-family:inherit;
  }
  .hm-detail { display:block; position:fixed; bottom:0; left:0; right:0; height:0; overflow:hidden; transition:height 0.3s cubic-bezier(0.4,0,0.2,1); z-index:190; border-radius:16px 16px 0 0; box-shadow:0 -8px 32px rgba(0,0,0,0.22); border-left:none; border-top:1px solid #E2E8F0; }
  #hm-detail-panel.sid-open { height:82vh; }
  .hm-context-bar { font-size:10.5px; padding:6px 10px; }
}
/* hide old .hm-legend (replaced by .hm-legend-v2) */
.hm-legend { display:none; }


/* -- STATE INSIGHT DASHBOARD (SID) -- */

/* Layout */
.hm-sid { display:flex; flex-direction:column; min-height:100%; }
.hm-sid-header { padding:14px 14px 0; background:#fff; position:sticky; top:0; z-index:10; border-bottom:1px solid #E2E8F0; }

/* Breadcrumb */
.hm-sid-crumb { display:flex; align-items:center; gap:5px; font-size:10.5px; color:#94A3B8; margin-bottom:8px; }
.hm-sid-crumb button { background:none; border:none; color:#0D9488; cursor:pointer; font-size:10.5px; padding:0; font-family:inherit; }
.hm-sid-crumb button:hover { text-decoration:underline; }

/* State name row */
.hm-sid-title-row { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.hm-sid-state-name { font-family:'DM Serif Display',serif; font-size:1.35rem; color:#0A1628; flex:1; }
.hm-sid-close { background:none; border:none; cursor:pointer; color:#94A3B8; padding:4px 6px; border-radius:6px; font-size:16px; line-height:1; }
.hm-sid-close:hover { background:#F1F5F9; color:#0A1628; }

/* Expansion priority badge */
.hm-sid-priority { display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:20px; font-size:11px; font-weight:700; margin-bottom:10px; }
.hm-sid-priority.pri-high     { background:#DCFCE7; color:#15803D; }
.hm-sid-priority.pri-medium   { background:#FEF9C3; color:#854D0E; }
.hm-sid-priority.pri-maintain { background:#F1F5F9; color:#475569; }
.hm-sid-priority.pri-low      { background:#FEE2E2; color:#991B1B; }

/* 6-score summary grid */
.hm-sid-scores { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin-bottom:10px; }
.hm-sid-sc { background:#F8FAFC; border:1px solid #E2E8F0; border-radius:8px; padding:8px 6px; text-align:center; }
.hm-sid-sc.sid-hi { background:#F0FDF4; border-color:#BBF7D0; }
.hm-sid-sc.sid-med { background:#EEF2FF; border-color:#C7D2FE; }
.hm-sid-sc.sid-lo { background:#FFF7ED; border-color:#FED7AA; }
.hm-sid-sc-val { font-size:1.25rem; font-weight:700; line-height:1; }
.hm-sid-sc.sid-hi .hm-sid-sc-val { color:#0D9488; }
.hm-sid-sc.sid-med .hm-sid-sc-val { color:#4338CA; }
.hm-sid-sc.sid-lo .hm-sid-sc-val { color:#C2410C; }
.hm-sid-sc-lbl { font-size:10px; text-transform:uppercase; letter-spacing:0.04em; color:#64748B; margin-top:3px; line-height:1.25; }
.hm-sid-sc-sub { font-size:9.5px; color:#94A3B8; margin-top:2px; line-height:1.3; font-style:italic; }
.hm-sid-sc-trend { font-size:10px; font-weight:700; margin-top:2px; }
.hm-sid-trend-up { color:#10B981; }
.hm-sid-trend-dn { color:#EF4444; }

/* Revenue projection bar */
.hm-sid-revenue-bar { background:linear-gradient(135deg,#F0FDF4,#ECFDF5); border:1.5px solid #A7F3D0; border-radius:10px; padding:10px 14px; margin-bottom:10px; position:relative; }
.hm-sid-compare-btn { margin-top:8px; background:none; border:1px solid #0D9488; color:#0D9488; border-radius:6px; padding:4px 12px; font-size:11.5px; font-weight:700; cursor:pointer; font-family:inherit; transition:background 0.15s, color 0.15s; }
.hm-sid-compare-btn:hover { background:#0D9488; color:#fff; }

/* Demand - Openness 2x2 quadrant */
.hm-sid-quadrant { margin:0 0 10px; }
.hm-sid-q-title { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; color:#94A3B8; margin-bottom:6px; }
.hm-sid-q-wrap { display:flex; flex-direction:column; gap:2px; }
.hm-sid-q-ylabel { font-size:9px; color:#94A3B8; text-align:left; margin-bottom:1px; }
.hm-sid-q-xlabel { font-size:9px; color:#94A3B8; text-align:center; margin-top:3px; }
.hm-sid-q-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:3px; height:100px; position:relative; }
.hm-sid-q-cell { border-radius:6px; display:flex; align-items:flex-start; justify-content:flex-end; padding:5px 7px; font-size:9.5px; font-weight:700; }
.hm-sid-q-cell span { opacity:0.75; }
.q-prime { background:#ECFDF5; color:#065F46; border:1.5px solid #A7F3D0; }
.q-competitive { background:#FFF7ED; color:#92400E; border:1.5px solid #FED7AA; }
.q-emerging { background:#EFF6FF; color:#1E40AF; border:1.5px solid #BFDBFE; }
.q-monitor { background:#F8FAFC; color:#64748B; border:1.5px solid #E2E8F0; }
.hm-sid-q-dot { position:absolute; width:24px; height:24px; border-radius:50%; background:#0A1628; border:2px solid #fff; box-shadow:0 2px 8px rgba(10,22,40,0.35); transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; z-index:5; }
.hm-sid-q-dot span { font-size:8px; font-weight:700; color:#fff; pointer-events:none; }

/* Suggested states banner */
.hm-suggested-banner { background:#fff; border-bottom:1.5px solid #CCFBF1; padding:8px 14px; z-index:15; flex-shrink:0; animation:hm-banner-in 0.3s ease; }
@keyframes hm-banner-in { from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);} }
.hm-sb-inner { display:flex; align-items:center; gap:10px; }
.hm-sb-icon { font-size:1.1rem; flex-shrink:0; }
.hm-sb-body { flex:1; min-width:0; }
.hm-sb-body strong { font-size:11.5px; color:#0A1628; display:block; margin-bottom:5px; }
.hm-sb-states { display:flex; gap:6px; flex-wrap:wrap; }
.hm-sb-state-btn { display:flex; align-items:center; gap:5px; background:#F0FDF4; border:1.5px solid #A7F3D0; border-radius:8px; padding:4px 10px; cursor:pointer; font-family:inherit; transition:background 0.15s, border-color 0.15s; }
.hm-sb-state-btn:hover { background:#CCFBF1; border-color:#0D9488; }
.hm-sb-rank { font-size:9.5px; font-weight:700; color:#0F766E; background:#fff; border-radius:50%; width:16px; height:16px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hm-sb-abbr { font-size:12px; font-weight:700; color:#0A1628; }
.hm-sb-score { font-size:10px; color:#64748B; }
.hm-sb-fee { font-size:10px; font-weight:700; color:#0F766E; }
.hm-sb-close { background:none; border:none; padding:4px 6px; cursor:pointer; color:#94A3B8; font-size:11px; font-family:inherit; margin-left:4px; border-radius:4px; flex-shrink:0; }
.hm-sb-close:hover { background:#F1F5F9; color:#334155; }
.hm-sid-trend-fl { color:#94A3B8; }

/* Tab navigation ? Fix #13: fade mask indicates more tabs when overflowing */
.hm-sid-tabs { display:flex; overflow-x:auto; margin:0 -14px; padding:0 14px; scrollbar-width:none; -webkit-mask-image:linear-gradient(to right, black calc(100% - 28px), transparent 100%); mask-image:linear-gradient(to right, black calc(100% - 28px), transparent 100%); }
.hm-sid-tabs::-webkit-scrollbar { display:none; }
.hm-sid-tabs.at-end { -webkit-mask-image:none; mask-image:none; }
.hm-sid-tab-btn { flex-shrink:0; padding:8px 10px; font-size:11px; font-weight:600; color:#64748B; cursor:pointer; border:none; border-bottom:2px solid transparent; background:none; font-family:inherit; white-space:nowrap; display:flex; align-items:center; gap:5px; transition:color 0.15s,border-color 0.15s; }
.hm-sid-tab-btn:hover { color:#0D9488; }
.hm-sid-tab-btn.active { color:#0D9488; border-bottom-color:#0D9488; }

/* Section body */
.hm-sid-body { padding:12px 14px 20px; }
.hm-sid-sec { display:none; }
.hm-sid-sec.active { display:block; }

/* Section label dividers */
.hm-sid-slabel { display:flex; align-items:center; gap:8px; font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#0D9488; padding:10px 0 6px; border-bottom:1.5px solid #CCFBF1; margin-bottom:10px; }
.hm-sid-slabel:first-child { padding-top:0; }

/* Cards */
.hm-sid-card { background:#fff; border:1px solid #E2E8F0; border-radius:11px; padding:12px 14px; margin-bottom:10px; }
.hm-sid-card-hd { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#94A3B8; margin-bottom:9px; display:flex; align-items:center; gap:5px; }
.hm-sid-card-title { font-size:13px; font-weight:700; color:#0A1628; margin-bottom:5px; }

/* Row list inside cards */
.hm-sid-row { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid #F1F5F9; font-size:12.5px; }
.hm-sid-row:last-child { border-bottom:none; padding-bottom:0; }
.hm-sid-row-lbl { color:#64748B; }
.hm-sid-row-val { font-weight:700; color:#0A1628; }

/* Progress bar rows ? Fix #9: 6px bars are readable, 5px looks like decoration */
.hm-sid-pbar { padding:5px 0; }
.hm-sid-pbar-hd { display:flex; justify-content:space-between; align-items:center; font-size:11.5px; margin-bottom:4px; }
.hm-sid-pbar-name { color:#374151; font-weight:600; }
.hm-sid-pbar-pct { color:#64748B; font-size:10.5px; }
.hm-sid-pbar-track { height:6px; background:#E2E8F0; border-radius:3px; overflow:hidden; }
.hm-sid-pbar-fill { height:100%; border-radius:3px; background:#0D9488; }
.hm-sid-pbar-fill.indigo { background:#6366F1; }
.hm-sid-pbar-fill.amber  { background:#F59E0B; }

/* Tags / chips */
.hm-sid-chips { display:flex; flex-wrap:wrap; gap:5px; }
.hm-sid-chip { display:inline-flex; padding:3px 9px; border-radius:20px; font-size:11px; font-weight:600; background:#F1F5F9; color:#475569; }
.hm-sid-chip.teal   { background:#CCFBF1; color:#0F766E; }
.hm-sid-chip.blue   { background:#DBEAFE; color:#1D4ED8; }
.hm-sid-chip.amber  { background:#FEF3C7; color:#92400E; }
.hm-sid-chip.red    { background:#FEE2E2; color:#991B1B; }
.hm-sid-chip.green  { background:#DCFCE7; color:#15803D; }
.hm-sid-chip.purple { background:#EDE9FE; color:#6D28D9; }

/* Big stat grid ? Fix #10: label color #94A3B8 fails 4.5:1 contrast, bumped to #64748B */
.hm-sid-stats { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-bottom:8px; }
.hm-sid-stat { background:#F8FAFC; border:1px solid #E2E8F0; border-radius:8px; padding:10px 12px; text-align:center; }
.hm-sid-stat-val { font-size:1.35rem; font-weight:700; color:#0A1628; }
.hm-sid-stat-lbl { font-size:10.5px; color:#64748B; margin-top:2px; line-height:1.3; }

/* Hotspot list ? Fix #7: cursor + hover feedback */
.hm-sid-hs { display:flex; align-items:center; gap:9px; padding:9px 4px; border-bottom:1px solid #F1F5F9; cursor:pointer; border-radius:6px; margin:0 -4px; transition:background 0.12s; }
.hm-sid-hs:hover { background:#F8FAFC; border-bottom-color:transparent; }
.hm-sid-hs:last-child { border-bottom:none; }
.hm-sid-hs-rank { width:22px; height:22px; border-radius:50%; background:#0A1628; color:#2DD4BF; font-size:10px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hm-sid-hs-body { flex:1; min-width:0; }
.hm-sid-hs-name { font-size:12.5px; font-weight:700; color:#0A1628; }
.hm-sid-hs-sub  { font-size:11px; color:#64748B; margin-top:1px; }
.hm-sid-hs-right { text-align:right; flex-shrink:0; }
.hm-sid-hs-val { font-size:13px; font-weight:700; color:#0D9488; }
.hm-sid-hs-tag { font-size:9.5px; color:#94A3B8; }

/* Expansion card */
.hm-sid-expand { background:linear-gradient(135deg,#0A1628,#0D2045); border-radius:12px; padding:16px; margin-bottom:10px; position:relative; overflow:hidden; }
.hm-sid-expand::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 80% 30%,rgba(13,148,136,0.2) 0%,transparent 70%); pointer-events:none; }
.hm-sid-expand-inner { position:relative; }
.hm-sid-expand-title { font-family:'DM Serif Display',serif; font-size:1.1rem; color:#fff; margin-bottom:4px; }
.hm-sid-expand-body { font-size:11.5px; color:rgba(255,255,255,0.6); margin-bottom:12px; line-height:1.55; }
.hm-sid-action-list { list-style:none; padding:0; margin:0; }
.hm-sid-action-list li { display:flex; gap:8px; padding:6px 0; border-bottom:1px solid rgba(255,255,255,0.07); font-size:12px; line-height:1.55; color:rgba(255,255,255,0.82); }
.hm-sid-action-list li:last-child { border-bottom:none; }
.hm-sid-action-num { width:18px; height:18px; border-radius:50%; background:rgba(13,148,136,0.3); color:#2DD4BF; font-size:9.5px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
.hm-sid-risk { display:flex; gap:7px; padding:7px 10px; background:rgba(239,68,68,0.1); border-radius:7px; margin-bottom:5px; font-size:11.5px; color:rgba(255,255,255,0.75); line-height:1.45; align-items:flex-start; }
.hm-sid-strat { padding:10px 12px; background:rgba(13,148,136,0.15); border:1px solid rgba(13,148,136,0.3); border-radius:8px; font-size:12px; color:rgba(255,255,255,0.85); line-height:1.55; margin-top:10px; }

/* License bar */
.hm-sid-lic-row { display:flex; align-items:center; gap:8px; margin-bottom:7px; }
.hm-sid-lic-lbl { width:78px; font-size:11.5px; font-weight:600; color:#374151; flex-shrink:0; }
.hm-sid-lic-track { flex:1; height:8px; background:#E2E8F0; border-radius:4px; overflow:hidden; }
.hm-sid-lic-fill { height:100%; border-radius:4px; }
.hm-sid-lic-n { width:34px; font-size:11px; font-weight:700; color:#0A1628; text-align:right; flex-shrink:0; }

/* CEU rows */
.hm-sid-ceu { display:flex; align-items:center; gap:7px; padding:7px 0; border-bottom:1px solid #F1F5F9; }
.hm-sid-ceu:last-child { border-bottom:none; }
.hm-sid-ceu-name { flex:1; font-size:12.5px; font-weight:600; color:#0A1628; }
.hm-sid-ceu-d { font-size:12px; font-weight:700; color:#0D9488; flex-shrink:0; }
.hm-sid-ceu-comp { font-size:10px; padding:2px 7px; border-radius:4px; font-weight:700; flex-shrink:0; }
.hm-sid-ceu-comp.comp-vl { background:#DCFCE7; color:#15803D; }
.hm-sid-ceu-comp.comp-l  { background:#CCFBF1; color:#0F766E; }
.hm-sid-ceu-comp.comp-m  { background:#FEF3C7; color:#92400E; }
.hm-sid-ceu-comp.comp-h  { background:#FEE2E2; color:#991B1B; }

/* Selected state on map */
.hm-state-path.sid-selected { stroke:#0D9488 !important; stroke-width:2.5 !important; filter:drop-shadow(0 0 8px rgba(13,148,136,0.55)) !important; }

/* Fix #1 - Remove container padding when SID open so sticky header bleeds edge-to-edge */
#hm-detail-panel.sid-open { padding:0; overflow-y:auto; }

/* Trend indicator on score */
.hm-sid-mom { display:flex; align-items:center; gap:4px; font-size:11px; font-weight:600; padding:2px 8px; border-radius:20px; width:fit-content; margin-bottom:10px; }
.hm-sid-mom.mom-up   { background:#DCFCE7; color:#15803D; }
.hm-sid-mom.mom-dn   { background:#FEE2E2; color:#991B1B; }
.hm-sid-mom.mom-flat { background:#F1F5F9; color:#475569; }

/* Fix #6 - Focus-visible rings (WCAG 2.4.7)  Heat map custom color */
.hm-view-tab:focus-visible,
.hm-ctx-clear:focus-visible,
.hm-gate-btn:focus-visible,
.hm-sid-tab-btn:focus-visible,
.hm-chip:focus-visible,
.hm-sid-close:focus-visible,
.hm-action-btn:focus-visible,
.hm-mm-cta-btn:focus-visible,
.hm-legend-help:focus-visible {
  outline: 2px solid #0D9488;
  outline-offset: 2px;
}

/* Fix #15 - SID entrance animation */
@keyframes sid-fade-in {
  from { opacity:0; transform:translateY(6px); }
  to   { opacity:1; transform:translateY(0); }
}
.hm-sid { animation: sid-fade-in 0.22s ease both; }

/* Fix #20 - Compare States CTA hover */
#hm-detail-content .hm-action-btn:hover,
#hm-detail-content button[onclick*="hmOpenCompare"]:hover {
  opacity: 0.88;
  transform: translateY(-1px);
  transition: opacity 0.15s, transform 0.15s;
}

/* Fix #14 - Respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .hm-avenly-live-dot { animation: none !important; }
  .hm-state-path { transition: none !important; }
  .hm-sid { animation: none !important; }
  .hm-sid-loading-icon { animation: none !important; }
  .hm-sid-tab-btn { transition: none !important; }
  .hm-sid-hs { transition: none !important; }
  #hm-detail-panel { transition: none !important; }
}


/* -- HIGH IMPACT FEATURES -- */

/* -- 1. Practice Growth Score -- */
.hi-growth-card { background:linear-gradient(135deg,#0A1628 0%,#0D2045 100%); border-radius:var(--radius-lg); padding:20px 22px; margin-bottom:1.25rem; color:#fff; position:relative; overflow:hidden; }
.hi-growth-card::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 80% 50%,rgba(13,148,136,0.22) 0%,transparent 70%); pointer-events:none; }
.hi-growth-inner { position:relative; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.hi-growth-gauge { flex-shrink:0; text-align:center; }
.hi-growth-score { font-size:36px; font-weight:700; color:#fff; line-height:1; }
.hi-growth-label { font-size:10px; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.45); margin-top:2px; }
.hi-growth-ring { width:80px; height:80px; position:relative; }
.hi-growth-ring svg { transform:rotate(-90deg); }
.hi-growth-ring-val { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.hi-growth-info { flex:1; min-width:180px; }
.hi-growth-title { font-size:14px; font-weight:700; color:#fff; margin-bottom:4px; }
.hi-growth-sub { font-size:12px; color:rgba(255,255,255,0.55); margin-bottom:12px; line-height:1.5; }
.hi-growth-bars { display:flex; flex-direction:column; gap:5px; }
.hi-growth-bar-row { display:flex; align-items:center; gap:8px; }
.hi-growth-bar-label { font-size:10.5px; color:rgba(255,255,255,0.55); width:100px; flex-shrink:0; }
.hi-growth-bar-track { flex:1; height:5px; background:rgba(255,255,255,0.1); border-radius:100px; overflow:hidden; }
.hi-growth-bar-fill { height:100%; border-radius:100px; background:linear-gradient(90deg,#0D9488,#2DD4BF); transition:width 0.6s cubic-bezier(0.4,0,0.2,1); }
.hi-growth-bar-val { font-size:10.5px; color:rgba(255,255,255,0.7); width:28px; text-align:right; flex-shrink:0; }
.hi-growth-trend { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600; padding:3px 9px; border-radius:4px; margin-top:10px; }
.hi-growth-trend.up { background:rgba(16,185,129,0.15); color:#34D399; }
.hi-growth-trend.flat { background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.5); }
.hi-growth-trend.down { background:rgba(239,68,68,0.15); color:#F87171; }
.hi-growth-recs { margin-top:10px; padding:10px 14px; background:rgba(255,255,255,0.04); border-radius:var(--radius-md); }
.hi-growth-recs-title { font-size:11px; font-weight:600; color:rgba(255,255,255,0.45); text-transform:uppercase; letter-spacing:0.07em; margin-bottom:6px; }
.hi-growth-rec { display:flex; align-items:flex-start; gap:6px; font-size:11.5px; color:rgba(255,255,255,0.7); margin-bottom:4px; line-height:1.5; }
.hi-growth-rec-dot { width:5px; height:5px; border-radius:50%; background:#0D9488; flex-shrink:0; margin-top:5px; }

/* -- 2. Referral Analytics -- */
.hi-analytics-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; margin-bottom:14px; }
.hi-analytic-stat { background:var(--gray-50); border:1px solid var(--gray-100); border-radius:var(--radius-md); padding:12px 14px; }
.hi-analytic-num { font-size:22px; font-weight:700; color:var(--blue-900); line-height:1; }
.hi-analytic-label { font-size:11px; color:var(--gray-500); margin-top:3px; }
.hi-analytic-trend { font-size:10.5px; font-weight:600; margin-top:4px; }
.hi-analytic-trend.up { color:var(--teal-600); }
.hi-analytic-trend.down { color:var(--red-500); }
.hi-analytic-trend.flat { color:var(--gray-400); }
.hi-chart-section { margin-top:4px; }
.hi-chart-title { font-size:11px; font-weight:600; color:var(--gray-500); text-transform:uppercase; letter-spacing:0.07em; margin-bottom:8px; }
.hi-bar-chart { display:flex; align-items:flex-end; gap:6px; height:80px; }
.hi-bar-col { display:flex; flex-direction:column; align-items:center; gap:3px; flex:1; height:100%; justify-content:flex-end; }
.hi-bar { width:100%; border-radius:4px 4px 0 0; background:var(--teal-400); transition:height 0.5s cubic-bezier(0.4,0,0.2,1); min-height:3px; }
.hi-bar.current { background:var(--teal-600); }
.hi-bar-month { font-size:9px; color:var(--gray-400); letter-spacing:0.03em; margin-top:2px; }

/* -- 3. Smart Board Match Alerts -- */
.hi-match-alert { display:flex; align-items:flex-start; gap:10px; background:linear-gradient(90deg,#ECFDF5,#F0FDF4); border:1px solid var(--teal-100); border-radius:var(--radius-md); padding:10px 14px; margin-bottom:14px; }
.hi-match-alert-icon { width:32px; height:32px; background:var(--teal-600); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hi-match-alert-body { flex:1; }
.hi-match-alert-title { font-size:13px; font-weight:700; color:var(--blue-900); }
.hi-match-alert-sub { font-size:12px; color:var(--gray-500); margin-top:1px; }
.hi-match-btn { margin-top:6px; padding:5px 12px; font-size:11.5px; font-weight:600; border-radius:var(--radius-md); border:1.5px solid var(--teal-600); background:transparent; color:var(--teal-600); cursor:pointer; font-family:'Plus Jakarta Sans',sans-serif; }
.hi-match-btn:hover { background:var(--teal-600); color:#fff; }
.ref-card.hi-match-highlight { border-left:3px solid var(--teal-500); }
.hub-match-badge { display:inline-flex; align-items:center; justify-content:center; background:var(--teal-600); color:#fff; font-size:9px; font-weight:700; border-radius:100px; min-width:16px; height:16px; padding:0 4px; margin-left:4px; }
#nav-hub .hub-match-badge { position:absolute; top:-2px; right:-4px; }

/* -- 4. Interactive Availability Slots -- */
.hi-avail-day { margin-bottom:12px; }
.hi-avail-day-label { font-size:11px; font-weight:700; color:var(--blue-900); text-transform:uppercase; letter-spacing:0.07em; margin-bottom:6px; }
.hi-avail-slots { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.hi-slot-btn { padding:5px 12px; border-radius:var(--radius-md); font-size:12px; font-weight:500; cursor:pointer; border:1.5px solid var(--gray-200); background:var(--white); color:var(--gray-600); font-family:'Plus Jakarta Sans',sans-serif; transition:all 0.15s; }
.hi-slot-btn.open { border-color:var(--teal-500); background:var(--teal-50); color:var(--teal-700); }
.hi-slot-btn.full { border-color:var(--gray-200); background:var(--gray-50); color:var(--gray-400); text-decoration:line-through; }
.hi-slot-btn:not(.full):hover { border-color:var(--teal-500); background:var(--teal-50); color:var(--teal-700); }
.hi-add-slot-btn { padding:5px 10px; border-radius:var(--radius-md); font-size:12px; border:1.5px dashed var(--gray-300); background:transparent; color:var(--gray-400); cursor:pointer; font-family:'Plus Jakarta Sans',sans-serif; }
.hi-add-slot-btn:hover { border-color:var(--teal-500); color:var(--teal-600); }
.hi-avail-save-row { margin-top:14px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.hi-avail-save-btn { padding:7px 18px; background:var(--teal-600); color:#fff; border:none; border-radius:var(--radius-md); font-size:12.5px; font-weight:600; cursor:pointer; font-family:'Plus Jakarta Sans',sans-serif; }
.hi-avail-note { font-size:11px; color:var(--gray-400); line-height:1.5; }

/* -- 5. Supervision Request Flow -- */
.hi-supv-badge { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; color:#7C3AED; background:#F5F3FF; border:1px solid #DDD6FE; border-radius:4px; padding:3px 10px; }
.hi-supv-modal .modal-box { max-width:520px; }
.hi-supv-field { margin-bottom:14px; }
.hi-supv-label { font-size:12px; font-weight:600; color:var(--blue-900); margin-bottom:5px; display:block; }
.hi-supv-select, .hi-supv-textarea, .hi-supv-input { width:100%; padding:8px 12px; border:1.5px solid var(--gray-200); border-radius:var(--radius-md); font-size:13px; font-family:'Plus Jakarta Sans',sans-serif; color:var(--blue-900); background:var(--white); box-sizing:border-box; }
.hi-supv-select:focus,.hi-supv-textarea:focus,.hi-supv-input:focus { outline:none; border-color:var(--teal-500); }
.hi-supv-textarea { min-height:80px; resize:vertical; }
.hi-supv-chips { display:flex; flex-wrap:wrap; gap:6px; }
.hi-supv-chip { padding:4px 12px; border-radius:100px; font-size:12px; border:1.5px solid var(--gray-200); background:var(--white); color:var(--gray-600); cursor:pointer; font-family:'Plus Jakarta Sans',sans-serif; }
.hi-supv-chip.active { border-color:#7C3AED; background:#F5F3FF; color:#5B21B6; font-weight:600; }
.hi-supv-submit { width:100%; padding:10px; background:var(--blue-900); color:#fff; border:none; border-radius:var(--radius-md); font-size:13.5px; font-weight:700; cursor:pointer; font-family:'Plus Jakarta Sans',sans-serif; margin-top:6px; }
.hi-supv-submit:hover { background:#0D2045; }
.cd-pending-supervision { background:#F5F3FF; border:1.5px solid #DDD6FE; border-radius:var(--radius-lg); padding:14px 16px; margin-bottom:8px; }
.cd-pending-supv-title { font-size:12.5px; font-weight:700; color:var(--blue-900); margin-bottom:2px; }
.cd-pending-supv-sub { font-size:11.5px; color:var(--gray-500); margin-bottom:8px; }
.cd-pending-supv-tags { display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }


/* -- QUICK WINS -- */

/* -- 1. Profile Completion Score -- */
.pc-score-card { background:var(--white); border:1.5px solid var(--gray-100); border-radius:var(--radius-lg); padding:18px 20px; margin-bottom:1.25rem; }
.pc-score-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.pc-score-title { font-size:13.5px; font-weight:700; color:var(--blue-900); display:flex; align-items:center; gap:7px; }
.pc-score-pct { font-size:22px; font-weight:700; color:var(--teal-600); line-height:1; }
.pc-score-track { height:8px; background:var(--gray-100); border-radius:100px; overflow:hidden; margin-bottom:12px; }
.pc-score-fill { height:100%; border-radius:100px; background:linear-gradient(90deg, var(--teal-600), var(--teal-400)); transition:width 0.5s cubic-bezier(0.4,0,0.2,1); }
.pc-score-fill.warn { background:linear-gradient(90deg, #F59E0B, #FCD34D); }
.pc-score-fill.low { background:linear-gradient(90deg, var(--red-500), #F87171); }
.pc-checklist { display:flex; flex-direction:column; gap:5px; }
.pc-check-item { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--gray-600); }
.pc-check-item.done { color:var(--teal-600); }
.pc-check-dot { width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; background:var(--gray-100); }
.pc-check-item.done .pc-check-dot { background:var(--teal-50); }
.pc-score-cta { margin-top:12px; }
.pc-score-cta button { padding:6px 14px; font-size:12px; font-weight:600; border-radius:var(--radius-md); border:1.5px solid var(--teal-600); background:transparent; color:var(--teal-600); cursor:pointer; transition:background 0.15s,color 0.15s; font-family:'Plus Jakarta Sans',sans-serif; }
.pc-score-cta button:hover { background:var(--teal-600); color:var(--white); }

/* -- 2. Accepting badge enhancement -- */
.avenly-accepting-badge { display:inline-flex; align-items:center; gap:5px; font-size:10px; color:var(--teal-600); font-weight:700; background:var(--teal-50); padding:3px 9px 3px 7px; border-radius:4px; white-space:nowrap; text-transform:uppercase; letter-spacing:0.05em; border:1px solid var(--teal-100); }
.avenly-accepting-dot { width:6px; height:6px; border-radius:50%; background:#10B981; flex-shrink:0; animation:accepting-pulse 2s ease-in-out infinite; }
@keyframes accepting-pulse { 0%,100%{opacity:1;} 50%{opacity:0.4;} }

/* Quick Win #9: Accessibility  Respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }
}

/* -- 3. Referral Outcome Tracking -- */
.outcome-card { background:var(--white); border:1.5px solid var(--amber-200); border-radius:var(--radius-lg); padding:14px 16px; margin-bottom:8px; }
.outcome-card-title { font-size:12.5px; font-weight:700; color:var(--blue-900); margin-bottom:2px; }
.outcome-card-sub { font-size:11.5px; color:var(--gray-500); margin-bottom:10px; }
.outcome-btn-row { display:flex; gap:8px; flex-wrap:wrap; }
.outcome-btn { padding:5px 12px; font-size:12px; font-weight:600; border-radius:var(--radius-md); cursor:pointer; border:1.5px solid; font-family:'Plus Jakarta Sans',sans-serif; transition:background 0.15s,color 0.15s; }
.outcome-btn.yes { border-color:var(--teal-600); color:var(--teal-600); background:transparent; }
.outcome-btn.yes:hover { background:var(--teal-600); color:var(--white); }
.outcome-btn.no { border-color:var(--gray-300); color:var(--gray-500); background:transparent; }
.outcome-btn.no:hover { background:var(--gray-100); }
.outcome-btn.pending-text { border-color:transparent; color:var(--gray-400); background:transparent; font-size:11px; font-weight:400; cursor:default; }
.outcome-empty { text-align:center; padding:1.5rem 1rem; color:var(--gray-400); font-size:12.5px; }
.outcome-summary-row { display:flex; gap:16px; flex-wrap:wrap; margin-top:4px; }
.outcome-stat { font-size:12px; color:var(--gray-500); }
.outcome-stat strong { color:var(--gray-900); }

/* -- 4. Google Business Profile Export -- */
.gbp-card { background:var(--white); border:1.5px solid var(--gray-100); border-radius:var(--radius-lg); padding:18px 20px; }
.gbp-card-header { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.gbp-card-title { font-size:13.5px; font-weight:700; color:var(--blue-900); }
.gbp-badge { display:inline-block; font-size:10px; font-weight:700; background:#EFF6FF; color:#1D4ED8; border-radius:4px; padding:2px 8px; letter-spacing:0.04em; }
.gbp-desc-box { font-size:12px; color:var(--gray-600); line-height:1.65; background:var(--gray-50); border:1px solid var(--gray-200); border-radius:var(--radius-md); padding:12px 14px; white-space:pre-wrap; margin:10px 0; min-height:80px; }
.gbp-char-count { font-size:11px; color:var(--gray-400); margin-bottom:8px; }
.gbp-char-count.warn { color:#D97706; }
.gbp-action-row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.gbp-copy-btn { padding:6px 14px; font-size:12px; font-weight:600; border-radius:var(--radius-md); border:1.5px solid var(--blue-600); background:transparent; color:var(--blue-600); cursor:pointer; font-family:'Plus Jakarta Sans',sans-serif; transition:background 0.15s,color 0.15s; }
.gbp-copy-btn:hover { background:var(--blue-600); color:var(--white); }
.gbp-regen-btn { padding:6px 14px; font-size:12px; font-weight:500; border-radius:var(--radius-md); border:1px solid var(--gray-200); background:var(--white); color:var(--gray-600); cursor:pointer; font-family:'Plus Jakarta Sans',sans-serif; }
.gbp-note { font-size:11px; color:var(--gray-400); margin-top:8px; line-height:1.5; }

/* -- 5. License Reminder Sent state -- */
.lic-sent-badge { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600; color:var(--teal-600); background:var(--teal-50); padding:3px 9px; border-radius:4px; border:1px solid var(--teal-100); white-space:nowrap; }


/* ---------------------------------------------------
   MIDTERM FEATURE STYLES
   --------------------------------------------------- */

/* -- Feature 1: Group Practice Team Analytics -- */
.analytics-kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0.9rem; margin-bottom:1.25rem; }
@media(max-width:768px){ .analytics-kpi-grid { grid-template-columns:repeat(2,1fr); } }
.analytics-kpi-card { background:var(--white); border:1px solid var(--gray-100); border-radius:var(--radius-lg); padding:1rem 1.1rem; }
.analytics-kpi-num { font-size:22px; font-weight:700; color:var(--blue-900); line-height:1.1; }
.analytics-kpi-label { font-size:11px; color:var(--gray-500); margin-top:3px; }
.analytics-kpi-trend { font-size:11px; color:var(--teal-600); margin-top:4px; font-weight:500; }
.analytics-kpi-trend.negative { color:#DC2626; }
.analytics-section-title { font-size:13px; font-weight:600; color:var(--blue-900); margin-bottom:0.75rem; display:flex; align-items:center; gap:6px; }
.analytics-table { width:100%; border-collapse:collapse; font-size:12.5px; }
.analytics-table th { text-align:left; font-size:11px; font-weight:600; color:var(--gray-500); text-transform:uppercase; letter-spacing:0.05em; padding:6px 10px; border-bottom:1px solid var(--gray-100); background:var(--gray-50); }
.analytics-table td { padding:9px 10px; border-bottom:1px solid var(--gray-50); color:var(--blue-900); vertical-align:middle; }
.analytics-table tr:last-child td { border-bottom:none; }
.analytics-table .act-link { font-size:12px; color:var(--blue-600); background:none; border:none; cursor:pointer; font-family:inherit; font-weight:500; padding:0; text-decoration:underline; text-underline-offset:2px; }
.analytics-status-pill { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:500; padding:3px 8px; border-radius:4px; }
.analytics-status-pill.accepting { background:#ECFDF5; color:#065F46; }
.analytics-status-pill.limited { background:#FFFBEB; color:#92400E; }
.analytics-status-pill.waitlisted { background:#FEF2F2; color:#991B1B; }
.analytics-card { background:var(--white); border:1px solid var(--gray-100); border-radius:var(--radius-lg); padding:1.1rem 1.25rem; margin-bottom:1rem; }
.analytics-bar-row { display:flex; align-items:center; gap:8px; margin-bottom:8px; font-size:12px; }
.analytics-bar-row:last-child { margin-bottom:0; }
.analytics-bar-label { width:140px; flex-shrink:0; color:var(--gray-500); }
.analytics-bar-track { flex:1; height:8px; background:var(--gray-100); border-radius:4px; overflow:hidden; position:relative; }
.analytics-bar-fill { height:100%; border-radius:4px; position:absolute; top:0; left:0; transition:width 0.4s ease; }
.analytics-bar-fill.demand { background:var(--blue-600); opacity:0.85; }
.analytics-bar-fill.coverage { background:var(--teal-400); opacity:0.85; }
.analytics-bar-pct { width:36px; text-align:right; font-size:11px; color:var(--gray-500); }
.analytics-gap-legend { display:flex; gap:12px; margin-bottom:10px; }
.analytics-gap-legend-item { display:flex; align-items:center; gap:4px; font-size:11px; color:var(--gray-500); }
.analytics-gap-legend-dot { width:10px; height:10px; border-radius:2px; }
.analytics-rev-chart { display:flex; align-items:flex-end; gap:6px; height:80px; margin:10px 0; }
.analytics-rev-bar-wrap { flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; }
.analytics-rev-bar { width:100%; border-radius:3px 3px 0 0; background:var(--blue-600); opacity:0.85; min-height:4px; transition:height 0.4s ease; }
.analytics-rev-month { font-size:10px; color:var(--gray-400); }
.analytics-rev-val { font-size:10px; color:var(--blue-900); font-weight:500; }
.analytics-capacity-gap-box { background:var(--amber-50); border:1px solid #FDE68A; border-radius:var(--radius-md); padding:10px 14px; font-size:12.5px; color:#92400E; margin-top:10px; }
.analytics-grid-table { border-collapse:collapse; width:100%; font-size:12px; }
.analytics-grid-table th { padding:6px 8px; font-size:11px; color:var(--gray-500); font-weight:600; text-align:center; }
.analytics-grid-table th:first-child { text-align:left; }
.analytics-grid-table td { padding:5px 8px; border:1px solid var(--gray-100); text-align:center; }
.analytics-grid-table td:first-child { text-align:left; font-weight:500; color:var(--blue-900); }
.capacity-slot { display:inline-block; width:14px; height:14px; border-radius:3px; }
.capacity-slot.open { background:#BBFBDE; border:1px solid #34D399; }
.capacity-slot.full { background:var(--gray-200); border:1px solid var(--gray-300); }

/* -- Feature 2: CEU Renewal Planner -- */
.renewal-countdown-box { background:var(--blue-900); border-radius:var(--radius-lg); padding:1.5rem; text-align:center; color:var(--white); margin-bottom:1rem; }
.renewal-countdown-num { font-size:52px; font-weight:700; line-height:1; letter-spacing:-2px; }
.renewal-countdown-label { font-size:13px; opacity:0.7; margin-top:4px; }
.renewal-countdown-sub { font-size:11.5px; opacity:0.6; margin-top:8px; }
.renewal-urgency-badge { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; padding:6px 14px; border-radius:20px; margin-bottom:1rem; }
.renewal-urgency-badge.on-track { background:#ECFDF5; color:#065F46; border:1px solid #A7F3D0; }
.renewal-urgency-badge.at-risk { background:#FFFBEB; color:#92400E; border:1px solid #FDE68A; }
.renewal-urgency-badge.urgent { background:#FEF2F2; color:#991B1B; border:1px solid #FECACA; }
.renewal-gap-row { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--gray-50); font-size:13px; }
.renewal-gap-row:last-child { border-bottom:none; }
.renewal-gap-label { flex:1; color:var(--blue-900); font-weight:500; }
.renewal-gap-count { font-size:12px; color:var(--gray-500); white-space:nowrap; }
.renewal-gap-needed { font-size:12px; font-weight:600; color:#DC2626; white-space:nowrap; min-width:60px; text-align:right; }
.renewal-gap-ok { font-size:12px; font-weight:600; color:#059669; white-space:nowrap; min-width:60px; text-align:right; }
.renewal-rec-chip { display:inline-flex; align-items:center; gap:4px; font-size:12px; padding:4px 10px; border-radius:20px; background:var(--blue-50); color:var(--blue-600); border:1px solid var(--blue-100); margin:3px; font-weight:500; }
.renewal-pace-box { background:var(--teal-50); border:1px solid var(--teal-100); border-radius:var(--radius-md); padding:12px 14px; font-size:13px; color:var(--teal-600); }

/* -- Feature 3: Referral Board Filters -- */
.ref-filter-bar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:10px 0 14px; }
.ref-filter-select { font-size:12px; font-family:'Plus Jakarta Sans',sans-serif; padding:5px 10px; border:1.5px solid var(--gray-200); border-radius:20px; background:var(--white); color:var(--blue-900); cursor:pointer; outline:none; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B7280' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 8px center; padding-right:24px; transition:border-color 0.15s; }
.ref-filter-select:focus, .ref-filter-select.active-filter { border-color:var(--blue-600); background-color:var(--blue-50); }
.ref-filter-badge { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; background:var(--blue-600); color:var(--white); font-size:10px; font-weight:700; border-radius:9px; padding:0 5px; }
.ref-filter-clear { font-size:12px; color:var(--gray-500); background:none; border:1.5px solid var(--gray-200); border-radius:20px; padding:5px 12px; cursor:pointer; font-family:inherit; transition:border-color 0.15s,color 0.15s; }
.ref-filter-clear:hover { border-color:var(--gray-400); color:var(--blue-900); }
.ref-filter-status { font-size:12px; color:var(--gray-400); margin-left:auto; flex-shrink:0; }
.ref-card.hidden-by-filter { display:none !important; }
.ref-filter-empty { text-align:center; padding:2.5rem 1rem; color:var(--gray-400); font-size:13px; display:none; }
.ref-filter-tags-container { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; min-height:24px; }
.ref-filter-tag { display:inline-flex; align-items:center; gap:6px; background:var(--blue-50); border:1px solid var(--blue-200); border-radius:14px; padding:4px 8px; font-size:11px; font-weight:500; color:var(--blue-900); }
.ref-filter-tag-remove { display:inline-flex; align-items:center; justify-content:center; width:14px; height:14px; background:none; border:none; cursor:pointer; color:var(--blue-600); padding:0; margin-left:2px; font-size:12px; line-height:1; transition:color 0.15s; }
.ref-filter-tag-remove:hover { color:var(--blue-900); }

/* -- Feature 4: Insurance Credentialing Tracker -- */
.cred-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0.9rem; margin-bottom:1.25rem; }
@media(max-width:768px){ .cred-stat-grid { grid-template-columns:repeat(2,1fr); } }
.cred-stat { background:var(--white); border:1px solid var(--gray-100); border-radius:var(--radius-lg); padding:1rem 1.1rem; }
.cred-stat-num { font-size:22px; font-weight:700; color:var(--blue-900); }
.cred-stat-label { font-size:11px; color:var(--gray-500); margin-top:3px; }
.cred-table { width:100%; border-collapse:collapse; font-size:12.5px; }
.cred-table th { text-align:left; font-size:11px; font-weight:600; color:var(--gray-500); text-transform:uppercase; letter-spacing:0.05em; padding:7px 10px; border-bottom:1px solid var(--gray-100); background:var(--gray-50); }
.cred-table td { padding:9px 10px; border-bottom:1px solid var(--gray-50); color:var(--blue-900); vertical-align:middle; }
.cred-table tr:last-child td { border-bottom:none; }
.cred-status-pill { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:500; padding:3px 8px; border-radius:4px; white-space:nowrap; }
.cred-status-pill.active { background:#ECFDF5; color:#065F46; }
.cred-status-pill.pending { background:#FFFBEB; color:#92400E; }
.cred-status-pill.renew { background:#FEF2F2; color:#991B1B; }
.cred-action-btn { font-size:12px; padding:4px 10px; border-radius:var(--radius-md); border:1.5px solid; cursor:pointer; font-family:inherit; font-weight:500; background:none; }
.cred-action-btn.renew-btn { border-color:#DC2626; color:#DC2626; }
.cred-action-btn.renew-btn:hover { background:#FEF2F2; }
.cred-action-btn.followup-btn { border-color:var(--blue-600); color:var(--blue-600); }
.cred-action-btn.followup-btn:hover { background:var(--blue-50); }
.cred-action-btn.active-btn { border-color:var(--gray-200); color:var(--gray-500); cursor:default; }
.cred-renewal-alert { font-size:11px; color:#DC2626; font-weight:500; white-space:nowrap; }

/* -- Demo Accounts Page (light theme, matches credentialing) -- */
.demoacc-stat-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; margin-bottom:1.5rem; }
@media(max-width:1024px){ .demoacc-stat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:768px){ .demoacc-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.demoacc-stat { background:var(--white); border:1px solid var(--gray-100); border-radius:var(--radius-lg); padding:1rem 1.1rem; display:flex; align-items:center; gap:12px; }
.demoacc-stat-icon { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.demoacc-stat-icon.blue { background:#EFF6FF; }
.demoacc-stat-icon.green { background:#ECFDF5; }
.demoacc-stat-icon.amber { background:#FFFBEB; }
.demoacc-stat-icon.red { background:#FEF2F2; }
.demoacc-stat-icon.teal { background:#F0FDFA; }
.demoacc-stat-num { font-size:20px; font-weight:700; color:var(--blue-900); line-height:1; }
.demoacc-stat-label { font-size:11px; color:var(--gray-500); margin-top:3px; }
.demoacc-table { width:100%; border-collapse:collapse; font-size:12.5px; }
.demoacc-table th { text-align:left; font-size:11px; font-weight:600; color:var(--gray-500); text-transform:uppercase; letter-spacing:0.05em; padding:8px 12px; border-bottom:1px solid var(--gray-100); background:var(--gray-50); }
.demoacc-table td { padding:10px 12px; border-bottom:1px solid var(--gray-100); color:var(--blue-900); vertical-align:middle; }
.demoacc-table tr:last-child td { border-bottom:none; }
.demoacc-table .td-name { display:flex; align-items:center; gap:10px; }
.demoacc-table .td-avatar { width:32px; height:32px; border-radius:50%; background:var(--blue-50); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; color:var(--blue-700); flex-shrink:0; }
.demoacc-table .td-name-text { font-weight:500; color:var(--blue-900); }
.demoacc-table .td-email { font-size:11px; color:var(--gray-500); }
.demoacc-filter-input { background:var(--white); border:1px solid var(--gray-200); border-radius:8px; padding:7px 12px; color:var(--blue-900); font-size:13px; font-family:'Plus Jakarta Sans',sans-serif; min-width:180px; }
.demoacc-filter-input::placeholder { color:var(--gray-400); }
.demoacc-filter-input:focus { outline:none; border-color:var(--blue-500); }
.demoacc-filter-select { background:var(--white); border:1px solid var(--gray-200); border-radius:8px; padding:7px 12px; color:var(--blue-900); font-size:13px; font-family:'Plus Jakarta Sans',sans-serif; min-width:140px; cursor:pointer; }
.demoacc-filter-select:focus { outline:none; border-color:var(--blue-500); }
.demoacc-filter-btn { background:var(--white); border:1px solid var(--gray-200); border-radius:8px; padding:7px 14px; color:var(--gray-600); font-size:13px; font-family:'Plus Jakarta Sans',sans-serif; cursor:pointer; transition:all 0.15s; }
.demoacc-filter-btn:hover { background:var(--gray-50); color:var(--blue-900); }
.demoacc-filter-btn.primary { background:var(--blue-600); color:var(--white); border-color:var(--blue-600); font-weight:500; }
.demoacc-filter-btn.primary:hover { background:var(--blue-700); }
.demoacc-badge { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:500; padding:3px 8px; border-radius:4px; white-space:nowrap; }
.demoacc-badge.blue { background:#EFF6FF; color:#1E40AF; }
.demoacc-badge.teal { background:#F0FDFA; color:#0F766E; }
.demoacc-badge.amber { background:#FFFBEB; color:#92400E; }
.demoacc-badge.gray { background:#F3F4F6; color:#4B5563; }
.demoacc-badge.red { background:#FEF2F2; color:#991B1B; }
.demoacc-action-btn { font-size:12px; padding:4px 10px; border-radius:var(--radius-md); border:1.5px solid var(--gray-200); cursor:pointer; font-family:inherit; font-weight:500; background:none; color:var(--gray-600); }
.demoacc-action-btn:hover { background:var(--gray-50); border-color:var(--gray-300); color:var(--blue-900); }
.demoacc-modal-overlay { position:fixed; inset:0; z-index:300; background:rgba(15,23,42,0.45); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; padding:20px; }
.demoacc-modal-box { background:var(--white); border:1px solid var(--gray-100); border-radius:12px; max-width:560px; width:100%; max-height:90vh; overflow-y:auto; box-shadow:0 24px 70px rgba(8,22,37,0.12); }
.demoacc-modal-header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--gray-100); }
.demoacc-modal-title { font-size:15px; font-weight:700; color:var(--blue-900); }
.demoacc-modal-close { background:transparent; border:none; color:var(--gray-400); font-size:18px; cursor:pointer; line-height:1; }
.demoacc-modal-close:hover { color:var(--gray-600); }
.demoacc-modal-body { padding:20px; }
.demoacc-modal-footer { padding:12px 20px; border-top:1px solid var(--gray-100); display:flex; justify-content:flex-end; }

/* -- Feature 5: Practice Revenue Dashboard -- */
#cd-revenue-section .rev-input-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:12px; }
#cd-revenue-section .rev-input-wrap { display:flex; flex-direction:column; gap:4px; }
#cd-revenue-section .rev-input-label { font-size:11px; color:var(--gray-500); font-weight:500; }
#cd-revenue-section .rev-input { width:110px; padding:7px 10px; border:1.5px solid var(--gray-200); border-radius:var(--radius-md); font-size:13px; font-family:inherit; color:var(--blue-900); outline:none; }
#cd-revenue-section .rev-input:focus { border-color:var(--blue-600); }
#cd-revenue-section .rev-calc-btn { padding:7px 16px; background:var(--blue-600); color:var(--white); border:none; border-radius:var(--radius-md); font-size:13px; font-weight:500; cursor:pointer; font-family:inherit; align-self:flex-end; }
#cd-revenue-section .rev-results { display:none; margin-top:1rem; }
#cd-revenue-section .rev-result-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0.75rem; margin-bottom:1rem; }
@media(max-width:640px){ #cd-revenue-section .rev-result-grid { grid-template-columns:1fr; } }
#cd-revenue-section .rev-result-card { background:var(--blue-50); border:1px solid var(--blue-100); border-radius:var(--radius-lg); padding:0.9rem 1rem; text-align:center; }
#cd-revenue-section .rev-result-num { font-size:20px; font-weight:700; color:var(--blue-900); }
#cd-revenue-section .rev-result-label { font-size:11px; color:var(--gray-500); margin-top:3px; }
#cd-revenue-section .rev-contrib-box { background:var(--gray-50); border-radius:var(--radius-md); padding:10px 14px; font-size:13px; color:var(--blue-900); margin-bottom:10px; }
#cd-revenue-section .rev-progress-wrap { margin-top:10px; }
#cd-revenue-section .rev-progress-label { display:flex; justify-content:space-between; font-size:12px; color:var(--gray-500); margin-bottom:5px; }
#cd-revenue-section .rev-progress-track { height:8px; background:var(--gray-100); border-radius:4px; overflow:hidden; }
#cd-revenue-section .rev-progress-fill { height:100%; background:var(--teal-600); border-radius:4px; transition:width 0.5s ease; }


/* ---- Resource Network Premium ---- */
.rn-hero {
  background: linear-gradient(135deg, #062B36 0%, #074754 58%, #0A6A61 100%);
  color: #fff;
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 18px 40px rgba(6,43,54,.16);
  padding: 24px;
  margin-bottom: 16px;
}
.rn-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 18%, rgba(77,227,217,.18), transparent 34%), linear-gradient(120deg, transparent 0%, rgba(255,255,255,.08) 100%);
  pointer-events: none;
}
.rn-hero > * { position: relative; z-index: 1; }
.rn-hero-top { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; margin-bottom: 22px; }
.rn-hero-title { font-size: 20px; font-weight: 700; color: #fff; margin: 0 0 5px; }
.rn-hero-sub { font-size: 13px; color: rgba(255,255,255,.76); }
.rn-hero-deadline { text-align: right; flex-shrink: 0; }
.rn-hero-deadline-icon { width: 38px; height: 38px; border-radius: 10px; background: rgba(255,255,255,.12); display: inline-flex; align-items: center; justify-content: center; color: #fff; margin-bottom: 6px; }
.rn-hero-deadline-icon svg { width: 20px; height: 20px; }
.rn-hero-deadline-label { font-size: 10px; font-weight: 700; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 2px; }
.rn-hero-deadline-value { font-size: 13px; font-weight: 600; color: #fff; }
.rn-hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.rn-hero-stat { text-align: center; }
.rn-hero-stat-num { font-size: 28px; font-weight: 700; color: #fff; line-height: 1; margin-bottom: 3px; }
.rn-hero-stat-label { font-size: 11px; color: rgba(255,255,255,.7); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }

.rn-action-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 16px; }
.rn-action-card {
  background: #fff;
  border: 1px solid #E1EAF2;
  border-radius: 14px;
  padding: 20px;
  cursor: pointer;
  transition: all .2s ease;
  text-align: left;
}
.rn-action-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15,35,55,.08);
  border-color: #A9CFE3;
}
.rn-action-icon {
  width: 42px; height: 42px;
  border-radius: 10px;
  background: #E8F8F5;
  color: #0A6A61;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.rn-action-icon svg { width: 20px; height: 20px; stroke: currentColor; fill: none; }
.rn-action-title { display: block; font-size: 14px; font-weight: 600; color: #102033; margin-bottom: 4px; }
.rn-action-desc { display: block; font-size: 12px; color: #607388; line-height: 1.5; }

.rn-card {
  background: #fff;
  border: 1px solid #E1EAF2;
  border-radius: 14px;
  padding: 18px;
  transition: all .18s ease;
}
.rn-card:hover { border-color: #A9CFE3; box-shadow: 0 8px 22px rgba(15,35,55,.06); }
.rn-card-title { font-size: 16px; font-weight: 700; color: #102033; }

.rn-person-card {
  background: #fff;
  border: 1px solid #E1EAF2;
  border-radius: 14px;
  padding: 18px;
  transition: all .18s ease;
}
.rn-person-card:hover { border-color: #A9CFE3; box-shadow: 0 8px 22px rgba(15,35,55,.06); }
.rn-pod-card { cursor:pointer; }
.rn-pod-card:focus-visible { outline:3px solid rgba(12,133,119,.28); outline-offset:2px; border-color:#0C8577; }
.rn-person-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; gap: 10px; }
.rn-person-name { font-size: 14px; font-weight: 600; color: #102033; }
.rn-person-topics { font-size: 12px; color: #607388; margin-top: 4px; }
.rn-person-meta { font-size: 12px; color: #94A3B8; margin-bottom: 10px; }
.rn-person-note { font-size: 12px; color: #607388; margin-bottom: 12px; border-left: 2px solid #DCE5EF; padding-left: 10px; line-height: 1.5; }

.rn-tag {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  margin-right: 4px;
  margin-bottom: 4px;
}
.rn-tag-teal { background: #E8F8F5; color: #0A6A61; }
.rn-tag-blue { background: #EAF3FF; color: #1D4ED8; }
.rn-tag-amber { background: #FEF3C7; color: #92400E; }
.rn-tag-slate { background: #F1F5F9; color: #475569; }

.rn-topic-pill {
  font-size: 11px;
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid #DCE5EF;
  background: #F8FBFD;
  cursor: pointer;
  transition: all .15s;
  display: inline-block;
  margin: 3px;
}
.rn-topic-pill:hover { background: #E8F8F5; border-color: #0A6A61; color: #0A6A61; }
.rn-topic-pill.active { background: #0A6A61; color: #fff; border-color: #0A6A61; }

.rn-empty {
  border: 1.5px dashed #C8D6E4;
  border-radius: 14px;
  padding: 28px;
  text-align: center;
  color: #607388;
  font-size: 13px;
  line-height: 1.6;
  background: #F8FBFD;
}
.rn-empty strong { display: block; color: #102033; font-size: 14px; margin-bottom: 6px; }
.rn-empty-actions { margin-top: 14px; }

.rn-message-thread {
  border: 1px solid #E1EAF2;
  border-radius: 14px;
  padding: 14px;
  background: #F8FBFD;
  margin-bottom: 12px;
  max-height: 360px;
  overflow-y: auto;
}
.rn-message-bubble {
  max-width: 78%;
  margin-bottom: 10px;
  padding: 10px 14px;
  border-radius: 14px;
  font-size: 13px;
  line-height: 1.45;
}
.rn-message-bubble.self { margin-left: auto; background: #E8F8F5; color: #102033; border: 1px solid #D1ECE7; }
.rn-message-bubble.other { margin-right: auto; background: #fff; color: #102033; border: 1px solid #E1EAF2; }
.rn-message-bubble.system { margin: 0 auto 10px; background: #F0FDFA; color: #065F46; border: 1px solid #A7F3D0; text-align: center; font-size: 12px; }
.rn-message-sender { font-size: 11px; font-weight: 600; color: #607388; margin-bottom: 3px; }
.rn-message-time { font-size: 10px; color: #94A3B8; margin-top: 4px; text-align: right; }

.rn-form-group { margin-bottom: 14px; }
.rn-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  color: #607388;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
}
.rn-input, .rn-select, .rn-textarea {
  width: 100%;
  padding: 10px 13px;
  border: 1.5px solid #E1EAF2;
  border-radius: 10px;
  font-size: 13px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  color: #102033;
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.rn-input:focus, .rn-select:focus, .rn-textarea:focus {
  outline: none;
  border-color: #0A6A61;
  box-shadow: 0 0 0 3px rgba(10,106,97,0.1);
}
.rn-textarea { resize: vertical; min-height: 72px; }
.rn-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  cursor: pointer;
  background: #F8FBFD;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid #E1EAF2;
  transition: all .15s;
}
.rn-checkbox-label:hover { background: #E8F8F5; border-color: #0A6A61; }
.rn-checkbox-label input[type="checkbox"] { width: 15px; height: 15px; accent-color: #0A6A61; }

@media(max-width:980px){
  .rn-action-grid { grid-template-columns: 1fr; }
  .rn-hero-top { flex-direction: column; }
  .rn-hero-deadline { text-align: left; border-top: 1px solid rgba(255,255,255,.2); padding-top: 14px; width: 100%; }
}


/* Avenly Dashboard Brand Palette — "Quiet Professional"
   Extends the landing's Quiet Authority system into the workspace:
   warm paper canvas, flat ink sidebar/masthead, one teal accent. */
:root{
  --avenly-navy:#0A1628;
  --avenly-deep-teal:#0F1E36;
  --avenly-teal:#0F766E;
  --avenly-teal-bright:#14B8A6;
  --avenly-teal-soft:#E7F4F1;
  --bg-page:#FAF9F6;
  --bg-card:#ffffff;
  --bg-sidebar:#0A1628;
  --bg-hover:rgba(15, 118, 110, 0.08);
  --bg-selected:rgba(20, 184, 166, 0.14);
  --text-primary:#0A1628;
  --text-secondary:#3D4A5C;
  --text-muted:#5E6877;
  --text-inverse:#ffffff;
  --border-light:rgba(10, 22, 40, 0.10);
  --border-medium:rgba(10, 22, 40, 0.20);
  --border-focus:#0F766E;
  --success-bg:#e4f8ea;
  --success-text:#167a3d;
  --warning-bg:#fff1dc;
  --warning-text:#b85b00;
  --info-bg:#eef6ff;
  --info-text:#1f60ab;
  --purple-bg:#f0eafa;
  --purple-text:#6b4db5;
  --purple-border:#dfd4f5;
  --orange-bg:#fff0df;
  --orange-text:#c76512;
  --button-primary-bg:#0F766E;
  --button-primary-hover:#0D655E;
  --button-primary-text:#ffffff;
  --button-secondary-bg:#ffffff;
  --button-secondary-border:#d9e4ea;
  --button-secondary-text:#071a3d;
  --shadow-card:0 1px 2px rgba(10, 22, 40, 0.04), 0 14px 36px -22px rgba(10, 22, 40, 0.22);
  --shadow-floating:0 28px 64px -28px rgba(10, 22, 40, 0.45);
  --mw-text-primary:var(--text-primary);
  --mw-text-secondary:var(--text-secondary);
  --mw-text-muted:var(--text-muted);
  --mw-accent-teal:var(--avenly-teal);
  --mw-accent-blue:var(--info-text);
  --mw-surface:var(--bg-card);
  --mw-surface-light:var(--bg-page);
  --mw-surface-lighter:#F3F1EB;
  --mw-border:var(--border-light);
  --mw-border-hover:var(--border-medium);
  --shadow-sm:var(--shadow-card);
}

.mw-page{background:var(--bg-page);min-height:100vh;color:var(--text-primary);font-family:'Plus Jakarta Sans',Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.mw-shell{display:grid;grid-template-columns:256px minmax(0,1fr);min-height:100vh;}
.mw-sidebar{background:var(--bg-sidebar);color:var(--text-inverse);padding:24px 16px;position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid rgba(245,242,236,0.06);}
.mw-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:22px;padding:4px 6px 20px;text-align:center;border-bottom:1px solid rgba(245,242,236,0.10);}
.mw-brand img{width:96px;max-width:86%;height:auto;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 10px 22px rgba(0,0,0,0.18));}
.mw-brand-sub{width:100%;font-size:11px;color:rgba(232,244,246,0.66);margin-top:0;text-align:center;}
.mw-nav-group{margin-top:18px;}
.mw-nav-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(245,242,236,0.42);padding:0 10px 8px;}
.mw-nav-item{width:100%;min-height:40px;border:0;background:transparent;color:rgba(245,242,236,0.78);border-radius:8px;padding:9px 10px;display:flex;align-items:center;gap:11px;font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .16s cubic-bezier(.16,1,.3,1),color .16s,box-shadow .16s;}
.mw-nav-item:hover{background:rgba(255,255,255,0.06);color:#FFFFFF;}
.mw-nav-item.active{background:rgba(20,184,166,0.13);color:#FFFFFF;font-weight:600;box-shadow:inset 3px 0 0 var(--avenly-teal-bright);}
.mw-nav-item:focus-visible{outline:3px solid rgba(36,160,143,.45);outline-offset:2px;}
.mw-nav-ico{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:currentColor;flex:0 0 18px;}
.mw-nav-ico svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;fill:none;}
.mw-nav-badge{margin-left:auto;background:var(--avenly-teal-bright);color:#06231F;border-radius:var(--radius-pill);padding:2px 7px;font-size:10px;font-weight:700;}
.mw-nav-item.locked{color:rgba(245,242,236,0.45);}
.mw-nav-item.locked:hover{background:rgba(255,255,255,0.04);color:rgba(245,242,236,0.62);}
.mw-nav-lock{margin-left:auto;display:inline-flex;align-items:center;color:rgba(245,242,236,0.4);flex:0 0 auto;}
.mw-main{min-width:0;padding:20px 26px 40px;background:var(--bg-page);}
#mw-pending-banner{display:none;background:var(--warning-bg);border:1px solid #f1d7ae;color:var(--warning-text);padding:11px 18px;border-radius:var(--radius-md);margin-bottom:14px;font-size:13.5px;font-weight:500;align-items:center;gap:10px;line-height:1.4;}
#mw-pending-banner.visible{display:flex;}
#mw-pending-banner svg{flex-shrink:0;opacity:.9;}
#mw-trial-banner{display:none;padding:11px 18px;border-radius:var(--radius-md);margin-bottom:14px;font-size:13.5px;font-weight:500;align-items:center;gap:12px;line-height:1.4;justify-content:space-between;flex-wrap:wrap;}
#mw-trial-banner.visible{display:flex;}
#mw-trial-banner.trial-ok{background:linear-gradient(90deg,var(--mw-accent-teal) 0%,#0D9488 100%);color:var(--mw-surface);}
#mw-trial-banner.trial-warn{background:linear-gradient(90deg,#D97706 0%,#B45309 100%);color:var(--mw-surface);}
#mw-trial-banner.trial-urgent{background:linear-gradient(90deg,#DC2626 0%,#B91C1C 100%);color:var(--mw-surface);}
#mw-trial-banner .trial-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0;}
#mw-trial-banner .trial-left svg{flex-shrink:0;opacity:.9;}
#mw-trial-add-btn{background:rgba(255,255,255,0.18);border:1px solid rgba(255,255,255,0.5);color:var(--mw-surface);padding:6px 14px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;letter-spacing:0.2px;flex-shrink:0;}
#mw-trial-add-btn:hover{background:rgba(255,255,255,0.28);}
.mw-topbar{height:58px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;display:flex;align-items:center;gap:12px;padding:8px 10px 8px 16px;box-shadow:0 1px 2px rgba(10,22,40,0.05);position:sticky;top:10px;z-index:30;backdrop-filter:blur(12px);}
.mw-breadcrumb{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--mw-text-secondary);white-space:nowrap;overflow:hidden;flex-shrink:0;}
.mw-breadcrumb a,.mw-breadcrumb button{background:none;border:none;padding:0;color:var(--mw-text-secondary);font-size:13px;cursor:pointer;font-family:inherit;text-decoration:none;touch-action:manipulation;}
.mw-breadcrumb a:hover,.mw-breadcrumb button:hover{color:var(--mw-accent-teal);text-decoration:underline;}
.mw-breadcrumb-sep{color:#C4D0DC;margin:0 2px;user-select:none;}
.mw-breadcrumb-panel{font-weight:600;color:var(--mw-text-primary);}
@media(max-width:640px){.mw-breadcrumb{display:none;}}
.mw-search-wrap{position:relative;flex:1;min-width:180px;}
.mw-search{width:100%;height:40px;border:1px solid transparent;border-radius:999px;padding:0 38px 0 38px;background:#F3F1EB;color:var(--mw-text-primary);font:500 13px 'Plus Jakarta Sans',sans-serif;transition:background .16s,border-color .16s,box-shadow .16s;}
.mw-search:focus{border-color:var(--border-focus);background:var(--mw-surface);box-shadow:0 0 0 3px rgba(15,118,110,0.12);outline:none;}
.mw-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mw-text-secondary);}
.mw-search-results{position:absolute;top:46px;left:0;right:0;background:var(--mw-surface);border:1px solid #D8E2EC;border-radius:var(--radius-lg);box-shadow:0 18px 36px rgba(16,32,51,0.14);display:none;overflow:hidden;z-index:60;}
.mw-search-results.open,.mw-search-results:not([hidden]){display:block;}
.mw-search-results button{width:100%;border:0;background:var(--mw-surface);padding:11px 14px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;border-bottom:1px solid var(--mw-surface-lighter);color:var(--mw-text-primary);font:700 13px 'Plus Jakarta Sans',sans-serif;}
.mw-search-results button:hover{background:#F2F8FA;}
.mw-search-results button span{font-size:11.5px;color:var(--mw-text-secondary);font-weight:600;}
.mw-search-result{padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;border-bottom:1px solid var(--mw-surface-lighter);}
.mw-search-result:last-child{border-bottom:0;}
.mw-search-result:hover{background:#F2F8FA;}
.mw-search-title{font-size:13px;font-weight:700;color:var(--mw-text-primary);}
.mw-search-meta{font-size:11.5px;color:var(--mw-text-secondary);margin-top:2px;}
.mw-icon-btn{height:40px;width:40px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--mw-surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;}
.mw-icon-btn svg{width:18px;height:18px;display:block;stroke:currentColor;}
.mw-icon-btn:hover{background:var(--bg-hover);border-color:var(--border-focus);color:var(--avenly-teal);}
.mw-count-dot{position:absolute;top:-5px;right:-5px;background:#D64C5B;color:var(--mw-surface);border-radius:var(--radius-pill);min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;border:2px solid var(--mw-surface);}
.mw-quick{height:40px;border:1px solid var(--border-light);background:transparent;color:var(--text-primary);border-radius:999px;padding:0 15px;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:border-color .16s,color .16s,background .16s;}
.mw-quick:hover{border-color:var(--border-focus);color:var(--avenly-teal);background:rgba(15,118,110,0.05);}
.mw-avatar{height:40px;width:40px;border:0;border-radius:10px;background:var(--avenly-navy);color:#F5F2EC;font-weight:700;cursor:pointer;padding:0;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;}
.mw-avatar img,.mw-account-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.mw-avatar img{border-radius:var(--radius-lg);}
.mw-popover{position:absolute;right:0;top:48px;width:280px;background:var(--mw-surface);border:1px solid #D8E2EC;border-radius:var(--radius-lg);box-shadow:0 18px 36px rgba(16,32,51,0.14);display:none;z-index:70;overflow:hidden;}
.mw-popover.open,.mw-popover:not([hidden]){display:block;}
.mw-popover-hd{padding:14px 16px;border-bottom:1px solid var(--mw-surface-lighter);}
.mw-popover-title{font-size:13px;font-weight:700;color:var(--mw-text-primary);}
.mw-popover-sub{font-size:11.5px;color:var(--mw-text-secondary);margin-top:2px;}
.mw-popover-row{padding:11px 14px;border-bottom:1px solid var(--mw-surface-lighter);font-size:12.5px;color:#30485F;}
.mw-popover-row:last-child{border-bottom:0;}
.mw-account-popover{width:320px;}
.mw-account-head{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--mw-surface-lighter);background:var(--mw-surface-light);}
.mw-account-avatar{width:44px;height:44px;border-radius:var(--radius-xl);background:var(--mw-accent-blue);color:var(--mw-surface);font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.mw-account-avatar img{border-radius:var(--radius-xl);}
.mw-account-name{font-size:13.5px;font-weight:700;color:var(--mw-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mw-account-email{font-size:11.5px;color:var(--mw-text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mw-account-role{display:inline-flex;margin-top:6px;border-radius:var(--radius-pill);background:#E8F8F5;color:var(--mw-accent-teal);padding:3px 8px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.mw-quick-grid{display:grid;grid-template-columns:1fr;gap:8px;padding:12px;}
.mw-quick-grid button{height:38px;border:1px solid #D8E2EC;background:var(--mw-surface);border-radius:var(--radius-md);color:var(--mw-text-primary);font-size:12.5px;font-weight:700;text-align:left;padding:0 12px;cursor:pointer;}
.mw-quick-grid button:hover{background:#F2F8FA;border-color:#B9CADB;}
.mw-quick-grid button.mw-danger{border-color:#F2C5C9;color:#A43543;background:#FFF7F8;}
.mw-quick-grid button.mw-danger:hover{background:#FFECEF;border-color:#EAA5AD;}
.mw-content{padding-top:18px;}
.mw-hero{background:radial-gradient(ellipse 58% 72% at 86% 0%,rgba(20,184,166,0.12),transparent 62%),var(--avenly-navy);border-radius:14px;padding:30px 32px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:24px;color:var(--text-inverse);position:relative;overflow:hidden;box-shadow:var(--shadow-floating);}
.mw-hero:after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.035) 1px,transparent 1px);background-size:42px 42px;pointer-events:none;}
.mw-hero > *{position:relative;z-index:1;}
.mw-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--avenly-teal-bright);margin-bottom:12px;}
.mw-hero h1{font-family:'DM Serif Display',serif;font-size:40px;line-height:1.06;margin:0 0 12px;color:#F7F4EE;letter-spacing:-0.01em;font-weight:400;}
.mw-hero p{margin:0;color:rgba(245,242,236,0.74);line-height:1.65;font-size:14.5px;max-width:620px;}
.mw-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.mw-btn-primary,.mw-btn-ghost,.mw-btn-secondary,.mw-btn-tertiary,.mw-btn-link{height:40px;border-radius:var(--radius-md);padding:0 15px;font-size:13px;font-weight:600;cursor:pointer;transition:background 0.15s,border-color 0.15s,color 0.15s,box-shadow 0.2s,transform 0.15s;}
.mw-btn-primary{background:var(--button-primary-bg);color:var(--button-primary-text);border:1px solid var(--button-primary-bg);box-shadow:0 1px 0 rgba(10,22,40,0.12),0 8px 20px -8px rgba(15,118,110,0.5);}
.mw-btn-primary:hover{background:var(--button-primary-hover);border-color:var(--button-primary-hover);box-shadow:0 1px 0 rgba(10,22,40,0.1),0 12px 26px -8px rgba(15,118,110,0.55);transform:translateY(-1px);}
.mw-btn-primary:focus-visible{outline:3px solid rgba(12,133,119,0.3);outline-offset:2px;}
.mw-btn-primary:active{transform:translateY(0);box-shadow:0 1px 2px rgba(12,133,119,0.1);}
.mw-btn-secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border);box-shadow:0 2px 4px rgba(0,0,0,0.04);}
.mw-btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-focus);box-shadow:0 4px 12px rgba(2,37,53,0.1);transform:translateY(-1px);}
.mw-btn-secondary:focus-visible{outline:3px solid rgba(36,160,143,0.3);outline-offset:2px;}
.mw-btn-secondary:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,0.04);}
.mw-hero .mw-btn-primary{background:#F5F2EC;color:#0A1628;border-color:#F5F2EC;box-shadow:none;}
.mw-hero .mw-btn-primary:hover{background:#FFFFFF;border-color:#FFFFFF;box-shadow:none;}
.mw-btn-ghost{background:rgba(245,242,236,0.07);color:#F5F2EC;border:1px solid rgba(245,242,236,0.24);}
.mw-btn-ghost:hover{background:rgba(245,242,236,0.13);border-color:rgba(245,242,236,0.4);}
.mw-btn-ghost:focus-visible{outline:3px solid rgba(255,255,255,0.4);outline-offset:2px;}
.mw-btn-tertiary{background:transparent;color:var(--avenly-teal);border:1px solid var(--border-light);box-shadow:none;}
.mw-btn-tertiary:hover{background:#F2F8FA;border-color:var(--mw-border-hover);}
.mw-btn-tertiary:focus-visible{outline:3px solid rgba(12,133,119,0.3);outline-offset:2px;}
.mw-btn-link{background:none;color:var(--avenly-teal);border:none;padding:0 3px;height:auto;font-weight:600;text-decoration:none;box-shadow:none;}
.mw-btn-link:hover{text-decoration:underline;color:#0D655E;}
.mw-btn-link:focus-visible{outline:3px solid rgba(12,133,119,0.3);outline-offset:2px;border-radius:3px;}
.mw-hero-panel{background:rgba(245,242,236,0.05);border:1px solid rgba(245,242,236,0.13);border-radius:12px;padding:18px;align-self:stretch;}
.mw-cycle-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(245,242,236,0.52);margin-bottom:12px;}
.mw-cycle-num{font-family:'DM Serif Display',serif;font-size:38px;font-weight:400;color:#F7F4EE;}
.mw-cycle-num span{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;color:rgba(245,242,236,0.6);font-weight:600;}
.mw-progress{height:6px;background:rgba(245,242,236,0.14);border-radius:var(--radius-pill);overflow:hidden;margin-top:14px;}
.mw-progress-fill{height:100%;background:linear-gradient(90deg,var(--avenly-teal),var(--avenly-teal-bright));border-radius:var(--radius-pill);width:0;transition:width .25s ease;}
.mw-test-banner{display:none;margin-top:14px;border:1px solid #F3CF8B;background:#FFF8E8;color:#745118;border-radius:var(--radius-lg);padding:10px 12px;font-size:12.5px;line-height:1.55;}
.mw-test-banner.visible,.mw-test-banner:not([hidden]){display:block;}
.mw-next-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--mw-surface);border:1px solid var(--mw-border);border-radius:var(--radius-xl);padding:16px;margin-top:14px;box-shadow:0 12px 28px rgba(15,35,55,0.06);}
.mw-next-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--mw-accent-teal);font-weight:700;margin-bottom:4px;}
.mw-next-title{font-size:16px;font-weight:700;color:var(--mw-text-primary);line-height:1.3;}
.mw-next-copy{font-size:12.5px;color:var(--mw-text-secondary);line-height:1.55;margin-top:4px;max-width:680px;}
.mw-next-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.mw-dashboard-label{display:flex;align-items:center;gap:14px;font-size:10.5px;text-transform:uppercase;letter-spacing:.18em;color:var(--mw-text-muted);font-weight:700;margin-top:22px;}
.mw-dashboard-label::after{content:"";flex:1;height:1px;background:var(--border-light);}
.mw-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;gap:20px;margin-top:20px;align-items:start;}
.mw-grid.mw-grid-compact{gap:14px;margin-top:14px;}
.mw-grid.mw-grid-compact .mw-card{padding:1rem 1.15rem;}
.mw-grid.mw-grid-compact .mw-card-hd{margin-bottom:.6rem;}
.mw-dashboard-lane{grid-column:1/-1;margin:8px 0 -6px;padding-top:4px;border-top:1px solid rgba(10,22,40,.08);}
.mw-dashboard-lane:first-child{margin-top:0;border-top:0;padding-top:0;}
.mw-dashboard-lane strong{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mw-text-primary);}
.mw-dashboard-lane span{display:block;margin-top:3px;font-size:12px;line-height:1.45;color:var(--mw-text-secondary);}
#mw-quick-actions-bar{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important;margin-bottom:16px!important;}
.mw-quick-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.mw-quick-group{border:1px solid var(--mw-border);background:var(--mw-surface);border-radius:var(--radius-lg);padding:10px;}
.mw-quick-group.compact{min-width:0;}
.mw-quick-group-title{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mw-text-muted);margin-bottom:8px;}
.mw-quick-group-actions{display:flex;gap:7px;flex-wrap:wrap;}
.mw-quick-group-actions button{min-height:36px;border:1px solid var(--mw-border);background:var(--mw-surface-lighter);color:var(--mw-text-primary);border-radius:var(--radius-sm);padding:7px 10px;font:700 12px/1.2 inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
.mw-quick-group-actions button:hover,.mw-quick-group-actions button:focus-visible{background:var(--mw-surface-light);border-color:var(--mw-border-hover);}
.mw-quick-group-actions button.is-primary{background:var(--avenly-teal);border-color:var(--avenly-teal);color:#fff;}
.mw-quick-group-actions button:focus-visible{outline:3px solid rgba(36,160,143,.24);outline-offset:2px;}

/* Card size system */
.mw-dashboard-card[data-size="small"]{grid-column:span 4;}
.mw-dashboard-card[data-size="medium"]{grid-column:span 6;}
.mw-dashboard-card[data-size="large"]{grid-column:span 8;}
.mw-dashboard-card[data-size="wide"]{grid-column:1 / -1;}

/* Row-height equalization: small/medium/large cards share row width with
   neighbors, so uneven content height leaves visual gaps on reorder/resize.
   "wide" always spans the full row alone, so it's excluded - forcing it to
   match would leave short wide cards (e.g. reminders) looking emptied out
   for no reason. Collapsed cards are excluded too since their body is
   already display:none and they're meant to look visually distinct. */
.mw-dashboard-card[data-size="small"]:not([data-collapsed="true"]),
.mw-dashboard-card[data-size="medium"]:not([data-collapsed="true"]),
.mw-dashboard-card[data-size="large"]:not([data-collapsed="true"]){display:flex;flex-direction:column;height:380px;}
.mw-dashboard-card[data-size="small"]:not([data-collapsed="true"]) .mw-card-body,
.mw-dashboard-card[data-size="medium"]:not([data-collapsed="true"]) .mw-card-body,
.mw-dashboard-card[data-size="large"]:not([data-collapsed="true"]) .mw-card-body{flex:1;min-height:0;overflow-y:auto;}
.mw-grid.mw-grid-compact .mw-dashboard-card[data-size="small"]:not([data-collapsed="true"]),
.mw-grid.mw-grid-compact .mw-dashboard-card[data-size="medium"]:not([data-collapsed="true"]),
.mw-grid.mw-grid-compact .mw-dashboard-card[data-size="large"]:not([data-collapsed="true"]){height:320px;}

@media(max-width:1024px){
  .mw-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
  .mw-dashboard-card[data-size="small"],
  .mw-dashboard-card[data-size="medium"]{grid-column:span 3;}
  .mw-dashboard-card[data-size="large"],
  .mw-dashboard-card[data-size="wide"]{grid-column:1 / -1;}
  #mw-quick-actions-bar{grid-template-columns:1fr;}
}

@media(max-width:640px){
  .mw-grid{grid-template-columns:minmax(0,1fr);}
  .mw-dashboard-card[data-size="small"],
  .mw-dashboard-card[data-size="medium"],
  .mw-dashboard-card[data-size="large"],
  .mw-dashboard-card[data-size="wide"]{grid-column:1 / -1;}
  /* Single-column stack: no row neighbor to match heights with, so let
     cards size to their own content instead of forcing a fixed box. */
  .mw-dashboard-card[data-size="small"]:not([data-collapsed="true"]),
  .mw-dashboard-card[data-size="medium"]:not([data-collapsed="true"]),
  .mw-dashboard-card[data-size="large"]:not([data-collapsed="true"]){height:auto;}
  .mw-dashboard-card[data-size="small"]:not([data-collapsed="true"]) .mw-card-body,
  .mw-dashboard-card[data-size="medium"]:not([data-collapsed="true"]) .mw-card-body,
  .mw-dashboard-card[data-size="large"]:not([data-collapsed="true"]) .mw-card-body{overflow-y:visible;}
  .mw-dashboard-lane{margin:6px 0 -8px;}
  .mw-quick-group-actions button{width:100%;justify-content:center;}
}
.pn-page{padding:20px;display:flex;flex-direction:column;gap:20px;color:var(--mw-text-primary)}
.pn-page-head,.pn-request-top,.pn-aside-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.pn-page h1{margin:0;font-size:26px;line-height:1.2}.pn-page h2,.pn-inline-panel h2{margin:0;font-size:17px}.pn-page h3{margin:0 0 5px;font-size:15px}
.pn-page p,.pn-inline-panel p{margin:5px 0 0;color:var(--mw-text-secondary);font-size:13px;line-height:1.55}
.pn-head-actions,.pn-request-actions,.pn-tag-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pn-notice{border:1px solid #BDEDE5;background:#F0FDFA;color:#115E59;border-radius:12px;padding:11px 14px;font-size:12.5px;line-height:1.5}
.pn-action-grid,.pn-recommend-grid,.pn-clinician-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pn-action-card,.pn-mini-card,.pn-clinician-card,.pn-request-card,.pn-pod-card,.pn-inline-panel{background:#fff;border:1px solid var(--mw-border);border-radius:14px;padding:16px}
.pn-action-card{min-height:170px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;cursor:pointer}.pn-action-card:hover,.pn-action-card:focus-visible,.pn-pod-card:hover{border-color:#90D7D0;box-shadow:0 8px 20px rgba(15,35,55,.07)}
.pn-action-icon{width:44px!important;height:44px!important;display:grid!important;place-items:center;flex:0 0 44px;margin-bottom:14px;border-radius:12px;background:#E7F8F5!important;color:#08796F!important}.pn-action-icon svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pn-action-card strong,.pn-mini-card strong{font-size:14px;color:var(--mw-text-primary)}.pn-action-card span,.pn-mini-card span{color:var(--mw-text-secondary);font-size:12.5px;line-height:1.5}.pn-action-card em{margin-top:auto;color:#08796F;font-size:12px;font-style:normal;font-weight:700}
.pn-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pn-stat-grid button{min-height:82px;border:1px solid var(--mw-border);border-radius:12px;background:#fff;padding:12px;text-align:left;cursor:pointer}.pn-stat-grid strong{display:block;font-size:21px;color:var(--mw-text-primary)}.pn-stat-grid span{font-size:11.5px;color:var(--mw-text-secondary)}
.pn-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--mw-border)}.pn-tabs button{min-height:44px;border:0;border-bottom:2px solid transparent;background:transparent;padding:9px 12px;white-space:nowrap;color:var(--mw-text-secondary);font-weight:700;cursor:pointer}.pn-tabs button[aria-selected="true"]{border-color:#0F8F85;color:#08796F}
.pn-filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px;border:1px solid var(--mw-border);border-radius:12px;background:#fff}.pn-filter-bar .rn-input{flex:1;min-width:210px}.pn-filter-bar span{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid var(--mw-border);border-radius:9px;color:var(--mw-text-secondary);font-size:12px}
.pn-request-list,.pn-pod-list{display:flex;flex-direction:column;gap:12px}.pn-request-card,.pn-pod-card{display:flex;flex-direction:column;gap:12px}.pn-request-meta{display:flex;flex-wrap:wrap;gap:7px 14px;color:var(--mw-text-secondary);font-size:11.5px}.pn-request-actions{justify-content:flex-end}
.pn-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pn-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--mw-text-secondary)}.pn-form-grid .span2{grid-column:1/-1}
.pn-empty,.pn-loading{padding:24px;border:1px dashed #C6D5E3;border-radius:12px;text-align:center;color:var(--mw-text-secondary);font-size:13px}.pn-empty strong,.pn-empty span{display:block;margin-bottom:5px}
.pn-inline-panel{margin-top:18px}.pn-clinician-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.pn-clinician-card{display:flex;flex-direction:column;gap:12px}
.pn-pods-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.pn-pods-layout aside{display:flex;flex-direction:column;gap:10px}.pn-pod-card.compact .pn-request-meta span:nth-child(n+3){display:none}
.pn-overflow{position:relative;margin-left:auto}.pn-overflow summary{list-style:none;width:44px;height:44px;border:1px solid var(--mw-border);border-radius:9px;display:grid;place-items:center;cursor:pointer}.pn-overflow summary::-webkit-details-marker{display:none}.pn-overflow div{position:absolute;right:0;top:48px;z-index:10;min-width:170px;padding:6px;background:#fff;border:1px solid var(--mw-border);border-radius:10px;box-shadow:0 12px 28px rgba(15,35,55,.14)}.pn-overflow button{display:block;width:100%;min-height:40px;border:0;background:transparent;text-align:left;padding:8px;border-radius:7px;cursor:pointer}.pn-overflow button:hover{background:var(--mw-surface-light)}
.pn-overflow button.danger{color:#B42318;border-top:1px solid var(--mw-border);border-radius:0;margin-top:4px}
.pn-pods-page{gap:18px}.pn-pod-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pn-pod-stat{min-height:108px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--mw-border);border-radius:14px;background:#fff;text-align:left;cursor:pointer;box-shadow:0 4px 12px rgba(15,35,55,.04)}.pn-pod-stat:hover{border-color:#90D7D0;box-shadow:0 10px 24px rgba(15,35,55,.08)}.pn-pod-stat-icon,.pn-pod-icon,.pn-pod-compact-icon,.pn-detail-icon{display:grid;place-items:center;background:#E7F8F5;color:#08796F;border-radius:13px;flex-shrink:0}.pn-pod-stat-icon{width:52px;height:52px}.pn-pod-stat-icon svg,.pn-pod-icon svg,.pn-pod-compact-icon svg,.pn-detail-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pn-pod-stat small,.pn-pod-stat strong,.pn-pod-stat em{display:block}.pn-pod-stat small{font-size:11px;font-weight:700;color:var(--mw-text-primary)}.pn-pod-stat strong{font-size:24px;line-height:1.1;margin:4px 0;color:var(--mw-text-primary)}.pn-pod-stat em{font-size:11px;font-style:normal;color:var(--mw-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pn-pod-stat b{font-size:26px;font-weight:400;color:var(--mw-text-secondary)}
.pn-pods-page .pn-tabs{padding-top:4px}.pn-pods-page .pn-tabs button{padding-inline:14px}.pn-pods-page .pn-pods-layout{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.pn-pod-list{gap:14px}.pn-pod-card{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;padding:20px;border-radius:14px;box-shadow:0 4px 14px rgba(15,35,55,.04)}.pn-pod-main{display:flex;gap:18px;min-width:0}.pn-pod-icon{width:76px;height:76px;border-radius:16px}.pn-pod-icon svg{width:36px;height:36px}.pn-pod-copy{flex:1;min-width:0}.pn-pod-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pn-pod-title-row h3{font-size:16px;margin:1px 0 6px}.pn-pod-title-row p{max-width:600px}.pn-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:7px;background:#E6F4F1;color:#0B625A;font-size:10.5px;font-weight:700;text-transform:capitalize}.pn-chip.success{background:#EAF7E8;color:#27743B}.pn-chip.warning{background:#FFF1DD;color:#A25100}.pn-pod-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.pn-pod-facts{display:grid;grid-template-columns:1fr;align-content:start;gap:8px;margin:0;padding-left:18px;border-left:1px solid var(--mw-border)}.pn-pod-facts div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;font-size:11.5px}.pn-pod-facts dt{color:var(--mw-text-secondary)}.pn-pod-facts dd{margin:0;color:var(--mw-text-primary);font-weight:600;overflow-wrap:anywhere}.pn-pod-card.compact{display:flex;gap:12px;padding:14px;box-shadow:none}.pn-pod-compact-icon{width:48px;height:48px}.pn-pod-compact-copy{min-width:0;flex:1}.pn-pod-compact-copy h3{font-size:12px;line-height:1.35;margin:0}.pn-pod-compact-copy p{font-size:10.5px;margin:3px 0}.pn-pod-compact-copy .mw-link-btn{width:100%;margin-top:8px}.pn-match-pill{display:inline-flex;padding:3px 7px;border-radius:999px;background:#DDF7ED;color:#067457;font-size:9.5px;font-weight:700}.pn-pod-aside>section,.pn-aside-note{border:1px solid var(--mw-border);border-radius:13px;background:#fff;padding:14px}.pn-pod-aside .pn-aside-head h2{font-size:13px}.pn-aside-note{display:flex;flex-direction:column;gap:5px;background:#EFFBF9;border-color:#BDEDE5;color:#115E59}.pn-aside-note.safety{background:#FFF9ED;border-color:#F5DDA7;color:#7A4B00}.pn-aside-note strong{font-size:11.5px}.pn-aside-note span{font-size:10.5px;line-height:1.5}.pn-pod-empty{min-height:130px}.pn-pod-empty .mw-link-btn{margin-top:12px}
.pn-pod-detail{padding:20px;color:var(--mw-text-primary)}.pn-pod-detail-head{margin-bottom:16px}.pn-pod-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:12px}.pn-pod-detail-title h1{margin:0;font-size:26px}.pn-pod-detail-title p{margin:6px 0 10px;color:var(--mw-text-secondary);font-size:12.5px}.pn-readonly-note{margin:12px 0;padding:12px 14px;border:1px solid #CBD5E1;border-radius:11px;background:#F8FAFC;color:#475569;font-size:12px}.pn-pod-subnav{display:flex;gap:8px;overflow-x:auto;margin:16px 0;border-bottom:1px solid var(--mw-border)}.pn-pod-subnav a,.pn-pod-subnav button{min-height:44px;padding:10px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--mw-text-secondary);font:inherit;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}.pn-pod-subnav a:first-child{border-color:#0F8F85;color:#08796F}.pn-pod-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.pn-pod-detail-layout main,.pn-detail-aside{display:flex;flex-direction:column;gap:14px}.pn-detail-card{border:1px solid var(--mw-border);border-radius:13px;background:#fff;padding:16px;box-shadow:0 4px 14px rgba(15,35,55,.04)}.pn-detail-card h2{margin:0 0 10px;font-size:13px}.pn-detail-card p{font-size:11.5px;line-height:1.55;color:var(--mw-text-secondary)}.pn-meeting-card{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(180px,.7fr) auto;align-items:center;gap:14px}.pn-detail-icon{width:40px;height:40px;border-radius:10px}.pn-detail-icon svg{width:20px;height:20px}.pn-meeting-card strong,.pn-meeting-card span,.pn-meeting-link small{display:block}.pn-meeting-card strong{font-size:12px}.pn-meeting-card span,.pn-meeting-link small{font-size:10.5px;color:var(--mw-text-secondary);margin-top:3px}.pn-meeting-link{padding-left:16px;border-left:1px solid var(--mw-border)}.pn-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pn-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.pn-section-head h2{margin:0}.pn-section-head span{font-size:10px;color:var(--mw-text-secondary)}.pn-stack-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.pn-stack-actions button{justify-content:center}.pn-announcement-compose{display:grid;gap:10px}.pn-announcement{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--mw-border)}.pn-announcement:last-child{border-bottom:0}.pn-announcement strong{font-size:11.5px}.pn-announcement p{margin:3px 0 0}.pn-about-list{display:flex;flex-direction:column;gap:9px;margin:0 0 14px}.pn-about-list div{display:grid;grid-template-columns:80px 1fr;gap:8px;font-size:10.5px}.pn-about-list dt{color:var(--mw-text-secondary)}.pn-about-list dd{margin:0;color:var(--mw-text-primary);font-weight:600;text-transform:capitalize}
.pn-pod-subnav button:hover{background:var(--bg-hover);color:var(--mw-text-primary)}.pn-pod-subnav button.active,.pn-pod-subnav button[aria-selected="true"]{border-color:var(--avenly-teal);color:var(--avenly-teal)}.pn-pod-subnav button:focus-visible{outline:3px solid rgba(36,160,143,.3);outline-offset:-3px}.pn-pod-detail-layout[hidden]{display:none!important}.pn-tab-panel{display:flex;flex-direction:column;gap:14px;max-width:980px}.pn-settings-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.pn-member-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--mw-border)}.pn-member-row:last-child{border-bottom:0}.pn-member-row strong,.pn-member-row span{display:block}.pn-member-row strong{font-size:12.5px;color:var(--mw-text-primary)}.pn-member-row span{margin-top:3px;font-size:11px;color:var(--mw-text-secondary);text-transform:capitalize}.pn-member-avatar{width:42px;height:42px;border-radius:50%;display:grid!important;place-items:center;background:var(--avenly-teal-soft);color:var(--avenly-teal)!important;font-size:11px!important;font-weight:700}.pn-panel-actions{display:flex;justify-content:flex-end;margin-top:14px}
.pn-section-focus{animation:pn-section-focus 1.4s ease}@keyframes pn-section-focus{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 4px rgba(15,143,133,.2);border-radius:12px}}
.pn-page button:focus-visible,.pn-page input:focus-visible,.pn-page select:focus-visible,.pn-page textarea:focus-visible,.pn-inline-panel button:focus-visible{outline:3px solid rgba(30,156,146,.28);outline-offset:2px}
@media(max-width:1180px){.pn-pod-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pn-pod-card{grid-template-columns:1fr}.pn-pod-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 0 0;border-left:0;border-top:1px solid var(--mw-border)}}
@media(max-width:1024px){.pn-action-grid,.pn-recommend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pn-pods-layout,.pn-pods-page .pn-pods-layout,.pn-pod-detail-layout{grid-template-columns:1fr}.pn-pods-layout aside,.pn-detail-aside{order:2}.pn-detail-grid{grid-template-columns:1fr}}
@media(max-width:640px){.pn-page,.pn-pod-detail{padding:12px;gap:14px}.pn-page-head,.pn-request-top,.pn-pod-detail-title{flex-direction:column}.pn-page-head .mw-btn-primary,.pn-head-actions,.pn-head-actions button{width:100%}.pn-head-actions button{justify-content:center}.pn-action-grid,.pn-recommend-grid,.pn-clinician-grid,.pn-stat-grid,.pn-pod-stat-grid,.pn-form-grid{grid-template-columns:1fr}.pn-form-grid .span2{grid-column:auto}.pn-filter-bar{align-items:stretch}.pn-filter-bar>*{width:100%}.pn-request-actions{justify-content:flex-start}.pn-action-card{min-height:140px}.pn-pod-card{padding:14px}.pn-pod-main{flex-direction:column}.pn-pod-icon{width:52px;height:52px}.pn-pod-facts{grid-template-columns:1fr}.pn-meeting-card{grid-template-columns:44px 1fr}.pn-meeting-link{grid-column:1/-1;padding:12px 0 0;border-left:0;border-top:1px solid var(--mw-border)}}
.mw-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;padding:1.25rem;box-shadow:var(--shadow-card);transition:box-shadow 0.2s,border-color 0.2s,transform 0.18s ease;}
.mw-card:hover{box-shadow:0 2px 4px rgba(10,22,40,0.05),0 22px 48px -24px rgba(10,22,40,0.3);border-color:var(--border-medium);transform:translateY(-1px);}
.mw-card-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:0.75rem;flex-wrap:wrap;}
.mw-dashboard-card .mw-card-hd{padding-bottom:.7rem;border-bottom:1px solid rgba(10,22,40,0.06);margin-bottom:.85rem;}
.mw-card-title{font-family:'DM Serif Display',serif;font-size:1.1rem;color:var(--text-primary);letter-spacing:-0.01em;}
.mw-card-link{background:none;border:none;color:var(--avenly-teal);font-size:12.5px;font-weight:600;cursor:pointer;padding:0;font-family:inherit;text-decoration:none;white-space:nowrap;}
/* Dashboard customization */
.mw-dashboard-card{position:relative;}
.mw-dashboard-card[data-collapsed="true"] .mw-card-body{display:none;}
.mw-dashboard-card[data-pinned="true"]{border-color:rgba(15,118,110,0.45);box-shadow:0 1px 2px rgba(10,22,40,0.04),0 14px 36px -22px rgba(15,118,110,0.45);}
.mw-dashboard-card.is-dragging{opacity:.55;transform:scale(.99);}
.mw-dashboard-card.is-drop-target{border-color:var(--mw-accent-teal);box-shadow:0 0 0 3px rgba(12,133,119,.16);}
.mw-card-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto;min-width:0;}
.mw-dashboard-card[data-card-id="profile"] .mw-card-header-actions{flex-basis:100%;justify-content:flex-start;margin-left:0;}
.mw-card-actions{display:flex;align-items:center;gap:6px;margin-left:auto;}
.mw-dashboard-card[data-card-id="profile"] .mw-card-actions{margin-left:0;}
.mw-card-action-btn{background:var(--mw-surface-lighter);border:1px solid var(--mw-border);border-radius:var(--radius-sm);color:var(--mw-text-secondary);cursor:pointer;font-size:13px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background .15s,border-color .15s;}
.mw-card-action-btn:hover{background:var(--mw-surface-light);border-color:var(--mw-border-hover);color:var(--mw-text-primary);}
.mw-card-action-btn[data-action="pin"]{color:var(--mw-accent-teal);}
.mw-card-action-btn[data-action="pin"]{width:auto;min-width:28px;padding:0 7px;font-size:11px;font-weight:700;}
.mw-card-drag-handle{cursor:grab;color:var(--mw-text-muted);font-size:12px;padding:4px 7px;display:inline-flex;background:var(--mw-surface-lighter);border:1px solid var(--mw-border);border-radius:var(--radius-sm);font-family:inherit;}
.mw-card-drag-handle:hover,.mw-card-drag-handle:focus-visible{color:var(--mw-text-primary);border-color:var(--mw-border-hover);}
.mw-card-drag-handle:active{cursor:grabbing;}
#mw-dashboard-customizer{position:fixed;inset:0;z-index:100;display:none;}
#mw-dashboard-customizer.open{display:flex;}
.mw-customizer-backdrop{position:absolute;inset:0;background:rgba(15,35,55,.35);}
.mw-customizer-sheet{position:absolute;right:0;top:0;bottom:0;width:380px;max-width:100%;background:var(--mw-surface);border-left:1px solid var(--mw-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;}
.mw-customizer-hd{padding:18px 22px;border-bottom:1px solid var(--mw-border);display:flex;align-items:center;justify-content:space-between;}
.mw-customizer-hd h3{margin:0;font-family:'DM Serif Display',serif;font-size:1.1rem;color:var(--mw-text-primary);}
.mw-customizer-body{flex:1;overflow-y:auto;padding:18px 22px;}
.mw-customizer-ft{padding:14px 22px;border-top:1px solid var(--mw-border);display:flex;gap:10px;justify-content:flex-end;background:var(--mw-surface-light);}
.mw-customizer-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--mw-border);border-radius:var(--radius-md);margin-bottom:10px;background:var(--mw-surface);}
.mw-customizer-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;}
.mw-customizer-card.mw-required{opacity:.7;background:var(--mw-surface-lighter);}
.mw-customizer-card-title{flex:1;font-size:13.5px;font-weight:600;color:var(--mw-text-primary);}
.mw-customizer-card-copy{display:block;font-size:11.5px;font-weight:400;color:var(--mw-text-secondary);line-height:1.45;margin-top:3px;}
.mw-customizer-template{width:100%;margin-bottom:10px;padding:9px 10px;border-radius:var(--radius-sm);border:1px solid var(--mw-border);font-family:inherit;background:var(--mw-surface);color:var(--mw-text-primary);}
.mw-template-summary{display:grid;gap:6px;padding:12px;border:1px solid var(--mw-border);border-radius:var(--radius-md);background:var(--mw-surface-light);}
.mw-template-summary strong{font-size:13px;color:var(--mw-text-primary);}.mw-template-summary span{font-size:11.5px;color:var(--mw-text-secondary);line-height:1.45}.mw-template-summary button{justify-self:start;margin-top:3px}
.mw-customizer-compact{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:13px;color:var(--mw-text-secondary);}
.mw-customizer-size-label{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--mw-text-muted);}
.mw-customizer-size{min-height:32px;padding:4px 7px;border:1px solid var(--mw-border);border-radius:var(--radius-sm);background:var(--mw-surface);color:var(--mw-text-primary);font:600 12px/1.2 inherit;}
.mw-customizer-size:focus-visible,.mw-customizer-template:focus-visible{outline:3px solid rgba(36,160,143,.18);border-color:var(--border-focus);}
.mw-customizer-action{min-height:32px;padding:5px 9px;border:1px solid var(--mw-border);border-radius:var(--radius-sm);background:var(--mw-surface);color:var(--mw-text-primary);font:600 12px/1.2 inherit;cursor:pointer;}
.mw-customizer-action:hover,.mw-customizer-action:focus-visible{border-color:var(--mw-border-hover);background:var(--mw-surface-light);}
.mw-customizer-empty{padding:12px;border:1px dashed var(--mw-border);border-radius:var(--radius-md);color:var(--mw-text-secondary);font-size:12.5px;line-height:1.5;}
.mw-customizer-toggle{width:36px;height:20px;border-radius:999px;background:var(--mw-border);border:none;position:relative;cursor:pointer;padding:0;transition:background .2s;}
.mw-customizer-toggle.on{background:var(--mw-accent-teal);}
.mw-customizer-toggle::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;}
.mw-customizer-toggle.on::after{transform:translateX(16px);}
.mw-customizer-move-btn{background:var(--mw-surface-lighter);border:1px solid var(--mw-border);border-radius:var(--radius-sm);color:var(--mw-text-secondary);cursor:pointer;font-size:12px;min-width:42px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px;}
.mw-customizer-move-btn:hover{background:var(--mw-surface-light);color:var(--mw-text-primary);}
.mw-customizer-move-btn:disabled{cursor:not-allowed;opacity:.42;background:var(--mw-surface-lighter);color:var(--mw-text-muted);}
.mw-card-hide-btn{color:var(--mw-text-secondary);}
.mw-dashboard-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:220px;padding:28px;text-align:center;border:1px dashed var(--mw-border);border-radius:var(--radius-xl);background:var(--mw-surface-lighter);color:var(--mw-text-secondary);}
.mw-dashboard-empty strong{font-size:16px;color:var(--mw-text-primary);}
.mw-customizer-note{font-size:12px;color:var(--mw-text-muted);margin-top:8px;line-height:1.5;}
.mw-customizer-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mw-text-muted);margin:16px 0 8px;}
.mw-card-link:hover{text-decoration:underline;}
.mw-compact-status{margin:12px 0 0;background:var(--mw-surface);border:1px solid var(--mw-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;}
.mw-compact-status summary{list-style:none;display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;min-height:44px;}
.mw-compact-status summary::-webkit-details-marker{display:none;}
.mw-compact-status summary:focus-visible{outline:3px solid rgba(12,133,119,.3);outline-offset:-3px;}
.mw-compact-status-title{font-size:13px;font-weight:700;color:var(--mw-text-primary);white-space:nowrap;}
.mw-status-pills{display:flex;gap:6px;flex-wrap:wrap;min-width:0;flex:1;}
.mw-status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:var(--radius-pill);background:var(--mw-surface-light);color:var(--mw-text-secondary);font-size:11px;font-weight:700;white-space:nowrap;}
.mw-status-pill.on{background:var(--mw-badge-success-bg);color:var(--mw-badge-success-text);}
.mw-compact-status-action{font-size:11.5px;font-weight:700;color:var(--mw-accent-teal);white-space:nowrap;}
.mw-compact-status-body{padding:0 14px 12px;border-top:1px solid var(--mw-surface-lighter);}
.mw-reminders{margin-top:14px;}
.mw-reminder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.mw-reminder{background:var(--mw-surface);border:1px solid var(--mw-border);border-radius:var(--radius-lg);padding:12px;min-width:0;}
.mw-reminder strong{display:block;font-size:12.5px;color:var(--mw-text-primary);line-height:1.4;}
.mw-reminder span{display:block;font-size:11.5px;color:var(--mw-text-secondary);line-height:1.45;margin:4px 0 8px;}
.mw-reminder .mw-card-link{white-space:normal;text-align:left;}
.rfs-status-group{display:flex;gap:8px;flex-wrap:wrap;}
.rfs-status-pill{min-height:44px;border:1px solid #B9CADB;background:var(--mw-surface);border-radius:9px;padding:0 14px;color:#30485F;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px rgba(15,35,55,.04);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;}
.rfs-status-pill:hover{border-color:#7DB8D5;background:#F4FAFC;}
.rfs-status-pill.active{background:#E8F7F4;border-color:#65CABB;color:#07574F;box-shadow:0 10px 18px rgba(10,106,97,.12);}
.rfs-status-pill:focus-visible,.rfs-fit-option:focus-visible,.rfs-chip:focus-visible{outline:3px solid rgba(24,95,165,.28);outline-offset:2px;}
.rfs-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px;}
.rfs-legend-item{border:1px solid #E1EAF2;background:var(--mw-surface-light);border-radius:9px;padding:10px 11px;}
.rfs-legend-item strong{display:block;font-size:12px;color:var(--mw-text-primary);margin-bottom:3px;}
.rfs-legend-item span{display:block;font-size:11.5px;line-height:1.35;color:var(--mw-text-muted);}
.rfs-concern-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(360px,1.4fr);gap:14px;align-items:stretch;padding:14px 0;border-bottom:1px solid var(--mw-surface-lighter);}
.rfs-concern-row:last-child{border-bottom:0;}
.rfs-concern-copy b{display:block;font-size:13.5px;color:var(--mw-text-primary);}
.rfs-concern-copy span{display:block;font-size:12px;color:var(--mw-text-muted);margin-top:3px;line-height:1.45;}
.rfs-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.rfs-fit-option{min-height:64px;border:1px solid #D5E1EC;background:var(--mw-surface);border-radius:9px;padding:10px 11px;text-align:left;color:#30485F;cursor:pointer;box-shadow:0 8px 18px rgba(15,35,55,.04);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;}
.rfs-fit-option:hover{transform:translateY(-1px);border-color:var(--mw-border-hover);background:var(--mw-surface-light);}
.rfs-fit-option strong{display:block;font-size:12.5px;color:var(--mw-text-primary);margin-bottom:3px;}
.rfs-fit-option span{display:block;font-size:11.5px;line-height:1.35;color:var(--mw-text-muted);}
.rfs-fit-option.active{box-shadow:0 12px 22px rgba(15,35,55,.1);}
.rfs-fit-option.active.preferred{background:#EAF4FF;border-color:#75B8EA;}
.rfs-fit-option.active.accepted{background:#E9FBF7;border-color:#65CABB;}
.rfs-fit-option.active.not_accepting{background:#FFF1F0;border-color:#E6A5A1;}
.rfs-fit-option.active strong:before{content:'✓ ';font-weight:900;}
.rfs-detail-row{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(280px,1.45fr);gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--mw-surface-lighter);}
.rfs-detail-row:last-child{border-bottom:0;}
.rfs-detail-row b{font-size:13px;color:var(--mw-text-primary);}
.rfs-detail-row span{display:block;font-size:12px;color:var(--mw-text-muted);margin-top:2px;line-height:1.45;}
.rfs-chip-grid{display:flex;gap:8px;flex-wrap:wrap;}
.rfs-chip{min-height:40px;border:1px solid #C9D7E4;background:var(--mw-surface);border-radius:9px;padding:0 12px;color:#30485F;font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px rgba(15,35,55,.035);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;}
.rfs-chip:hover{border-color:#92BED5;background:#F7FBFD;}
.rfs-chip.active{background:#EAF4FF;border-color:#75B8EA;color:var(--mw-accent-blue);box-shadow:0 10px 18px rgba(24,95,165,.1);}
.rfs-chip.active:before{content:'✓ ';font-weight:900;}
.mw-row-list{display:grid;gap:9px;}
.mw-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--mw-surface-lighter);}
.mw-list-row:last-child{border-bottom:0;}
.mw-row-title{font-size:13px;font-weight:600;color:var(--mw-text-primary);}
.mw-row-sub{font-size:12px;color:var(--mw-text-secondary);margin-top:3px;}
/* Help panel  matches mw-card / mw-work-area / mw-dashboard-label aesthetic */
.mw-help-header{margin-bottom:20px;}
.mw-help-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mw-accent-teal);margin-bottom:8px;}
.mw-help-header h2{font-family:'DM Serif Display',serif;font-size:26px;line-height:1.15;color:var(--mw-text-primary);margin:0 0 6px;font-weight:400;}
.mw-help-header p{font-size:14px;color:var(--mw-text-secondary);margin:0;line-height:1.6;}
.mw-help-setup-bar{background:var(--mw-surface);border:1px solid var(--mw-border);border-radius:var(--radius-lg);padding:16px;margin-bottom:18px;box-shadow:0 10px 24px rgba(15,35,55,0.05);}
.mw-help-setup-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.mw-help-setup-label{font-size:13px;font-weight:600;color:var(--mw-text-primary);}
.mw-help-setup-pct{font-size:13px;font-weight:600;color:var(--mw-accent-teal);}
.mw-help-missing-item{font-size:12px;color:var(--mw-text-secondary);padding:3px 0;}
.mw-help-section-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mw-text-secondary);margin:20px 0 10px;}
.mw-help-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:4px;}
.mw-help-action-card{display:flex;align-items:flex-start;gap:12px;background:var(--mw-surface);border:1px solid var(--mw-border);border-radius:var(--radius-lg);padding:15px;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;box-shadow:0 10px 24px rgba(15,35,55,0.05);}
.mw-help-action-card:hover{transform:translateY(-2px);border-color:var(--mw-border-hover);box-shadow:0 16px 34px rgba(15,35,55,0.1);}
.mw-help-action-icon{width:34px;height:34px;border-radius:var(--radius-md);background:#EEF7F6;color:var(--mw-accent-teal);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mw-help-action-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.mw-help-action-card strong{display:block;font-size:13px;font-weight:600;color:var(--mw-text-primary);margin-bottom:3px;}
.mw-help-action-card span{display:block;font-size:12px;color:var(--mw-text-secondary);line-height:1.45;}
.mw-help-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:4px;}
.mw-help-step{display:flex;gap:14px;align-items:flex-start;background:var(--mw-surface);border:1px solid var(--mw-border);border-radius:var(--radius-lg);padding:15px;box-shadow:0 10px 24px rgba(15,35,55,0.05);}
.mw-help-step-num{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--mw-accent-blue),var(--mw-accent-teal));color:var(--mw-surface);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(24,95,165,0.25);}
.mw-help-step strong{font-size:13px;font-weight:600;color:var(--mw-text-primary);display:block;margin-bottom:4px;}
.mw-help-step p{font-size:12px;color:var(--mw-text-secondary);margin:0 0 8px;line-height:1.55;}
.mw-help-faqs{display:flex;flex-direction:column;border:1px solid var(--mw-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--mw-surface);box-shadow:0 10px 24px rgba(15,35,55,0.05);}
.mw-help-faq{border-bottom:1px solid var(--mw-surface-lighter);}.mw-help-faq:last-child{border-bottom:none;}
.mw-help-faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:13px 16px;font-size:13px;font-weight:600;color:var(--mw-text-primary);background:none;border:none;cursor:pointer;text-align:left;transition:background .12s;font-family:'Plus Jakarta Sans',sans-serif;}
.mw-help-faq-q:hover{background:#F6F9FC;}
.mw-help-faq-chevron{flex-shrink:0;color:#9BAFBF;transition:transform .2s;display:flex;align-items:center;}
.mw-help-faq-chevron svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.mw-help-faq.open .mw-help-faq-chevron{transform:rotate(90deg);}
.mw-help-faq-a{display:none;padding:0 16px 14px;font-size:13px;color:var(--mw-text-secondary);line-height:1.6;}
.mw-help-faq.open .mw-help-faq-a{display:block;}
.mw-help-footer{display:flex;align-items:center;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--mw-surface-lighter);font-size:13px;color:var(--mw-text-secondary);}
/* Onboarding checklist card */
.mw-onboard{background:var(--mw-surface);border:1px solid var(--mw-border);border-radius:var(--radius-xl);padding:18px;margin-top:14px;box-shadow:0 10px 24px rgba(15,35,55,0.05);}
.mw-onboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;}
.mw-onboard-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mw-accent-teal);margin-bottom:3px;}
.mw-onboard-title{font-size:15px;font-weight:700;color:var(--mw-text-primary);}
.mw-onboard-dismiss{border:0;background:#F2F8FA;color:var(--mw-text-secondary);border-radius:var(--radius-md);padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s;}
.mw-onboard-dismiss:hover{background:#E8F0F7;}
.mw-onboard-bar{margin-bottom:14px;}
.mw-onboard-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.mw-onboard-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--mw-surface-lighter);border-radius:var(--radius-md);background:var(--mw-surface-light);transition:border-color .15s;}
.mw-onboard-item.done{background:#F0FDF9;border-color:#99F6E4;}
.mw-onboard-check{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px;font-weight:700;border:1.5px solid #CBD5E1;background:var(--mw-surface);color:#9BAFBF;margin-top:1px;}
.mw-onboard-item.done .mw-onboard-check{background:var(--mw-accent-teal);border-color:var(--mw-accent-teal);color:var(--mw-surface);}
.mw-onboard-item-body{flex:1;min-width:0;}
.mw-onboard-item-label{font-size:12.5px;font-weight:600;color:var(--mw-text-secondary);line-height:1.3;}
.mw-onboard-item.done .mw-onboard-item-label{color:var(--mw-text-primary);}
.mw-onboard-item-hint{font-size:11px;color:#9BAFBF;margin-top:2px;line-height:1.4;}
.mw-onboard-item-go{display:block;margin-top:6px;border:0;background:none;color:var(--mw-accent-teal);font-size:12px;font-weight:600;cursor:pointer;padding:0;text-align:left;}
.mw-onboard-item.done .mw-onboard-item-go{display:none;}
.mw-tour-card{background:linear-gradient(135deg,var(--mw-surface-light) 0%,#F0FDF9 100%);border:1px solid #CFE9E2;border-radius:var(--radius-xl);padding:16px;margin-top:14px;box-shadow:0 10px 24px rgba(15,35,55,0.05);}
.mw-tour-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.mw-tour-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mw-accent-teal);margin-bottom:4px;}
.mw-tour-card-title{font-size:15px;font-weight:700;color:var(--mw-text-primary);margin-bottom:4px;}
.mw-tour-card-copy{font-size:12.5px;color:var(--mw-text-secondary);line-height:1.55;max-width:680px;}
.mw-tour-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.mw-tour-actions .mw-btn-primary,.mw-tour-actions .mw-link-btn{min-height:44px;}
.mw-tour-launch-small{display:inline-flex;align-items:center;gap:7px;min-height:36px;border:1px solid #B9CADB;background:var(--mw-surface);border-radius:var(--radius-md);padding:0 12px;color:var(--mw-accent-teal);font-size:12px;font-weight:700;cursor:pointer;}
.mw-tour-launch-small:hover{background:#F2F8FA;}
.mw-tour-modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal-backdrop,40);display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(8,22,37,.58);animation:mwFadeIn .16s ease;}
.mw-tour-modal-backdrop.targeted{background:rgba(8,22,37,.42);}
.mw-tour-modal{width:min(560px,100%);background:var(--mw-surface);border:1px solid rgba(220,229,239,.9);border-radius:14px;box-shadow:0 24px 70px rgba(8,22,37,.24);overflow:hidden;}
.mw-tour-modal.targeted{position:fixed;width:min(430px,calc(100vw - 28px));z-index:var(--z-modal,50);}
.mw-tour-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px 14px;border-bottom:1px solid var(--mw-surface-lighter);background:linear-gradient(135deg,var(--mw-surface-light),#F0FDF9);}
.mw-tour-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mw-accent-teal);margin-bottom:5px;}
.mw-tour-title{font-family:'DM Serif Display',serif;font-size:24px;line-height:1.1;color:var(--mw-text-primary);margin:0;}
.mw-tour-close{width:38px;height:38px;border:1px solid var(--mw-border);background:var(--mw-surface);border-radius:var(--radius-lg);color:var(--mw-text-secondary);font-size:22px;line-height:1;cursor:pointer;}
.mw-tour-close:hover{background:#F2F8FA;color:var(--mw-text-primary);}
.mw-tour-body{padding:20px;}
.mw-tour-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.mw-tour-step-label{font-size:12px;font-weight:700;color:var(--mw-text-secondary);}
.mw-tour-progress{height:7px;background:#E8F0F7;border-radius:var(--radius-pill);overflow:hidden;flex:1;min-width:120px;}
.mw-tour-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--mw-accent-teal),var(--mw-accent-blue));border-radius:var(--radius-pill);}
.mw-tour-step-title{font-size:18px;font-weight:700;color:var(--mw-text-primary);margin:0 0 8px;}
.mw-tour-step-copy{font-size:14px;color:var(--mw-text-secondary);line-height:1.65;margin:0;}
.mw-tour-note{margin-top:14px;border:1px solid #DCEFEA;background:#F5FFFC;border-radius:var(--radius-lg);padding:12px 13px;font-size:12.5px;line-height:1.55;color:#355B62;}
.mw-tour-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-top:1px solid var(--mw-surface-lighter);background:var(--mw-surface);flex-wrap:wrap;}
.mw-tour-footer-left,.mw-tour-footer-right{display:flex;gap:8px;flex-wrap:wrap;}
.mw-tour-footer button{min-height:44px;}
.mw-tour-target-active{position:relative;z-index:45!important;box-shadow:0 0 0 4px rgba(159,225,203,.42),0 18px 48px rgba(8,22,37,.18)!important;border-radius:var(--radius-xl)!important;outline:2px solid rgba(10,106,97,.72);outline-offset:3px;transition:box-shadow .18s ease,outline-color .18s ease;}
.mw-tour-prompt{background:var(--mw-surface);border:1px solid var(--mw-border);border-radius:var(--radius-xl);padding:16px;margin-top:14px;box-shadow:0 10px 24px rgba(15,35,55,0.05);}
.mw-tour-prompt-title{font-size:15px;font-weight:700;color:var(--mw-text-primary);margin-bottom:4px;}
.mw-tour-prompt-copy{font-size:12.5px;color:var(--mw-text-secondary);line-height:1.55;}
.mw-tour-prompt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.mw-panel-tour-hook{display:flex;justify-content:flex-end;padding:10px 16px 0;}
.mw-section-tour-btn{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid #B9CADB;background:var(--mw-surface);border-radius:var(--radius-md);padding:0 11px;color:var(--mw-accent-teal);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;}
.mw-section-tour-btn:hover{background:#F2F8FA;border-color:#89BACD;}
.mw-section-tour-btn:focus-visible{outline:3px solid rgba(45,154,191,.28);outline-offset:2px;}
.mw-section-tour-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
@media(max-width:640px){.mw-tour-card-head{display:block}.mw-tour-modal-backdrop{align-items:flex-end;padding:0}.mw-tour-modal,.mw-tour-modal.targeted{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%;border-radius:16px 16px 0 0;max-height:92vh;overflow:auto}.mw-tour-title{font-size:22px}.mw-tour-body{padding:18px}.mw-tour-footer{align-items:stretch}.mw-tour-footer-left,.mw-tour-footer-right{width:100%}.mw-tour-footer button{flex:1}}
@media(prefers-reduced-motion:reduce){.mw-tour-modal-backdrop,.mw-panel-intro,.mw-tour-target-active{animation:none!important;transition:none!important;scroll-behavior:auto!important;}.mw-card,.mw-card:hover,.mw-btn-primary:hover{transform:none!important;transition:none!important;}}
/* Inline contextual progress strip  used inside dashboard cards */
.mw-ctx-strip{display:flex;align-items:center;gap:0;flex-wrap:wrap;background:var(--mw-surface-light);border:1px solid var(--mw-surface-lighter);border-radius:var(--radius-md);padding:8px 12px;margin-bottom:12px;gap:4px;}
.mw-ctx-step{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:#9BAFBF;padding:3px 8px;border-radius:var(--radius-pill);}
.mw-ctx-step.done{color:var(--mw-accent-teal);font-weight:600;}
.mw-ctx-step.done .mw-ctx-dot{background:var(--mw-accent-teal);}
.mw-ctx-dot{width:7px;height:7px;border-radius:50%;background:#CBD5E1;flex-shrink:0;}
.mw-ctx-go{border:0;background:none;color:var(--mw-accent-blue);font-size:11.5px;font-weight:600;cursor:pointer;padding:0;}
/* ââ€Âۉâ€Â€ Sidebar readiness score strip ââ€Âۉâ€Â€ */
.mw-sidebar-score{padding:10px 14px;margin:4px 0 6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);cursor:pointer;transition:background .12s,border-color .12s;}
.mw-sidebar-score:hover{background:var(--bg-hover);border-color:rgba(36,160,143,.35);}
.mw-sidebar-score-label{font-size:10.5px;font-weight:600;color:rgba(255,255,255,.72);display:flex;justify-content:space-between;margin-bottom:6px;}
.mw-sidebar-score-pct{font-weight:700;color:var(--avenly-teal-bright);}
.mw-sidebar-score-bar{height:4px;background:rgba(255,255,255,.24);border-radius:var(--radius-pill);overflow:hidden;}
.mw-sidebar-score-fill{height:100%;background:var(--avenly-teal-bright)!important;border-radius:var(--radius-pill);transition:width .4s ease;}
/* ââ€Âۉâ€Â€ Nav incomplete dot ââ€Âۉâ€Â€ */
.mw-nav-dot{width:7px;height:7px;border-radius:50%;background:#C2855A;flex-shrink:0;margin-left:auto;box-shadow:0 0 0 2px rgba(194,133,90,.22);}
/* ââ€Âۉâ€Â€ First-visit panel intro banner ââ€Âۉâ€Â€ */
.mw-panel-intro{display:flex;align-items:flex-start;gap:12px;background:var(--info-bg);border:1px solid #d6e7f8;border-radius:var(--radius-md);padding:12px 14px;margin-bottom:14px;animation:mwFadeIn .2s ease;}
@keyframes mwFadeIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
.mw-panel-intro-icon{width:32px;height:32px;border-radius:var(--radius-md);background:var(--info-text);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mw-panel-intro-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.mw-panel-intro-body{flex:1;min-width:0;}
.mw-panel-intro-title{font-size:12.5px;font-weight:700;color:var(--mw-text-primary);margin-bottom:2px;}
.mw-panel-intro-copy{font-size:12px;color:var(--mw-text-secondary);line-height:1.5;}
.mw-panel-intro-dismiss{border:0;background:none;color:#9BAFBF;font-size:20px;cursor:pointer;line-height:1;padding:0 2px;flex-shrink:0;transition:color .1s;}
.mw-panel-intro-dismiss:hover{color:var(--mw-text-secondary);}
/* ââ€Âۉâ€Â€ Milestone celebration card ââ€Âۉâ€Â€ */
/* ââ€Âۉâ€Â€ Styled confirm / alert modal ââ€Âۉâ€Â€ */
.mw-modal-backdrop{position:fixed;inset:0;background:rgba(10,22,40,.50);z-index:var(--z-modal-backdrop,40);display:flex;align-items:center;justify-content:center;padding:20px;animation:mwFadeIn .15s ease;}
.mw-modal{background:var(--mw-surface);border-radius:var(--radius-xl);padding:26px 24px 22px;max-width:420px;width:100%;box-shadow:0 8px 40px rgba(10,22,40,.14);position:relative;z-index:var(--z-modal,50);}
.mw-modal-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.mw-modal-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.mw-modal-icon.warn{background:#FEF3C7;color:#835000;}
.mw-modal-icon.danger{background:#FCEBEB;color:#A32D2D;}
.mw-modal-icon.info{background:#EFF6FF;color:var(--mw-accent-blue);}
.mw-modal-icon.success{background:#F0FDF9;color:var(--mw-accent-teal);}
.mw-modal-title{font-family:'DM Serif Display',serif;font-size:19px;color:var(--mw-text-primary);margin:0 0 8px;}
.mw-modal-body{font-size:13.5px;color:var(--mw-text-secondary);line-height:1.6;margin-bottom:22px;}
.mw-modal-actions{display:flex;gap:8px;flex-direction:row-reverse;flex-wrap:wrap;}
/* ââ€Âۉâ€Â€ Jargon tooltip ââ€Âۉâ€Â€ */
.mw-tip-trigger{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#E2EBF4;color:var(--mw-text-secondary);font-size:9.5px;font-weight:700;cursor:pointer;vertical-align:middle;margin-left:3px;border:0;position:relative;flex-shrink:0;}
.mw-tip-pop{display:none;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);background:var(--mw-text-primary);color:var(--mw-surface);font-size:11.5px;font-weight:400;line-height:1.5;padding:9px 12px;border-radius:var(--radius-md);width:220px;pointer-events:none;z-index:var(--z-tooltip,70);box-shadow:0 4px 16px rgba(10,22,40,.20);white-space:normal;}
.mw-tip-pop::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--mw-text-primary);}
.mw-tip-trigger:hover .mw-tip-pop,.mw-tip-trigger:focus .mw-tip-pop{display:block;}
/* ââ€Âۉâ€Â€ Saved indicator ââ€Âۉâ€Â€ */
.mw-saved-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--mw-accent-teal);font-weight:600;padding:3px 9px;background:#F0FDF9;border-radius:var(--radius-pill);opacity:0;transition:opacity .25s ease;pointer-events:none;}
.mw-saved-badge.visible{opacity:1;}
/* ââ€Âۉâ€Â€ Welcome onboarding modal ââ€Âۉâ€Â€ */
.mw-status{font-size:11px;font-weight:700;border-radius:var(--radius-pill);padding:4px 8px;white-space:nowrap;}
.mw-status.good{background:var(--success-bg);color:var(--success-text);}
.mw-status.warn{background:var(--warning-bg);color:var(--warning-text);}
.mw-status.blue{background:var(--info-bg);color:var(--info-text);}
.mw-empty{border:1px dashed rgba(10,22,40,0.16);border-radius:12px;padding:26px 22px;text-align:center;color:var(--mw-text-secondary);font-size:13px;line-height:1.6;background:var(--mw-surface-lighter);}
.mw-empty strong{display:block;color:var(--mw-text-primary);font-size:14px;margin-bottom:4px;}
.mw-empty-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px;}
.mw-empty-actions .mw-link-btn,.mw-empty-actions .mw-btn-primary{min-height:38px;}
.mw-activity{display:grid;gap:10px;}
.mw-activity-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;position:relative;padding-bottom:4px;}
.mw-activity-item:not(:last-child)::before{content:"";position:absolute;left:17px;top:38px;bottom:-10px;width:1px;background:var(--border-light);}
.mw-activity-icon{width:34px;height:34px;border-radius:10px;background:var(--avenly-teal-soft);border:1px solid rgba(15,118,110,0.14);color:var(--avenly-teal);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;position:relative;z-index:1;}
.mw-activity-tab{padding:5px 12px;border-radius:var(--radius-pill);border:1px solid transparent;background:transparent;color:var(--mw-text-secondary);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease;}
.mw-activity-tab:hover{background:var(--bg-hover);color:var(--mw-text-primary);}
.mw-activity-tab.active{background:var(--bg-selected);color:var(--mw-accent-teal);border-color:var(--border-focus);}
.mw-panel{display:none;}
.mw-panel.active,.mw-panel:not([hidden]){display:block;}
.mw-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--mw-surface-lighter);}
.mw-list-item:last-child{border-bottom:0;}
.mw-list-item strong{display:block;font-size:13px;font-weight:600;color:var(--mw-text-primary);}
.mw-list-item span{display:block;font-size:12px;color:var(--mw-text-secondary);margin-top:3px;}
.mw-list-item em{font-style:normal;font-size:11px;font-weight:700;border-radius:var(--radius-pill);padding:4px 8px;background:#E8F8F5;color:var(--mw-accent-teal);white-space:nowrap;}
.mw-list-item button,.mw-link-btn{height:34px;border:1px solid var(--border-light);background:var(--mw-surface);border-radius:8px;padding:0 12px;color:var(--avenly-teal);font-size:12px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s;}
.mw-list-item button:hover,.mw-link-btn:hover{background:rgba(15,118,110,0.05);border-color:rgba(15,118,110,0.35);}
.mw-profile-meter strong{font-size:26px;color:var(--text-primary);}
.mw-profile-meter span{font-size:12px;color:var(--text-secondary);}
.mw-profile-priorities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;}
.mw-profile-priority{border:1px solid var(--border-light);background:var(--bg-page);border-radius:var(--radius-md);padding:9px;}
.mw-profile-priority strong{display:block;font-size:12px;color:var(--text-primary);}
.mw-profile-priority span{display:block;font-size:11px;color:var(--text-secondary);margin-top:2px;line-height:1.35;}
.mw-profile-next{border-top:1px solid var(--border-light);margin-top:12px;padding-top:12px;}
.mw-profile-next-title{font-size:12px;font-weight:700;color:var(--text-primary);margin-bottom:12px;}
.mw-strength-meter{margin-bottom:12px;}
.mw-strength-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.mw-strength-label{font-size:12px;font-weight:600;color:var(--text-primary);}
.mw-strength-pct{font-size:13px;font-weight:700;}
.mw-strength-note{font-size:11px;color:var(--text-muted);margin-top:5px;}
.mw-strength-note.ok{color:var(--success-text);font-weight:500;}
.mw-check{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--text-secondary);margin-top:12px;line-height:1.5;}
.mw-check>span{width:22px;height:22px;border-radius:var(--radius-pill);background:var(--info-bg);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;margin-top:2px;}
.mw-check>div{min-width:0;overflow-wrap:anywhere;}
.mw-check>div .u-text-11-muted{display:inline-block;width:auto;height:auto;margin-top:2px;border-radius:0;background:transparent;}
.mw-check.ok{color:var(--text-primary);}
.mw-check.ok>span{background:var(--success-bg);color:var(--success-text);}
.mw-check.next{color:var(--text-primary);font-weight:500;}
.mw-check.next>span{background:var(--avenly-teal);color:var(--text-inverse);}
button.mw-check{width:100%;text-align:left;padding:8px 10px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-card);cursor:pointer;transition:all .15s;margin-top:6px;font-family:inherit;}
button.mw-check:hover{border-color:var(--border-focus);background:var(--bg-hover);}
button.mw-check.ok{background:var(--success-bg);border-color:#c9ead2;}
button.mw-check.ok>span{background:var(--success-text);color:var(--text-inverse);}
button.mw-check.next>span{background:var(--avenly-teal);color:var(--text-inverse);}
button.mw-check:active{transform:translateY(0);box-shadow:none;}
.mw-popover button{width:100%;border:0;background:var(--mw-surface);padding:11px 14px;text-align:left;border-bottom:1px solid var(--mw-surface-lighter);cursor:pointer;}
.mw-popover button:hover{background:#F2F8FA;}
.mw-popover button strong{display:block;font-size:12.5px;color:var(--mw-text-primary);}
.mw-popover button span{display:block;font-size:11.5px;color:var(--mw-text-secondary);margin-top:2px;}
.mw-section-note{font-size:13px;color:var(--mw-text-secondary);line-height:1.6;margin-bottom:14px;}
.mw-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.mw-embedded-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.mw-embedded-list>.u-grid-full{grid-column:1/-1;}
.mw-offering-filterbar{grid-column:1/-1;background:var(--mw-surface-light);border:1px solid #E4ECF4;border-radius:14px;padding:12px;margin:4px 0 14px!important;box-shadow:0 10px 24px rgba(15,35,52,.04);}
.mw-offering-filterbar .form-input,.mw-offering-filterbar .form-select{min-height:42px;background:var(--mw-surface);border-color:#DCE7F1;}
.mw-creator-studio-grid{grid-column:1/-1;}
.mw-embedded-card{border:1px solid var(--mw-border);border-radius:var(--radius-lg);padding:14px;background:var(--mw-surface);}
.mw-program-card{background:var(--mw-surface);border:1px solid var(--mw-border);border-radius:18px;padding:12px;box-shadow:0 18px 38px rgba(15,35,55,0.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;overflow:hidden;cursor:pointer;}
.mw-program-card:hover{transform:translateY(-3px);box-shadow:0 24px 48px rgba(15,35,55,0.13);border-color:#B9D5E6;background:#FAFBFC;}
.mw-program-host{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:10px;}
.mw-program-avatar{width:38px;height:38px;border-radius:var(--radius-pill);background:#DCEBFA;color:#0B3E68;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:inset 0 0 0 2px rgba(255,255,255,0.9);}
.mw-program-by{font-size:12px;font-weight:700;color:var(--mw-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mw-program-role{font-size:10.5px;color:var(--mw-text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mw-program-media{height:138px;border-radius:14px;position:relative;overflow:hidden;background:#DCEBFA;margin-bottom:12px;}
.mw-program-media:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.2),rgba(255,255,255,0));}
.mw-program-media:after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 20% 22%,rgba(255,255,255,0.75) 0 5px,transparent 6px),radial-gradient(circle at 42% 58%,rgba(255,255,255,0.54) 0 18px,transparent 19px),linear-gradient(90deg,rgba(255,255,255,0.18) 1px,transparent 1px),linear-gradient(rgba(255,255,255,0.18) 1px,transparent 1px);background-size:auto,auto,28px 28px,28px 28px;mix-blend-mode:screen;}
.mw-program-media.workshop{background:linear-gradient(135deg,#123B4D 0%,#0A7D77 48%,#F0C66A 100%);}
.mw-program-media.ceu{background:linear-gradient(135deg,#0B3150 0%,#2B7DBA 52%,#D9ECFF 100%);}
.mw-program-media.group{background:linear-gradient(135deg,#0A4549 0%,#64D6C4 55%,#F7E7B8 100%);}
.mw-program-media.supervision{background:linear-gradient(135deg,var(--mw-text-primary) 0%,#415D7A 52%,#C8D6E4 100%);}
.mw-program-media.mentorship{background:linear-gradient(135deg,#533915 0%,#D69C2F 50%,#FFF0C9 100%);}
.mw-program-scene{position:absolute;left:18px;right:18px;bottom:18px;height:56px;border-radius:var(--radius-xl);background:rgba(255,255,255,0.22);border:1px solid rgba(255,255,255,0.36);backdrop-filter:blur(8px);}
.mw-program-scene span{position:absolute;bottom:12px;width:22px;height:22px;border-radius:var(--radius-pill);background:rgba(255,255,255,0.86);box-shadow:32px -12px 0 -2px rgba(255,255,255,0.72),64px 4px 0 -4px rgba(255,255,255,0.58);}
.mw-program-scene span:nth-child(1){left:18px;}
.mw-program-scene span:nth-child(2){left:92px;transform:scale(.82);}
.mw-program-scene span:nth-child(3){right:22px;transform:scale(.7);}
.mw-program-pill{position:absolute;top:10px;left:10px;z-index:2;border:1px solid rgba(255,255,255,0.42);background:rgba(7,55,69,0.78);color:var(--mw-surface);border-radius:var(--radius-pill);padding:6px 10px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;backdrop-filter:blur(8px);}
.mw-program-pill.closed{background:rgba(123,36,54,0.82);}
.mw-program-type{display:inline-flex;align-items:center;border-radius:var(--radius-pill);background:#E8F8F5;color:var(--mw-accent-teal);padding:5px 9px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
.mw-program-title{font-size:14px;font-weight:700;color:var(--mw-text-primary);line-height:1.35;margin-bottom:8px;}
.mw-program-meta{display:flex;gap:9px;flex-wrap:wrap;color:var(--mw-text-secondary);font-size:11.5px;line-height:1.5;margin-bottom:8px;}
.mw-program-meta span{display:inline-flex;align-items:center;gap:4px;}
.mw-program-desc{font-size:12.2px;color:#53677B;line-height:1.55;min-height:38px;margin-bottom:12px;}
.mw-program-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--mw-surface-lighter);padding-top:11px;}
.mw-program-price{font-size:14px;font-weight:900;color:var(--mw-accent-teal);}
.mw-program-price small{display:block;font-size:10.5px;font-weight:700;color:#7A8FA3;margin-top:1px;}
.mw-program-action{width:34px;height:34px;border:0;border-radius:var(--radius-pill);background:#F1AA3E;color:var(--mw-surface);font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(209,132,31,.25);}
.mw-program-action:hover{background:#D8841F;}
.mw-program-expand-btn{background:none;border:0;color:var(--mw-text-secondary);font-size:12px;font-weight:700;cursor:pointer;padding:4px 8px;border-radius:6px;display:inline-flex;align-items:center;gap:4px;transition:color .15s,background .15s;}
.mw-program-expand-btn:hover{color:#0B3E68;background:#E8F4FC;}
.mw-program-expand-btn svg{width:14px;height:14px;transition:transform .25s ease;}
.mw-program-expand-btn.open svg{transform:rotate(180deg);}
.mw-program-details{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease,opacity .25s ease;opacity:0;padding:0 2px;}
.mw-program-details.open{max-height:600px;opacity:1;padding:10px 2px 4px;}
.mw-program-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}
.mw-program-detail-item{background:var(--mw-surface-light);border:1px solid #E4ECF4;border-radius:var(--radius-lg);padding:8px 10px;font-size:11.5px;color:var(--mw-text-muted);line-height:1.45;}
.mw-program-detail-item strong{display:block;color:var(--mw-text-primary);font-size:12px;font-weight:700;margin-bottom:2px;}
.mw-program-detail-full{grid-column:1/-1;}
.mw-program-detail-full p{margin:0;color:#53677B;font-size:12px;line-height:1.6;}
.mw-billing-hero{background:linear-gradient(135deg,#082C34 0%,#0B4D53 64%,#0E6B63 100%);border-radius:18px;padding:24px;color:var(--mw-surface);position:relative;overflow:hidden;margin-bottom:16px;}
.mw-billing-hero::after{content:'';position:absolute;right:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(95,232,208,.25),rgba(95,232,208,0) 68%);}
.mw-billing-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8EE7DB;font-weight:700;margin-bottom:8px;}
.mw-billing-title{font-family:'DM Serif Display',serif;font-size:30px;line-height:1.08;margin-bottom:8px;position:relative;}
.mw-billing-copy{font-size:13.5px;color:rgba(255,255,255,.76);line-height:1.65;max-width:650px;position:relative;}
.mw-billing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;}
.mw-billing-stat{background:var(--mw-surface);border:1px solid #DCE7F1;border-radius:14px;padding:15px;box-shadow:0 10px 24px rgba(15,35,52,.05);}
.mw-billing-stat span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6E8094;font-weight:700;margin-bottom:7px;}
.mw-billing-stat strong{display:block;font-size:18px;color:#0B2238;line-height:1.25;}
.mw-billing-stat small{display:block;font-size:12px;color:#5E7186;margin-top:5px;line-height:1.45;}
.mw-billing-two{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;}
.mw-billing-list{display:flex;flex-direction:column;gap:10px;}
.mw-billing-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--mw-surface-lighter);}
.mw-billing-row:last-child{border-bottom:0;}
.mw-billing-row b{font-size:13px;color:var(--mw-text-primary);}
.mw-billing-row span{font-size:12px;color:var(--mw-text-muted);display:block;margin-top:2px;line-height:1.45;}
.mw-billing-row em{font-style:normal;font-size:12px;font-weight:700;color:var(--mw-accent-teal);background:#E9FBF7;border:1px solid #BBEFE4;border-radius:var(--radius-pill);padding:4px 9px;white-space:nowrap;}
.mw-billing-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.mw-billing-note{margin-top:12px;padding:12px 14px;border-radius:var(--radius-xl);background:#FFF8E8;border:1px solid #F4D18A;color:#7A4B00;font-size:12.5px;line-height:1.55;}
@media(max-width:760px){.rfs-legend{grid-template-columns:1fr}.rfs-concern-row,.rfs-detail-row{grid-template-columns:1fr}.rfs-choice-grid{grid-template-columns:1fr}.rfs-fit-option{min-height:54px}.rfs-chip{width:100%;justify-content:flex-start;text-align:left}}
.mw-creator-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0;}
.mw-creator-stat{background:var(--mw-surface-light);border:1px solid #DCE7F1;border-radius:14px;padding:12px;}
.mw-creator-stat span{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#6E8094;font-weight:700;margin-bottom:5px;}
.mw-creator-stat strong{display:block;font-size:18px;color:var(--mw-text-primary);}
.mw-creator-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.mw-creator-pill{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:4px 8px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:#E9FBF7;color:#08796F;border:1px solid #BDEDE5;}
.mw-creator-pill.draft{background:#EEF5FF;color:var(--mw-accent-blue);border-color:#CFE1F8;}
.mw-creator-pill.archived{background:#F4F6F8;color:var(--mw-text-muted);border-color:var(--mw-border);}
.mw-program-card.is-draft{border-style:dashed;background:#FBFDFF;}
@media(max-width:900px){.mw-offering-filterbar{grid-template-columns:1fr!important}.mw-creator-bar{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.mw-creator-bar{grid-template-columns:1fr}.mw-embedded-list{grid-template-columns:1fr}.mw-program-finance{grid-template-columns:1fr;}}
/* Participant Roster & My Registrations Styles */
.mw-roster-grid{display:flex;flex-direction:column;gap:16px;}
.mw-offering-group{border:1px solid #E4ECF4;border-radius:var(--radius-xl);padding:14px;background:#FAFBFC;}
.mw-offering-title{display:flex;align-items:center;justify-content:space-between;font-weight:700;color:var(--mw-text-primary);margin-bottom:12px;font-size:14px;}
.mw-count{display:inline-block;background:#E8F4FC;color:var(--mw-accent-blue);padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;margin-left:8px;}
.mw-participant-list{display:flex;flex-direction:column;gap:10px;}
.mw-participant-row{display:flex;align-items:center;justify-content:space-between;padding:10px;background:var(--mw-surface);border-radius:var(--radius-md);border:1px solid var(--mw-border);}
.mw-participant-info{flex:1;}
.mw-participant-name{font-weight:700;color:var(--mw-text-primary);font-size:13px;}
.mw-participant-email{font-size:12px;color:var(--mw-text-secondary);margin-top:2px;}
.mw-participant-meta{font-size:11px;color:#8A9AAB;margin-top:4px;}
.mw-participant-actions{display:flex;gap:8px;}
.mw-registrations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:12px;}
.mw-registration-card{border:1px solid var(--mw-border);border-radius:var(--radius-xl);padding:14px;background:var(--mw-surface);transition:border-color .15s,box-shadow .15s;}
.mw-registration-card:hover{border-color:#B9D5E6;box-shadow:0 8px 20px rgba(15,35,55,0.08);}
.mw-registration-header{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #E4ECF4;}
.mw-registration-title{font-weight:700;color:var(--mw-text-primary);font-size:14px;}
.mw-registration-creator{font-size:12px;color:var(--mw-text-secondary);margin-top:4px;}
.mw-registration-details{font-size:12px;margin-bottom:12px;display:flex;flex-direction:column;gap:6px;}
.mw-registration-details div{color:var(--mw-text-muted);}
.mw-registration-details strong{color:var(--mw-text-primary);}
.mw-registration-actions{display:flex;gap:6px;flex-direction:column;}
.mw-registration-actions .mw-link-btn{font-size:12px;padding:6px 10px;width:100%;text-align:center;}
.mw-program-media{position:relative;height:128px;border-radius:14px;overflow:hidden;margin:12px 0;background:linear-gradient(135deg,#DDF7F2,#EAF2FF);}
.mw-program-img{width:100%;height:100%;object-fit:cover;display:block;}
.mw-program-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,21,38,0) 45%,rgba(4,21,38,.34));pointer-events:none;}
.mw-program-badges{position:absolute;left:10px;top:10px;right:10px;display:flex;justify-content:space-between;gap:8px;z-index:1;}
.mw-program-badge{border-radius:var(--radius-pill);background:rgba(255,255,255,.92);color:#0B2238;font-size:10.5px;font-weight:900;padding:5px 8px;box-shadow:0 8px 18px rgba(15,35,55,.12);}
.mw-program-badge.ceu{background:#E9FBF7;color:#08796F;}
.mw-program-finance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 0;}
.mw-program-finance div{border-radius:var(--radius-lg);background:var(--mw-surface-light);border:1px solid #E4ECF4;padding:7px 8px;font-size:11px;color:var(--mw-text-muted);}
.mw-program-finance b{display:block;color:var(--mw-text-primary);font-size:12px;margin-top:2px;}
.creator-overlay{display:none;position:fixed;inset:0;background:rgba(7,28,46,.58);z-index:2300;align-items:center;justify-content:center;padding:28px 16px;overflow:auto;}
.creator-overlay.open{display:flex;}
.creator-box{width:min(860px,100%);background:var(--mw-surface);border-radius:22px;box-shadow:0 26px 80px rgba(4,21,38,.25);overflow:hidden;}
@media(max-width:768px){.creator-box{width:100%;max-height:90vh;overflow-y:auto;border-radius:16px;}}
@media(max-width:480px){.creator-box{width:100%;max-height:95vh;border-radius:var(--radius-xl);}.creator-overlay{padding:16px 12px;}}
.creator-head{padding:22px 26px;background:linear-gradient(135deg,#082C34,#0B5F5A);color:var(--mw-surface);display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.creator-head h2{font-family:'DM Serif Display',serif;font-size:28px;line-height:1.1;margin:0 0 5px;}
.creator-head p{margin:0;color:rgba(255,255,255,.76);font-size:13.5px;line-height:1.55;}
.creator-close{width:38px;height:38px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:var(--mw-surface);font-size:20px;cursor:pointer;}
@media(max-width:768px){.creator-head{padding:18px 20px;}.creator-head h2{font-size:24px;}}
@media(max-width:480px){.creator-head{padding:16px 16px;gap:12px;}.creator-head h2{font-size:20px;}.creator-close{width:32px;height:32px;font-size:18px;}}
.creator-body{padding:22px 26px;display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.creator-field{display:flex;flex-direction:column;gap:6px;}
.creator-field.span2{grid-column:1/-1;}
.creator-label{font-size:12px;font-weight:700;color:#52667C;text-transform:uppercase;letter-spacing:.06em;}
.creator-input,.creator-select,.creator-textarea{border:1.5px solid var(--mw-border);border-radius:var(--radius-xl);background:var(--mw-surface-light);color:var(--mw-text-primary);padding:11px 13px;font:inherit;font-size:13.5px;outline:none;}
.creator-textarea{min-height:92px;resize:vertical;}
.creator-input:focus,.creator-select:focus,.creator-textarea:focus{border-color:#1E9C92;background:var(--mw-surface);box-shadow:0 0 0 3px rgba(30,156,146,.12);}
.creator-warning{grid-column:1/-1;border:1px solid #F2C775;background:#FFF8E8;color:#714500;border-radius:14px;padding:12px 14px;font-size:12.5px;line-height:1.55;}
.creator-image-preview{min-height:150px;border:1px dashed #AFC4D8;border-radius:16px;background:var(--mw-surface-light);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#6E8094;text-align:center;font-size:13px;}
.creator-image-preview img{width:100%;height:100%;object-fit:cover;}
.creator-connect{grid-column:1/-1;border:1px solid #BDEDE5;background:#E9FBF7;border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;color:#075D55;}
.creator-errors{grid-column:1/-1;color:#B42318;font-size:12.5px;line-height:1.5;}
.creator-actions{padding:18px 26px;border-top:1px solid #E7EEF5;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.creator-admin-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px;}
.creator-admin-table th,.creator-admin-table td{padding:9px 8px;border-bottom:1px solid #E7EEF5;text-align:left;vertical-align:top;}
.creator-admin-table th{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#6E8094;}
@media(max-width:1024px){.mw-creator-bar{grid-template-columns:repeat(2,minmax(0,1fr));}.creator-body{grid-template-columns:1fr;}.creator-field.span2,.creator-warning,.creator-connect,.creator-errors{grid-column:auto;}}
@media(max-width:1024px){.mw-billing-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.mw-billing-two{grid-template-columns:1fr;}}
@media(max-width:768px){.mw-billing-grid{grid-template-columns:1fr;}.mw-billing-hero{padding:20px;}.mw-billing-title{font-size:25px;}}
.mw-legacy-card{background:#fff;border:1px solid #DCE5EF;border-radius:12px;box-shadow:0 10px 24px rgba(15,35,55,0.05);overflow:hidden;}
.mw-legacy-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #E7EEF5;background:#F8FBFD;}
.mw-legacy-title{font-size:16px;font-weight:700;color:#102033;}
.mw-legacy-copy{font-size:12.5px;color:#607388;line-height:1.5;margin-top:3px;}
.mw-legacy-mount > .page{display:block!important;min-height:0!important;animation:none!important;}
.mw-legacy-mount #page-profile,.mw-legacy-mount #page-ceu,.mw-legacy-mount #page-hub,.mw-legacy-mount #page-referral-manage,.mw-legacy-mount #page-supervision,.mw-legacy-mount #page-browse,.mw-legacy-mount #page-heatmap,.mw-legacy-mount #page-billing,.mw-legacy-mount #page-feedback,.mw-legacy-mount #page-admin{background:transparent!important;}
.mw-legacy-mount #demo-bar-profile,
body.member-workspace-active #demo-bar-profile{display:none!important;}

.mw-mobile-toggle{display:none;height:40px;border:1px solid #D8E2EC;background:#fff;border-radius:8px;padding:0 12px;font-weight:700;color:#102033;}
.mw-hm-card-select{width:100%;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--mw-border);font-family:inherit;font-size:12.5px;background:var(--mw-surface-light);color:var(--mw-text-primary);outline:none;cursor:pointer;}
.mw-hm-card-select:focus{border-color:var(--blue-400);box-shadow:0 0 0 2px rgba(59,130,246,.12);}
.mw-hm-card-score{display:flex;align-items:center;gap:10px;padding:10px;background:var(--mw-surface-lighter);border-radius:var(--radius-md);border:1px solid var(--mw-border);margin-top:10px;}
.mw-hm-card-score-badge{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0;}
.mw-hm-card-score-info{min-width:0;}
.mw-hm-card-score-name{font-weight:700;font-size:13px;color:var(--mw-text-primary);}
.mw-hm-card-score-tier{font-size:11px;color:var(--mw-text-secondary);}
.mw-hm-card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;font-size:11.5px;color:var(--mw-text-secondary);}
.mw-hm-card-metrics strong{color:var(--mw-text-primary);}
.mw-hm-card-link{display:inline-block;margin-top:10px;font-size:12px;font-weight:600;color:var(--blue-600);text-decoration:none;}
.mw-hm-card-link:hover{text-decoration:underline;}
.mw-hm-card-empty{font-size:12.5px;color:var(--mw-text-secondary);padding:8px 0;text-align:center;}
@media(max-width:640px){
  .mw-customizer-sheet{top:0;max-height:none;border-radius:0;}
  .mw-customizer-card{align-items:flex-start;flex-direction:column;}
  .mw-customizer-card-actions{width:100%;justify-content:flex-start;}
}
@media(max-width:1024px){.mw-shell{grid-template-columns:1fr}.mw-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;height:auto;z-index:90;transform:translateX(-105%);transition:transform .2s ease}.mw-sidebar.open,.mw-sidebar-open .mw-sidebar{transform:translateX(0)}.mw-mobile-toggle{display:inline-flex;align-items:center}.mw-main{padding:14px}.mw-hero{grid-template-columns:1fr;padding:22px;gap:16px}
  .mw-dashboard-card[data-size="large"],
  .mw-dashboard-card[data-size="wide"]{grid-column:1 / -1;}.mw-next-panel{grid-template-columns:1fr}.mw-next-actions{justify-content:flex-start}.mw-reminder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.mw-topbar{height:auto;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;top:4px}.mw-search-wrap{order:3;flex-basis:100%}.mw-quick{flex:1;justify-content:center}.mw-avatar{margin-left:auto}.mw-profile-priorities{grid-template-columns:1fr}.mw-hero{padding:16px}.mw-hero h1{font-size:26px}.mw-hero p{font-size:13px;line-height:1.5}.mw-hero-actions{margin-top:14px}.mw-main{padding:8px}.mw-content{padding-top:10px}.mw-card{padding:12px;border-radius:12px}.mw-card:hover{transform:none}.mw-next-panel{padding:12px;margin-top:10px}.mw-next-actions .mw-btn-primary,.mw-next-actions .mw-link-btn{width:100%;justify-content:center}.mw-reminder-grid{grid-template-columns:1fr}.mw-compact-status summary{align-items:flex-start;flex-wrap:wrap}.mw-status-pills{order:3;flex-basis:100%}.mw-compact-status-action{margin-left:auto}.mw-beta-strip-actions{margin-left:0!important;width:100%}.mw-customizer-sheet{right:0;left:0;top:auto;bottom:0;width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-left:none;border-top:1px solid var(--border-light);max-height:85vh;}.mw-card-drag-handle{display:none!important;}.mw-dashboard-card:hover .mw-card-drag-handle{display:none!important;}}


/* ============================================================
   Refinement pass — "calm by default, controls on intent"
   Management chrome keeps primary actions visible, while the Move
   handle stays quiet until hover/focus. Touch devices always show it.
   ============================================================ */
@media (hover:hover) {
  .mw-dashboard-card .mw-card-drag-handle{opacity:0;transition:opacity .16s ease;}
  .mw-dashboard-card:hover .mw-card-drag-handle,
  .mw-dashboard-card:focus-within .mw-card-drag-handle{opacity:1;}
}
.mw-dashboard-card .mw-card-actions{opacity:1;}
.mw-card-action-btn:focus-visible,.mw-card-drag-handle:focus-visible{outline:3px solid rgba(15,118,110,0.3);outline-offset:1px;}

/* Up-next panel: quiet teal spine ties it to the masthead */
.mw-next-panel{box-shadow:inset 3px 0 0 var(--avenly-teal-bright),0 1px 2px rgba(10,22,40,0.04),0 14px 36px -22px rgba(10,22,40,0.22);}

/* Workspace finishing touches */
.mw-page ::selection{background:rgba(20,184,166,0.22);}
.mw-sidebar{scrollbar-width:thin;scrollbar-color:rgba(245,242,236,0.18) transparent;}
.mw-sidebar::-webkit-scrollbar{width:8px;}
.mw-sidebar::-webkit-scrollbar-thumb{background:rgba(245,242,236,0.16);border-radius:99px;}
.mw-main{scrollbar-width:thin;scrollbar-color:rgba(10,22,40,0.18) transparent;}

/* Mobile toggle joins the token system */
.mw-mobile-toggle{border-color:var(--border-light);color:var(--text-primary);border-radius:10px;}

@media (prefers-reduced-motion:reduce){
  .mw-dashboard-card .mw-card-actions,
  .mw-dashboard-card .mw-card-drag-handle{transition:none!important;}
}


/* Analytics KPIs — mwRenderAnalytics() injects .mw-kpi articles into
   #mw-analytics-panel; without this they collapsed into run-on text. */
#mw-analytics-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;}
.mw-kpi{display:grid;gap:5px;padding:16px;border:1px solid var(--border-light);border-radius:12px;background:var(--mw-surface-lighter);}
.mw-kpi span{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mw-text-muted);}
.mw-kpi strong{font-family:'DM Serif Display',serif;font-weight:400;font-size:30px;line-height:1.05;color:var(--text-primary);}
.mw-kpi small{font-size:12px;line-height:1.45;color:var(--mw-text-secondary);}
@media(max-width:1024px){#mw-analytics-panel{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){#mw-analytics-panel{grid-template-columns:1fr;}}


/* Legacy pages mounted in the workspace sit under the panel masthead,
   which already shows the title, description, and Back to dashboard.
   Hide the pages' own duplicate headers so each panel has ONE title and
   ONE back affordance. Standalone (non-mounted) rendering keeps them. */
.mw-legacy-mount #page-hub .cd2-page-header{display:none;}
.mw-legacy-mount #page-referral-board .referral-board-header>div:first-child{display:none;}
.mw-legacy-mount #page-referral-board .referral-board-header{justify-content:flex-end;padding-top:0;}


/* Skeleton loading — calm shimmer for cards waiting on data. */
.mw-skeleton{position:relative;overflow:hidden;background:var(--mw-surface-lighter);border-radius:8px;min-height:14px;}
.mw-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,0.65),transparent);animation:mwShimmer 1.4s infinite;}
@keyframes mwShimmer{100%{transform:translateX(100%);}}
@media(prefers-reduced-motion:reduce){.mw-skeleton::after{animation:none;}}

/* Dashboard utility classes */
.avenly-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;box-shadow:var(--shadow-card);}
.avenly-sidebar{background:var(--bg-sidebar);color:var(--text-inverse);}
.avenly-sidebar-item{color:rgba(255,255,255,0.88);border-radius:10px;}
.avenly-sidebar-item:hover{background:rgba(255,255,255,0.08);}
.avenly-sidebar-item.active{background:var(--bg-selected);color:#ffffff;}
.avenly-btn-primary{background:var(--button-primary-bg);color:var(--button-primary-text);border:1px solid var(--button-primary-bg);border-radius:8px;font-weight:600;cursor:pointer;transition:background .15s;}
.avenly-btn-primary:hover{background:var(--button-primary-hover);}
.avenly-btn-secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border);border-radius:8px;font-weight:600;cursor:pointer;}
.avenly-badge{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;}
.avenly-badge-success{background:var(--success-bg);color:var(--success-text);}
.avenly-badge-warning{background:var(--warning-bg);color:var(--warning-text);}
.avenly-badge-info{background:var(--info-bg);color:var(--info-text);}
.avenly-badge-purple{background:var(--purple-bg);color:var(--purple-text);}
.avenly-badge-orange{background:var(--orange-bg);color:var(--orange-text);}


.wiz-body.results{display:block!important;padding:0!important;background:#F5F8FC!important;}
.wiz-step-wrap.results{max-width:none!important;width:100%!important;margin:0!important;}
body .mr-results-shell{font-family:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#0B1730;background:#F5F8FC;min-height:calc(100vh - 74px);margin:0!important;padding:0 0 96px!important;}
body .mr-summary-bar{background:linear-gradient(90deg,#FFFFFF 0%,#F7FCFE 58%,#EAF8FB 100%);border-bottom:1px solid #D9E6F0;box-shadow:0 10px 28px rgba(15,35,55,0.08);position:relative;overflow:hidden;}
body .mr-summary-inner{width:min(1420px,calc(100% - 48px));margin:0 auto;padding:26px 0 22px;display:flex;flex-direction:column;align-items:stretch;gap:18px;}
body .mr-summary-eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0E7D77;margin-bottom:6px;}
body .mr-summary-title{font-size:32px!important;line-height:1.1!important;margin:0 0 8px!important;color:#0B1730!important;font-weight:700!important;letter-spacing:0!important;}
body .mr-summary-sub{font-size:15px;line-height:1.55;color:#44576C;margin:0;max-width:760px;}
body .mr-summary-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
body .mr-summary-actions .btn,body .mr-summary-actions button{border-radius:8px!important;min-height:42px;padding:0 16px;font-weight:700;}
body .mr-summary-header{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:22px;align-items:start;width:100%;}
body .mr-edit-pref-btn{border:1.5px solid #0E7D77!important;background:#fff!important;color:#0E7D77!important;border-radius:8px!important;padding:0 18px!important;min-height:42px!important;font-weight:700!important;cursor:pointer;}
body .mr-summary-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:4px;width:100%;}
body .mr-summary-guide-item{background:#fff;border:1px solid #DCEAF0;border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.5;color:#44576C;box-shadow:0 4px 12px rgba(15,35,55,0.04);display:flex;flex-direction:column;}
body .mr-summary-guide-item strong{display:block;color:#102033;font-size:12.5px;margin-bottom:2px;}
body .mr-pref-row{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-top:4px;padding:12px 16px;background:#fff;border:1px solid #D9E6F0;border-radius:10px;}
body .mr-pref-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#5E7085;}
body .mr-pref-strip{width:min(1420px,calc(100% - 48px));margin:0 auto 22px;background:#fff;border:1px solid #D9E6F0;border-radius:10px;box-shadow:0 12px 28px rgba(15,35,55,0.07);padding:16px 18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;}
body .mr-pref-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#5E7085;}
body .mr-pref-list{display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap;}
body .mr-pref-chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#172A43;min-height:32px;}
body .mr-pref-chip svg{width:17px;height:17px;color:#0E7D77;stroke-width:2;}
body .mr-layout{width:min(1420px,calc(100% - 48px));margin:0 auto;display:grid!important;grid-template-columns:280px minmax(0,1fr)300px;gap:22px;align-items:start;}
body .mr-filters-panel,body .mr-right-panel,body .mr-shortlist-panel{background:#fff;border:1px solid #DDE8F1;border-radius:10px;box-shadow:0 12px 28px rgba(15,35,55,0.06);}
body .mr-filters-panel{position:sticky;top:88px;padding:18px;}
body .mr-filters-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:700;color:#102033;margin:0 0 14px;}
body .mr-filter-group{border-top:1px solid #E6EEF5;padding:13px 0;}
body .mr-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;}
body .mr-panel-title{font-size:15px;font-weight:700;color:#102033;margin:0;}
body .mr-reset-btn,body .mr-link-btn,body .mr-filters-reset{border:0;background:transparent;color:#0E7D77;font-size:12px;font-weight:700;cursor:pointer;padding:0;}
body .mr-filter-section{border-top:1px solid #E6EEF5;padding:14px 0;}
body .mr-filter-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1C304A;margin-bottom:7px;}
body .mr-filter-value{font-size:12px;color:#61758A;line-height:1.45;margin-bottom:8px;}
body .mr-filter-section select,body .mr-filter-section input,body .mr-filter-select,body .mr-filter-input{width:100%;min-height:38px;border:1px solid #C9D8E5;border-radius:8px;background:#fff;color:#102033;font:700 13px 'Plus Jakarta Sans',sans-serif;padding:0 10px;}
body .mr-rate-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
body .mr-update-btn{width:100%;min-height:40px;border:1.5px solid #0E9A94;background:#fff;color:#0E7D77;border-radius:8px;font-weight:700;cursor:pointer;margin-top:8px;}
body .mr-results-main{min-width:0;display:flex;flex-direction:column;gap:14px;}
body .mr-results-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
body .mr-count-line{font-size:14px;color:#5E7085;}
body .mr-count-line strong{font-size:16px;color:#102033;}
body .mr-sort-inline{display:flex;align-items:center;gap:8px;font-size:13px;color:#607388;}
body .mr-sort-inline select{min-height:36px;border:1px solid #C9D8E5;border-radius:8px;background:#fff;padding:0 10px;font-weight:700;color:#102033;}
body .mr-card{background:#fff;border:1px solid #DDE8F1;border-radius:10px;box-shadow:0 12px 28px rgba(15,35,55,0.06);padding:18px;margin-bottom:14px;display:block!important;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;}
body .mr-card:hover{border-color:#BFD4E4;box-shadow:0 18px 40px rgba(15,35,55,0.1);transform:translateY(-1px);}
body .mr-card.top-match{border-left:4px solid #14B8AC;}
body .mr-card-header-row{display:grid!important;grid-template-columns:86px minmax(0,1fr);gap:16px;align-items:start;}
body .mr-card-avatar{width:76px;min-width:76px;}
body .mr-card-avatar img,body .mr-card-avatar .avatar,body .mr-card-avatar [class*="avatar"],body .mr-card-avatar > div{width:76px!important;height:76px!important;border-radius:50%!important;object-fit:cover;border:1px solid #DDE8F1;background:#EAF4F7;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#0E7D77;overflow:hidden;}
body .mr-card-main{min-width:0;}
body .mr-card-top-row{display:flex!important;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:nowrap;}
body .mr-match-pill{background:#CFF8F4;color:#0A746F;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;text-transform:uppercase;}
body .mr-strength{color:#0E7D77;font-size:12px;font-weight:700;}
body .mr-card-name{font-size:20px!important;line-height:1.2!important;margin:0 0 4px!important;color:#102033!important;font-weight:700!important;}
body .mr-card-creds{font-size:13px;color:#607388;line-height:1.45;margin:0 0 3px;}
body .mr-card-location{display:flex;align-items:center;gap:5px;font-size:12.5px;color:#607388;line-height:1.4;margin-top:3px;}
body .mr-card-match-badge{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;margin-bottom:8px;}
body .mr-card-match-badge.strong{background:#CFF8F4;color:#0A746F;border:1px solid #A7EDE7;}
body .mr-card-match-badge.good{background:#EAF4FF;color:#0D63B7;border:1px solid #CEE4FF;}
body .mr-card-match-badge.possible{background:#F3F6F9;color:#52667D;border:1px solid #DDE8F1;}
body .mr-card-price{text-align:right;min-width:112px;}
body .mr-card-price strong{display:block;font-size:21px;line-height:1;color:#0B1730;font-weight:900;}
body .mr-card-price span{display:block;font-size:11px;color:#718499;margin-top:3px;}
body .mr-card-badges-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;}
body .mr-card-badge,body .mr-badge-mismatch{display:inline-flex;align-items:center;gap:4px;border-radius:999px;border:1px solid #D9E6F0;background:#F8FBFD;color:#30445C;font-size:11px;font-weight:700;padding:5px 9px;line-height:1.1;}
body .mr-card-badge.open{background:#E9F9F0;color:#0E7D45;border-color:#C7EBD6;}
body .mr-card-badge.waitlist-badge{background:#FFF7E8;color:#A15C00;border-color:#F2D29B;}
body .mr-card-badge.telehealth{background:#EAF4FF;color:#0D63B7;border-color:#CEE4FF;}
body .mr-card-badge.inperson{background:#F2EAFE;color:#6E3DB5;border-color:#E2D4FA;}
body .mr-card-badge.specialty{background:#F8FBFD;color:#30445C;}
body .mr-card-badge.approach{background:#F5F7FA;color:#44576C;}
body .mr-card-badge.lang{background:#FFF7E8;color:#A15C00;border-color:#F2D29B;}
body .mr-badge-mismatch{background:#FFF1F1;color:#A32222;border-color:#F4C3C3;}
body .mr-card-rationale{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;}
body .mr-card-rationale-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#718499;}
body .mr-card-rationale-chip{border-radius:999px;background:#F4FAFB;border:1px solid #D9EEF1;color:#0E7D77;font-size:11px;font-weight:700;padding:4px 8px;}
body .mr-card-details{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;padding:12px;border:1px solid #E4ECF3;background:#F8FBFD;border-radius:8px;}
body .mr-detail-item{min-width:0;}
body .mr-detail-label{display:block;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#718499;margin-bottom:4px;}
body .mr-detail-value{display:block;font-size:12.5px;color:#253950;line-height:1.35;word-break:normal;}
body .mr-why-toggle{margin-top:12px;min-height:36px;border:1px solid #C9D8E5;background:#fff;color:#18314D;border-radius:8px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;font-weight:700;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;}
body .mr-why-panel{display:none;margin-top:10px;background:#F8FBFD;border:1px solid #E0E9F1;border-radius:8px;padding:12px;}
body .mr-why-panel.open{display:block;}
body .mr-why-title{font-size:12px;font-weight:900;text-transform:uppercase;color:#20344D;margin-bottom:9px;display:flex;align-items:center;gap:6px;}
body .mr-why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;}
body .mr-why-item{font-size:12px;color:#52667D;line-height:1.4;display:flex;gap:6px;}
body .mr-why-item svg{flex:0 0 14px;color:#0E9A94;}
body .mr-why-item.miss svg{color:#B7791F;}
body .mr-phi-warning{margin-top:10px;font-size:11.5px;color:#607388;background:#fff;border:1px solid #E4ECF3;border-radius:7px;padding:8px 10px;}
body .mr-card-actions{display:flex!important;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid #E8F0F6;}
body .mr-card-actions button{min-height:38px;border-radius:8px;border:1px solid #C9D8E5;background:#fff;color:#18314D;font-weight:700;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;padding:0 12px;}
body .mr-card-actions .primary{background:#0E9A94;color:#fff;border-color:#0E9A94;}
body .mr-card-actions .secondary{background:#fff;color:#0E7D77;border-color:#0E9A94;}
body .mr-card-actions .waitlist{background:#FFF7E8;color:#A15C00;border-color:#F2D29B;}
body .mr-card-actions .compare.active,body .mr-card-actions .save.saved{background:#E9F9F8;border-color:#0E9A94;color:#0E7D77;}
body .mr-not-fit-btn{margin-left:auto;background:transparent!important;border-color:transparent!important;color:#607388!important;}
body .mr-right-rail{display:flex;flex-direction:column;gap:16px;position:sticky;top:88px;}
body .mr-shortlist-panel{padding:16px;}
body .mr-side-list{display:flex;flex-direction:column;gap:12px;margin-top:12px;}
body .mr-side-row{display:grid;grid-template-columns:38px minmax(0,1fr)24px;gap:10px;align-items:center;}
body .mr-side-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#EAF4F7;border:1px solid #DDE8F1;}
body .mr-side-name{font-size:13px;font-weight:700;color:#102033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body .mr-side-meta{font-size:11px;color:#607388;}
body .mr-side-remove{border:0;background:transparent;color:#607388;font-size:18px;cursor:pointer;}
body .mr-decision-panel{background:#FFF9F0;border:1px solid #F0E0C8;border-radius:10px;padding:16px;box-shadow:0 12px 28px rgba(15,35,55,0.05);}
body .mr-decision-title{font-size:14px;font-weight:700;color:#102033;margin:0 0 5px;}
body .mr-decision-copy{font-size:12px;color:#607388;line-height:1.5;margin:0 0 12px;}
body .mr-decision-chips{display:flex;gap:6px;flex-wrap:wrap;}
body .mr-decision-chip{border:1px solid #D8E2EC;background:#fff;border-radius:7px;color:#18314D;font-size:12px;font-weight:700;padding:6px 8px;cursor:pointer;}
body .mr-rail-title{font-size:15px;font-weight:700;color:#102033;margin-bottom:7px;}
body .mr-rail-copy{font-size:12.5px;line-height:1.5;color:#607388;margin:0 0 10px;}
body .mr-compare-rail-empty{font-size:12.5px;color:#607388;line-height:1.45;margin:8px 0 12px;}
body .mr-compare-rail-list{display:flex;flex-direction:column;gap:8px;margin:10px 0 12px;}
body .mr-compare-rail-item{display:grid;grid-template-columns:30px minmax(0,1fr)24px;gap:8px;align-items:center;font-size:12px;font-weight:700;color:#102033;}
body .mr-rail-action{width:100%;min-height:38px;border-radius:8px;border:1px solid #0E9A94;background:#fff;color:#0E7D77;font-weight:700;cursor:pointer;}
body .mr-rail-action.primary{background:#0E9A94;color:#fff;}
body .mr-compare-bar{position:fixed;right:28px;bottom:22px;z-index:80;background:#0B213D;color:#fff;border-radius:18px;box-shadow:0 18px 46px rgba(15,35,55,0.28);padding:10px 12px;display:none;align-items:center;gap:12px;min-width:min(640px,calc(100vw - 40px));}
body .mr-compare-bar.is-hidden{display:none;}
body .mr-compare-bar.visible{display:flex;}
body .mr-compare-bar-label{font-size:13px;font-weight:700;white-space:nowrap;}
body .mr-compare-bar-slots{display:flex;gap:8px;align-items:center;flex:1;}
body .mr-compare-bar-slot{min-height:34px;border:1px dashed rgba(255,255,255,.28);border-radius:999px;padding:0 10px;display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.72);font-size:12px;font-weight:600;white-space:nowrap;}
body .mr-compare-bar-slot.filled{border-style:solid;background:rgba(255,255,255,.1);color:#fff;}
body .mr-compare-bar-slot img,body .mr-compare-bar-slot .avatar,body .mr-compare-bar-slot > div:first-child{width:26px!important;height:26px!important;border-radius:50%!important;margin-left:-5px;}
body .mr-compare-bar-remove{width:22px;height:22px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;cursor:pointer;}
body .mr-compare-bar-btn,body .mr-compare-bar-clear{min-height:36px;border-radius:8px;border:0;padding:0 14px;font-weight:900;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;}
body .mr-compare-bar-btn{background:#14B8AC;color:#fff;}
body .mr-compare-bar-clear{background:rgba(255,255,255,.12);color:#fff;}
body .mr-results-shell{background:#F4F7FA!important;color:#102033!important;}
body .mr-summary-bar{background:#FFFFFF!important;border-bottom:1px solid #DCE7F1!important;box-shadow:0 10px 30px rgba(15,35,55,0.045)!important;}
body .mr-summary-inner{width:min(1360px,calc(100% - 64px));padding:32px 0 28px;align-items:stretch;}
body .mr-summary-eyebrow{color:#0A8F88!important;font-weight:700!important;}
body .mr-summary-title{color:#17365D!important;font-size:28px!important;margin-bottom:6px!important;}
body .mr-summary-sub{color:#4D6178!important;font-weight:500!important;}
body .mr-summary-guide-item{background:#F8FBFD!important;border-color:#E0EAF2!important;color:#52667D!important;box-shadow:none!important;}
body .mr-summary-guide-item strong{color:#17365D!important;}
body .mr-pref-row{background:#F8FBFD!important;border-color:#E0EAF2!important;box-shadow:none!important;}
body .mr-pref-chip{color:#17365D!important;font-weight:700!important;}
body .mr-pref-chip svg{color:#0A8F88!important;}
body .mr-layout{width:min(1360px,calc(100% - 64px));gap:20px;}
body .mr-filters-panel,body .mr-right-panel,body .mr-shortlist-panel{border-color:#DCE7F1!important;border-radius:12px!important;box-shadow:0 10px 26px rgba(15,35,55,0.055)!important;}
body .mr-filters-title,body .mr-shortlist-title,body .mr-rail-title,body .mr-decision-title{color:#17365D!important;}
body .mr-filter-label,body .mr-count-line strong{color:#244462!important;}
body .mr-filter-select,body .mr-filter-input{color:#17365D!important;background:#FFFFFF!important;}
body .mr-card{border-color:#DCE7F1!important;border-radius:12px!important;box-shadow:0 12px 28px rgba(15,35,55,0.06)!important;background:#FFFFFF!important;}
body .mr-card:hover{box-shadow:0 18px 40px rgba(15,35,55,0.1)!important;}
body .mr-card-name{color:#17365D!important;}
body .mr-card-creds,body .mr-card-location,body .mr-detail-value,body .mr-card-rationale-label,body .mr-rail-copy,body .mr-shortlist-empty,body .mr-compare-rail-empty{color:#52667D!important;}
body .mr-card-price strong{color:#17365D!important;}
body .mr-card-badge.telehealth,body .mr-card-rationale-chip{background:#EAFBFA!important;border-color:#C8F2EE!important;color:#0A8F88!important;}
body .mr-card-badge.inperson{background:#EEF5FF!important;border-color:#D7E8FF!important;color:#185FA5!important;}
body .mr-card-badge.specialty,body .mr-card-badge.approach{background:#F8FBFD!important;border-color:#E0EAF2!important;color:#244462!important;}
body .mr-card-actions .primary{background:#16C7C1!important;border-color:#16C7C1!important;color:#FFFFFF!important;box-shadow:0 8px 18px rgba(22,199,193,0.2);}
body .mr-card-actions .secondary,body .mr-why-toggle{border-color:#16C7C1!important;color:#0A8F88!important;background:#FFFFFF!important;}
body .mr-not-fit-btn{color:#8AA0B5!important;}
body .mr-decision-panel{background:#FFFFFF!important;border-color:#DCE7F1!important;}
body .mr-decision-btn,body .mr-decision-chip{border-color:#DCE7F1!important;color:#244462!important;background:#FFFFFF!important;}
body .mr-decision-btn.active,body .mr-decision-btn:hover{background:#EAFBFA!important;border-color:#16C7C1!important;color:#0A8F88!important;}
@media(max-width:1180px){body .mr-layout{grid-template-columns:260px minmax(0,1fr);}body .mr-right-rail{grid-column:1 / -1;position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:860px){body .mr-summary-inner,body .mr-pref-strip,body .mr-layout{width:calc(100% - 28px);}body .mr-summary-header{grid-template-columns:1fr;}body .mr-summary-guide{grid-template-columns:1fr;}body .mr-summary-inner{align-items:flex-start;flex-direction:column;}body .mr-pref-strip{grid-template-columns:1fr;}body .mr-layout{grid-template-columns:1fr;}body .mr-filters-panel,body .mr-right-rail{position:static;}body .mr-card-header-row{grid-template-columns:72px minmax(0,1fr);}body .mr-card-details{grid-template-columns:repeat(2,minmax(0,1fr));}body .mr-card-actions{display:grid!important;grid-template-columns:1fr 1fr;}body .mr-card-price{text-align:left;}body .mr-right-rail{display:flex;}body .mr-why-grid{grid-template-columns:1fr;}}
@media(max-width:560px){body .mr-summary-title{font-size:26px!important;}body .mr-card-header-row{grid-template-columns:1fr;}body .mr-card-top-row{flex-direction:column;}body .mr-card-avatar{width:70px;}body .mr-card-avatar img,body .mr-card-avatar .avatar,body .mr-card-avatar [class*="avatar"],body .mr-card-avatar > div{width:70px!important;height:70px!important;}body .mr-card-details{grid-template-columns:1fr;}body .mr-card-actions{display:flex!important;flex-direction:column;align-items:stretch;}body .mr-not-fit-btn{margin-left:0;}body .mr-compare-bar{left:12px;right:12px;bottom:12px;min-width:0;flex-wrap:wrap;}body .mr-compare-bar-slots{order:3;flex-basis:100%;overflow:auto;}}


/* Design System Components
 * Consolidated from inline-styles-2.css through inline-styles-5.css
 * Contains: button states, city shell, blog shell, filter panels
 */

/* === inline-styles-2.css === */
#terms-accept-btn:not([disabled]){opacity:1 !important;}#terms-accept-btn:not([disabled]):hover{background:#0F766E !important;}

/* === inline-styles-3.css === */
#beta-nda-accept-btn:not([disabled]){opacity:1 !important;}#beta-nda-accept-btn:not([disabled]):hover{background:#0F766E !important;}

/* === inline-styles-4.css === */
.city-shell { background: #F8FAFC; min-height: calc(100vh - 60px); }
  .city-hero { background: linear-gradient(135deg, #0A1628 0%, #0F3543 100%); color: #fff; padding: 56px 24px 44px; text-align: center; }
  .city-hero h1 { font-family: 'DM Serif Display', Georgia, serif; font-size: clamp(2rem, 4vw, 2.8rem); margin: 0 0 12px; }
  .city-hero p { color: rgba(255,255,255,0.78); max-width: 640px; margin: 0 auto; font-size: 16px; line-height: 1.6; }
  .city-stat-row { display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:22px; }
  .city-stat { background:rgba(45,212,191,0.12); border:1px solid rgba(45,212,191,0.35); border-radius:8px; padding:8px 14px; font-size:13px; color:#5EEAD4; font-weight:600; }
  .city-wrap { max-width:1100px; margin:0 auto; padding:32px 24px 64px; }
  .city-section { background:#fff; border:1px solid #E2E8F0; border-radius:12px; padding:24px 26px; margin-bottom:18px; }
  .city-section h2 { font-family:'DM Serif Display',Georgia,serif; font-size:1.4rem; color:#0A1628; margin:0 0 10px; }
  .city-cta-row { display:flex;gap:10px;flex-wrap:wrap;margin-top:14px; }

/* === inline-styles-5.css === */
.blog-shell { background: #F8FAFC; min-height: calc(100vh - 60px); }
  .blog-hero { background: #0A1628; color: #fff; padding: 64px 24px 48px; text-align: center; }
  .blog-hero h1 { font-family: 'DM Serif Display', Georgia, serif; font-size: clamp(2rem, 4vw, 2.8rem); margin: 0 0 12px; }
  .blog-hero p { color: rgba(255,255,255,0.7); max-width: 600px; margin: 0 auto; font-size: 16px; line-height: 1.6; }
  .blog-wrap { max-width: 1100px; margin: 0 auto; padding: 32px 24px 64px; }
  .blog-toolbar { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 28px; }
  .blog-cat-chip { padding: 7px 14px; border-radius: 999px; background: #fff; border: 1px solid #E2E8F0; font-size: 13px; cursor: pointer; color: #475569; font-weight: 600; transition: all 0.15s; }
  .blog-cat-chip:hover { border-color: #0D9488; color: #0D9488; }
  .blog-cat-chip.active { background: #0D9488; color: #fff; border-color: #0D9488; }
  .blog-cat-chip:focus-visible { outline: 3px solid #0D9488; outline-offset: 2px; border-radius: 999px; }
  .blog-filter-panel { display: grid; grid-template-columns: minmax(220px, 1.5fr) repeat(4, minmax(130px, 1fr)); gap: 10px; margin: -12px 0 26px; }
  .blog-filter-panel input, .blog-filter-panel select { width: 100%; min-height: 42px; border: 1px solid #CBD5E1; border-radius: 8px; background: #fff; color: #0A1628; font-size: 13px; padding: 9px 11px; box-sizing: border-box; }
  .blog-filter-panel label { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 9px 11px; border: 1px solid #CBD5E1; border-radius: 8px; background: #fff; color: #334155; font-size: 13px; box-sizing: border-box; }
  .blog-filter-summary { font-size: 12.5px; color: #64748B; margin: -12px 0 18px; }
  .blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; }
  .blog-card { background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius-xl); overflow: hidden; cursor: pointer; transition: transform 0.15s, box-shadow 0.15s; display: flex; flex-direction: column; }
  .blog-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(10,22,40,0.08); }
  .blog-card-hero { aspect-ratio: 16/9; background: linear-gradient(135deg, #0D9488 0%, #0F766E 100%); display: flex; align-items: center; justify-content: center; }
  .blog-card-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .blog-card-body { padding: 18px 20px 16px; flex: 1; display: flex; flex-direction: column; }
  .blog-card-cat { font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #0F766E; margin-bottom: 8px; }
  .blog-card-title { font-family: 'DM Serif Display', Georgia, serif; font-size: 19px; line-height: 1.25; color: #0A1628; margin-bottom: 10px; }
  .blog-card-excerpt { font-size: 13.5px; color: #475569; line-height: 1.55; margin-bottom: 14px; flex: 1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .blog-card-meta { font-size: 12px; color: #94A3B8; display: flex; gap: 10px; align-items: center; }
  .blog-card-author { font-weight: 600; color: #475569; }
  .blog-empty { text-align: center; padding: 64px 24px; color: #64748B; }
  .blog-empty h3 { font-family: 'DM Serif Display', Georgia, serif; color: #0A1628; margin-bottom: 8px; }
  /* Single post */
  .blog-article { max-width: 720px; margin: 0 auto; padding: 48px 24px 64px; background: #fff; }
  .blog-article-back { display: inline-flex; align-items: center; gap: 6px; color: #0D9488; font-weight: 600; font-size: 13px; text-decoration: none; margin-bottom: 24px; cursor: pointer; }
  .blog-article-cat { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #0F766E; margin-bottom: 14px; }
  .blog-article h1.blog-article-title { font-family: 'DM Serif Display', Georgia, serif; font-size: clamp(1.8rem, 3.5vw, 2.6rem); line-height: 1.18; color: #0A1628; margin: 0 0 18px; }
  .blog-article-meta { display: flex; gap: 14px; align-items: center; color: #64748B; font-size: 13.5px; margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px solid #E2E8F0; }
  .blog-article-hero { width: 100%; max-height: 380px; object-fit: cover; border-radius: 12px; margin-bottom: 32px; display: block; }
  .blog-article-body { font-size: 16.5px; line-height: 1.75; color: #1F2937; }
  .blog-article-body p { margin: 0 0 18px; }
  .blog-article-body h2 { font-family: 'DM Serif Display', Georgia, serif; font-size: 1.55rem; color: #0A1628; margin: 36px 0 14px; line-height: 1.25; }
  .blog-article-body h3 { font-family: 'DM Serif Display', Georgia, serif; font-size: 1.2rem; color: #0A1628; margin: 28px 0 10px; }
  .blog-article-body ul, .blog-article-body ol { margin: 0 0 18px; padding-left: 24px; }
  .blog-article-body li { margin-bottom: 8px; }
  .blog-article-body blockquote { border-left: 3px solid #0D9488; background: #F0FDFA; padding: 14px 20px; margin: 22px 0; color: #134E4A; border-radius: 0 8px 8px 0; }
  .blog-article-body a { color: #0D9488; text-decoration: underline; }
  .blog-article-body strong { font-weight: 700; color: #0A1628; }
  .blog-author-card { display: flex; gap: 16px; padding: 22px; background: #F8FAFC; border: 1px solid #E2E8F0; border-radius: 14px; margin-top: 40px; align-items: flex-start; }
  .blog-author-avatar { width: 56px; height: 56px; border-radius: 50%; background: #0D9488; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 18px; flex-shrink: 0; }
  .blog-author-name { font-weight: 700; color: #0A1628; font-size: 15px; }
  .blog-author-cred { font-size: 12.5px; color: #64748B; margin-top: 2px; }
  .blog-author-link { display: inline-block; margin-top: 8px; font-size: 13px; color: #0D9488; font-weight: 600; text-decoration: none; cursor: pointer; }
  .blog-disclaimer { margin-top: 32px; padding: 14px 18px; background: #FEF3C7; border: 1px solid #FCD34D; border-radius: 8px; font-size: 12.5px; color: #78350F; line-height: 1.6; }
  /* Editor */
  .blog-editor-wrap { max-width: 760px; margin: 0 auto; padding: 32px 24px 64px; }
  .blog-editor-section { background: #fff; border: 1px solid #E2E8F0; border-radius: 12px; padding: 22px 24px; margin-bottom: 18px; }
  .blog-editor-section label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #475569; margin-bottom: 6px; }
  .blog-editor-section input[type="text"], .blog-editor-section textarea, .blog-editor-section select { width: 100%; padding: 10px 12px; border: 1px solid #CBD5E1; border-radius: 8px; font-size: 14px; font-family: inherit; color: #0A1628; box-sizing: border-box; }
  .blog-editor-section textarea { resize: vertical; min-height: 80px; }
  .blog-editor-body { min-height: 320px; font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; font-size: 14px; line-height: 1.65; }
  .blog-editor-hint { font-size: 11.5px; color: #94A3B8; margin-top: 4px; }
  .blog-phi-warn { padding: 12px 14px; background: #FEE2E2; border: 1px solid #FCA5A5; border-radius: 8px; font-size: 12.5px; color: #991B1B; margin: 10px 0; line-height: 1.55; }
  .blog-editor-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; margin-top: 12px; }
  .blog-btn { padding: 10px 18px; border-radius: 8px; font-size: 13.5px; font-weight: 700; cursor: pointer; border: none; }
  .blog-btn-primary { background: #0D9488; color: #fff; }
  .blog-btn-primary:hover { background: #0F766E; }
  .blog-btn-ghost { background: #fff; color: #475569; border: 1px solid #CBD5E1; }
  .blog-btn-danger { background: #fff; color: #B91C1C; border: 1px solid #FCA5A5; }
  .blog-status-badge { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 3px 8px; border-radius: 4px; }
  .blog-status-draft { background: #F1F5F9; color: #475569; }
  .blog-status-pending_review { background: #FEF3C7; color: #92400E; }
  .blog-status-peer_review { background: #DBEAFE; color: #1E40AF; }
  .blog-status-published { background: #D1FAE5; color: #065F46; }
  .blog-status-rejected { background: #FEE2E2; color: #991B1B; }
  .blog-status-admin_flagged { background: #FCE7F3; color: #9D174D; }
  .blog-status-removed { background: #1F2937; color: #fff; }
  .blog-peer-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 11px; background:#D1FAE5; color:#065F46; font-size:11.5px; font-weight:700; border-radius:999px; }
  .blog-peer-badge svg { flex-shrink:0; }
  .blog-reviewer-link{background:none;border:none;padding:0;cursor:pointer;color:#065F46;font-weight:700;font-family:inherit;font-size:inherit;text-decoration:underline;text-underline-offset:2px;}
  .blog-reviewer-link:hover{color:#0F766E;}
  .mp-insights-teaser{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#F0FDFA;border:1px solid #99F6E4;border-radius:8px;font-size:13px;color:#065F46;font-weight:600;margin-bottom:1rem;}
  .mp-insights-teaser svg{flex-shrink:0;}
  .mp-insights-teaser button{background:none;border:none;color:#0D9488;font-weight:700;font-size:13px;cursor:pointer;padding:0;margin-left:auto;font-family:inherit;}
  .mp-insights-teaser button:hover{text-decoration:underline;}
  .blog-review-card { background:#fff; border:1px solid #E2E8F0; border-radius:10px; padding:16px 18px; margin-bottom:12px; }
  .blog-review-card-meta { display:flex; gap:10px; align-items:center; font-size:12px; color:#64748B; margin-bottom:8px; }
  .blog-review-card-comment { font-size:13.5px; color:#334155; line-height:1.6; padding-top:8px; border-top:1px dashed #E2E8F0; margin-top:8px; }
  .blog-rubric-grid { display:grid; grid-template-columns:1fr; gap:14px; margin:14px 0; }
  .blog-rubric-row { display:flex; justify-content:space-between; align-items:center; padding:10px 12px; background:#F8FAFC; border:1px solid #E2E8F0; border-radius:8px; }
  .blog-rubric-row label { font-weight:600; color:#0A1628; font-size:13.5px; flex:1; margin:0; text-transform:none; letter-spacing:normal; }
  .blog-rubric-row .blog-rubric-stars { display:flex; gap:3px; }
  .blog-rubric-row input[type="radio"] { display:none; }
  .blog-rubric-row .star-btn { background:#fff; border:1px solid #CBD5E1; color:#94A3B8; width:32px; height:32px; border-radius:6px; font-weight:700; cursor:pointer; font-size:13px; }
  .blog-rubric-row .star-btn.active { background:#0D9488; color:#fff; border-color:#0D9488; }
  .blog-recommendation-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin:14px 0 6px; }
  .blog-rec-btn { padding:12px 14px; border:1.5px solid #CBD5E1; border-radius:10px; background:#fff; font-size:13px; font-weight:600; color:#0A1628; cursor:pointer; text-align:left; line-height:1.4; }
  .blog-rec-btn:hover { border-color:#0D9488; }
  .blog-rec-btn.active { border-color:#0D9488; background:#F0FDFA; }
  .blog-rec-btn.negative.active { border-color:#DC2626; background:#FEE2E2; color:#7F1D1D; }
  .blog-rec-btn small { display:block; font-weight:500; color:#64748B; margin-top:3px; font-size:11.5px; }
  @media(max-width:560px){.blog-recommendation-grid{grid-template-columns:1fr;}}
  .blog-list-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px 16px; border-bottom: 1px solid #E2E8F0; }
  .blog-list-row:last-child { border-bottom: none; }
  .blog-list-row-main { flex: 1; min-width: 0; }
  .blog-list-row-title { font-weight: 700; color: #0A1628; font-size: 14.5px; }
  .blog-list-row-meta { font-size: 12px; color: #64748B; margin-top: 3px; }
  @media (max-width: 900px) { .blog-filter-panel { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 640px) { .blog-grid { grid-template-columns: 1fr; } .blog-article { padding: 32px 18px 48px; } .blog-filter-panel { grid-template-columns: 1fr; } }


/* Landing Page / Marketing Utilities
 * Consolidated from lp-utilities.css
 */

/* -- Layout utilities -- */
    .flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.u-hidden{display:none}
    .items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}
    .flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.min-w-0{min-width:0}
    .gap-1{gap:4px}.gap-1\.5{gap:6px}.gap-2{gap:8px}.gap-2\.5{gap:10px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.gap-8{gap:32px}.gap-9{gap:36px}.gap-12{gap:48px}.gap-16{gap:64px}
    .space-y-3>*+*{margin-top:12px}.space-y-5>*+*{margin-top:20px}
    .w-2{width:8px}.w-5{width:20px}.w-7{width:28px}.w-8{width:32px}.w-10{width:40px}.w-12{width:48px}.w-24{width:96px}.w-full{width:100%}
    .h-1\.5{height:6px}.h-2{height:8px}.h-4{height:16px}.h-7{height:28px}.h-8{height:32px}.h-10{height:40px}.h-12{height:48px}.h-full{height:100%}
    .max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}
    .overflow-hidden{overflow:hidden}.relative{position:relative}.absolute{position:absolute}.inset-0{inset:0}
    .z-10{z-index:10}.z-50{z-index:50}.pointer-events-none{pointer-events:none}

    /* -- Spacing utilities -- */
    .p-3{padding:12px}.p-4{padding:16px}.p-5{padding:20px}.p-6{padding:24px}.p-7{padding:28px}.p-8{padding:32px}
    .px-5{padding-left:20px;padding-right:20px}.px-6{padding-left:24px;padding-right:24px}.px-8{padding-left:32px;padding-right:32px}
    .py-2{padding-top:8px;padding-bottom:8px}.py-2\.5{padding-top:10px;padding-bottom:10px}.py-3{padding-top:12px;padding-bottom:12px}.py-4{padding-top:16px;padding-bottom:16px}.py-12{padding-top:48px;padding-bottom:48px}.py-14{padding-top:56px;padding-bottom:56px}.py-16{padding-top:64px;padding-bottom:64px}.py-20{padding-top:80px;padding-bottom:80px}.py-24{padding-top:96px;padding-bottom:96px}.py-28{padding-top:112px;padding-bottom:112px}.py-32{padding-top:128px;padding-bottom:128px}
    .px-4{padding-left:16px;padding-right:16px}.px-5{padding-left:20px;padding-right:20px}.px-6{padding-left:24px;padding-right:24px}.px-8{padding-left:32px;padding-right:32px}
    .pt-28{padding-top:112px}.pt-8{padding-top:32px}.pt-16{padding-top:64px}.pb-5{padding-bottom:20px}.pb-16{padding-bottom:64px}
    .mb-1{margin-bottom:4px}.mb-1\.5{margin-bottom:6px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mb-10{margin-bottom:40px}.mb-12{margin-bottom:48px}.mb-16{margin-bottom:64px}.mb-20{margin-bottom:80px}
    .mt-0\.5{margin-top:2px}.mt-1{margin-top:4px}.mt-1\.5{margin-top:6px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mt-10{margin-top:40px}.mt-12{margin-top:48px}.mt-24{margin-top:96px}
    .mx-2{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}

    /* -- Typography utilities -- */
    .font-serif{font-family:'DM Serif Display',serif}.font-sans{font-family:'Plus Jakarta Sans',sans-serif}
    .font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}
    .text-center{text-align:center}.text-right{text-align:right}
    .uppercase{text-transform:uppercase}
    .tracking-widest{letter-spacing:0.1em}.tracking-wider{letter-spacing:0.05em}
    .leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}
    .no-underline{text-decoration:none}
    .italic{font-style:italic}

    /* -- Color utilities -- */
    .text-white{color:#fff}.text-slate-400{color:#94A3B8}.text-slate-500{color:#64748B}.text-slate-600{color:#475569}.text-slate-700{color:#334155}.text-slate-800{color:#1E293B}.text-slate-900{color:#0F172A}
    .text-teal-600{color:#0D9488}.text-teal-700{color:#0F766E}.text-teal-100{color:#CCFBF1}
    .text-slate-300{color:#CBD5E1}.text-slate-200{color:#E2E8F0}
    .bg-white{background:#fff}.bg-teal-50{background:#F0FDFA}.bg-teal-600{background:#0D9488}

    /* -- Border/shape utilities -- */
    .rounded-lg{border-radius:8px}.rounded-xl{border-radius:12px}.rounded-2xl{border-radius:16px}.rounded-full{border-radius:9999px}
    .border{border:1px solid #E2E8F0}.border-t{border-top:1px solid}.border-b{border-bottom:1px solid}

    /* -- Responsive utilities (md = 768px+) -- */
    @media(min-width:768px){
      .md\:flex{display:flex}.md\:block{display:block}.hidden.md\:flex{display:flex}
      .md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}
      .md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}
      .md\:px-16{padding-left:64px;padding-right:64px}
      .md\:p-12{padding:48px}
      .md\:flex-row{flex-direction:row}
      .md\:col-span-2{grid-column:span 2}
    }

    /* -- Scroll reveal -- */
    .reveal{opacity:0;transform:translateY(14px);transition:opacity 0.55s cubic-bezier(0.16,1,0.3,1),transform 0.55s cubic-bezier(0.16,1,0.3,1);}
    .reveal.visible{opacity:1;transform:translateY(0);}
    .reveal-delay-1{transition-delay:0.1s}.reveal-delay-2{transition-delay:0.2s}.reveal-delay-3{transition-delay:0.3s}.reveal-delay-4{transition-delay:0.4s}
    @media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

    /* === C2C REFERRAL SYSTEM === */
    /* Wizard shell */
    .c2c-shell{min-height:calc(100vh - 68px);background:var(--gray-50);display:flex;flex-direction:column;}
    .c2c-wiz-header{background:white;border-bottom:1px solid var(--gray-100);padding:1.1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:68px;z-index:10;}
    .c2c-wiz-title{font-size:14px;font-weight:600;color:var(--gray-900);}
    .c2c-wiz-step-label{font-size:12px;color:var(--gray-500);}
    .c2c-progress-track{height:3px;background:var(--gray-100);border-radius:2px;flex:1;max-width:220px;}
    .c2c-progress-fill{height:100%;background:var(--teal-600);border-radius:2px;transition:width 0.35s cubic-bezier(0.16,1,0.3,1);}
    .c2c-body{flex:1;max-width:720px;width:100%;margin:0 auto;padding:2.5rem 1.5rem 4rem;}
    /* Wizard steps */
    .c2c-step{display:none;}
    .c2c-step.active{display:block;}
    .c2c-step-heading{font-family:'DM Serif Display',serif;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--blue-900);margin-bottom:0.4rem;line-height:1.2;letter-spacing:-0.02em;}
    .c2c-step-sub{font-size:14px;color:var(--gray-500);margin-bottom:2rem;line-height:1.6;}
    .c2c-field-group{margin-bottom:1.75rem;}
    .c2c-label{font-size:12px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.6rem;display:block;}
    .c2c-label-sub{font-size:12px;color:var(--gray-500);font-weight:400;text-transform:none;letter-spacing:0;margin-left:6px;}
    .c2c-select{width:100%;padding:11px 14px;border-radius:6px;border:1.5px solid var(--gray-100);font-size:14px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--gray-900);background:white;outline:none;transition:border-color 0.15s;cursor:pointer;}
    .c2c-select:focus{border-color:var(--teal-400);}
    .c2c-input{width:100%;padding:11px 14px;border-radius:6px;border:1.5px solid var(--gray-100);font-size:14px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--gray-900);background:white;outline:none;transition:border-color 0.15s;}
    .c2c-input:focus{border-color:var(--teal-400);}
    .c2c-textarea{width:100%;padding:12px 14px;border-radius:6px;border:1.5px solid var(--gray-100);font-size:14px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--gray-900);background:white;outline:none;transition:border-color 0.15s;resize:vertical;min-height:110px;line-height:1.6;}
    .c2c-textarea:focus{border-color:var(--teal-400);}
    /* Chip groups */
    .c2c-chip-group{display:flex;flex-wrap:wrap;gap:8px;}
    .c2c-chip{padding:7px 14px;border-radius:20px;border:1.5px solid var(--gray-100);background:white;font-size:13px;color:var(--gray-700);cursor:pointer;transition:all 0.15s;user-select:none;font-family:'Plus Jakarta Sans',sans-serif;}
    .c2c-chip:hover{border-color:var(--teal-400);color:var(--teal-600);background:var(--teal-50);}
    .c2c-chip.selected{border-color:var(--teal-600);background:var(--teal-50);color:var(--teal-700);font-weight:500;}
    /* Radio groups */
    .c2c-radio-group{display:flex;flex-direction:column;gap:10px;}
    .c2c-radio-option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:8px;border:1.5px solid var(--gray-100);background:white;cursor:pointer;transition:all 0.15s;}
    .c2c-radio-option:hover{border-color:var(--teal-300);}
    .c2c-radio-option.selected{border-color:var(--teal-600);background:var(--teal-50);}
    .c2c-radio-dot{width:18px;height:18px;min-width:18px;border-radius:50%;border:1.5px solid var(--gray-300);margin-top:1px;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
    .c2c-radio-option.selected .c2c-radio-dot{border-color:var(--teal-600);background:var(--teal-600);}
    .c2c-radio-option.selected .c2c-radio-dot::after{content:'';width:6px;height:6px;border-radius:50%;background:white;display:block;}
    .c2c-radio-text{flex:1;}
    .c2c-radio-label{font-size:14px;font-weight:500;color:var(--gray-900);}
    .c2c-radio-desc{font-size:12px;color:var(--gray-500);margin-top:2px;line-height:1.5;}
    /* PHI warning banner */
    .c2c-phi-banner{background:#FEF3C7;border:1px solid #FCD34D;border-radius:8px;padding:12px 16px;margin-bottom:1rem;display:flex;align-items:flex-start;gap:10px;}
    .c2c-phi-banner-icon{font-size:16px;flex-shrink:0;margin-top:1px;}
    .c2c-phi-banner-text{font-size:13px;color:#78350F;line-height:1.55;}
    .c2c-phi-banner-text strong{font-weight:600;}
    .c2c-char-count{font-size:11px;color:var(--gray-400);text-align:right;margin-top:4px;}
    .c2c-char-count.warn{color:#B45309;}
    /* Distribution choice cards */
    .c2c-dist-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:0.5rem;}
    @media(max-width:640px){.c2c-dist-grid{grid-template-columns:1fr;}}
    .c2c-dist-card{border:2px solid var(--gray-100);border-radius:12px;padding:1.75rem 1.5rem;cursor:pointer;transition:all 0.2s;background:white;text-align:left;position:relative;}
    .c2c-dist-card:hover{border-color:var(--teal-300);box-shadow:0 4px 16px rgba(13,148,136,0.08);}
    .c2c-dist-card.selected{border-color:var(--teal-600);background:#F0FDFA;box-shadow:0 0 0 3px rgba(13,148,136,0.12);}
    .c2c-dist-card-icon{width:44px;height:44px;border-radius:10px;background:var(--teal-50);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;}
    .c2c-dist-card.selected .c2c-dist-card-icon{background:rgba(13,148,136,0.15);}
    .c2c-dist-card-title{font-size:15px;font-weight:600;color:var(--gray-900);margin-bottom:0.4rem;}
    .c2c-dist-card-desc{font-size:13px;color:var(--gray-500);line-height:1.6;}
    .c2c-dist-card-badge{position:absolute;top:14px;right:14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--teal-600);background:var(--teal-50);padding:3px 8px;border-radius:20px;display:none;}
    .c2c-dist-card.selected .c2c-dist-card-badge{display:block;}
    /* Window selector */
    .c2c-window-selector{display:flex;gap:10px;margin-top:1rem;}
    .c2c-window-btn{flex:1;padding:10px 8px;border-radius:8px;border:1.5px solid var(--gray-100);background:white;font-size:13px;font-weight:500;color:var(--gray-700);cursor:pointer;text-align:center;transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;}
    .c2c-window-btn:hover{border-color:var(--teal-400);color:var(--teal-600);}
    .c2c-window-btn.selected{border-color:var(--teal-600);background:var(--teal-50);color:var(--teal-700);}
    /* Wizard nav */
    .c2c-wiz-footer{background:white;border-top:1px solid var(--gray-100);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;bottom:0;z-index:10;}
    .c2c-btn-back{padding:10px 20px;border-radius:6px;border:1.5px solid var(--gray-100);background:transparent;font-size:14px;color:var(--gray-500);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:all 0.15s;}
    .c2c-btn-back:hover{border-color:var(--gray-300);color:var(--gray-900);}
    .c2c-btn-next{padding:11px 26px;border-radius:6px;background:#0C8577;color:white;border:none;font-size:14px;font-weight:600;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:all 0.15s;box-shadow:0 2px 0 rgba(0,0,0,0.12),0 4px 14px rgba(12,133,119,0.2);}
    .c2c-btn-next:hover{background:#0A7469;transform:translateY(-1px);}
    .c2c-btn-next:disabled{opacity:0.4;cursor:not-allowed;transform:none;}

    /* === REFERRAL BOARD === */
    .referral-board-shell{min-height:calc(100vh - 68px);background:#F6F8FB;}
    .referral-board-header{background:white;border-bottom:1px solid #DCE5EF;padding:1.55rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
    .referral-board-title{font-family:'DM Serif Display',serif;font-size:1.5rem;color:var(--blue-900);letter-spacing:-0.02em;}
    .referral-board-sub{font-size:13px;color:#66758A;margin-top:2px;}
    .referral-board-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
    .referral-board-guide-row{flex-basis:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px;padding:10px 12px;border:1px solid #DCE5EF;border-radius:10px;background:#F8FBFD;}
    .referral-board-guide-copy{font-size:12px;color:#66758A;line-height:1.45;}
    .referral-board-guide-copy strong{color:var(--blue-900);}
    .referral-filter-bar{background:white;border-bottom:1px solid #DCE5EF;padding:0.95rem 2rem 1.05rem;display:flex;gap:10px 12px;flex-wrap:wrap;align-items:flex-end;position:sticky;top:68px;z-index:9;box-shadow:0 10px 24px rgba(10,22,40,0.04);}
    .referral-filter-label{font-size:11px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:0.08em;margin:0 6px 8px 0;}
    .referral-filter-group{display:flex;flex-direction:column;gap:4px;min-width:132px;}
    .referral-filter-group.wide{min-width:176px;}
    .referral-filter-group span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:var(--gray-400);}
    .referral-filter-select{height:36px;border:1px solid #DCE5EF;border-radius:9px;background:white;color:var(--gray-700);font-size:12px;font-family:'Plus Jakarta Sans',sans-serif;padding:0 28px 0 10px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B7280' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;}
    .referral-filter-select:focus{border-color:var(--teal-400);box-shadow:0 0 0 3px rgba(13,148,136,0.12);outline:none;}
    .referral-filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
    .referral-filter-chip{padding:7px 14px;border-radius:20px;border:1px solid #DCE5EF;background:white;font-size:12.5px;color:var(--gray-600);cursor:pointer;transition:all 0.15s;font-family:'Plus Jakarta Sans',sans-serif;}
    .referral-filter-chip:hover{border-color:var(--teal-400);color:var(--teal-600);}
    .referral-filter-chip.active{border-color:var(--teal-600);background:var(--teal-50);color:var(--teal-700);font-weight:500;}
    .referral-filter-clear-btn{height:36px;border:1px solid #DCE5EF;border-radius:9px;background:#F8FBFD;color:var(--gray-600);font-size:12px;font-weight:700;font-family:'Plus Jakarta Sans',sans-serif;padding:0 12px;cursor:pointer;}
    .referral-filter-clear-btn:hover{border-color:var(--teal-300);color:var(--teal-700);background:var(--teal-50);}
    .referral-board-body{max-width:1120px;margin:0 auto;padding:2rem 1.5rem;}
    .referral-board-empty{display:none;text-align:center;padding:5rem 2rem;}
    .referral-board-empty-icon{width:52px;height:52px;margin:0 auto 1rem;border-radius:14px;background:#E9FAF6;color:#0C8577;display:flex;align-items:center;justify-content:center;border:1px solid #C8F3EA;}
    .referral-board-empty-icon svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
    .referral-board-empty-title{font-size:18px;font-weight:700;color:var(--blue-900);margin-bottom:0.45rem;}
    .referral-board-empty-copy{font-size:14px;color:#66758A;max-width:420px;margin:0 auto 1.35rem;line-height:1.55;}
    .referral-board-sub{font-size:0;}
    .referral-board-sub::after{content:'Member-only referral workspace - de-identified referrals from colleagues - express interest when the fit is clear';font-size:13px;color:#66758A;}
    #refBoardFilterBar>div:first-child{flex-basis:100%!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin-bottom:4px!important;padding:10px 12px!important;border:1px solid #DCE5EF!important;border-radius:10px!important;background:#F8FBFD!important;}
    #refBoardFilterBar>div:first-child>div{font-size:12px!important;color:#66758A!important;line-height:1.45!important;}
    #refBoardFilterBar>div:first-child strong{color:var(--blue-900)!important;}
    #refBoardEmpty{padding:5rem 2rem!important;}
    #refBoardEmpty>div:first-child{width:52px;height:52px;margin:0 auto 1rem!important;border-radius:14px;background:#E9FAF6;color:#0C8577;display:flex!important;align-items:center;justify-content:center;border:1px solid #C8F3EA;font-size:0!important;}
    #refBoardEmpty>div:first-child::before{content:'';width:25px;height:25px;background:currentColor;display:block;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5h6'/%3E%3Cpath d='M9 12h6'/%3E%3Cpath d='M9 16h4'/%3E%3Cpath d='M7 3h10a2 2 0 0 1 2 2v15l-3-2-3 2-3-2-3 2V5a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E") center/contain no-repeat;}
    #refBoardEmpty>div:nth-child(2){font-size:18px!important;font-weight:700!important;color:var(--blue-900)!important;margin-bottom:.45rem!important;}
    #refBoardEmpty>div:nth-child(3){font-size:14px!important;color:#66758A!important;max-width:420px!important;margin:0 auto 1.35rem!important;line-height:1.55!important;}
    .referral-card-grid{display:grid;grid-template-columns:1fr;gap:14px;}
    .referral-card{background:white;border:1px solid var(--gray-100);border-radius:10px;padding:1.5rem;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 3px rgba(10,22,40,0.05);transition:box-shadow 0.2s,border-color 0.2s;}
    .referral-card:hover{box-shadow:0 4px 16px rgba(10,22,40,0.08);border-color:var(--gray-200);}
    .referral-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}
    .referral-card-urgency{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:3px 10px;border-radius:20px;}
    .urgency-routine{background:#F0F4FA;color:#1F2937;border:1px solid #D5DFE8;border-radius:6px;padding:4px 10px;font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:4px;transition:all 0.15s;}
    .urgency-routine:hover{background:#E5ECFA;border-color:#A9CFE3;}
    .urgency-soon{background:#FFFBEB;color:#92400E;border:1px solid #FDE68A;border-radius:6px;padding:4px 10px;font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:4px;transition:all 0.15s;}
    .urgency-soon:hover{background:#FEF9E7;border-color:#F3CF8B;}
    .urgency-urgent{background:#FEF2F2;color:#991B1B;border:1px solid #FECACA;border-radius:6px;padding:4px 10px;font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:4px;transition:all 0.15s;}
    .urgency-urgent:hover{background:#FDEAEA;border-color:#FCA5A5;}
    .referral-card-posted{font-size:12px;color:var(--gray-400);}
    .referral-card-specialty{font-size:16px;font-weight:600;color:var(--gray-900);line-height:1.3;}
    .referral-card-secondary{font-size:13px;color:var(--gray-500);margin-top:2px;}
    .referral-card-meta{display:flex;flex-wrap:wrap;gap:6px;}
    .referral-meta-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--teal-700);background:var(--teal-50);padding:4px 10px;border-radius:20px;font-weight:500;}
    .referral-card-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
    .referral-btn-interest{padding:9px 20px;border-radius:6px;background:#0C8577;color:white;border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:all 0.15s;box-shadow:0 2px 0 rgba(0,0,0,0.1);}
    .referral-btn-interest:hover{background:#0A7469;transform:translateY(-1px);}
    .referral-btn-interest.sent{background:#E9FAF6;color:#0F766E;border:1px solid #99F6E4;cursor:default;transform:none;box-shadow:none;}
    .referral-btn-details{padding:9px 16px;border-radius:6px;border:1.5px solid var(--gray-100);background:transparent;font-size:13px;color:var(--gray-600);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:all 0.15s;}
    .referral-btn-details:hover{border-color:var(--gray-300);color:var(--gray-900);}
    /* Interest modal */
    .c2c-interest-modal-backdrop{position:fixed;inset:0;background:rgba(10,22,40,0.45);z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem;}
    /* display:flex above outranks the .u-hidden utility declared earlier in this
       file (same specificity, later source order), which left this modal
       permanently open on the referral board. Re-assert the hidden state. */
    .c2c-interest-modal-backdrop.u-hidden{display:none;}
    .c2c-interest-modal{background:white;border-radius:14px;padding:2rem;max-width:460px;width:100%;box-shadow:0 20px 60px rgba(10,22,40,0.25);}
    .c2c-interest-modal-title{font-size:16px;font-weight:600;color:var(--gray-900);margin-bottom:0.3rem;}
    .c2c-interest-modal-sub{font-size:13px;color:var(--gray-500);margin-bottom:1.25rem;}

    /* === CURATED LIST WORKSPACE === */
    .c2c-manage-shell{min-height:calc(100vh - 68px);background:var(--gray-50);}
    .c2c-manage-header{background:white;border-bottom:1px solid var(--gray-100);padding:1.5rem 2rem;}
    .c2c-manage-title{font-family:'DM Serif Display',serif;font-size:1.4rem;color:var(--blue-900);letter-spacing:-0.02em;}
    .c2c-manage-sub{font-size:13px;color:var(--gray-500);margin-top:4px;}
    .c2c-manage-body{max-width:1060px;margin:0 auto;padding:2rem 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:20px;}
    @media(max-width:768px){.c2c-manage-body{grid-template-columns:1fr;}}
    .c2c-manage-panel{background:white;border:1px solid var(--gray-100);border-radius:10px;overflow:hidden;}
    .c2c-panel-header{padding:1rem 1.25rem;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;}
    .c2c-panel-title{font-size:13px;font-weight:600;color:var(--gray-900);}
    .c2c-panel-count{font-size:12px;color:var(--gray-500);background:var(--gray-100);padding:2px 8px;border-radius:20px;}
    .c2c-panel-body{padding:1rem;}
    /* Clinician cards in curated list */
    .c2c-cli-card{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:8px;border:1px solid var(--gray-100);margin-bottom:10px;background:white;}
    .c2c-cli-card:last-child{margin-bottom:0;}
    .c2c-cli-avatar{width:40px;height:40px;min-width:40px;border-radius:50%;background:var(--teal-100);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--teal-700);}
    .c2c-cli-info{flex:1;}
    .c2c-cli-name{font-size:14px;font-weight:600;color:var(--gray-900);}
    .c2c-cli-cred{font-size:12px;color:var(--gray-500);}
    .c2c-cli-reasons{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;}
    .c2c-reason-chip{font-size:11px;color:var(--teal-700);background:var(--teal-50);padding:3px 8px;border-radius:20px;font-weight:500;}
    .c2c-cli-note{font-size:12px;color:var(--gray-600);margin-top:5px;font-style:italic;}
    .c2c-cli-avail{font-size:12px;color:var(--gray-500);margin-top:3px;}
    .c2c-cli-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end;flex-shrink:0;}
    .c2c-btn-add{padding:6px 14px;border-radius:6px;background:#0C8577;color:white;border:none;font-size:12px;font-weight:600;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;white-space:nowrap;}
    .c2c-btn-add:hover{background:#0A7469;}
    .c2c-btn-add.added{background:#E9FAF6;color:#0F766E;border:1px solid #99F6E4;cursor:default;}
    .c2c-btn-remove{padding:6px 12px;border-radius:6px;border:1px solid var(--gray-100);background:transparent;font-size:12px;color:var(--gray-500);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;}
    .c2c-btn-remove:hover{border-color:var(--red-600);color:var(--red-600);}
    .c2c-finalize-bar{padding:1rem 1.25rem;border-top:1px solid var(--gray-100);background:var(--gray-50);}
    .c2c-btn-finalize{padding:11px 16px;border-radius:6px;background:#0C8577;color:white;border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;box-shadow:0 2px 0 rgba(0,0,0,0.12);}
    .c2c-btn-finalize:hover{background:#0A7469;}
    .c2c-btn-finalize:disabled{opacity:0.4;cursor:not-allowed;}
    .c2c-btn-action{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:6px;background:#fff;color:#0C8577;border:1px solid #B9CADB;font-size:13px;font-weight:600;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;white-space:nowrap;}
    .c2c-btn-action:hover{background:#F2F8FA;border-color:#0C8577;}
    .c2c-btn-action:disabled{opacity:0.4;cursor:not-allowed;}
    .c2c-cli-contact{font-size:11px;color:var(--gray-500);margin-top:3px;}
    .c2c-cli-contact a{color:var(--teal-600);text-decoration:none;}
    .c2c-cli-contact a:hover{text-decoration:underline;}
    @media print{
      body>*{display:none!important;}
      #c2cPrintRegion{display:block!important;}
    }
    #c2cPrintRegion{display:none;}
    #c2cPrintRegion{font-family:'Plus Jakarta Sans',sans-serif;padding:2rem;max-width:700px;margin:0 auto;}
    #c2cPrintRegion h1{font-size:1.3rem;color:#102033;margin:0 0 4px;}
    #c2cPrintRegion .pr-sub{font-size:13px;color:#607388;margin-bottom:1.5rem;}
    #c2cPrintRegion .pr-card{border:1px solid #DCE5EF;border-radius:8px;padding:14px 16px;margin-bottom:12px;}
    #c2cPrintRegion .pr-name{font-weight:700;font-size:14px;color:#102033;}
    #c2cPrintRegion .pr-cred{font-size:12px;color:#607388;margin-bottom:6px;}
    #c2cPrintRegion .pr-row{font-size:12px;color:#607388;margin-top:3px;}
    #c2cPrintRegion .pr-footer{font-size:11px;color:#90A4B4;border-top:1px solid #EEF3F8;margin-top:1.5rem;padding-top:12px;}
    /* Active referral status card in hub */
    .c2c-status-card{background:white;border:1px solid var(--gray-100);border-radius:10px;padding:1.25rem;margin-bottom:12px;border-left:3px solid var(--teal-600);}
    .c2c-status-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px;flex-wrap:wrap;}
    .c2c-status-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;padding:3px 9px;border-radius:20px;}
    .c2c-status-active{background:#DCFCE7;color:#14532D;}
    .c2c-status-expired{background:#FEF3C7;color:#78350F;}
    .c2c-status-board{background:#EFF6FF;color:#1E40AF;}
    .c2c-status-label{font-size:14px;font-weight:600;color:var(--gray-900);}
    .c2c-status-window{font-size:12px;color:var(--teal-600);font-weight:500;}
    .c2c-status-stats{display:flex;gap:16px;font-size:12px;color:var(--gray-500);}
    .c2c-expiry-prompt{background:#FFFBEB;border:1px solid #FCD34D;border-radius:8px;padding:1rem 1.25rem;margin-top:10px;}
    .c2c-expiry-prompt-title{font-size:13px;font-weight:600;color:#78350F;margin-bottom:8px;}
    .c2c-expiry-actions{display:flex;gap:8px;flex-wrap:wrap;}
    .c2c-expiry-btn{padding:7px 14px;border-radius:6px;border:1px solid #FCD34D;background:white;font-size:12px;color:#78350F;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;transition:all 0.15s;}
    .c2c-expiry-btn:hover{background:#FEF3C7;}
    .c2c-expiry-btn.primary{background:#0C8577;color:white;border-color:#0C8577;}
    .c2c-expiry-btn.primary:hover{background:#0A7469;}

    /* C2C Hub Widget */
    .c2c-hub-empty{padding:16px;text-align:center;color:var(--gray-500);font-size:13px;}
    .c2c-hub-empty p{margin:0 0 12px;}
    .c2c-hub-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
    .c2c-hub-header strong{font-size:12px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:0.05em;}
    .c2c-hub-new-btn{padding:4px 12px;font-size:12px;}
    .c2c-hub-card{background:white;border:1px solid var(--gray-100);border-radius:8px;padding:12px 14px;margin-bottom:8px;border-left:3px solid var(--teal-600);}
    .c2c-hub-card.expired{border-left-color:var(--amber-600);}
    .c2c-hub-card-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--teal-600);margin-bottom:4px;}
    .c2c-hub-card-status.expired-status{color:var(--amber-600);}
    .c2c-hub-status-dot{width:7px;height:7px;border-radius:50%;background:var(--teal-600);flex-shrink:0;}
    .c2c-hub-status-dot.active{animation:c2cPulse 2s ease-in-out infinite;}
    .c2c-hub-status-dot.expired{background:var(--amber-600);}
    @keyframes c2cPulse{0%,100%{opacity:1;}50%{opacity:0.5;}}
    .c2c-hub-card-label{font-size:13px;font-weight:600;color:var(--gray-900);margin-bottom:3px;}
    .c2c-hub-card-time{font-size:12px;color:var(--teal-600);font-weight:500;margin-bottom:3px;}
    .c2c-hub-card-stats{font-size:12px;color:var(--gray-500);margin-bottom:8px;}
    .c2c-hub-card-actions{display:flex;gap:6px;flex-wrap:wrap;}
    .c2c-expiry-choices{margin-top:8px;padding:10px;background:#FFFBEB;border:1px solid #FCD34D;border-radius:6px;}
    .c2c-expiry-prompt{font-size:12px;font-weight:600;color:#78350F;margin:0 0 8px;}
    .c2c-expiry-choices .btn-secondary{font-size:12px;padding:6px 10px;margin:2px;}
    /* C2C Interest sent button */
    .c2c-interest-sent-btn{padding:8px 16px;border-radius:6px;background:#E9FAF6;color:#0F766E;border:1px solid #99F6E4;font-size:13px;font-weight:600;font-family:'Plus Jakarta Sans',sans-serif;cursor:default;}
    /* C2C Manage Page */
    .manage-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1100px;margin:0 auto;padding:2rem;}
    @media(max-width:768px){.manage-layout{grid-template-columns:1fr;}}
    .manage-panel{background:var(--white);border:1px solid var(--gray-100);border-radius:12px;overflow:hidden;}
    .manage-panel-header{padding:1rem 1.25rem;border-bottom:1px solid var(--gray-100);background:var(--gray-50);}
    .manage-panel-title{font-size:14px;font-weight:600;color:var(--gray-900);}
    .manage-panel-sub{font-size:12px;color:var(--gray-500);margin-top:2px;}
    .manage-panel-body{padding:1rem 1.25rem;max-height:500px;overflow-y:auto;}
    .manage-panel-footer{padding:1rem 1.25rem;border-top:1px solid var(--gray-100);background:var(--gray-50);}
    .manage-empty{font-size:13px;color:var(--gray-400);text-align:center;padding:1.5rem 0;margin:0;}
    .manage-clinician-card{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--gray-100);}
    .manage-clinician-card:last-child{border-bottom:none;}
    .manage-clinician-avatar{width:38px;height:38px;border-radius:50%;background:var(--teal-50);color:var(--teal-600);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;}
    .manage-clinician-info{flex:1;min-width:0;}
    .manage-clinician-info strong{font-size:14px;color:var(--gray-900);}
    .manage-reasons{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;}
    .manage-avail{font-size:12px;color:var(--gray-500);margin-top:3px;}
    .manage-note{font-size:12px;color:var(--gray-600);margin-top:4px;font-style:italic;}
    .manage-clinician-actions{flex-shrink:0;}
    .manage-add-btn{padding:6px 14px;font-size:12px;}
    .manage-curated-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;}
    .manage-curated-count{font-size:12px;color:var(--gray-500);}
    .manage-curated-card{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:8px;margin-bottom:6px;}
    .manage-curated-info{font-size:13px;color:var(--gray-900);}
    .manage-algo-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--teal-600);background:var(--teal-50);padding:2px 6px;border-radius:20px;vertical-align:middle;margin-left:4px;}
    .manage-remove-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;font-size:18px;line-height:1;padding:0 4px;transition:color 0.15s;}
    .manage-remove-btn:hover{color:var(--red-600);}
    .manage-search-row{margin-top:12px;}
    .manage-search-input{width:100%;padding:9px 12px;border:1px solid var(--gray-200);border-radius:6px;font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;outline:none;background:var(--white);color:var(--gray-900);}
    .manage-search-input:focus{border-color:var(--teal-600);box-shadow:0 0 0 2px rgba(13,148,136,0.12);}
    .manage-search-results{margin-top:8px;}
    .manage-search-result{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--gray-100);border-radius:8px;margin-bottom:6px;background:var(--white);}
    .manage-result-info{flex:1;font-size:13px;color:var(--gray-900);}
    .manage-result-info div{margin-top:4px;}
    /* Referral detail actions */
    .referral-detail-actions{display:flex;gap:8px;margin-top:1.5rem;flex-wrap:wrap;}

    /* ââ€Âۉâ€Â€ SLA badge (response-time indicator on referral cards) ââ€Âۉâ€Â€ */
    .c2c-sla-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;letter-spacing:0.03em;}
    .c2c-sla-badge.sla-ok{background:var(--teal-50);color:var(--teal-700);}
    .c2c-sla-badge.sla-warn{background:var(--amber-50);color:var(--amber-700);}
    .c2c-sla-badge.sla-late{background:var(--red-50);color:var(--red-600);}
    .c2c-sla-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
    .sla-ok .c2c-sla-dot{background:var(--teal-600);}
    .sla-warn .c2c-sla-dot{background:var(--amber-600);}
    .sla-late .c2c-sla-dot{background:var(--red-600);}
    .c2c-nudge-btn{padding:5px 12px;border-radius:5px;border:1.5px solid var(--amber-600);background:var(--amber-50);color:var(--amber-700);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:'Plus Jakarta Sans',sans-serif;}
    .c2c-nudge-btn:hover{background:var(--amber-100);}
    .c2c-nudge-btn[disabled]{opacity:.5;cursor:default;}

    /* ââ€Âۉâ€Â€ Consent gate (wizard step 6) ââ€Âۉâ€Â€ */
    .c2c-consent-gate{background:var(--teal-50);border:1.5px solid var(--teal-200);border-radius:8px;padding:16px 18px;margin-top:1.75rem;}
    .c2c-consent-gate-title{font-size:13px;font-weight:600;color:var(--gray-900);margin-bottom:8px;display:flex;align-items:center;gap:7px;}
    .c2c-consent-gate-title svg{width:15px;height:15px;flex-shrink:0;stroke:var(--teal-700);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
    .c2c-consent-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;color:var(--gray-700);line-height:1.55;}
    .c2c-consent-label input{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--teal-600);}

    /* ââ€Âۉâ€Â€ Acknowledged badge ââ€Âۉâ€Â€ */
    .c2c-ack-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--blue-50);color:var(--blue-600);}

    /* ââ€Âۉâ€Â€ Outcome reporter modal ââ€Âۉâ€Â€ */
    .c2c-outcome-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--gray-100);border-radius:8px;cursor:pointer;transition:all .15s;margin-bottom:8px;font-size:14px;color:var(--gray-700);background:white;}
    .c2c-outcome-option:hover{border-color:var(--teal-300);background:var(--teal-50);}
    .c2c-outcome-option.selected{border-color:var(--teal-600);background:var(--teal-50);color:var(--teal-700);font-weight:500;}
    .c2c-outcome-dot{width:16px;height:16px;min-width:16px;border-radius:50%;border:1.5px solid var(--gray-300);display:flex;align-items:center;justify-content:center;transition:all .15s;}
    .c2c-outcome-option.selected .c2c-outcome-dot{border-color:var(--teal-600);background:var(--teal-600);}
    .c2c-outcome-option.selected .c2c-outcome-dot::after{content:'';width:6px;height:6px;border-radius:50%;background:white;display:block;}
    .c2c-outcome-prompt{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:8px;padding:12px 14px;margin-bottom:12px;display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--blue-800);line-height:1.5;}
    .c2c-outcome-prompt svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;stroke:var(--blue-600);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

    /* ââ€Âۉâ€Â€ Counter-suggest (decline flow) ââ€Âۉâ€Â€ */
    .c2c-counter-suggest{background:var(--blue-50);border:1px solid var(--blue-100);border-radius:8px;padding:14px 16px;margin-top:12px;}
    .c2c-counter-suggest-title{font-size:13px;font-weight:600;color:var(--gray-900);margin-bottom:8px;}
    .c2c-counter-suggest-input{width:100%;padding:9px 12px;border:1.5px solid var(--gray-100);border-radius:6px;font-size:13px;font-family:'Plus Jakarta Sans',sans-serif;color:var(--gray-900);background:white;outline:none;}
    .c2c-counter-suggest-input:focus{border-color:var(--teal-400);}

    /* Dark mode additions for new referral components */

    /* C2C Analytics Sidebar Widget */
    .c2c-analytics-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;}
    .c2c-analytics-title{font-size:11px;font-weight:700;color:var(--gray-700);text-transform:uppercase;letter-spacing:0.06em;}
    .c2c-analytics-period{font-size:10px;color:var(--gray-400);}
    .c2c-analytics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:8px;}
    .c2c-analytics-stat{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:6px;padding:8px 6px;text-align:center;}
    .c2c-analytics-num{font-size:18px;font-weight:700;color:var(--teal-600);line-height:1;}
    .c2c-analytics-label{font-size:10px;color:var(--gray-400);margin-top:3px;line-height:1.2;}
    .c2c-analytics-gaps{background:#FFFBEB;border:1px solid #FCD34D;border-radius:6px;padding:8px 10px;}
    .c2c-analytics-gap-label{font-size:10px;font-weight:600;color:#78350F;margin-bottom:4px;text-transform:uppercase;letter-spacing:0.05em;}
    .c2c-analytics-gap{font-size:11px;color:#92400E;margin-bottom:2px;}

    /* Dark mode  C2C */

    /* -- DEMO MODE SANDBOX -- */
    .demo-bar{background:linear-gradient(90deg,#0A5C55 0%,#0D9488 100%);color:#fff;padding:10px 20px;display:none;align-items:center;gap:12px;font-size:13px;font-weight:500;position:sticky;top:44px;z-index:90;flex-wrap:wrap;}
    @media(max-width:640px){.demo-bar{top:60px;z-index:95;}}
    body.allow-demo-data .demo-bar{display:flex;}
    .demo-bar-icon{width:26px;height:26px;border-radius:6px;background:rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;}
    .demo-bar-label{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:0.08em;background:rgba(255,255,255,0.18);padding:2px 8px;border-radius:4px;flex-shrink:0;}
    .demo-bar-text{flex:1;min-width:180px;opacity:0.92;font-size:12.5px;}
    .demo-bar-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap;}
    .demo-switcher{display:flex;background:rgba(0,0,0,0.2);border-radius:6px;padding:2px;gap:2px;}
    .demo-sw-btn{padding:5px 13px;border-radius:5px;font-size:12px;font-weight:600;border:none;cursor:pointer;transition:all 0.15s;color:rgba(255,255,255,0.6);background:transparent;}
    .demo-sw-btn.active{background:rgba(255,255,255,0.22);color:#fff;}
    .demo-sw-btn:hover:not(.active){color:rgba(255,255,255,0.85);}
    .demo-get-started{background:#fff;color:#0D9488;padding:7px 16px;border-radius:6px;font-size:13px;font-weight:700;border:none;cursor:pointer;transition:opacity 0.15s;white-space:nowrap;}
    .demo-get-started:hover{opacity:0.9;}

    /* -- Demo sandbox note on editable fields -- */
    .demo-edit-hint{font-size:11px;color:#0D9488;background:rgba(13,148,136,0.08);border:1px solid rgba(13,148,136,0.2);border-radius:4px;padding:4px 10px;display:inline-flex;align-items:center;gap:5px;margin-bottom:0.75rem;}

    /* -- Demo bottom CTA -- */
    .demo-cta-section{background:var(--blue-900,#0A1628);padding:3.5rem 2rem;text-align:center;position:relative;overflow:hidden;}
    .demo-cta-section::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
    .demo-cta-section::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 100%,rgba(13,148,136,0.15) 0%,transparent 70%);pointer-events:none;}
    .demo-cta-inner{position:relative;max-width:560px;margin:0 auto;}
    .demo-cta-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--teal-400,#2DD4BF);margin-bottom:1rem;}
    .demo-cta-heading{font-family:'DM Serif Display',serif;font-size:2.2rem;color:#fff;line-height:1.2;margin-bottom:1rem;}
    .demo-cta-sub{font-size:15px;color:rgba(255,255,255,0.6);margin-bottom:2rem;line-height:1.6;}
    .demo-cta-buttons{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}
    .demo-cta-primary{display:inline-flex;align-items:center;gap:8px;background:#0D9488;color:#fff;padding:14px 28px;border-radius:8px;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:background 0.2s,transform 0.15s;}
    .demo-cta-primary:hover{background:#0F766E;transform:translateY(-1px);}
    .demo-cta-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:rgba(255,255,255,0.65);padding:14px 24px;border-radius:8px;font-size:15px;font-weight:500;border:1px solid rgba(255,255,255,0.15);cursor:pointer;transition:border-color 0.2s,color 0.2s;}
    .demo-cta-ghost:hover{border-color:rgba(255,255,255,0.35);color:#fff;}
    .demo-cta-note{font-size:12px;color:rgba(255,255,255,0.35);margin-top:1.25rem;}


/* Marketing / Landing Page Styles
 * Consolidated from landing-v2.css (1122 lines)
 * NOTE: This must stay LAST in the cascade to override legacy hero rules
 */

/* ============================================================
   LANDING V2 — "Quiet Authority"
   Editorial redesign of the public marketing surface.
   Warm paper, ink navy, one teal accent, confident serif.
   Loaded LAST in the bundle: cascade order intentionally wins
   over legacy hero rules in inline-styles-1.css.
   ============================================================ */

/* ---------- Local palette (scoped vars, dark-theme aware) ---------- */
#page-marketing,
#page-for-clinicians {
  --lp2-paper: var(--paper, #FAF9F6);
  --lp2-paper-deep: var(--paper-deep, #F3F1EB);
  --lp2-ink: var(--ink, #0A1628);
  --lp2-ink-soft: var(--ink-soft, #3D4A5C);
  --lp2-ink-faint: #5E6877; /* ≥4.5:1 on warm paper for small text */
  --lp2-hairline: var(--hairline, rgba(10, 22, 40, 0.12));
  --lp2-accent: #0F766E;
  --lp2-accent-bright: #14B8A6;
  --lp2-dark-bg: #0A1628;
  --lp2-dark-text: #F5F2EC;
  --lp2-dark-muted: rgba(245, 242, 236, 0.62);
  --lp2-dark-hairline: rgba(245, 242, 236, 0.14);
  --lp2-serif: 'DM Serif Display', Georgia, serif;
  --lp2-sans: 'Plus Jakarta Sans', system-ui, sans-serif;
  background: var(--lp2-paper);
  color: var(--lp2-ink);
  /* The marketing surface is an editorial light design with intentional
     dark ink sections. Pin it: no OS dark-mode token flip (it produced
     cream text on hardcoded-white cards) and opt out of Chrome
     Auto-Dark forced inversion. */
  color-scheme: only light;
}

/* Screen-reader-only helper (was referenced by markup but never defined) */
.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ---------- Shared editorial primitives ---------- */
.lp2-section {
  padding: var(--lp2-section-pad, clamp(80px, 12vw, 150px)) 24px;
  position: relative;
}
.lp2-wrap { max-width: 1180px; margin: 0 auto; }
.lp2-wrap-narrow { max-width: 880px; margin: 0 auto; }

/* Section masthead: index number — rule — small-caps label */
.lp2-masthead {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: clamp(28px, 4vw, 48px);
}
.lp2-masthead-num {
  font-family: var(--lp2-serif);
  font-size: 15px;
  font-style: italic;
  color: var(--lp2-accent);
  letter-spacing: 0.04em;
}
.lp2-masthead-rule {
  width: 56px;
  height: 1px;
  background: var(--lp2-hairline);
  flex-shrink: 0;
}
.lp2-masthead-label {
  font-family: var(--lp2-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--lp2-ink-faint);
}
.lp2-dark .lp2-masthead-rule { background: var(--lp2-dark-hairline); }
.lp2-dark .lp2-masthead-num { color: var(--lp2-accent-bright); }
.lp2-dark .lp2-masthead-label { color: var(--lp2-dark-muted); }

/* Display headings */
.lp2-h2 {
  font-family: var(--lp2-serif);
  font-weight: 400;
  font-size: clamp(1.9rem, 3.6vw, 3rem);
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: var(--lp2-ink);
  margin: 0 0 18px;
  max-width: 17em;
}
.lp2-h2 em { font-style: italic; }
.lp2-dark .lp2-h2 { color: var(--lp2-dark-text); }
.lp2-lede {
  font-family: var(--lp2-sans);
  font-size: clamp(15px, 1.5vw, 17px);
  line-height: 1.7;
  color: var(--lp2-ink-soft);
  max-width: 36em;
  margin: 0;
}
.lp2-dark .lp2-lede { color: var(--lp2-dark-muted); }

/* Buttons */
.lp2-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--lp2-sans);
  font-size: 15px;
  font-weight: 600;
  padding: 15px 30px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.22s ease, transform 0.18s ease, box-shadow 0.22s ease;
}
.lp2-btn-ink {
  background: var(--lp2-ink);
  color: var(--lp2-paper);
  box-shadow: 0 1px 0 rgba(10, 22, 40, 0.2), 0 12px 28px -10px rgba(10, 22, 40, 0.45);
}
.lp2-btn-ink:hover {
  background: var(--lp2-accent);
  transform: translateY(-1px);
  box-shadow: 0 1px 0 rgba(10, 22, 40, 0.15), 0 16px 34px -10px rgba(15, 118, 110, 0.5);
}
.lp2-btn-teal {
  background: var(--lp2-accent);
  color: #FFFFFF;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.18), 0 14px 30px -10px rgba(15, 118, 110, 0.55);
}
.lp2-btn-teal:hover {
  background: #0D655E;
  transform: translateY(-1px);
}
.lp2-btn-paper {
  background: var(--lp2-dark-text);
  color: var(--lp2-dark-bg);
}
.lp2-btn-paper:hover { background: #FFFFFF; transform: translateY(-1px); }

/* Quiet inline link with arrow */
.lp2-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--lp2-sans);
  font-size: 14.5px;
  font-weight: 600;
  color: var(--lp2-ink);
  background: none;
  border: none;
  padding: 4px 2px;
  cursor: pointer;
  text-decoration: none;
  border-bottom: 1px solid var(--lp2-hairline);
  border-radius: 0;
  transition: color 0.18s ease, border-color 0.18s ease;
}
.lp2-link:hover { color: var(--lp2-accent); border-bottom-color: var(--lp2-accent); }
.lp2-link .lp2-arrow { transition: transform 0.18s ease; }
.lp2-link:hover .lp2-arrow { transform: translateX(3px); }
.lp2-dark .lp2-link { color: var(--lp2-dark-text); border-bottom-color: var(--lp2-dark-hairline); }
.lp2-dark .lp2-link:hover { color: var(--lp2-accent-bright); border-bottom-color: var(--lp2-accent-bright); }

/* Softer, slower reveal motion (overrides lp-utilities timing) */
#page-marketing .reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
#page-marketing .reveal.visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  #page-marketing .reveal { opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   HERO — cinematic full-bleed video underlay (ink, editorial)
   The pathway video sits behind the wording at reduced opacity
   with a left-weighted scrim so the serif headline stays legible.
   ============================================================ */
#page-marketing .lp2-hero {
  position: relative;
  background: #07101C;
  overflow: hidden;
  isolation: isolate;
}
#page-marketing .lp2-hero::before { content: none; }
#page-marketing .hero-video-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #07101C;
  overflow: hidden;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
#page-marketing .hero-video-layer::after { content: none; }
#page-marketing .hero-video-layer video {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  display: block;
  opacity: 0.5;
}
#page-marketing .lp2-hero-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(7, 16, 28, 0.92) 0%, rgba(7, 16, 28, 0.78) 38%, rgba(7, 16, 28, 0.42) 68%, rgba(7, 16, 28, 0.55) 100%),
    linear-gradient(180deg, rgba(7, 16, 28, 0.55) 0%, rgba(7, 16, 28, 0.05) 35%, rgba(7, 16, 28, 0.72) 100%);
}
#page-marketing .lp2-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(96px, 14vw, 170px) 24px clamp(88px, 12vw, 150px);
}
#page-marketing .lp2-hero-copy { max-width: 640px; }
.lp2-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--lp2-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(245, 242, 236, 0.66);
  margin-bottom: clamp(20px, 3vw, 30px);
}
.lp2-hero-eyebrow::before {
  content: '';
  width: 34px;
  height: 1px;
  background: var(--lp2-accent-bright);
}
#page-marketing .lp2-hero h1 {
  font-family: var(--lp2-serif);
  font-weight: 400;
  font-size: var(--text-display-xl, clamp(2.6rem, 6vw, 4.5rem));
  line-height: 1.04;
  letter-spacing: -0.02em;
  /* !important: outranks the global.css dark-scheme fallback that also
     paints .hero h1 with !important. */
  color: #F7F4EE !important;
  text-shadow: 0 2px 28px rgba(4, 10, 18, 0.45) !important;
  margin: 0 0 clamp(18px, 2.5vw, 26px);
  max-width: 10.5em;
}
#page-marketing .lp2-hero h1 em {
  font-style: italic;
  color: var(--lp2-accent-bright) !important;
}
.lp2-hero-sub {
  font-family: var(--lp2-sans);
  font-size: clamp(15.5px, 1.6vw, 18px);
  line-height: 1.65;
  color: rgba(245, 242, 236, 0.78) !important;
  max-width: 30em;
  margin: 0 0 clamp(26px, 3.5vw, 38px);
}
.lp2-hero-actions {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
  margin-bottom: 22px;
}
.lp2-link-light { color: rgba(245, 242, 236, 0.88); border-bottom-color: rgba(245, 242, 236, 0.3); }
.lp2-link-light:hover { color: var(--lp2-accent-bright); border-bottom-color: var(--lp2-accent-bright); }
.lp2-hero-trust {
  font-family: var(--lp2-sans);
  font-size: 12.5px;
  letter-spacing: 0.02em;
  color: rgba(245, 242, 236, 0.6);
  margin: 0;
}
.lp2-hero-trust strong { color: var(--lp2-accent-bright); font-weight: 700; }

/* Returning-visitor strip (functional element, dark-hero styling) */
#page-marketing .hero-returning {
  display: none; /* JS toggles via style.display */
  border-left: 2px solid var(--lp2-accent-bright);
  background: rgba(245, 242, 236, 0.08);
  border-radius: 0 10px 10px 0;
  padding: 14px 18px;
  margin: 0 0 26px;
  max-width: 460px;
}
#page-marketing .hero-returning-label {
  font-family: var(--lp2-sans);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lp2-accent-bright);
  margin-bottom: 4px;
}
#page-marketing .hero-returning-text {
  font-family: var(--lp2-sans);
  font-size: 13.5px;
  color: rgba(245, 242, 236, 0.85);
  margin-bottom: 10px;
}
#page-marketing .hero-returning-text strong { color: #FFFFFF; }
#page-marketing .hero-returning-actions { display: flex; gap: 10px; flex-wrap: wrap; }
#page-marketing .hero-returning-btn {
  font-family: var(--lp2-sans);
  font-size: 12.5px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 8px;
  border: none;
  background: #F5F2EC;
  color: #0A1628;
  cursor: pointer;
}
#page-marketing .hero-returning-btn.ghost {
  background: transparent;
  color: rgba(245, 242, 236, 0.8);
  border: 1px solid rgba(245, 242, 236, 0.3);
}

@media (max-width: 720px) {
  #page-marketing .lp2-hero-inner { padding: clamp(72px, 18vw, 110px) 20px 72px; }
  #page-marketing .lp2-hero-scrim {
    background:
      linear-gradient(180deg, rgba(7, 16, 28, 0.88) 0%, rgba(7, 16, 28, 0.62) 50%, rgba(7, 16, 28, 0.85) 100%);
  }
}

/* ============================================================
   SEARCH — "Start where you are"
   ============================================================ */
#page-marketing .lp2-search {
  background: var(--lp2-paper-deep);
  border-top: 1px solid var(--lp2-hairline);
  border-bottom: 1px solid var(--lp2-hairline);
  padding: clamp(48px, 7vw, 84px) 24px;
}
.lp2-search-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.lp2-search-title {
  font-family: var(--lp2-serif);
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--lp2-ink);
  margin: 0;
}
#page-marketing .search-bar-outer { position: relative; margin: 0; }
#page-marketing .lp2-search-bar {
  display: flex;
  align-items: stretch;
  gap: 0;
  background: #FFFFFF;
  border: 1px solid var(--lp2-hairline);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(10, 22, 40, 0.04), 0 12px 32px -16px rgba(10, 22, 40, 0.18);
  overflow: hidden;
}
#page-marketing .lp2-search-bar svg { align-self: center; margin-left: 18px; flex-shrink: 0; opacity: 0.5; }
#page-marketing .lp2-search-bar input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  padding: 18px 14px;
  font-family: var(--lp2-sans);
  font-size: 15px;
  color: var(--lp2-ink);
}
#page-marketing .lp2-search-bar input::placeholder { color: var(--lp2-ink-faint); }
#page-marketing .lp2-search-bar select {
  border: none;
  outline: none;
  background: transparent;
  border-left: 1px solid var(--lp2-hairline);
  padding: 0 14px;
  font-family: var(--lp2-sans);
  font-size: 13.5px;
  color: var(--lp2-ink-soft);
  max-width: 150px;
  cursor: pointer;
}
#page-marketing .lp2-search-bar .search-go {
  border: none;
  background: var(--lp2-ink);
  color: var(--lp2-paper);
  font-family: var(--lp2-sans);
  font-size: 14.5px;
  font-weight: 600;
  padding: 0 28px;
  cursor: pointer;
  transition: background 0.2s ease;
  border-radius: 0;
  box-shadow: none;
}
#page-marketing .lp2-search-bar .search-go:hover { background: var(--lp2-accent); }
#page-marketing .query-prompt-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.lp2-prompt-label {
  font-family: var(--lp2-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lp2-ink-faint);
  margin-right: 4px;
}
#page-marketing .query-prompt-chip {
  font-family: var(--lp2-sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--lp2-ink-soft);
  background: transparent;
  border: 1px solid var(--lp2-hairline);
  border-radius: 999px;
  padding: 7px 16px;
  cursor: pointer;
  transition: border-color 0.16s ease, color 0.16s ease, background 0.16s ease;
}
#page-marketing .query-prompt-chip:hover {
  border-color: var(--lp2-accent);
  color: var(--lp2-accent);
  background: rgba(15, 118, 110, 0.05);
}
#page-marketing .search-suggestions {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #FFFFFF;
  border: 1px solid var(--lp2-hairline);
  border-radius: 12px;
  box-shadow: 0 18px 44px -12px rgba(10, 22, 40, 0.25);
  z-index: 30;
  overflow: hidden;
}
#page-marketing .search-sug-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  font-family: var(--lp2-sans);
  font-size: 14px;
  color: var(--lp2-ink-soft);
  cursor: pointer;
}
#page-marketing .search-sug-item:hover,
#page-marketing .search-sug-item.kb-active { background: var(--lp2-paper-deep); color: var(--lp2-ink); }
#page-marketing .search-sug-tag {
  margin-left: auto;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lp2-ink-faint);
}
@media (max-width: 720px) {
  #page-marketing .lp2-search-bar { flex-wrap: wrap; }
  #page-marketing .lp2-search-bar input { flex-basis: 100%; border-bottom: 1px solid var(--lp2-hairline); }
  #page-marketing .lp2-search-bar select { flex: 1; border-left: none; padding: 14px; max-width: none; }
  #page-marketing .lp2-search-bar .search-go { padding: 14px 22px; }
}

/* ============================================================
   THE PROBLEM — dark editorial
   ============================================================ */
#page-marketing .lp2-problem {
  background: var(--lp2-dark-bg);
  color: var(--lp2-dark-text);
}
.lp2-problem-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 4vw, 56px);
  margin-top: clamp(40px, 6vw, 72px);
}
.lp2-problem-item { border-top: 1px solid var(--lp2-dark-hairline); padding-top: 26px; }
.lp2-problem-num {
  font-family: var(--lp2-serif);
  font-style: italic;
  font-size: 17px;
  color: var(--lp2-accent-bright);
  margin-bottom: 18px;
}
.lp2-problem-quote {
  font-family: var(--lp2-sans);
  font-size: 16.5px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--lp2-dark-text);
  margin: 0 0 12px;
}
.lp2-problem-copy {
  font-family: var(--lp2-sans);
  font-size: 14px;
  line-height: 1.7;
  color: var(--lp2-dark-muted);
  margin: 0;
}
.lp2-pullquote {
  margin: clamp(56px, 8vw, 96px) 0 0;
  padding-top: clamp(36px, 5vw, 56px);
  border-top: 1px solid var(--lp2-dark-hairline);
}
.lp2-pullquote blockquote {
  font-family: var(--lp2-serif);
  font-style: italic;
  font-size: clamp(1.4rem, 2.6vw, 2rem);
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--lp2-dark-text);
  max-width: 24em;
  margin: 0 0 16px;
}
.lp2-pullquote cite {
  font-family: var(--lp2-sans);
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: var(--lp2-dark-muted);
}
@media (max-width: 820px) {
  .lp2-problem-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   HOW IT WORKS — restyled interactive steps
   lpSetStep() paints inline background/borderColor on .lp-step-btn
   (white / #F0FDFA / #E2E8F0 / #99F6E4) — base styles assume those.
   ============================================================ */
#page-marketing .lp2-how { background: var(--lp2-paper); }
#page-marketing #lpStepNav {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: clamp(32px, 5vw, 52px) 0 clamp(28px, 4vw, 40px);
}
#page-marketing .lp-step-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--lp2-sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--lp2-ink-soft);
  border: 1px solid #E2E8F0;
  background: #FFFFFF;
  border-radius: 999px;
  padding: 12px 22px 12px 14px;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 1px 2px rgba(10, 22, 40, 0.04);
}
#page-marketing .lp-step-btn.active { box-shadow: 0 6px 18px -6px rgba(15, 118, 110, 0.3); }
#page-marketing .lp-step-dot {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #CBD5E1;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s ease;
}
#page-marketing .lp-step-btn.active .lp-step-label,
#page-marketing .lp-step-btn.done .lp-step-label { color: var(--lp2-accent); font-weight: 600; }
#page-marketing .lp-step-panel { display: none; }
#page-marketing .lp-step-panel.active { display: block; animation: lp2PanelIn 0.45s cubic-bezier(0.16, 1, 0.3, 1); }
@keyframes lp2PanelIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  #page-marketing .lp-step-panel.active { animation: none; }
}
.lp2-step-panel-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  background: #FFFFFF;
  border: 1px solid var(--lp2-hairline);
  border-radius: 16px;
  padding: clamp(28px, 4vw, 52px);
  box-shadow: 0 1px 2px rgba(10, 22, 40, 0.04), 0 20px 48px -24px rgba(10, 22, 40, 0.16);
}
.lp2-step-title {
  font-family: var(--lp2-serif);
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--lp2-ink);
  margin: 0 0 14px;
}
.lp2-step-copy {
  font-family: var(--lp2-sans);
  font-size: 15px;
  line-height: 1.7;
  color: var(--lp2-ink-soft);
  margin: 0 0 24px;
}
/* Step vignette: quiet typographic specimen, not a fake screenshot */
.lp2-step-visual {
  border-left: 1px solid var(--lp2-hairline);
  padding-left: clamp(24px, 3.5vw, 48px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.lp2-step-visual-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font-family: var(--lp2-sans);
  font-size: 14px;
  color: var(--lp2-ink-soft);
  border-bottom: 1px solid var(--lp2-hairline);
  padding-bottom: 14px;
}
.lp2-step-visual-row:last-child { border-bottom: none; padding-bottom: 0; }
.lp2-step-visual-row strong { color: var(--lp2-ink); font-weight: 600; }
.lp2-step-visual-tag {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lp2-accent);
  flex-shrink: 0;
}
@media (max-width: 820px) {
  .lp2-step-panel-card { grid-template-columns: 1fr; }
  .lp2-step-visual { border-left: none; padding-left: 0; border-top: 1px solid var(--lp2-hairline); padding-top: 24px; }
}

/* ============================================================
   PRINCIPLES — three commitments
   ============================================================ */
#page-marketing .lp2-principles {
  background: var(--lp2-paper);
  border-top: 1px solid var(--lp2-hairline);
}
.lp2-principles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(32px, 5vw, 64px);
  margin-top: clamp(44px, 6vw, 72px);
}
.lp2-principle { position: relative; }
.lp2-principle-num {
  font-family: var(--lp2-serif);
  font-style: italic;
  font-size: clamp(2.6rem, 4vw, 3.6rem);
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px var(--lp2-accent);
  margin-bottom: 18px;
}
@supports not (-webkit-text-stroke: 1px black) {
  .lp2-principle-num { color: var(--lp2-accent); opacity: 0.4; }
}
.lp2-principle-title {
  font-family: var(--lp2-serif);
  font-size: 1.35rem;
  font-weight: 400;
  color: var(--lp2-ink);
  margin: 0 0 10px;
}
.lp2-principle-copy {
  font-family: var(--lp2-sans);
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--lp2-ink-soft);
  margin: 0;
}
.lp2-principles-foot {
  margin-top: clamp(44px, 6vw, 64px);
  padding-top: 28px;
  border-top: 1px solid var(--lp2-hairline);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.lp2-principles-foot p {
  font-family: var(--lp2-sans);
  font-size: 13px;
  color: var(--lp2-ink-faint);
  margin: 0;
  max-width: 44em;
}
@media (max-width: 820px) {
  .lp2-principles-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   THREE PATHS
   ============================================================ */
#page-marketing .lp2-paths { background: var(--lp2-paper-deep); border-top: 1px solid var(--lp2-hairline); }
.lp2-paths-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--lp2-hairline);
  border-radius: 16px;
  overflow: hidden;
  background: #FFFFFF;
  margin-top: clamp(36px, 5vw, 56px);
}
#page-marketing .lp2-path {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
  padding: clamp(28px, 3.5vw, 44px);
  background: transparent;
  border: none;
  border-right: 1px solid var(--lp2-hairline);
  cursor: pointer;
  transition: background 0.2s ease;
}
#page-marketing .lp2-path:last-child { border-right: none; }
#page-marketing .lp2-path:hover { background: rgba(15, 118, 110, 0.045); }
.lp2-path-kicker {
  font-family: var(--lp2-sans);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--lp2-accent);
}
.lp2-path-title {
  font-family: var(--lp2-serif);
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--lp2-ink);
  line-height: 1.25;
}
.lp2-path-copy {
  font-family: var(--lp2-sans);
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--lp2-ink-soft);
}
.lp2-path-action {
  margin-top: auto;
  padding-top: 14px;
  font-family: var(--lp2-sans);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--lp2-ink);
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
#page-marketing .lp2-path:hover .lp2-path-action { color: var(--lp2-accent); }
@media (max-width: 820px) {
  .lp2-paths-grid { grid-template-columns: 1fr; }
  #page-marketing .lp2-path { border-right: none; border-bottom: 1px solid var(--lp2-hairline); }
  #page-marketing .lp2-path:last-child { border-bottom: none; }
}

/* ============================================================
   SPECIALTIES
   ============================================================ */
#page-marketing .lp2-specialties { background: var(--lp2-paper); }
#page-marketing .lp2-specialty-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: clamp(32px, 4vw, 48px);
  max-width: 980px;
}
#page-marketing .lp2-specialties .lp-specialty-chip {
  font-family: var(--lp2-sans);
  font-size: 13.5px;
  font-weight: 500;
  color: var(--lp2-ink-soft);
  background: transparent;
  border: 1px solid var(--lp2-hairline);
  border-radius: 999px;
  padding: 10px 20px;
  min-height: 44px;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 0.16s ease, color 0.16s ease, background 0.16s ease;
  box-shadow: none;
}
#page-marketing .lp2-specialties .lp-specialty-chip:hover {
  border-color: var(--lp2-ink);
  color: var(--lp2-ink);
  background: transparent;
  box-shadow: none;
}
.lp2-specialties-foot { margin-top: 28px; }

/* ============================================================
   FOR PROVIDERS — dark teaser
   ============================================================ */
#page-marketing .lp2-providers {
  background: var(--lp2-dark-bg);
  color: var(--lp2-dark-text);
}
.lp2-providers-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(40px, 6vw, 88px);
  align-items: center;
}
.lp2-providers-list { display: flex; flex-direction: column; }
.lp2-providers-item {
  display: flex;
  align-items: baseline;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid var(--lp2-dark-hairline);
}
.lp2-providers-item:first-child { border-top: 1px solid var(--lp2-dark-hairline); }
.lp2-providers-item-num {
  font-family: var(--lp2-serif);
  font-style: italic;
  font-size: 14px;
  color: var(--lp2-accent-bright);
  flex-shrink: 0;
  width: 26px;
}
.lp2-providers-item-title {
  font-family: var(--lp2-sans);
  font-size: 15px;
  font-weight: 600;
  color: var(--lp2-dark-text);
}
.lp2-providers-item-copy {
  font-family: var(--lp2-sans);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--lp2-dark-muted);
  margin-left: auto;
  max-width: 22em;
  text-align: right;
}
.lp2-network-roster {
  font-family: var(--lp2-sans);
  font-size: 13px;
  line-height: 1.7;
  color: var(--lp2-ink-soft);
  max-width: 36em;
  margin: 14px 0 0;
}
.lp2-providers-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: clamp(28px, 4vw, 40px);
}
.lp2-providers-signin {
  font-family: var(--lp2-sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--lp2-dark-muted);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 0;
  border-bottom: 1px solid var(--lp2-dark-hairline);
  transition: color 0.18s ease;
}
.lp2-providers-signin:hover { color: var(--lp2-accent-bright); }
@media (max-width: 900px) {
  .lp2-providers-grid { grid-template-columns: 1fr; }
  .lp2-providers-item { flex-wrap: wrap; }
  .lp2-providers-item-copy { margin-left: 44px; text-align: left; max-width: none; }
}

/* ============================================================
   FINAL CTA
   ============================================================ */
#page-marketing .lp2-final {
  background: var(--lp2-dark-bg);
  border-top: 1px solid var(--lp2-dark-hairline);
  text-align: center;
}
.lp2-final-headline {
  font-family: var(--lp2-serif);
  font-weight: 400;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--lp2-dark-text);
  margin: 0 auto 18px;
  max-width: 15em;
}
.lp2-final-headline em { font-style: italic; color: var(--lp2-accent-bright); }
.lp2-final-sub {
  font-family: var(--lp2-sans);
  font-size: 15px;
  line-height: 1.65;
  color: var(--lp2-dark-muted);
  max-width: 34em;
  margin: 0 auto 34px;
}
.lp2-final-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  flex-wrap: wrap;
}
.lp2-final-note {
  margin: 26px auto 0;
  font-family: var(--lp2-sans);
  font-size: 12px;
  letter-spacing: 0.04em;
  color: rgba(245, 242, 236, 0.58);
}

/* ============================================================
   FOOTER (restyle of existing markup) + crisis line
   ============================================================ */
#page-marketing .lp2-footer {
  background: var(--lp2-dark-bg);
  color: var(--lp2-dark-muted);
  padding: 40px 24px 48px;
  border-top: 1px solid var(--lp2-dark-hairline);
}
#page-marketing .lp2-footer-crisis {
  font-family: var(--lp2-sans);
  font-size: 13px;
  line-height: 1.6;
  color: var(--lp2-dark-muted);
  border: 1px solid var(--lp2-dark-hairline);
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 32px;
}
#page-marketing .lp2-footer-crisis a { color: var(--lp2-accent-bright); text-decoration: none; font-weight: 600; }
#page-marketing .lp2-footer-crisis a:hover { text-decoration: underline; }
.lp2-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.lp2-footer-brand { display: flex; align-items: center; gap: 10px; }
.lp2-footer-brand img { height: 26px; width: auto; display: block; }
.lp2-footer-links { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
#page-marketing .lp2-footer-links a,
#page-marketing .lp2-footer-links button {
  font-family: var(--lp2-sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--lp2-dark-muted);
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: none;
  padding: 2px 0;
  transition: color 0.16s ease;
}
#page-marketing .lp2-footer-links a:hover,
#page-marketing .lp2-footer-links button:hover { color: var(--lp2-dark-text); }
.lp2-footer-fine {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--lp2-dark-hairline);
  font-family: var(--lp2-sans);
  font-size: 11.5px;
  letter-spacing: 0.03em;
  color: rgba(245, 242, 236, 0.55);
}

/* ============================================================
   Sticky mobile CTA + back-to-top (existing ids, restyled)
   ============================================================ */
#page-marketing ~ .mkt-sticky-cta, /* defensive: legacy placement variants */
.mkt-sticky-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--z-sticky, 20);
  transform: translateY(110%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
.mkt-sticky-cta.visible { transform: translateY(0); pointer-events: auto; }
.mkt-sticky-cta-inner {
  display: flex;
  gap: 10px;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
  background: rgba(10, 22, 40, 0.96);
  backdrop-filter: blur(8px);
  border-top: 1px solid rgba(245, 242, 236, 0.12);
}
.mkt-sticky-cta-primary {
  flex: 1.4;
  font-family: var(--lp2-sans, 'Plus Jakarta Sans', sans-serif);
  font-size: 14.5px;
  font-weight: 700;
  color: #0A1628;
  background: #F5F2EC;
  border: none;
  border-radius: 10px;
  padding: 14px 10px;
  cursor: pointer;
}
.mkt-sticky-cta-secondary {
  flex: 1;
  font-family: var(--lp2-sans, 'Plus Jakarta Sans', sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: rgba(245, 242, 236, 0.85);
  background: transparent;
  border: 1px solid rgba(245, 242, 236, 0.3);
  border-radius: 10px;
  padding: 14px 10px;
  cursor: pointer;
}
@media (min-width: 821px) { .mkt-sticky-cta { display: none; } }

/* ============================================================
   NAV polish (CSS only — markup and ids untouched; applies to the
   shared shell nav so the whole product picks up the refinement)
   ============================================================ */
.nav {
  background: rgba(10, 22, 40, 0.97);
  border-bottom: 1px solid rgba(245, 242, 236, 0.1);
  box-shadow: none;
}
.nav .nav-link {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: rgba(245, 242, 236, 0.72);
  transition: color 0.16s ease;
}
.nav .nav-link:hover { color: #F5F2EC; }
.nav .nav-cta {
  background: #F5F2EC;
  color: #0A1628;
  border-radius: 999px;
  padding: 10px 22px;
  font-weight: 700;
  box-shadow: none;
  transition: background 0.18s ease, transform 0.15s ease;
}
.nav .nav-cta:hover { background: #FFFFFF; transform: translateY(-1px); }
.nav #nav-login-btn {
  background: transparent;
  color: rgba(245, 242, 236, 0.85);
  border: 1px solid rgba(245, 242, 236, 0.28);
  border-radius: 999px;
  padding: 9px 20px;
  font-weight: 600;
  transition: border-color 0.16s ease, color 0.16s ease;
}
.nav #nav-login-btn:hover { opacity: 1; border-color: rgba(245, 242, 236, 0.6); color: #FFFFFF; }

.back-to-top {
  position: fixed;
  right: 18px;
  bottom: 84px;
  z-index: var(--z-sticky, 20);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--hairline, rgba(10, 22, 40, 0.12));
  background: #FFFFFF;
  color: #0A1628;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  box-shadow: 0 8px 24px -8px rgba(10, 22, 40, 0.3);
}
.back-to-top.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
@media (min-width: 821px) { .back-to-top { bottom: 24px; } }
