:root {
  --ink: #14213d;
  --ink-soft: #124885;
  --teal: #124885;
  --teal-bright: #2e6daf;
  --coral: #e43a5b;
  --paper: #f4f6f8;
  --white: #ffffff;
  --mist: #eef4fa;
  --line: #dfe4ea;
  --muted: #4b5563;
  --label: #30343b;
  --shadow: 0 12px 32px rgba(20, 33, 61, 0.08);
  --radius: 16px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; }
.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; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: -5rem; background: var(--white); padding: .75rem 1rem; border-radius: 8px; box-shadow: var(--shadow); }
.skip-link:focus { top: 1rem; }

.app-shell { min-height: 100vh; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  min-height: 78px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 0 2.25rem;
  background: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; gap: .65rem; width: max-content; color: var(--teal); text-decoration: none; }
.sinta-brand-lockup { display: inline-flex; align-items: center; gap: .48rem; color: var(--teal); font-size: 1.28rem; font-weight: 600; letter-spacing: -.035em; }
.sinta-brand-lockup b { font-weight: 750; }
.sinta-mark { width: 1.24em; height: 1.24em; flex: 0 0 auto; color: var(--coral); }
.sinta-mark.mini { width: 1.24em; height: 1.24em; }
.brand-divider { width: 1px; height: 22px; background: var(--line); }
.brand-section { color: var(--muted); font-family: Poppins, Inter, sans-serif; font-size: .8rem; font-weight: 600; letter-spacing: .03em; }
.patient-brand { display: none; gap: .72rem; }
.patient-brand-copy { display: flex; flex-direction: column; min-width: 0; line-height: 1.1; }
.patient-brand-copy strong { overflow: hidden; color: var(--ink); font-size: 1rem; font-weight: 700; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.patient-brand-copy small { margin-top: .22rem; color: var(--muted); font-size: .68rem; font-weight: 500; letter-spacing: 0; white-space: nowrap; }
body[data-view="patient"] .sinta-global-brand, body[data-view="marketing"] .sinta-global-brand { display: none; }
body[data-view="patient"] .patient-brand, body[data-view="marketing"] .patient-brand { display: inline-flex; }
body[data-view="patient"] .clinic-chip, body[data-view="marketing"] .clinic-chip { display: none; }
.clinic-chip { justify-self: end; display: flex; align-items: center; gap: .65rem; background: transparent; border: 0; padding: .35rem; text-align: left; cursor: pointer; border-radius: 14px; }
.admin-preview-exit { grid-column: 2; grid-row: 1; justify-self: end; }
body.admin-preview .clinic-chip { display: none; }
body.admin-preview .clinic-users-link { display: none; }
.clinic-chip:hover { background: var(--white); }
.clinic-chip small, .provider-logo + span small, .hero-provider small, .rail-contact small { display: block; color: var(--muted); font-size: .72rem; line-height: 1.2; }
.clinic-chip strong, .hero-provider strong { display: block; font-size: .85rem; }
.clinic-avatar, .provider-logo { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border: 1px solid rgba(20,33,61,.2); border-radius: 50%; background: var(--white); color: var(--ink); font-weight: 800; font-size: .73rem; letter-spacing: .04em; }
.clinic-avatar.small { width: 34px; height: 34px; }
.clinic-avatar img, .marketing-clinic-logo img { width: 100%; height: 100%; border-radius: inherit; object-fit: contain; }

.view { animation: fadeIn .35s ease both; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(4px); } }
body:not([data-view="patient"]):not([data-view="marketing"]) .clinic-chip { visibility: hidden; pointer-events: none; }

.access-view { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(520px, .95fr); min-height: calc(100vh - 78px); background: var(--white); }
.access-visual { position: relative; min-height: 720px; overflow: hidden; background: var(--ink); }
.access-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.access-overlay { position: absolute; inset: 0; background: linear-gradient(20deg, rgba(20,33,61,.91), rgba(18,72,133,.1) 76%), linear-gradient(90deg, rgba(20,33,61,.32), transparent); }
.access-copy { position: absolute; z-index: 1; left: clamp(2rem, 6vw, 6rem); right: 2rem; bottom: 10.5rem; color: var(--white); }
.access-copy h1 { margin: 0; font-family: Inter, sans-serif; font-size: clamp(3.4rem, 5.5vw, 6.5rem); font-weight: 700; line-height: .98; letter-spacing: -.045em; }
.access-copy h1 span { color: #f06a81; }
.access-copy > p:last-child { max-width: 550px; margin: 1.5rem 0 0; color: rgba(255,255,255,.76); font-size: 1rem; }
.boundary-badge { position: absolute; z-index: 1; left: clamp(2rem, 6vw, 6rem); bottom: 3rem; display: flex; align-items: center; gap: .75rem; padding: .8rem 1rem; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; background: rgba(20,33,61,.68); color: var(--white); backdrop-filter: blur(12px); }
.boundary-badge > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--coral); font-weight: 900; }
.boundary-badge p { margin: 0; color: rgba(255,255,255,.7); font-size: .75rem; line-height: 1.4; }
.boundary-badge strong { color: var(--white); }
.access-panel { display: grid; place-items: center; padding: 3rem clamp(1.5rem, 5vw, 5rem); }
.access-panel-inner { width: min(100%, 610px); }
.access-panel h2 { max-width: 560px; margin: 0; font-family: Inter, sans-serif; font-size: clamp(2.35rem, 3.7vw, 3.75rem); font-weight: 700; line-height: 1.06; letter-spacing: -.035em; }
.access-intro { margin: 1rem 0 1.75rem; color: var(--muted); }
.access-options { display: grid; gap: .7rem; }
.access-option { display: grid; grid-template-columns: 46px 1fr auto; gap: 1rem; align-items: center; padding: 1.15rem; border: 1px solid var(--line); border-radius: 16px; background: var(--white); transition: transform .2s, border-color .2s, box-shadow .2s; }
.access-option:hover { transform: translateY(-2px); border-color: rgba(20,33,61,.28); box-shadow: 0 14px 35px rgba(20,33,61,.08); }
.access-option.patient-option { background: linear-gradient(135deg, #eef4fa, #fff 68%); border-color: #b9c7d7; }
.option-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 10px; background: var(--ink); color: var(--white); font-family: Inter, sans-serif; font-weight: 800; }
.patient-option .option-icon { background: var(--teal); }
.option-kicker { color: var(--teal); font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; }
.access-option h3 { margin: .1rem 0 .15rem; font-family: Inter, sans-serif; font-size: 1.22rem; font-weight: 700; line-height: 1.1; letter-spacing: -.015em; }
.access-option p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.4; }
.access-option .button { white-space: nowrap; }
.privacy-note { display: flex; align-items: center; justify-content: center; gap: .45rem; margin: 1.3rem 0 0; color: var(--muted); font-size: .72rem; }
.privacy-note span { color: var(--teal); }
.mobile-access-brand { display: none; }

/* Clinic sign-in */
body:not([data-view]) .topbar,
body:not([data-view]) .site-footer,
body[data-view="access"] .topbar,
body[data-view="access"] .site-footer { display: none; }
.clinic-login-page { grid-template-columns: minmax(440px, .88fr) minmax(540px, 1.12fr); min-height: 100vh; background: #fff; }
.clinic-login-panel { display: grid; min-width: 0; padding: clamp(2rem, 4.3vw, 5.25rem); background: linear-gradient(145deg, #fff 0%, #fbfcfe 70%, #f2f6fb 100%); }
.clinic-login-panel-inner { display: flex; flex-direction: column; width: min(100%, 590px); min-height: 100%; margin: 0 auto; }
.clinic-login-brand { display: flex; align-items: center; gap: .65rem; color: var(--teal); font-size: 1.2rem; letter-spacing: -.03em; }
.clinic-login-brand .sinta-mark { width: 2rem; height: 2rem; }
.clinic-login-brand strong { font-weight: 750; }
.clinic-login-brand > span { margin-left: .25rem; padding-left: .9rem; border-left: 1px solid #ced7e1; color: #596273; font-family: Poppins, Inter, sans-serif; font-size: .92rem; font-weight: 600; letter-spacing: .01em; }
.clinic-login-content { margin: auto 0; padding: clamp(3.5rem, 8vh, 7.5rem) 0 3rem; }
.clinic-login-content .eyebrow { margin-bottom: 1.15rem; color: var(--teal); }
.clinic-login-content h1 { margin: 0; font-size: clamp(3.2rem, 5.4vw, 5.5rem); font-weight: 760; line-height: .94; letter-spacing: -.06em; }
.clinic-login-intro { max-width: 490px; margin: 1.35rem 0 2.35rem; color: #5c6879; font-size: clamp(1rem, 1.25vw, 1.15rem); }
.clinic-login-form { display: grid; gap: 1.15rem; }
.clinic-login-form > label { display: grid; gap: .48rem; color: #39475b; font-size: .76rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.clinic-login-input { display: grid; grid-template-columns: 21px 1fr auto; align-items: center; gap: .72rem; min-height: 58px; padding: 0 1rem; border: 1px solid #d5dde7; border-radius: 14px; background: #fff; box-shadow: 0 4px 14px rgba(20,33,61,.035); transition: border-color .2s, box-shadow .2s, transform .2s; }
.clinic-login-input:focus-within { transform: translateY(-1px); border-color: #7fa5ca; box-shadow: 0 0 0 4px rgba(18,72,133,.09), 0 10px 25px rgba(20,33,61,.06); }
.clinic-login-input svg { width: 21px; fill: none; stroke: #517194; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.clinic-login-input input { min-width: 0; width: 100%; height: 54px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: .94rem; font-weight: 500; letter-spacing: normal; text-transform: none; }
.clinic-login-input input::placeholder { color: #94a0ae; font-weight: 450; }
.password-visibility { padding: .35rem .15rem; border: 0; background: transparent; color: var(--teal); font-size: .72rem; font-weight: 800; cursor: pointer; }
.clinic-login-hint { margin: -.15rem 0 .1rem; color: #687588; font-size: .74rem; line-height: 1.5; }
.clinic-login-submit { min-height: 58px; margin-top: .15rem; border: 0; border-radius: 14px; background: linear-gradient(120deg, var(--ink), #155493); box-shadow: 0 14px 28px rgba(18,72,133,.2); font-size: .9rem; }
.clinic-login-submit:hover { background: linear-gradient(120deg, #1c2d50, #1763a8); box-shadow: 0 17px 34px rgba(18,72,133,.25); }
.clinic-login-submit:disabled { cursor: wait; opacity: .72; transform: none; }
.clinic-login-submit span { margin-left: .25rem; font-size: 1.15rem; }
.clinic-login-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1.5rem; border-top: 1px solid #e2e7ed; }
.clinic-login-trust { display: flex; align-items: center; gap: .7rem; margin-top: auto; color: #58677a; }
.clinic-login-trust > span { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 auto; border-radius: 50%; background: #e8f1fb; color: var(--teal); font-size: .75rem; font-weight: 900; }
.clinic-login-trust p { margin: 0; line-height: 1.25; }
.clinic-login-trust strong, .clinic-login-trust small { display: block; }
.clinic-login-trust strong { color: #34445a; font-size: .75rem; }
.clinic-login-trust small { margin-top: .15rem; font-size: .66rem; }
.clinic-login-footer-links { display: flex; align-items: center; gap: .95rem; }
.clinic-login-footer-links button { padding: .25rem 0; border: 0; border-bottom: 1px solid transparent; background: transparent; color: #556477; font-size: .72rem; font-weight: 750; cursor: pointer; }
.clinic-login-footer-links button:hover { border-bottom-color: currentColor; color: var(--teal); }
.clinic-login-art { position: relative; min-height: 100vh; overflow: hidden; background: var(--ink); }
.clinic-login-art > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 53% 48%; }
.clinic-login-art-scrim { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,24,51,.93) 0%, rgba(12,35,65,.44) 31%, rgba(8,24,51,.03) 64%), linear-gradient(90deg, rgba(8,24,51,.08), transparent 50%); }
.clinic-login-art::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.1); pointer-events: none; }
.clinic-login-art-copy { position: absolute; z-index: 1; right: clamp(2rem, 5vw, 5.8rem); bottom: clamp(2.75rem, 7vh, 6.5rem); left: clamp(2rem, 5vw, 5.8rem); max-width: 680px; color: #fff; }
.clinic-login-art-copy p { display: flex; align-items: center; gap: .65rem; margin: 0 0 1.15rem; color: rgba(255,255,255,.82); font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.clinic-login-art-copy p span { width: 34px; height: 1px; background: #f18aa0; }
.clinic-login-art-copy h2 { margin: 0; font-size: clamp(2.6rem, 4.5vw, 5rem); font-weight: 720; line-height: .98; letter-spacing: -.052em; text-shadow: 0 3px 24px rgba(5,17,36,.25); }
.clinic-login-art-copy small { display: block; max-width: 520px; margin-top: 1.25rem; color: rgba(255,255,255,.78); font-size: clamp(.85rem, 1.05vw, 1rem); }
.patient-grid { display: grid; grid-template-columns: minmax(236px, 20vw) 1fr; max-width: 1640px; margin: 0 auto; }
.side-rail { position: sticky; top: 78px; align-self: start; min-height: calc(100vh - 78px); padding: 3rem 2rem 8rem; border-right: 1px solid var(--line); }
.patient-grid > .side-rail { max-height: calc(100vh - 78px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #c8d6e5 transparent; }
.eyebrow { margin: 0 0 .55rem; color: var(--teal); font-family: Poppins, Inter, sans-serif; font-size: .76rem; line-height: 1.2; font-weight: 700; text-transform: uppercase; letter-spacing: .15em; }
.eyebrow.light { color: #c7fffa; }
.rail-intro h1, .dashboard-heading h1 { margin: 0; font-family: Inter, sans-serif; font-size: clamp(2.05rem, 3vw, 3.7rem); font-weight: 700; line-height: 1.04; letter-spacing: -.038em; }
.rail-intro > p:last-child { margin: 1.25rem 0 0; color: var(--muted); font-size: .93rem; }
.topic-nav { display: flex; flex-direction: column; gap: .2rem; margin: 2.25rem 0; }
.topic-link { position: relative; display: grid; grid-template-columns: 28px 1fr; gap: .25rem; align-items: center; width: 100%; padding: .7rem .6rem .7rem .8rem; overflow: hidden; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--muted); text-align: left; font-size: .88rem; cursor: pointer; transition: background .2s, border-color .2s, box-shadow .2s, color .2s, transform .2s; }
.topic-link span { color: #93a4a6; font-size: .7rem; }
.topic-link:hover { color: var(--ink); transform: translateX(3px); }
.topic-link::before { content: ""; position: absolute; inset: 7px auto 7px 0; width: 4px; border-radius: 0 4px 4px 0; background: var(--teal); opacity: 0; transform: scaleY(.35); transition: opacity .2s, transform .2s; }
.topic-link.is-active { border-color: #b8cce2; background: linear-gradient(90deg, #e4eef9, var(--white)); color: var(--teal); font-weight: 800; box-shadow: 0 10px 26px rgba(18,72,133,.11); transform: translateX(4px); }
.topic-link.is-active::before { opacity: 1; transform: scaleY(1); }
.topic-link.is-active span { color: var(--teal); }
.clinic-nav-category, .patient-nav-category {
  grid-template-columns: 34px 1fr;
  min-height: 52px;
  padding: .75rem .7rem;
  border-color: #d4dfeb;
  border-radius: 12px;
  background: #edf3f9;
  color: var(--ink);
  font-weight: 750;
  line-height: 1.25;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.clinic-nav-category span, .patient-nav-category span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid #bfd0e1;
  border-radius: 8px;
  background: var(--white);
  color: var(--teal);
  font-size: .66rem;
  font-weight: 850;
}
.clinic-nav-category:hover, .patient-nav-category:hover {
  border-color: #a8bed3;
  background: #e5eef8;
  color: var(--teal);
  box-shadow: 0 7px 18px rgba(18,72,133,.08);
}
.clinic-nav-category.is-active, .patient-nav-category.is-active {
  border-color: #87a8c8;
  background: linear-gradient(90deg, #dceafb, #f7fbff);
  color: var(--teal);
  box-shadow: 0 10px 24px rgba(18,72,133,.13);
}
.clinic-nav-category.is-active span, .patient-nav-category.is-active span {
  border-color: var(--teal);
  background: var(--teal);
  color: var(--white);
}
.clinic-nav-group + .clinic-nav-group { margin-top: .35rem; }
.clinic-subnav { display: grid; gap: .15rem; margin: .25rem 0 .75rem 1.05rem; padding-left: 1rem; border-left: 1px solid #c8d6e5; }
.clinic-subnav-link { position: relative; width: 100%; padding: .5rem .6rem; border: 0; border-radius: 8px; background: transparent; color: #4c5d72; text-align: left; font-size: .875rem; line-height: 1.32; cursor: pointer; transition: color .2s, background .2s, transform .2s; }
.clinic-subnav-link::before { content: ""; position: absolute; top: 50%; left: -1.08rem; width: .75rem; height: 1px; background: #c8d6e5; }
.clinic-subnav-link:hover { transform: translateX(2px); background: #edf3fa; color: var(--ink); }
.clinic-subnav-link.is-active { padding-left: .75rem; border-left: 4px solid var(--teal); background: #dceafb; color: var(--teal); font-weight: 550; box-shadow: 0 7px 18px rgba(18,72,133,.1); }
.patient-topic-nav { gap: .35rem; }
.patient-nav-group + .patient-nav-group { margin-top: .25rem; }
.patient-subnav-link.is-active { border-left-width: 3px; }
.patient-rail-search { display: flex; align-items: center; gap: .5rem; margin-top: 1.35rem; padding: .62rem .72rem; border: 1px solid #c8d6e5; border-radius: 10px; background: var(--white); }
.patient-rail-search svg { width: 17px; flex: 0 0 auto; fill: none; stroke: var(--teal); stroke-width: 1.8; }
.patient-rail-search input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: .8rem; }
.patient-quick-nav { display: grid; gap: .3rem; margin: 0 0 1rem; padding: .85rem; border: 1px solid #c8d6e5; border-radius: 12px; background: #edf3fa; }
.patient-quick-nav p { margin: 0 0 .25rem; color: var(--teal); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.patient-quick-nav button { padding: .42rem .2rem; border: 0; border-bottom: 1px solid #d4e0ec; background: transparent; color: #3e526b; text-align: left; font-size: .78rem; cursor: pointer; }
.patient-quick-nav button:last-child { border-bottom: 0; }
.patient-quick-nav button:hover { color: var(--teal); }
.rail-contact { display: grid; gap: .85rem; padding: 1rem; border: 1px solid #b8cce2; border-radius: 14px; background: linear-gradient(145deg, #eef4fa, var(--white)); box-shadow: 0 10px 28px rgba(18,72,133,.08); }
.rail-contact > div { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.rail-contact p { min-width: 0; margin: 0; font-size: .78rem; line-height: 1.25; }
.rail-contact strong { display: block; overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.pulse-dot, .status-dot { display: inline-block; width: 8px; height: 8px; flex: 0 0 auto; margin-top: .3rem; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 5px rgba(228,58,91,.14); }

.content-column { min-width: 0; padding: 1.1rem 1.1rem 5rem; }
.hero-panel { position: relative; min-height: 520px; overflow: hidden; border-radius: 20px; background: var(--ink); box-shadow: var(--shadow); }
.hero-panel > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,33,61,.92) 0%, rgba(18,72,133,.68) 38%, rgba(20,33,61,.08) 74%), linear-gradient(0deg, rgba(20,33,61,.42), transparent 45%); }
.hero-copy { position: absolute; z-index: 2; left: clamp(1.8rem, 5vw, 5.2rem); top: 50%; width: min(520px, 52%); transform: translateY(-53%); color: var(--white); }
.hero-copy h2 { margin: 0; font-family: Inter, sans-serif; font-size: clamp(2.7rem, 4.8vw, 5.2rem); font-weight: 700; line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.hero-copy > p:not(.eyebrow) { max-width: 480px; margin: 1.35rem 0; color: rgba(255,255,255,.78); font-size: clamp(.95rem, 1.2vw, 1.08rem); }
.text-link { display: inline-flex; align-items: center; gap: .55rem; padding: .4rem 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; font-weight: 800; font-size: .86rem; cursor: pointer; }
.text-link.light { color: var(--white); }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translate(2px, 2px); }
.hero-provider { position: absolute; z-index: 2; right: 1.25rem; bottom: 1.25rem; display: flex; gap: .7rem; align-items: center; padding: .65rem .85rem; border: 1px solid rgba(255,255,255,.28); border-radius: 15px; background: rgba(255,255,255,.88); backdrop-filter: blur(14px); }

.library-section { padding: 4.5rem clamp(.25rem, 3vw, 3.5rem) 1rem; }
.section-heading-row { display: flex; justify-content: space-between; gap: 2rem; align-items: end; }
.section-heading-row h2, .share-card h2 { margin: 0; font-family: Inter, sans-serif; font-size: clamp(2rem, 3vw, 3.1rem); font-weight: 700; line-height: 1.04; letter-spacing: -.035em; }
.search-field { display: flex; align-items: center; gap: .55rem; width: min(300px, 100%); padding: .7rem .85rem; border-bottom: 1.5px solid var(--ink); }
.search-field svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.search-field input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: .93rem; }
.search-field input::placeholder { color: #7c898c; }
.filter-row { display: flex; flex-wrap: wrap; gap: .5rem; margin: 2rem 0 1.15rem; }
.filter-chip { padding: .45rem .8rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--muted); font-size: .8rem; cursor: pointer; }
.filter-chip:hover, .filter-chip.is-active { border-color: var(--ink); background: var(--ink); color: var(--white); }
.topic-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: .9rem; }
.patient-topic-group { grid-column: 1 / -1; overflow: hidden; margin-bottom: 0; border: 1px solid #aec1d6; border-radius: var(--radius); background: #edf3fa; box-shadow: 0 10px 30px rgba(20,33,61,.06); }
.patient-topic-group + .patient-topic-group { margin-top: 1.6rem; }
.patient-topic-group > header { display: flex; align-items: center; gap: .95rem; padding: 1.15rem 1.25rem; border-bottom: 0; background: linear-gradient(135deg, var(--teal), #1f5f9d); color: var(--white); }
.patient-topic-group > header > span { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; background: rgba(255,255,255,.13); color: var(--white); font-size: .76rem; font-weight: 800; }
.patient-topic-group > header h3 { margin: 0; color: var(--white); font-family: Inter, sans-serif; font-size: 1.12rem; letter-spacing: -.01em; }
.patient-topic-group > header p { margin: .12rem 0 0; color: rgba(255,255,255,.76); font-size: .76rem; }
.patient-topic-group-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; padding: .8rem; }
.patient-topic-group .topic-card, .patient-topic-group .topic-card.featured { grid-column: auto; min-height: 240px; }
.topic-card { position: relative; grid-column: span 4; display: flex; flex-direction: column; min-height: 260px; padding: 1.25rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 8px 22px rgba(20,33,61,.043); cursor: pointer; transition: transform .25s, box-shadow .25s, border-color .25s; }
.topic-card.featured { grid-column: span 6; min-height: 300px; }
.topic-card:hover { transform: translateY(-4px); border-color: rgba(20,33,61,.28); box-shadow: 0 18px 45px rgba(20,33,61,.1); }
.topic-card:focus-visible { outline: 3px solid rgba(18,72,133,.35); outline-offset: 3px; }
.topic-number { display: flex; justify-content: space-between; align-items: center; color: #30435d; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.topic-tag { padding: .25rem .5rem; border-radius: 999px; background: var(--mist); color: var(--teal); font-weight: 800; letter-spacing: .03em; }
.topic-card h3 { margin: auto 0 .6rem; font-family: Inter, sans-serif; font-size: clamp(1.45rem, 2vw, 2rem); font-weight: 700; line-height: 1.08; letter-spacing: -.025em; }
.topic-card p { margin: 0 2.2rem 0 0; color: #39475a; font-size: .86rem; font-weight: 520; }
.topic-arrow { position: absolute; right: 1.15rem; bottom: 1.1rem; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--paper); font-size: 1rem; transition: transform .2s; }
.topic-card:hover .topic-arrow { transform: rotate(-45deg); }
.topic-card[data-category="patient-start"] { border-top: 4px solid var(--teal); }
.topic-card[data-category="patient-programs"] { border-top: 4px solid #2e6daf; }
.topic-card[data-category="patient-products"] { border-top: 4px solid #557cab; }
.topic-card[data-category="patient-use"] { border-top: 4px solid #2e6daf; }
.topic-card[data-category="patient-shipping"] { border-top: 4px solid #7793b5; }
.topic-card[data-category="patient-safety"] { border-top: 4px solid var(--coral); }
.topic-card[data-category="patient-support"] { border-top: 4px solid #506f92; }
.patient-topic-page { min-height: calc(100vh - 7rem); margin: 1rem 1rem 0; overflow: hidden; border: 1px solid #d4dde7; border-radius: 20px; background: var(--white); box-shadow: 0 16px 44px rgba(20,33,61,.08); }
.patient-topic-back { margin: 1.35rem 1.5rem 0; padding: .62rem .8rem; border: 0; border-radius: 9px; background: #edf3fa; color: var(--teal); font-weight: 750; cursor: pointer; }
.patient-topic-header { display: grid; grid-template-columns: minmax(0, .9fr) minmax(260px, 1.1fr); gap: 1.5rem 2.3rem; align-items: end; margin: 1.1rem 1.5rem 0; padding: 1.45rem 1.65rem; border-radius: 18px; background: linear-gradient(135deg, #14213d, #1a5793); color: var(--white); }
.patient-topic-header .clinic-topic-meta { grid-column: 1 / -1; margin-bottom: -.15rem; }
.patient-topic-header h2 { margin: 0; font-family: Inter, sans-serif; font-size: clamp(2rem, 4vw, 3.7rem); font-weight: 700; line-height: 1.02; letter-spacing: -.045em; }
.patient-topic-header > p { margin: 0; color: rgba(255,255,255,.78); font-size: 1rem; line-height: 1.55; }
.patient-topic-body { padding: 1.5rem 1.5rem 2rem; }
.patient-content-section { margin-top: 1rem; padding: 1.25rem 1.35rem; border: 1px solid #d5e0eb; border-radius: 14px; background: #f8fafc; }
.patient-content-section h3, .patient-support-panel h3 { margin: 0 0 .7rem; font-family: Inter, sans-serif; font-size: 1.25rem; line-height: 1.2; }
.patient-content-section > p { margin: 0; color: #405169; }
.patient-training-placeholder { display: flex; align-items: center; gap: 1rem; min-height: 150px; padding: 1.25rem; border: 1px dashed #aac0d6; border-radius: 14px; background: linear-gradient(145deg, #f4f8fc, #eaf2fa); }
.patient-training-icon { display: grid; place-items: center; width: 56px; height: 56px; flex: 0 0 auto; border-radius: 50%; background: var(--white); color: var(--teal); box-shadow: 0 8px 24px rgba(18,72,133,.12); }
.patient-training-placeholder span { color: var(--teal); font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.patient-training-placeholder h3 { margin: .18rem 0; font-size: 1.25rem; }
.patient-training-placeholder p { margin: 0; color: var(--muted); font-size: .86rem; }
.patient-step-list { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.patient-step-list li { display: grid; grid-template-columns: 32px 1fr; gap: .75rem; align-items: start; padding: .85rem; border-radius: 10px; background: var(--white); }
.patient-step-list li > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--teal); color: var(--white); font-size: .76rem; font-weight: 800; }
.patient-step-list p { margin: .15rem 0 0; color: #34465e; }
.patient-avoid-section { border-color: #f0c2cc; background: #fff7f8; }
.patient-avoid-section ul { display: grid; gap: .45rem; margin: 0; padding-left: 1.2rem; color: #5f3740; }
.patient-status-note { margin-top: 1rem; padding: 1rem 1.15rem; border-left: 4px solid var(--teal); border-radius: 10px; background: #edf3fa; }
.patient-status-note p { margin: .35rem 0 0; color: #405169; }
.patient-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: .8rem; }
.patient-product-grid section { padding: 1.15rem; border: 1px solid #d5e0eb; border-radius: 13px; background: var(--white); }
.patient-product-grid section > span { color: var(--teal); font-size: .72rem; font-weight: 800; }
.patient-product-grid h3 { margin: .35rem 0; font-size: 1.05rem; }
.patient-product-grid p { margin: 0; color: #46566b; font-size: .87rem; }
.patient-understand ul { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.patient-understand li { display: flex; align-items: flex-start; gap: .6rem; color: #34465e; }
.patient-understand li span { display: grid; place-items: center; width: 22px; height: 22px; flex: 0 0 auto; border-radius: 50%; background: var(--teal); color: var(--white); font-size: .7rem; }
.patient-support-panel { margin-top: 1rem; padding: 1.25rem; border: 1px solid #aac0d6; border-radius: 14px; background: #edf3fa; }
.patient-support-panel .eyebrow { margin-bottom: .25rem; }
.patient-support-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin-top: 1rem; }
.patient-support-grid article, .patient-support-grid button { display: flex; flex-direction: column; gap: .25rem; min-height: 112px; padding: 1rem; border: 1px solid #d2ddea; border-radius: 11px; background: var(--white); color: var(--ink); text-align: left; }
.patient-support-grid button { cursor: pointer; }
.patient-support-grid button:hover { border-color: var(--teal); }
.patient-support-grid span { color: var(--muted); font-size: .8rem; line-height: 1.45; }
.patient-support-grid .urgent { border-color: #efc2cc; background: #fff7f8; }
.patient-education-note { margin: 1rem 0 0; padding: .9rem 1rem; border-radius: 10px; background: var(--paper); color: var(--muted); font-size: .78rem; }
.empty-state { padding: 4rem 1rem; text-align: center; border: 1px dashed var(--line); border-radius: var(--radius); }
.empty-state > span { font-size: 2rem; color: var(--teal); }
.empty-state h3 { margin: .5rem 0 .25rem; font-family: Inter, sans-serif; font-size: 1.7rem; font-weight: 700; }
.empty-state p { margin: 0 0 1rem; color: var(--muted); }

.button { display: inline-flex; justify-content: center; align-items: center; gap: .45rem; min-height: 44px; padding: .68rem 1rem; border: 1px solid var(--teal); border-radius: 6px; background: var(--teal); color: var(--white); text-decoration: none; font-weight: 800; font-size: .84rem; cursor: pointer; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-1px); background: var(--ink-soft); }
.button.secondary { background: transparent; color: var(--teal); }
.button.secondary:hover { background: var(--white); }
.button.ghost { border-color: transparent; background: transparent; color: var(--ink); }
.button.compact { min-height: 36px; padding: .45rem .7rem; font-size: .76rem; }
.button.full { width: 100%; }

.dashboard-shell { width: min(1280px, calc(100% - 3rem)); margin: 0 auto; padding: 5rem 0 6rem; }
.clinic-grid { display: grid; grid-template-columns: minmax(250px, 20vw) 1fr; max-width: 1640px; margin: 0 auto; }
.clinic-side-rail { display: flex; flex-direction: column; max-height: calc(100vh - 78px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #c8d6e5 transparent; }
.clinic-side-rail .rail-intro h1 { font-size: 1.67rem; line-height: 1.15; letter-spacing: -.025em; }
.clinic-side-rail .topic-nav { margin-bottom: 1.5rem; }
.clinic-rail-footer { display: grid; gap: .75rem; margin-top: auto; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.clinic-users-link { margin-bottom: .25rem; }
.clinic-content-column { min-width: 0; padding: 0 2rem 5rem; }
.clinic-growth-hero { position: relative; min-height: 520px; margin-top: 2rem; overflow: hidden; border-radius: 22px; background: var(--ink); box-shadow: 0 24px 60px rgba(20,33,61,.18); }
.clinic-growth-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.clinic-growth-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,29,58,.96) 0%, rgba(18,72,133,.83) 36%, rgba(20,33,61,.2) 67%, rgba(20,33,61,.04) 100%); }
.clinic-growth-copy { position: absolute; z-index: 1; top: 50%; left: clamp(1.8rem, 4.5vw, 4.8rem); width: min(600px, 54%); transform: translateY(-50%); color: var(--white); }
.clinic-growth-copy h2 { max-width: 590px; margin: 0; font-family: Inter, sans-serif; font-size: clamp(2.65rem, 4.5vw, 5rem); font-weight: 750; line-height: .98; letter-spacing: -.05em; text-wrap: balance; }
.clinic-growth-copy > p:not(.eyebrow) { max-width: 560px; margin: 1.35rem 0 1.5rem; color: rgba(255,255,255,.82); font-size: clamp(.94rem, 1.15vw, 1.08rem); }
.clinic-growth-proof { display: flex; flex-wrap: wrap; gap: .55rem; }
.clinic-growth-proof span { padding: .46rem .7rem; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(255,255,255,.1); color: var(--white); font-size: .72rem; font-weight: 800; letter-spacing: .02em; backdrop-filter: blur(10px); }
.clinic-dashboard-shell { width: 100%; padding: 3.5rem 0 1rem; }
.clinic-dashboard-panel { display: grid; gap: 1.4rem; }
.clinic-dashboard-overview { display: block; padding: 1.35rem 1.75rem; border-radius: 18px; background: linear-gradient(135deg, #14213d, #185994); color: var(--white); box-shadow: 0 16px 36px rgba(20,33,61,.13); }
.clinic-dashboard-overview h1 { margin: 0; font-size: clamp(2.25rem, 3.4vw, 3.3rem); line-height: .98; letter-spacing: -.045em; }
.clinic-dashboard-overview > div:first-child > p:last-child { max-width: 650px; margin: .55rem 0 0; color: rgba(255,255,255,.78); font-size: .94rem; }
.clinic-dashboard-sections { display: grid; gap: 1.4rem; }
.clinic-dashboard-section { padding: clamp(1.35rem, 2.5vw, 2.25rem); border: 1px solid #d4dfeb; border-radius: 20px; background: var(--white); box-shadow: 0 14px 38px rgba(20,33,61,.065); }
.clinic-dashboard-patient { order: 1; }
.clinic-dashboard-marketing { order: 2; }
.clinic-dashboard-section .dashboard-heading h2 { margin: 0; font-size: clamp(2rem, 3vw, 3.2rem); line-height: 1.03; letter-spacing: -.04em; }
.clinic-dashboard-section .dashboard-heading p:not(.eyebrow) { max-width: 720px; margin: .85rem 0 0; color: var(--muted); }
.clinic-dashboard-nav-group { margin-bottom: .7rem; }
.clinic-dashboard-nav { border-color: #87a8c8; background: linear-gradient(90deg, #dceafb, #f7fbff); color: var(--teal); box-shadow: 0 10px 24px rgba(18,72,133,.1); }
.clinic-category-page { min-height: calc(100vh - 150px); margin-top: 0; }
.users-dashboard-shell { max-width: 1120px; margin: 0 auto; }
.dashboard-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 2.5rem; }
.dashboard-heading > div { max-width: 720px; }
.dashboard-heading p:last-child { max-width: 640px; margin: 1.2rem 0 0; color: var(--muted); }
.dashboard-share-heading { align-items: start; margin-bottom: 1.35rem; }
.dashboard-share-heading > div:first-child { max-width: 850px; }
.dashboard-share-heading p:last-child { max-width: 820px; margin-top: .75rem; font-size: 1rem; line-height: 1.55; }
.patient-share-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .55rem; align-items: center; padding: .5rem; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.patient-share-url { min-width: 0; padding: 0 .85rem; overflow: hidden; color: var(--ink); font-size: clamp(.86rem, 1.45vw, 1rem); text-overflow: ellipsis; white-space: nowrap; }
.dashboard-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.share-card, .team-access { border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.share-card { padding: clamp(1.35rem, 2.5vw, 2rem); background: linear-gradient(135deg, #fff 55%, #eef4fa); }
.card-kicker { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.5rem; color: var(--teal); font-size: .8rem; font-weight: 800; }
.status-dot { margin: 0; background: var(--teal-bright); box-shadow: 0 0 0 5px rgba(46,109,175,.14); }
.url-box { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin: 1.35rem 0 1rem; padding: 1rem 1.15rem; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.76); font-size: clamp(.86rem, 1.6vw, 1.06rem); overflow: hidden; }
.url-box span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.url-box button { border: 0; background: transparent; color: var(--teal); font-weight: 800; cursor: pointer; }
.share-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.helper { margin: 1rem 0 0; color: var(--muted); font-size: .82rem; }
.team-access { margin-top: 1rem; padding: clamp(1.5rem, 3vw, 2.5rem); }
.team-access h2 { margin: 0; font-family: Inter, sans-serif; font-size: clamp(2rem, 3vw, 3rem); font-weight: 700; line-height: 1.04; letter-spacing: -.035em; }
.team-access-form { display: grid; grid-template-columns: 1fr 1.2fr auto; gap: .8rem; align-items: end; margin-top: 2rem; padding: 1rem; border-radius: 12px; background: var(--paper); }
.team-access-form label { color: var(--label); font-size: .875rem; font-weight: 650; }
.team-access-form input { width: 100%; min-height: 46px; margin-top: .35rem; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: var(--white); color: var(--ink); font: inherit; font-size: .9rem; }
.team-access-form input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(18,72,133,.12); }
.team-access-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-top: 2rem; padding-bottom: .7rem; border-bottom: 1px solid var(--line); font-size: .9rem; }
.team-access-heading span { color: var(--muted); font-size: .78rem; }
.clinic-user-list { display: grid; }
.clinic-user-row { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(210px, 1fr) auto auto; gap: 1rem; align-items: center; min-height: 72px; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.clinic-user-row:last-child { border-bottom: 0; }
.clinic-user-name strong, .clinic-user-name small { display: block; }
.clinic-user-name small, .clinic-user-email, .clinic-user-meta { color: var(--muted); font-size: .78rem; }
.clinic-user-status { justify-self: start; padding: .28rem .55rem; border-radius: 999px; background: var(--mist); color: var(--teal); font-size: .68rem; font-weight: 800; text-transform: capitalize; }
.clinic-user-status.is-pending { background: #fff5dc; color: #7a5400; }
.clinic-user-status.is-revoked { background: #fceef1; color: #9f1f3a; }
.clinic-user-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.clinic-user-actions button { padding: .42rem .58rem; border: 1px solid var(--line); border-radius: 7px; background: var(--white); color: var(--teal); font: inherit; font-size: .74rem; font-weight: 800; cursor: pointer; }
.clinic-user-actions button:hover { border-color: var(--teal); }
.clinic-user-actions .revoke-access { color: #9f1f3a; }
.clinic-user-actions .revoke-access:hover { border-color: #9f1f3a; background: #fceef1; }
.clinic-library { margin-top: 1rem; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.clinic-library h2 { margin: 0; font-family: Inter, sans-serif; font-size: clamp(2rem, 3vw, 3rem); font-weight: 700; line-height: 1.04; letter-spacing: -.035em; }
.clinic-content-list { margin-top: 1.5rem; }
.clinic-content-empty { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: .85rem; }
.compact-heading { align-items: center; }
.compact-heading > p { max-width: 430px; color: var(--muted); font-size: .88rem; }
.clinic-topic-page { min-height: calc(100vh - 150px); margin-top: 1rem; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: 0 12px 34px rgba(20,33,61,.07); }
.clinic-topic-back { display: inline-flex; align-items: center; gap: .45rem; margin: 1.5rem 1.5rem 0; padding: .55rem .7rem; border: 0; border-radius: 8px; background: var(--mist); color: var(--teal); font-size: .86rem; font-weight: 800; cursor: pointer; }
.clinic-topic-back:hover { background: #dce9f6; }
.clinic-topic-header { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(240px, .85fr); column-gap: 2rem; row-gap: .65rem; align-items: end; margin: .85rem 1.5rem 0; padding: 1.15rem 1.5rem 1.3rem; border-radius: 14px; background: linear-gradient(135deg, var(--ink), var(--teal)); color: var(--white); }
.clinic-topic-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; }
.clinic-topic-meta span { padding: .25rem .5rem; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; background: rgba(255,255,255,.08); font-size: .68rem; font-weight: 750; }
.clinic-topic-meta .clinic-topic-duration { display: inline-flex; align-items: center; gap: .28rem; background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.38); color: var(--white); }
.clinic-topic-meta .clinic-topic-duration span { padding: 0; border: 0; background: transparent; font-size: .82rem; line-height: 1; }
.clinic-topic-header h2 { margin: 0; font-family: Inter, sans-serif; font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 750; line-height: 1.04; letter-spacing: -.035em; text-wrap: balance; }
.clinic-topic-header > p { max-width: 520px; margin: 0; color: rgba(255,255,255,.78); font-size: .9rem; line-height: 1.45; }
.clinic-topic-body { display: grid; gap: 1.25rem; max-width: 880px; margin: 0 auto; padding: clamp(1.4rem, 3vw, 2.5rem); }
.clinic-video-placeholder { position: relative; display: grid; place-items: center; min-height: clamp(300px, 46vw, 560px); overflow: hidden; border: 1px solid #c6d7e9; border-radius: 16px; background: radial-gradient(circle at 75% 25%, rgba(184,204,226,.38), transparent 31%), linear-gradient(135deg, #f8fbff 0%, #eef4fa 58%, #e4eef9 100%); color: var(--ink); text-align: center; box-shadow: 0 16px 36px rgba(20,33,61,.09); }
.clinic-video-placeholder::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.24), transparent 42%); pointer-events: none; }
.clinic-video-placeholder-inner { position: relative; z-index: 1; display: grid; justify-items: center; }
.clinic-video-play { display: grid; place-items: center; width: 72px; height: 72px; margin-bottom: 1.1rem; padding-left: .28rem; border: 1px solid rgba(18,72,133,.22); border-radius: 50%; background: var(--teal); color: var(--white); font-size: 1.35rem; box-shadow: 0 10px 26px rgba(18,72,133,.18); }
.clinic-video-placeholder-inner > span { color: var(--teal); font-size: .7rem; font-weight: 800; letter-spacing: .16em; }
.clinic-video-placeholder h3 { margin: .45rem 0 .25rem; font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1.05; letter-spacing: -.035em; }
.clinic-video-placeholder p { margin: 0; color: var(--muted); font-size: .9rem; }
.clinic-topic-body .article-copy { font-size: 1.04rem; }
.clinic-topic-takeaways { margin: 0; padding: clamp(1.4rem, 3vw, 2.25rem); border: 1px solid #b8cce2; border-radius: 14px; background: #eef4fa; }
.clinic-topic-takeaways h3 { margin: 0; font-size: 1.55rem; letter-spacing: -.02em; }
.clinic-topic-takeaways ul { display: grid; gap: .65rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.clinic-topic-takeaways li { display: flex; gap: .7rem; align-items: start; color: #34465d; }
.clinic-topic-takeaways li::before { content: "✓"; display: grid; place-items: center; width: 22px; height: 22px; flex: 0 0 22px; border-radius: 50%; background: var(--teal); color: var(--white); font-size: .72rem; font-weight: 900; }

.admin-shell { max-width: 1180px; }
.credential-manager { overflow: hidden; margin-top: 1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.credential-manager-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: clamp(1.4rem, 3vw, 2rem) clamp(1.4rem, 3vw, 2.5rem); cursor: pointer; list-style: none; }
.credential-manager-summary::-webkit-details-marker { display: none; }
.credential-manager-summary:hover { background: var(--paper); }
.credential-manager-summary:focus-visible { outline: 3px solid rgba(18,72,133,.2); outline-offset: -3px; }
.credential-manager-summary::after { content: "+"; display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; border: 1px solid var(--line); border-radius: 50%; color: var(--teal); font-size: 1.1rem; font-weight: 500; transition: transform .2s ease, background .2s ease; }
.credential-manager[open] .credential-manager-summary::after { content: "−"; background: var(--mist); transform: rotate(180deg); }
.credential-manager-body { padding: 0 clamp(1.4rem, 3vw, 2.5rem) clamp(1.4rem, 3vw, 2.5rem); }
.credential-manager-copy { max-width: 760px; margin: 0; color: var(--muted); font-size: .9rem; }
.credential-form { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: .9rem; align-items: end; margin-top: 1.8rem; padding: 1rem; border-radius: 12px; background: var(--paper); }
.credential-form label { color: var(--label); font-size: .875rem; font-weight: 600; letter-spacing: .01em; }
.credential-form .field-span-3 { grid-column: span 3; }
.credential-form .field-span-4 { grid-column: span 4; }
.credential-form .field-span-5 { grid-column: span 5; }
.credential-form .field-span-6 { grid-column: span 6; }
.credential-form .field-span-8 { grid-column: span 8; }
.credential-form input, .credential-form select { width: 100%; min-height: 46px; margin-top: .35rem; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: var(--white); color: var(--ink); font: inherit; font-size: .88rem; font-weight: 400; letter-spacing: normal; }
.credential-form input:focus, .credential-form select:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(18,72,133,.12); }
.credential-form-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .65rem; }
.invitation-note { align-self: center; margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.optional-label { color: var(--muted); font-size: .72rem; font-weight: 600; }
.generated-password-control { display: grid; grid-template-columns: 1fr auto; gap: .5rem; align-items: center; }
.generated-password-control input { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1rem; font-weight: 400; letter-spacing: .12em; }
.generated-password-control button { min-height: 46px; margin-top: .35rem; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 8px; background: var(--white); color: var(--teal); font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }
.generated-password-control button:hover { border-color: var(--teal); }
.generated-password-control button:focus-visible { outline: 3px solid rgba(18,72,133,.2); outline-offset: 2px; }
.field-hint { display: block; margin-top: .4rem; color: var(--muted); font-size: .72rem; font-weight: 600; }
.credential-result { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; margin-top: .85rem; padding: 1rem; border: 1px solid #b9c7d7; border-radius: 12px; background: var(--mist); }
.credential-result p { margin: 0; color: var(--muted); font-size: .8rem; }
.credential-result strong { color: var(--ink); }
.credential-result code { color: var(--teal); font-family: Inter, sans-serif; font-weight: 800; }
.credential-result-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; }
.issued-access-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-top: 2rem; padding-bottom: .75rem; border-bottom: 1px solid var(--line); }
.issued-access-heading span { color: var(--muted); font-size: .78rem; }
.issued-credential-list { min-height: 56px; }
.access-records { padding: clamp(1.4rem, 3vw, 2rem) clamp(1.4rem, 3vw, 2.5rem); }
.access-records .issued-access-heading { margin-top: 0; }
.credential-record { border-bottom: 1px solid var(--line); font-size: .82rem; }
.credential-record summary { display: flex; align-items: center; justify-content: space-between; min-height: 60px; padding: .8rem 0; color: var(--ink); font-weight: 650; cursor: pointer; list-style: none; }
.credential-record summary > span:first-child { margin-right: auto; }
.clinic-access-status { margin-right: .75rem; padding: .28rem .5rem; border-radius: 999px; background: var(--mist); color: var(--teal); font-size: .68rem; font-weight: 750; text-transform: capitalize; }
.clinic-access-status.is-revoked { background: #fceef1; color: #9f1f3a; }
.clinic-access-status.is-pending { background: #fff5dc; color: #7a5400; }
.credential-record summary::-webkit-details-marker { display: none; }
.credential-record summary::after { content: "+"; display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; border: 1px solid var(--line); border-radius: 50%; color: var(--teal); font-size: 1rem; font-weight: 500; transition: transform .2s ease, background .2s ease; }
.credential-record[open] summary::after { content: "−"; background: var(--mist); transform: rotate(180deg); }
.credential-record summary:focus-visible { outline: 3px solid rgba(18,72,133,.15); outline-offset: 3px; border-radius: 6px; }
.credential-record-details { display: grid; grid-template-columns: 1.35fr 1.15fr .8fr auto; gap: 1rem; align-items: center; padding: 0 0 1rem; }
.credential-record-details > span { color: var(--muted); }
.credential-record-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.credential-record-actions button { padding: .42rem .55rem; border: 1px solid var(--line); border-radius: 7px; background: var(--white); color: var(--teal); font: inherit; font-size: .74rem; font-weight: 800; cursor: pointer; }
.credential-record-actions button:hover { border-color: var(--teal); }
.credential-record-actions .revoke-access { color: #9f1f3a; }
.credential-record-actions .revoke-access:hover { border-color: #9f1f3a; background: #fceef1; }
.credential-empty { margin: 1rem 0 0; color: var(--muted); font-size: .82rem; }
.admin-library { margin-top: 1rem; padding: clamp(1.4rem, 3vw, 2.5rem); border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.admin-library h2 { margin: 0; font-family: Inter, sans-serif; font-size: clamp(2rem, 3vw, 3rem); font-weight: 700; line-height: 1.04; letter-spacing: -.035em; }
.content-manager-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; }
.content-manager-toolbar p:last-child { margin: .7rem 0 0; color: var(--muted); font-size: .9rem; }
.content-toolbar-controls { display: grid; grid-template-columns: minmax(190px, 1fr) 140px; gap: .75rem; align-items: end; width: min(460px, 100%); }
.content-search { width: min(300px, 100%); color: var(--label); font-size: .875rem; font-weight: 600; letter-spacing: .01em; }
.content-filter { color: var(--label); font-size: .875rem; font-weight: 600; }
.content-search input, .content-filter select { width: 100%; min-height: 44px; margin-top: .35rem; padding: .65rem .8rem; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: var(--paper); font: inherit; font-weight: 400; letter-spacing: normal; }
.content-search input:focus, .content-filter select:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(18,72,133,.12); }
.content-manager-libraries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.8rem; }
.content-library-panel { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.content-library-panel > header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem; border-bottom: 1px solid var(--line); background: var(--white); }
.button.content-add-button { border-color: var(--line); background: transparent; color: var(--teal); font-weight: 600; }
.button.content-add-button:hover { transform: none; border-color: #b9cadc; background: var(--mist); }
.content-library-panel h3.eyebrow,
.issued-access-heading h3.eyebrow,
.issued-access-heading h2.eyebrow,
.credential-manager-summary h2.eyebrow,
.admin-library h2.eyebrow,
.dashboard-heading h1.admin-page-title { margin: 0 0 .3rem; color: var(--teal); font-family: Roboto, Arial, sans-serif; font-size: 1.15rem; font-weight: 500; line-height: 1.2; text-transform: uppercase; letter-spacing: .09em; }
.library-count { display: block; color: var(--muted); font-size: .78rem; }
.content-category-list { padding: .55rem; }
.content-category-group { border-bottom: 1px solid var(--line); }
.content-category-group:last-child { border-bottom: 0; }
.content-category-group summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 48px; padding: .6rem; cursor: pointer; list-style: none; font-size: 1.03rem; font-weight: 600; }
.content-category-group summary::-webkit-details-marker { display: none; }
.content-category-group summary::before { content: "+"; order: 3; color: var(--teal); font-size: 1rem; }
.content-category-group[open] summary::before { content: "−"; }
.content-category-group summary span { display: flex; align-items: center; gap: .45rem; }
.content-category-group summary small { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 .35rem; border-radius: 999px; background: var(--mist); color: var(--teal); font-size: .7rem; }
.content-category-order { margin-left: auto; }
.content-category-order button { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid var(--line); border-radius: 7px; background: var(--white); color: var(--teal); font: inherit; font-weight: 700; cursor: pointer; }
.content-category-order button:hover:not(:disabled) { border-color: var(--teal); background: var(--mist); }
.content-category-order .rename-category { font-size: .82rem; }
.content-category-drag { flex: 0 0 auto; color: var(--muted); font-size: 1rem; letter-spacing: -.16em; cursor: grab; user-select: none; }
.content-category-group.is-dragging { opacity: .45; }
.content-category-group.is-drop-target { box-shadow: inset 0 2px 0 var(--teal); }
.content-category-items { padding: 0 .6rem .65rem; }
.category-name-editor { display: flex; align-items: end; justify-content: space-between; gap: .75rem; margin: 0 0 .65rem; padding: .8rem; border: 1px solid #b9cadc; border-radius: 10px; background: var(--white); }
.category-name-editor label { flex: 1; color: #20252d; font-size: .82rem; font-weight: 500; }
.category-name-editor label span { display: block; margin-bottom: .35rem; }
.category-name-editor input { width: 100%; min-height: 42px; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: 8px; background: var(--white); color: var(--ink); font: inherit; font-weight: 400; }
.category-name-editor input:focus { outline: 2px solid var(--teal); outline-offset: 2px; }
.category-name-editor-actions { display: flex; gap: .45rem; }
.category-name-editor-actions button { min-height: 42px; padding: .55rem .8rem; border: 1px solid var(--teal); border-radius: 8px; background: var(--white); color: var(--teal); font: inherit; font-size: .82rem; font-weight: 600; cursor: pointer; }
.category-name-editor-actions button:first-child { background: var(--teal); color: var(--white); }
@media (max-width: 620px) { .category-name-editor { align-items: stretch; flex-direction: column; } .category-name-editor-actions button { flex: 1; } }
.content-library-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; align-items: center; padding: .75rem 0; border-top: 1px solid var(--line); }
.content-library-item-title strong { display: block; font-size: .86rem; font-weight: 500; line-height: 1.35; }
.content-library-item-title small { display: block; margin-top: .2rem; color: var(--muted); font-size: .72rem; }
.content-status { width: max-content; padding: .28rem .5rem; border-radius: 999px; background: var(--mist); color: var(--teal) !important; font-size: .72rem !important; font-weight: 850; }
.content-status.is-draft { background: var(--paper); color: var(--muted) !important; }
.content-library-item-meta { display: flex; align-items: center; justify-content: flex-end; gap: .4rem; }
.content-shared-label { color: var(--muted); font-size: .68rem; font-weight: 750; }
.content-record-actions { grid-column: 1 / -1; display: flex; gap: .35rem; }
.content-record-actions button { padding: .38rem .52rem; border: 1px solid var(--line); border-radius: 7px; background: var(--white); color: var(--teal); font: inherit; font-size: .75rem; font-weight: 800; cursor: pointer; }
.content-record-actions button:hover { border-color: var(--teal); }
.content-record-actions .danger-action { color: #9f1f3a; }
.content-record-actions .danger-action:hover { border-color: #9f1f3a; background: #fceef1; }
.content-manager-empty { margin: 0; padding: 1rem; color: var(--muted); font-size: .84rem; }
.prototype-label { padding: .4rem .65rem; border-radius: 999px; background: var(--paper); color: var(--muted); font-size: .72rem; font-weight: 750; }
.admin-table { margin-top: 2rem; border-top: 1px solid var(--line); }
.admin-row { display: grid; grid-template-columns: 1.4fr .7fr 1fr .4fr; gap: 1rem; align-items: center; min-height: 62px; border-bottom: 1px solid var(--line); font-size: .83rem; }
.admin-row span { color: var(--muted); }
.admin-table-head { min-height: 44px; color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.live-label { width: max-content; padding: .25rem .5rem; border-radius: 999px; background: var(--mist); color: var(--teal) !important; font-weight: 850; }

.marketing-center { width: 100%; }
.marketing-center-heading { align-items: stretch; }
.marketing-total-card { display: grid; min-width: 215px; padding: 1.15rem 1.3rem; border-radius: 16px; background: var(--ink); color: var(--white); box-shadow: var(--shadow); }
.marketing-total-card span, .marketing-total-card small { color: rgba(255,255,255,.68); font-size: .75rem; }
.marketing-total-card strong { margin: .15rem 0; font-size: 2.5rem; line-height: 1; letter-spacing: -.04em; }
.marketing-program-settings { display: grid; grid-template-columns: minmax(220px,.72fr) minmax(360px,1.28fr); gap: 1.5rem 2rem; margin: 2.5rem 0; padding: 1.5rem; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(135deg, var(--white), var(--mist)); }
.marketing-program-settings h2 { margin: 0; font-size: 1.35rem; letter-spacing: -.025em; }
.marketing-program-settings > .helper { grid-column: 1 / -1; margin: 0; padding-top: 1rem; border-top: 1px solid var(--line); }
.marketing-program-toggles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.marketing-program-toggles label { display: flex; gap: .7rem; align-items: flex-start; padding: .85rem; border: 1px solid #c9d6e3; border-radius: 12px; background: var(--white); cursor: pointer; }
.marketing-program-toggles input { width: 18px; height: 18px; margin-top: .12rem; accent-color: var(--coral); }
.marketing-program-toggles span { display: grid; line-height: 1.25; }
.marketing-program-toggles strong { font-size: .85rem; }
.marketing-program-toggles small { margin-top: .2rem; color: var(--muted); font-size: .7rem; }
.marketing-link-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.marketing-link-card { padding: 1.25rem; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: 0 12px 32px rgba(20,33,61,.05); }
.marketing-link-card header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.marketing-link-card header span:first-child { color: var(--muted); font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; }
.marketing-link-card h2 { margin: .2rem 0 1rem; font-size: 1.35rem; letter-spacing: -.025em; }
.enabled-pill { padding: .28rem .55rem; border-radius: 999px; background: #e8f4ef; color: #176144 !important; font-size: .68rem !important; font-weight: 800; text-transform: none !important; letter-spacing: 0 !important; }
.marketing-url-row { display: flex; align-items: center; gap: .5rem; padding: .65rem .7rem; border-radius: 9px; background: var(--paper); }
.marketing-url-row span { flex: 1; min-width: 0; overflow: hidden; color: var(--muted); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.marketing-url-row button { border: 0; background: transparent; color: var(--teal); font-size: .75rem; font-weight: 800; cursor: pointer; }
.marketing-card-actions { display: flex; gap: .55rem; margin: .8rem 0 1.1rem; }
.marketing-card-actions .button { margin: 0; }
.marketing-link-card dl { display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding-top: .9rem; border-top: 1px solid var(--line); }
.marketing-link-card dl div { padding: 0 .55rem; border-right: 1px solid var(--line); }
.marketing-link-card dl div:first-child { padding-left: 0; }
.marketing-link-card dl div:last-child { padding-right: 0; border: 0; }
.marketing-link-card dt { color: var(--muted); font-size: .65rem; line-height: 1.2; }
.marketing-link-card dd { margin: .25rem 0 0; font-size: 1.05rem; font-weight: 800; }
.marketing-load-error { padding: 1rem; border-radius: 12px; background: #fceef1; color: #9f1f3a; }

.marketing-view { background: #fff; }
body[data-view="marketing"] .site-footer { display: none; }
.marketing-shell { overflow: hidden; background: #fff; }
.marketing-clinic-identity { display: flex; align-items: center; gap: .75rem; }
.marketing-clinic-logo { display: grid; place-items: center; width: 52px; height: 52px; flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(255,255,255,.36); border-radius: 16px; background: rgba(255,255,255,.94); color: var(--ink); font-size: .8rem; font-weight: 850; }
.marketing-clinic-identity > div:last-child { display: grid; line-height: 1.2; }
.marketing-clinic-identity small, .marketing-clinic-identity span { color: rgba(255,255,255,.67); font-size: .68rem; }
.marketing-clinic-identity strong { margin: .08rem 0; color: #fff; font-size: 1rem; }
.program-hero, .wellness-hero { position: relative; min-height: 680px; overflow: hidden; background: var(--ink); }
.program-hero > img, .wellness-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.program-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,24,52,.96) 0%, rgba(15,44,80,.76) 42%, rgba(15,44,80,.08) 72%); }
.program-hero-copy, .wellness-hero-copy { position: relative; z-index: 1; display: flex; min-height: 680px; flex-direction: column; justify-content: center; width: min(100% - 2rem, 1320px); margin: 0 auto; padding: 7rem 0 5rem; color: #fff; }
.program-hero-copy > .marketing-clinic-identity, .wellness-hero-copy > .marketing-clinic-identity { margin-bottom: 4.5rem; }
.program-hero-copy > h1, .wellness-hero-copy > h1 { max-width: 760px; margin: 0; font-size: clamp(3rem,6vw,6.3rem); line-height: .96; letter-spacing: -.055em; }
.program-hero-copy > p:not(.eyebrow), .wellness-hero-copy > p:not(.eyebrow) { max-width: 680px; margin: 1.4rem 0 1.7rem; color: rgba(255,255,255,.78); font-size: 1.12rem; }
.light-button { width: max-content; background: #fff; color: var(--ink); }
.light-button:hover { background: #dff7ff; }
.marketing-breadcrumb { display: flex; gap: .6rem; align-items: center; width: min(100% - 2rem, 1180px); margin: 0 auto; padding: 1.25rem 0; color: var(--muted); font-size: .78rem; }
.marketing-breadcrumb a { color: var(--teal); font-weight: 750; }
.program-overview, .program-features, .program-benefits, .marketing-faq, .wellness-intro { width: min(100% - 2rem, 1180px); margin: 0 auto; padding: clamp(4rem,8vw,7rem) 0; }
.program-overview { display: grid; grid-template-columns: .6fr 1.4fr; gap: 3rem; }
.program-overview h2, .program-features h2, .program-benefits h2, .marketing-faq h2, .wellness-intro h2 { margin: 0; font-size: clamp(2.2rem,4vw,4.3rem); line-height: 1.02; letter-spacing: -.045em; }
.program-overview p:last-child, .program-features > div > p:last-child, .program-benefits .program-section-heading > p:last-child, .wellness-intro > p:last-child { max-width: 720px; color: var(--muted); font-size: 1.08rem; line-height: 1.75; }
.program-process { padding: clamp(4rem,8vw,7rem) max(1rem,calc((100vw - 1180px)/2)); background: var(--ink); color: #fff; }
.program-section-heading { max-width: 680px; }
.program-section-heading h2 { margin: 0; font-size: clamp(2.2rem,4vw,4.2rem); line-height: 1.02; letter-spacing: -.045em; }
.program-process ol { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin: 3rem 0 0; padding: 0; list-style: none; background: rgba(255,255,255,.18); }
.program-process li { min-height: 230px; padding: 1.5rem; background: var(--ink); }
.program-process li span { color: #7fe8dc; font-size: .72rem; font-weight: 800; }
.program-process li p { margin: 4rem 0 0; font-size: 1.05rem; line-height: 1.5; }
.program-features { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,6vw,6rem); align-items: center; }
.program-features ul { display: grid; grid-template-columns: repeat(2,1fr); gap: .7rem; margin: 0; padding: 0; list-style: none; }
.program-features li { min-height: 118px; padding: 1rem; border: 1px solid var(--line); border-radius: 14px; font-weight: 700; }
.program-features li::before { content: "↗"; display: block; margin-bottom: 1.5rem; color: var(--coral); }
.program-benefits { border-top: 1px solid var(--line); }
.program-benefits > div:last-child { display: grid; grid-template-columns: repeat(2,1fr); gap: .8rem; margin-top: 2.5rem; }
.program-benefits article { display: flex; gap: .8rem; align-items: flex-start; padding: 1.1rem; border-radius: 14px; background: var(--mist); }
.program-benefits article span { display: grid; place-items: center; width: 26px; height: 26px; flex: 0 0 auto; border-radius: 50%; background: var(--teal); color: #fff; font-size: .72rem; }
.program-benefits article p { margin: .05rem 0 0; }
.program-expectation { padding: clamp(4rem,7vw,6rem) max(1rem,calc((100vw - 980px)/2)); background: #eaf2fb; text-align: center; }
.program-expectation > span { color: var(--teal); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.program-expectation h2 { margin: .8rem 0 1.2rem; font-size: clamp(2.1rem,4vw,4rem); line-height: 1.04; letter-spacing: -.045em; }
.program-expectation p { margin: 0 auto; color: var(--muted); font-size: 1.05rem; line-height: 1.75; }
.marketing-faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: 4rem; }
.marketing-faq details { border-top: 1px solid var(--line); }
.marketing-faq details:last-child { border-bottom: 1px solid var(--line); }
.marketing-faq summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem 0; font-weight: 750; cursor: pointer; list-style: none; }
.marketing-faq summary::-webkit-details-marker { display: none; }
.marketing-faq details p { margin: 0; padding: 0 2.5rem 1.3rem 0; color: var(--muted); line-height: 1.7; }
.marketing-contact { display: grid; grid-template-columns: 1.2fr .8fr; gap: 3rem; align-items: center; padding: clamp(4rem,8vw,7rem) max(1rem,calc((100vw - 1180px)/2)); background: linear-gradient(135deg,#112341,#124885); color: #fff; }
.marketing-contact h2 { margin: 0; font-size: clamp(2.5rem,5vw,5rem); line-height: 1; letter-spacing: -.05em; }
.marketing-contact > div:first-child > p:last-child { max-width: 680px; color: rgba(255,255,255,.7); font-size: 1.05rem; }
.marketing-contact-card { display: grid; gap: .8rem; padding: 1.3rem; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; background: rgba(255,255,255,.09); backdrop-filter: blur(15px); }
.marketing-contact-card .marketing-clinic-identity { margin-bottom: .6rem; }
.marketing-contact-card > a:not(.button) { color: #bceee8; font-weight: 750; }
.marketing-contact-card > span { color: rgba(255,255,255,.66); font-size: .82rem; }
.marketing-call-button { justify-content: center; background: #fff; color: var(--ink); }
.marketing-disclosure { padding: 2rem max(1rem,calc((100vw - 1180px)/2)); background: #0b172a; color: rgba(255,255,255,.62); font-size: .75rem; line-height: 1.6; }
.marketing-disclosure strong { display: block; margin-bottom: .4rem; color: #fff; }
.marketing-disclosure p { margin: .3rem 0; }
.wellness-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(9,24,52,.96),rgba(14,48,87,.72) 47%,rgba(14,48,87,.12) 76%); }
.wellness-hero-copy { position: relative; z-index: 2; }
.wellness-intro { max-width: 900px; text-align: center; }
.wellness-intro > p:last-child { margin: 1.2rem auto 0; }
.wellness-program-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; width: min(100% - 2rem,1180px); margin: 0 auto; padding-bottom: clamp(4rem,8vw,7rem); }
.wellness-program-card { min-height: 360px; padding: 2rem; border-radius: 20px; background: var(--mist); }
.wellness-program-card:nth-child(2n) { background: #f7f8fa; }
.wellness-card-index { display: block; color: var(--coral); font-size: .75rem; font-weight: 800; }
.wellness-program-card .eyebrow { margin-top: 4.5rem; }
.wellness-program-card h2 { margin: 0; font-size: clamp(1.9rem,3vw,3rem); letter-spacing: -.04em; }
.wellness-program-card p:not(.eyebrow) { max-width: 520px; color: var(--muted); }
.wellness-program-card a, .wellness-program-card button { display: inline-flex; gap: .5rem; margin-top: 1rem; border: 0; background: transparent; color: var(--teal); font-weight: 800; text-decoration: none; cursor: pointer; }
.marketing-principles { display: grid; grid-template-columns: repeat(3,1fr); width: min(100% - 2rem,1180px); margin: 0 auto; padding: 0 0 clamp(4rem,8vw,7rem); }
.marketing-principles article { padding: 1.5rem; border-top: 1px solid var(--ink); }
.marketing-principles span { color: var(--coral); font-size: .75rem; font-weight: 800; }
.marketing-principles h3 { margin: 3rem 0 .5rem; font-size: 1.25rem; }
.marketing-principles p { margin: 0; color: var(--muted); }
.marketing-unavailable { display: grid; place-items: center; min-height: calc(100vh - 78px); padding: 3rem 1rem; background: var(--ink); color: #fff; text-align: center; }
.marketing-unavailable .marketing-clinic-identity { margin-bottom: 2.5rem; }
.marketing-unavailable h1 { max-width: 760px; margin: 0; font-size: clamp(2.5rem,6vw,5rem); line-height: 1; letter-spacing: -.05em; }
.marketing-unavailable > p:not(.eyebrow) { max-width: 620px; color: rgba(255,255,255,.7); }

.site-footer { display: flex; justify-content: space-between; gap: 2rem; padding: 1.5rem 2.25rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
.site-footer p { margin: 0; }
.site-footer p:first-child { max-width: 720px; }
.footer-admin-link { display: inline; margin: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.footer-admin-link:hover { color: var(--teal); }

dialog { border: 0; color: var(--ink); }
dialog::backdrop { background: rgba(3,19,29,.66); backdrop-filter: blur(5px); }
.topic-dialog { width: min(650px, calc(100% - 2rem)); max-height: 88vh; padding: 0; border-radius: 26px; box-shadow: 0 30px 100px rgba(0,0,0,.3); }
.dialog-close { position: absolute; z-index: 2; right: 1rem; top: 1rem; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.92); font-size: 1.4rem; cursor: pointer; }
.dialog-top { padding: 2rem 4.6rem 2rem 2rem; background: linear-gradient(135deg, #eef4fa, #fceef1); }
.dialog-top h2 { margin: .35rem 0 .75rem; font-family: Inter, sans-serif; font-size: clamp(2rem, 5vw, 3.3rem); font-weight: 700; line-height: 1.04; letter-spacing: -.04em; }
.dialog-top p { margin: 0; color: var(--muted); }
.dialog-body { padding: 2rem; }
.article-image { display: block; width: 100%; max-height: 360px; margin: 0 0 1.5rem; border-radius: 14px; object-fit: cover; }
.article-copy { margin: 0 0 1.8rem; color: var(--ink); font-size: 1rem; line-height: 1.7; }
.article-copy p { margin: 0 0 1rem; }
.article-copy .article-heading { margin: 1.6rem 0 .7rem; font-size: 1.2rem; text-transform: none; letter-spacing: -.01em; }
.article-resource { display: flex; justify-content: space-between; gap: 1rem; margin: 0 0 .7rem; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 10px; color: var(--teal); font-weight: 700; text-decoration: none; }
.dialog-body h3 { margin: 0 0 .7rem; font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; }
.dialog-list { margin: 0 0 2rem; padding: 0; list-style: none; }
.dialog-list li { display: flex; gap: .8rem; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.dialog-list li::before { content: "→"; color: var(--coral); font-weight: 800; }
.dialog-note { padding: 1rem; border-radius: 12px; background: var(--paper); color: var(--muted); font-size: .8rem; }
.contact-dialog { width: min(450px, calc(100% - 2rem)); padding: 2.2rem; border-radius: 24px; text-align: center; }
.contact-logo { display: grid; place-items: center; width: 74px; height: 74px; margin: 0 auto 1.2rem; border-radius: 50%; background: var(--teal); color: var(--white); font-weight: 850; }
.contact-dialog h2 { margin: .2rem 0; font-family: Inter, sans-serif; font-size: 2.2rem; font-weight: 700; }
.contact-dialog > p:not(.eyebrow) { color: var(--muted); }
.contact-details { display: grid; gap: .2rem; margin: 1.3rem 0; padding: 1rem; border-radius: 12px; background: var(--paper); font-size: .9rem; }
.contact-details a { color: var(--teal); font-weight: 800; }
.contact-details [data-clinic-address] { margin: .35rem 0; color: var(--muted); line-height: 1.45; }
.contact-actions { display: grid; gap: .65rem; }
.content-dialog { width: min(680px, calc(100% - 2rem)); max-height: 90vh; padding: 2rem; border-radius: 24px; box-shadow: 0 30px 100px rgba(0,0,0,.3); }
.content-dialog h2 { margin: .2rem 0 1.5rem; font-family: Inter, sans-serif; font-size: 2.3rem; font-weight: 700; line-height: 1.05; }
.content-form { display: grid; gap: 1rem; }
.content-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.content-form-grid.media-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.content-form label { color: var(--label); font-size: .875rem; font-weight: 600; letter-spacing: .01em; }
.content-form input, .content-form select, .content-form textarea { width: 100%; margin-top: .35rem; padding: .72rem .8rem; border: 1px solid var(--line); border-radius: 8px; outline: 0; background: var(--paper); color: var(--ink); font: inherit; font-size: .88rem; font-weight: 400; letter-spacing: normal; }
.content-form input, .content-form select { min-height: 46px; }
.content-form textarea { resize: vertical; line-height: 1.45; }
.content-form input:focus, .content-form select:focus, .content-form textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(18,72,133,.12); }
.content-form-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.auth-dialog { width: min(470px, calc(100% - 2rem)); padding: 2.2rem; border-radius: 24px; box-shadow: 0 30px 100px rgba(0,0,0,.3); }
.auth-brand { display: flex; align-items: center; gap: .55rem; margin-bottom: 2.5rem; color: var(--teal); font-size: 1.28rem; }
.auth-brand > span:last-child { line-height: 1.1; letter-spacing: -.01em; }
.auth-brand small { display: block; color: var(--muted); font-size: .58rem; }
.auth-dialog h2 { margin: 0; font-family: Inter, sans-serif; font-size: 2.6rem; font-weight: 700; line-height: 1.04; letter-spacing: -.04em; }
.auth-dialog > p:not(.eyebrow):not(.prototype-note) { margin: .8rem 0 1.5rem; color: var(--muted); }
.auth-dialog form { display: grid; gap: 1rem; }
.auth-hint { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.dashboard-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; }
.auth-dialog form > label { color: var(--label); font-size: .875rem; font-weight: 600; letter-spacing: .01em; }
.auth-dialog input[type="text"], .auth-dialog input[type="email"], .auth-dialog input[type="password"] { width: 100%; min-height: 48px; margin-top: .35rem; padding: .75rem .85rem; border: 1px solid var(--line); border-radius: 10px; outline: 0; background: var(--paper); font-size: .9rem; }
.auth-dialog input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(18,72,133,.12); }
.auth-error { margin: 0; padding: .7rem .8rem; border-radius: 8px; background: #fceef1; color: #9f1f3a; font-size: .78rem; font-weight: 700; }
.auth-help { display: flex; justify-content: space-between; align-items: center; font-size: .75rem; }
.auth-help label { display: flex; align-items: center; gap: .4rem; }
.auth-help button { border: 0; background: transparent; color: var(--teal); font-size: .75rem; font-weight: 800; cursor: pointer; }
.prototype-note { margin: 1rem 0 0; color: var(--muted); font-size: .7rem; text-align: center; }
.toast { position: fixed; z-index: 100; left: 50%; bottom: 1.4rem; transform: translate(-50%, 130%); padding: .7rem 1rem; border-radius: 10px; background: var(--ink); color: white; box-shadow: var(--shadow); font-size: .83rem; opacity: 0; transition: transform .25s, opacity .25s; }
.toast.is-visible { transform: translate(-50%, 0); opacity: 1; }

@media (max-width: 1040px) {
  .access-view.clinic-login-page { grid-template-columns: minmax(410px, .95fr) minmax(0, 1.05fr); }
  .clinic-login-panel { padding: 2.5rem; }
  .clinic-login-art-copy { right: 2.5rem; left: 2.5rem; }
  .access-view { grid-template-columns: .85fr 1.15fr; }
  .access-panel { padding: 2.5rem 1.5rem; }
  .access-option { grid-template-columns: 42px 1fr; }
  .access-option .button { grid-column: 2; width: max-content; }
  .patient-grid { grid-template-columns: 210px 1fr; }
  .clinic-grid { grid-template-columns: 220px 1fr; }
  .side-rail { padding: 2rem 1.2rem 7rem; }
  .clinic-content-column { padding: 0 1.2rem 4rem; }
  .topic-card { grid-column: span 6; }
  .patient-topic-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .patient-share-bar { grid-template-columns: 1fr 1fr; }
  .patient-share-url { grid-column: 1 / -1; min-height: 44px; display: flex; align-items: center; }
  .patient-share-bar .button { width: 100%; }
  .marketing-link-grid { grid-template-columns: 1fr; }
  .program-process ol { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
  .topbar { grid-template-columns: 1fr auto; min-height: 68px; padding: 0 1rem; }
  .brand-divider, .brand-section, .clinic-chip { display: none; }
  body[data-view="patient"] .patient-brand, body[data-view="marketing"] .patient-brand { max-width: 100%; gap: .52rem; }
  body[data-view="patient"] .patient-brand .clinic-avatar, body[data-view="marketing"] .patient-brand .clinic-avatar { width: 34px; height: 34px; }
  body[data-view="patient"] .patient-brand-copy strong, body[data-view="marketing"] .patient-brand-copy strong { max-width: 45vw; font-size: .9rem; }
  body[data-view="patient"] .patient-brand-copy small, body[data-view="marketing"] .patient-brand-copy small { font-size: .6rem; }
  body[data-view="patient"] .patient-brand .brand-divider, body[data-view="marketing"] .patient-brand .brand-divider { display: block; height: 28px; margin-left: .08rem; }
  body[data-view="patient"] .patient-brand .brand-section, body[data-view="marketing"] .patient-brand .brand-section { display: inline; font-size: .7rem; }
  .access-view { display: block; min-height: calc(100vh - 68px); }
  .access-view.clinic-login-page { display: flex; flex-direction: column-reverse; min-height: 100vh; }
  .clinic-login-panel { padding: 1.4rem 1.15rem 2rem; }
  .clinic-login-panel-inner { min-height: auto; }
  .clinic-login-brand { font-size: 1rem; }
  .clinic-login-brand .sinta-mark { width: 1.7rem; height: 1.7rem; }
  .clinic-login-brand > span { font-size: .78rem; }
  .clinic-login-content { padding: 3rem 0 2.25rem; }
  .clinic-login-content h1 { font-size: clamp(3.15rem, 15vw, 4.4rem); }
  .clinic-login-intro { margin: 1rem 0 1.85rem; }
  .clinic-login-art { min-height: 340px; }
  .clinic-login-art > img { object-position: 52% 35%; }
  .clinic-login-art-scrim { background: linear-gradient(0deg, rgba(8,24,51,.92), rgba(8,24,51,.05) 78%); }
  .clinic-login-art-copy { right: 1.3rem; bottom: 1.4rem; left: 1.3rem; }
  .clinic-login-art-copy p { margin-bottom: .6rem; font-size: .58rem; }
  .clinic-login-art-copy h2 { font-size: clamp(2rem, 9vw, 2.8rem); }
  .clinic-login-art-copy small { display: none; }
  .clinic-login-footer { align-items: flex-start; flex-direction: column; gap: 1rem; margin-top: .5rem; }
  .clinic-login-footer-links { width: 100%; justify-content: flex-start; }
  .access-visual { min-height: 330px; }
  .access-copy { left: 1.3rem; right: 1.3rem; bottom: 5.5rem; }
  .access-copy h1 { font-size: 3.4rem; }
  .access-copy > p:last-child { display: none; }
  .boundary-badge { left: 1.2rem; right: 1.2rem; bottom: 1rem; }
  .access-panel { padding: 2.2rem 1rem 3rem; }
  .access-panel h2 { font-size: 2.6rem; }
  .mobile-access-brand { display: none; }
  .access-option { grid-template-columns: 42px 1fr; padding: 1rem; }
  .access-option .button { grid-column: 1 / -1; width: 100%; }
  .patient-grid { display: block; }
  .clinic-grid { display: block; }
  .side-rail { position: static; min-height: auto; padding: 2rem 1rem 1rem; border-right: 0; }
  .patient-grid > .side-rail { max-height: none; overflow: visible; }
  .clinic-side-rail { display: block; max-height: none; overflow: visible; }
  .clinic-side-rail .topic-nav { margin-bottom: .75rem; }
  .clinic-rail-footer { grid-template-columns: 1fr; margin-top: 0; padding-top: .8rem; }
  .clinic-rail-footer .clinic-users-link { width: 100%; }
  .clinic-content-column { padding: 0 .65rem 3rem; }
  .clinic-growth-hero { min-height: 610px; margin-top: .65rem; border-radius: 18px; }
  .clinic-growth-hero > img { object-position: 64% center; }
  .clinic-growth-scrim { background: linear-gradient(0deg, rgba(13,29,58,.97) 0%, rgba(18,72,133,.78) 50%, rgba(20,33,61,.08) 84%); }
  .clinic-growth-copy { top: auto; right: 1.3rem; bottom: 1.5rem; left: 1.3rem; width: auto; transform: none; }
  .clinic-growth-copy h2 { font-size: clamp(2.45rem, 11vw, 3.65rem); }
  .clinic-dashboard-shell { padding-top: 2rem; }
  .clinic-dashboard-overview { padding: 1.1rem 1.25rem; border-radius: 16px; }
  .clinic-dashboard-section { padding: 1rem; border-radius: 16px; }
  .clinic-dashboard-section .dashboard-heading h2 { font-size: clamp(1.9rem, 8vw, 2.7rem); }
  .clinic-topic-page { min-height: 0; margin-top: .65rem; }
  .clinic-topic-back { margin: 1rem 1rem 0; }
  .clinic-topic-header { display: block; margin: .75rem 1rem 1rem; padding: 1rem 1.1rem 1.1rem; }
  .clinic-topic-meta { margin-bottom: .6rem; }
  .clinic-topic-header h2 { font-size: clamp(1.75rem, 8vw, 2.4rem); }
  .clinic-topic-header > p { margin-top: .5rem; }
  .clinic-topic-body { padding: 1.5rem 1rem 2rem; }
  .rail-intro > p:last-child { display: none; }
  .rail-contact { margin-top: 1rem; padding: .8rem; }
  .rail-intro h1 { max-width: 360px; font-size: 2.6rem; }
  .topic-nav { flex-direction: row; margin: 1.5rem -1rem 0; padding: 0 1rem .65rem; overflow-x: auto; scrollbar-width: none; }
  .topic-nav::-webkit-scrollbar { display: none; }
  .topic-link { display: block; width: auto; flex: 0 0 auto; padding: .55rem .8rem; border: 1px solid var(--line); border-radius: 999px; }
  .topic-link span { display: none; }
  .patient-topic-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin: 1.5rem 0 0; padding: 0; overflow: visible; }
  .patient-nav-group + .patient-nav-group { margin-top: 0; }
  .patient-nav-category, .patient-nav-group > .topic-link { width: 100%; min-height: 46px; white-space: normal; }
  .patient-subnav { display: none; grid-column: 1 / -1; margin: .3rem 0 .5rem; padding: .5rem; border: 1px solid #c8d6e5; border-radius: 10px; background: var(--white); }
  .patient-nav-group:has(.patient-nav-category.is-active) { grid-column: 1 / -1; }
  .patient-nav-group:has(.patient-nav-category.is-active) .patient-subnav { display: grid; }
  .patient-subnav-link::before { display: none; }
  .patient-rail-search { margin-top: 1rem; }
  .patient-quick-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: .8rem 0; }
  .patient-quick-nav p { grid-column: 1 / -1; }
  .patient-quick-nav button { border: 1px solid #d4e0ec; border-radius: 8px; padding: .55rem .65rem; background: var(--white); }
  .clinic-side-rail .topic-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin: 1.5rem 0 0; padding: 0; overflow: visible; }
  .clinic-nav-group + .clinic-nav-group { margin-top: 0; }
  .clinic-nav-category { width: 100%; min-height: 46px; white-space: normal; }
  .clinic-subnav { display: none; grid-column: 1 / -1; margin: .3rem 0 .5rem; padding: .5rem; border: 1px solid #c8d6e5; border-radius: 10px; background: var(--white); }
  .clinic-nav-group:has(.clinic-nav-category.is-active) { grid-column: 1 / -1; }
  .clinic-nav-group:has(.clinic-nav-category.is-active) .clinic-subnav { display: grid; }
  .clinic-subnav-link::before { display: none; }
  .content-column { padding: 0 .65rem 3rem; }
  .hero-panel { min-height: 480px; border-radius: 22px; }
  .hero-scrim { background: linear-gradient(0deg, rgba(20,33,61,.94), rgba(18,72,133,.08) 80%); }
  .hero-copy { left: 1.4rem; right: 1.4rem; top: auto; bottom: 6.2rem; width: auto; transform: none; }
  .hero-copy h2 { font-size: 3.2rem; }
  .hero-provider { left: 1.2rem; right: auto; bottom: 1.2rem; }
  .library-section { padding: 3rem .45rem 1rem; }
  .patient-topic-page { min-height: 0; margin: .65rem 0 0; border-radius: 18px; }
  .patient-topic-back { margin: 1rem 1rem 0; }
  .patient-topic-header { display: block; margin: .75rem 1rem 0; padding: 1.1rem; }
  .patient-topic-header .clinic-topic-meta { margin-bottom: .65rem; }
  .patient-topic-header h2 { font-size: clamp(1.9rem, 9vw, 2.7rem); }
  .patient-topic-header > p { margin-top: .65rem; }
  .patient-topic-body { padding: 1rem; }
  .patient-product-grid, .patient-support-grid { grid-template-columns: 1fr; }
  .section-heading-row { display: block; }
  .search-field { width: 100%; margin-top: 1.4rem; }
  .topic-card, .topic-card.featured { grid-column: span 12; min-height: 235px; }
  .patient-topic-group-grid { grid-template-columns: 1fr; }
  .dashboard-shell { width: calc(100% - 1.4rem); padding: 3rem 0; }
  .dashboard-heading { display: block; }
  .dashboard-heading .button { margin-top: 1.3rem; }
  .dashboard-share-heading { margin-bottom: 1rem; }
  .patient-share-bar { grid-template-columns: 1fr 1fr; }
  .patient-share-url { grid-column: 1 / -1; min-height: 44px; display: flex; align-items: center; }
  .patient-share-bar .button { width: 100%; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .card-kicker { margin-bottom: 2rem; }
  .compact-heading > p { margin-top: 1rem; }
  .team-access-form { grid-template-columns: 1fr; }
  .team-access-form .button { width: 100%; }
  .clinic-user-row { grid-template-columns: 1fr auto; gap: .5rem 1rem; padding: 1rem 0; }
  .clinic-user-email, .clinic-user-meta { grid-column: 1 / -1; }
  .clinic-user-status { grid-column: 2; grid-row: 1; }
  .clinic-user-actions { grid-column: 1 / -1; justify-content: flex-start; margin-top: .35rem; }
  .clinic-path-resources { grid-template-columns: 1fr; }
  .site-footer { display: block; padding: 1.5rem 1rem; }
  .site-footer p + p { margin-top: .75rem; }
  .credential-form { grid-template-columns: 1fr; }
  .credential-form .field-span-3, .credential-form .field-span-4, .credential-form .field-span-5, .credential-form .field-span-6, .credential-form .field-span-8, .credential-form-actions { grid-column: 1; }
  .generated-password-control { grid-template-columns: 1fr; }
  .generated-password-control button { width: 100%; margin-top: 0; }
  .credential-result { grid-template-columns: 1fr; }
  .credential-result-actions { justify-content: stretch; }
  .credential-result .button { width: 100%; }
  .credential-record-details { grid-template-columns: 1fr; gap: .65rem; }
  .credential-record-actions { grid-column: 1 / -1; justify-content: flex-start; padding-bottom: .7rem; }
  .admin-row { grid-template-columns: 1fr auto; padding: .7rem 0; }
  .admin-row > span:nth-child(2), .admin-row > span:nth-child(3) { display: none; }
  .admin-table-head { display: none; }
  .content-manager-toolbar { display: block; }
  .content-search { display: block; width: 100%; margin-top: 1rem; }
  .content-manager-libraries { grid-template-columns: 1fr; }
  .content-library-panel > header { align-items: flex-start; }
  .content-form-grid { grid-template-columns: 1fr; }
  .content-form-grid.media-fields, .content-toolbar-controls { grid-template-columns: 1fr; }
  .marketing-center-heading { display: grid; gap: 1rem; }
  .marketing-total-card { min-width: 0; }
  .marketing-program-settings { grid-template-columns: 1fr; padding: 1rem; }
  .marketing-program-settings > .helper { grid-column: 1; }
  .marketing-program-toggles { grid-template-columns: 1fr; }
  .marketing-card-actions { display: grid; }
  .marketing-card-actions .button { width: 100%; }
  .marketing-link-card dl { grid-template-columns: repeat(2,1fr); gap: 1rem 0; }
  .marketing-link-card dl div:nth-child(2) { border-right: 0; }
  .program-hero, .wellness-hero, .program-hero-copy, .wellness-hero-copy { min-height: 620px; }
  .program-hero > img, .wellness-hero > img { object-position: 68% center; }
  .program-hero-overlay, .wellness-hero::after { background: linear-gradient(0deg,rgba(9,24,52,.98) 0%,rgba(15,44,80,.82) 58%,rgba(15,44,80,.18) 100%); }
  .program-hero-copy, .wellness-hero-copy { justify-content: flex-end; padding: 4rem 0 3rem; }
  .program-hero-copy > .marketing-clinic-identity, .wellness-hero-copy > .marketing-clinic-identity { margin-bottom: 2.5rem; }
  .program-hero-copy > h1, .wellness-hero-copy > h1 { font-size: clamp(2.8rem,14vw,4.5rem); }
  .program-hero-copy > p:not(.eyebrow), .wellness-hero-copy > p:not(.eyebrow) { font-size: .98rem; }
  .program-overview, .program-features, .marketing-faq, .marketing-contact { grid-template-columns: 1fr; gap: 2rem; }
  .program-process ol { grid-template-columns: 1fr; }
  .program-process li { min-height: 165px; }
  .program-process li p { margin-top: 2.2rem; }
  .program-features ul, .program-benefits > div:last-child, .wellness-program-grid, .marketing-principles { grid-template-columns: 1fr; }
  .wellness-program-card { min-height: 320px; padding: 1.35rem; }
  .marketing-contact { padding-top: 4rem; padding-bottom: 4rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
