@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/inter-latin-400.woff2") format("woff2");
}
.cj-app .cj-lucide-icon { display:inline-block; flex:0 0 auto; height:20px; vertical-align:middle; width:20px; }
@font-face {
  font-display: swap;
  font-family: "Castoro Titling";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/CastoroTitling-Regular.ttf") format("truetype");
}
.cj-login__candidate { display:grid; gap:6px; justify-items:center; margin:20px 0 4px; padding:0; border:0; background:transparent; text-align:center; }
.cj-login__candidate > span { color:#fff; font-size:14px; font-weight:700; }
.cj-login__candidate > p { margin:0 0 7px; color:rgba(255,255,255,.68); font-size:12px; line-height:1.5; }
.cj-login__candidate .cj-button { justify-self:center; min-height:auto; padding:3px 0; text-align:center; width:auto; }
.cj-login__candidate .cj-button--outline { background:transparent; border:0; border-radius:0; color:rgba(255,255,255,.68) !important; font-size:12px; font-weight:400; text-decoration:underline; text-underline-offset:3px; }
.cj-login__candidate .cj-button--outline:hover { background:transparent; color:#fff !important; }
.cj-staff-preview-banner { align-items:center; background:#061633; box-sizing:border-box; color:#fff; display:flex; gap:24px; justify-content:space-between; min-height:58px; padding:10px max(24px,calc((100vw - 1240px)/2)); position:relative; z-index:30; }
.cj-staff-preview-banner > div { align-items:center; display:flex; gap:11px; }
.cj-staff-preview-banner svg { flex:0 0 22px; height:22px; width:22px; }
.cj-staff-preview-banner span { display:grid; gap:2px; }
.cj-staff-preview-banner strong { font-size:13px; }
.cj-staff-preview-banner small { color:#cbd8e9; font-size:11px; }
.cj-staff-preview-banner a { border:1px solid rgba(255,255,255,.55); border-radius:6px; color:#fff; font-size:12px; font-weight:700; padding:8px 12px; text-decoration:none; white-space:nowrap; }
.cj-staff-preview-banner a:hover,.cj-staff-preview-banner a:focus-visible { background:#fff; color:#061633; }
.cj-app.is-staff-preview form { display:none !important; }
@media(max-width:700px){.cj-staff-preview-banner{align-items:stretch;display:grid;gap:8px;padding:11px 16px}.cj-staff-preview-banner a{text-align:center}.cj-staff-preview-banner small{line-height:1.35}}

/* Skip layout and paint work for portal sections until they approach the viewport. */
.cj-dashboard > section:not(:first-child),
.cj-dashboard > div:not(:first-child),
.cj-treatment-main > section:not(:first-child),
.cj-treatment-side > section,
.cj-evolution-page > section:not(:first-child),
.cj-evolution-page > div:not(:first-child) {
  content-visibility: auto;
  contain-intrinsic-size: auto 520px;
}

/* Treatment module 0.8.0 */

/* Medical appointments module 0.8.1 */
.cj-appts-page { color: #07163d; }
.cj-appts-breadcrumb { display: flex; gap: 12px; align-items: center; margin-bottom: 24px; color: #66728c; font-size: 13px; }
.cj-appts-heading { margin-bottom: 24px; }
.cj-appts-heading h1 { margin: 0 0 6px; font-size: clamp(30px, 3vw, 40px); }
.cj-appts-heading p { margin: 0; font-size: 16px; }
.cj-appts-top { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(270px, .9fr); gap: 24px; margin-bottom: 28px; }
.cj-appts-next, .cj-appts-schedule, .cj-appts-calendar, .cj-appts-clinic, .cj-appts-help, .cj-appts-list > article, .cj-appts-prep, .cj-appts-history { border: 1px solid #dce3ed; border-radius: 11px; background: #fff; }
.cj-appts-next { display: grid; grid-template-columns: 72px 1fr auto; gap: 22px; align-items: center; min-height: 155px; padding: 26px 30px; border-color: #cfe1d1; background: #fbfffb; }
.cj-appts-next__icon { align-items:center; align-self:start; background:#e9f8ec; border-radius:50%; box-shadow:0 9px 20px rgba(36,145,55,.2); color:#248937; display:flex; height:64px; justify-content:center; margin-top:2px; width:64px; }
.cj-appts-next__icon .cj-lucide-icon { height:30px; width:30px; }
.cj-appts-title-row { display: flex; align-items: center; gap: 18px; }
.cj-appts-title-row h2, .cj-appts-schedule h2, .cj-appts-calendar h2, .cj-appts-clinic h2, .cj-appts-help h2, .cj-appts-prep h2, .cj-appts-history h2 { margin: 0; font-size: 18px; }
.cj-appts-title-row span, .cj-appts-status { padding: 5px 13px; border-radius: 20px; color: #248037; background: #eaf7ec; font-size: 11px; font-weight: 700; }
.cj-appts-next p { margin: 8px 0; }
.cj-appts-next p b { display: inline-block; width: 22px; color: #173476; }
.cj-appts-next p img { width: 16px; height: 16px; margin-right: 7px; object-fit: contain; vertical-align: -3px; }
.cj-appts-next p small { margin-left: 12px; }
.cj-appts-schedule { display: grid; align-content: center; gap: 13px; padding: 26px; }
.cj-appts-schedule p { max-width: 230px; margin: 0 0 5px; line-height: 1.6; }
.cj-appts-schedule .cj-button, .cj-appts-actions .cj-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; }
.cj-appts-schedule .cj-button img, .cj-appts-actions .cj-button img { width: 17px; height: 17px; object-fit: contain; }
.cj-appts-schedule .cj-button .cj-lucide-icon,.cj-appts-actions .cj-button .cj-lucide-icon { height:17px; width:17px; }
.cj-appts-layout { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(280px, .9fr); gap: 24px; align-items: start; }
.cj-appts-layout > main, .cj-appts-side { display: grid; gap: 20px; }
.cj-appts-tabs { display: flex; gap: 40px; padding: 0 8px; border-bottom: 1px solid #dfe5ee; }
.cj-appts-tabs a { padding: 0 10px 14px; color: #24314f; text-decoration: none; }
.cj-appts-tabs a.is-active { color: #071b51; border-bottom: 3px solid #12357a; font-weight: 700; }
.cj-appts-list { display: grid; gap: 18px; }
.cj-appts-list > article { position: relative; display: grid; grid-template-columns: 80px minmax(0, 1fr) 135px; gap: 20px; padding: 22px 20px 64px; }
.cj-appts-list > article.is-next { border-color: #bcd2fb; }
.cj-appts-date { display: grid; place-items: center; align-content: center; min-height: 105px; border-radius: 10px; background: #eef4ff; }
.cj-appts-date span { color: #123b83; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.cj-appts-date strong { font-size: 27px; }
.cj-appts-date small { font-size: 11px; }
.cj-appts-copy > div { display: flex; gap: 15px; align-items: center; }
.cj-appts-copy h2 { margin: 0 0 7px; font-size: 17px; }
.cj-appts-copy p { margin: 8px 0; font-size: 13px; }
.cj-appts-copy p img { width: 15px; height: 15px; margin-right: 8px; object-fit: contain; vertical-align: -3px; }
.cj-appts-copy p small { margin-left: 12px; }
.cj-appts-actions { display: grid; align-content: center; gap: 10px; }
.cj-appts-actions .cj-button { min-width: 0; padding: 10px; font-size: 12px; text-align: center; }
.cj-appts-actions .cj-button--danger { border-color: #DB2542 !important; color: #DB2542 !important; }
.cj-appts-actions .cj-button--danger:hover { color: #DB2542 !important; background: #fff4f6; }
.cj-appts-actions .is-disabled { cursor: not-allowed; opacity: .55; }
.cj-appts-note { position: absolute; right: 20px; bottom: 16px; left: 20px; padding: 11px 14px; border-radius: 7px; color: #1454bd; background: #eef6ff; font-size: 11px; }
.cj-appts-calendar, .cj-appts-clinic, .cj-appts-help { padding: 22px; }
.cj-appts-calendar header { display: flex; justify-content: space-between; margin: 22px 5px; }
.cj-appts-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: 7px 4px; text-align: center; }
.cj-appts-week b { color: #606b7e; font-size: 10px; }
.cj-appts-week i { display: grid; place-items: center; width: 30px; height: 30px; margin: auto; border-radius: 50%; color: #16213c; font-size: 11px; font-style: normal; }
.cj-appts-week i.is-selected { position: relative; color: #fff; background: #071d55; }
.cj-appts-week i.is-selected::after { content: ""; position: absolute; bottom: -5px; width: 4px; height: 4px; border-radius: 50%; background: #2573ff; }
.cj-appts-clinic__image { display: grid; align-content: end; height: 220px; margin: 16px 0 13px; padding: 18px; overflow: hidden; border-radius: 9px; color: #fff; background: #eaf1fb url("../images/appointments/jorgearaiza.webp") center 22%/cover no-repeat; text-shadow: 0 1px 5px rgba(5,25,60,.9); }
.cj-appts-clinic__image strong { font-size: 17px; }.cj-appts-clinic__image span { font-size: 11px; }
.cj-appts-clinic h3 { margin: 14px 0 6px; font-size: 13px; }
.cj-appts-clinic p { margin: 0 0 13px; color: #3d4e6d; font-size: 11px; line-height: 1.6; }
.cj-appts-hours { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.cj-appts-hours b { font-weight: 400; }
.cj-appts-help { background: #eef6ff; }
.cj-appts-help p { margin: 8px 0 18px; }
.cj-appts-prep { padding: 22px; }
.cj-appts-prep > p { margin: 5px 0 18px; font-size: 12px; }
.cj-appts-prep > div { display: grid; grid-template-columns: repeat(4, 1fr); }
.cj-appts-prep article { display: grid; justify-items: center; gap: 7px; padding: 5px 18px; text-align: center; border-right: 1px solid #e3e8f0; }
.cj-appts-prep article:last-child { border: 0; }
.cj-appts-prep article img { width: 48px; height: 48px; margin-bottom: 10px; object-fit: contain; }
.cj-appts-prep article > .cj-lucide-icon { background:#edf5ff; border-radius:50%; color:#176fda; height:48px; margin-bottom:10px; padding:12px; width:48px; }
.cj-appts-prep article strong { font-size: 11px; font-weight: 700; }.cj-appts-prep article span { color: #4a5873; font-size: 10px; line-height: 1.5; }
.cj-appts-history { margin-top: 24px; overflow: hidden; }
.cj-appts-history > h2 { padding: 18px 24px 5px; }
.cj-appts-history__table > div { display: grid; grid-template-columns: 1.05fr 1.4fr 1fr 1fr .8fr 1fr; gap: 12px; padding: 13px 24px; border-top: 1px solid #e5e9ef; font-size: 11px; }
.cj-appts-history__table .is-head { border: 0; color: #54617a; }
.cj-appts-history__table em { padding: 5px 10px; border-radius: 15px; color: #2b8539; background: #eaf7eb; font-style: normal; }
.cj-appts-history__empty { display: grid; place-items: center; min-height: 92px; margin: 0; padding: 18px 24px 26px; border-top: 1px solid #e5e9ef; color: #54617a; font-size: 13px; text-align: center; }

@media (max-width: 980px) {
  .cj-appts-top, .cj-appts-layout { grid-template-columns: 1fr; }
  .cj-appts-side { grid-template-columns: repeat(2, 1fr); }
  .cj-appts-help { grid-column: 1 / -1; }
  .cj-appts-history__table { overflow-x: auto; }
  .cj-appts-history__table > div { min-width: 760px; }
}
@media (max-width: 680px) {
  .cj-appts-next { grid-template-columns: 55px 1fr; padding: 20px 16px; }
  .cj-appts-next__icon { width: 50px; height: 50px; }
  .cj-appts-next > .cj-button { grid-column: 2; }
  .cj-appts-tabs { gap: 8px; justify-content: space-between; overflow-x: auto; }
  .cj-appts-list > article { grid-template-columns: 65px 1fr; padding: 16px 14px 60px; }
  .cj-appts-actions { grid-column: 2; grid-template-columns: repeat(2, 1fr); }
  .cj-appts-side, .cj-appts-prep > div { grid-template-columns: 1fr; }
  .cj-appts-help { grid-column: auto; }
  .cj-appts-prep article { border-right: 0; border-bottom: 1px solid #e3e8f0; }
}

/* UI coherence pass: portal interactions, typography and progress motion. */
.cj-header__actions .cj-header__medical-link { transition: color .18s ease; }
.cj-header__actions .cj-header__medical-link:hover,
.cj-header__actions .cj-header__medical-link:focus-visible { color: var(--cj-blue); }

.cj-progress-ring,
.cj-evolution-ring { transition: background 80ms linear; }
.cj-progress-ring strong,
.cj-evolution-ring strong { font-weight: 800; font-variant-numeric: tabular-nums; }

.cj-journey-timeline .cj-section-heading > a,
.cj-evolution-tip a,
.cj-evolution-info > a:not(.cj-button),
.cj-success-card__copy button { transition: color .18s ease; }
.cj-journey-timeline .cj-section-heading > a:hover,
.cj-journey-timeline .cj-section-heading > a:focus-visible,
.cj-evolution-tip a:hover,
.cj-evolution-tip a:focus-visible,
.cj-evolution-info > a:not(.cj-button):hover,
.cj-evolution-info > a:not(.cj-button):focus-visible { color: #084f9e; }
.cj-card-link { transition: color .18s ease; }
.cj-card-link:hover,
.cj-card-link:focus-visible { color: #788698; }

.cj-evolution-upload .cj-portal-form__grid { align-items: start; }
.cj-evolution-upload input,
.cj-evolution-upload select { font-size: 14px; }
.cj-evolution-upload input[type="date"] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23167eed' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E");
  background-position: right 13px center;
  background-repeat: no-repeat;
  padding-right: 44px;
}
.cj-evolution-upload input[type="date"]::-webkit-calendar-picker-indicator { cursor: pointer; opacity: 0; width: 24px; }
.cj-evolution-upload select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10' fill='none'%3E%3Cpath d='m2 2 6 6 6-6' stroke='%233b526f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 16px center;
  background-repeat: no-repeat;
  padding-right: 48px;
}
.cj-evolution-upload input[type="file"] { color: #53627d; font-size: 13px; }
.cj-evolution-upload input[type="file"]::file-selector-button { font: 700 13px/1.2 "Inter", sans-serif; margin-right: 12px; }
.cj-evolution-upload .cj-portal-form__file small { color: #8995a6; display: block; font-size: 13px; line-height: 1.4; margin-top: 7px; }

.cj-indicator-list article { border: 1px solid #e2e8f1; border-radius: 10px; margin-bottom: 10px; padding: 10px 12px; }
.cj-indicator-list article:last-child { border-bottom: 1px solid #e2e8f1; margin-bottom: 0; }
.cj-indicator-list strong,
.cj-indicator-list p { font-size: 13px; line-height: 1.45; }
.cj-indicator-list em { font-size: 12px; }

.cj-evolution-info h2 { font-size: 19px; font-weight: 800; }
.cj-evolution-info--weeks ul { font-size: 12px; gap: 12px; }
.cj-evolution-info--weeks li { white-space: nowrap; }
.cj-evolution-advice__image { margin: 6px auto -10px; object-position: center top; }
.cj-evolution-help p strong { font-weight: 800; }
.cj-evolution-help .cj-button { transition: background-color .18s ease, transform .18s ease; }
.cj-evolution-help .cj-button:hover { background: var(--cj-navy-soft); transform: translateY(-1px); }

.cj-treatment-hero { align-items: start; }
.cj-treatment-icon { align-self: start; margin-top: 1px; }
.cj-treatment-hero > div > p { font-weight: 700; }
.cj-treatment-products article b { font-size: 14px; }
.cj-treatment-products article small,
.cj-treatment-products article em { font-size: 12px; }
.cj-treatment-sequence { padding-left: 46px; }
.cj-treatment-sequence::before { left: 12px; width: 2px; }
.cj-treatment-step__number {
  border: 0;
  box-shadow: none;
  left: -52px;
}
.cj-treatment-stages article strong { font-size: 14px; font-weight: 800; }
.cj-treatment-stages article span,
.cj-treatment-stages article small { font-size: 12px; }

.cj-appts-prep article strong { font-size: 13px; font-weight: 800; }
.cj-guide-card__body h2 { font-size: 20px; }
.cj-faq-list [data-cj-faq-question] strong { font-size: 15px; }

.cj-success-card__copy > p { font-size: 12px; }
.cj-success-card__copy h2 { font-size: 18px; font-weight: 800; }
.cj-success-card__copy > span { font-size: 13px; }
.cj-success-card__copy button { font-size: 13px; }
.cj-success-card__copy button:hover,
.cj-success-card__copy button:focus-visible { color: #084f9e; }

@media (max-width: 1180px) {
  .cj-evolution-info--weeks li { white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
  .cj-progress-ring,
  .cj-evolution-ring { transition: none; }
}

.cj-treatment-page { color: #071742; }
.cj-treatment-title { margin-bottom: 26px; }
.cj-treatment-title h1 { margin: 8px 0; color: var(--cj-text); font-size: 38px; line-height: 1.15; }
.cj-treatment-title p { margin: 0; color: var(--cj-muted); font-size: 18px; }
.cj-treatment-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .95fr); gap: 24px; align-items: start; }
.cj-treatment-main, .cj-treatment-side { display: grid; gap: 22px; }
.cj-treatment-hero, .cj-treatment-routine, .cj-treatment-recommendations, .cj-treatment-side > section, .cj-treatment-stages { border: 1px solid var(--cj-border); border-radius: 16px; background: #fff; }
.cj-treatment-hero { min-height: 245px; display: grid; grid-template-columns: 64px minmax(0, 1fr) minmax(210px, 42%); align-items: center; gap: 22px; padding: 34px; overflow: hidden; background: #f7f0ff; }
.cj-treatment-hero h2, .cj-treatment-routine h2, .cj-treatment-recommendations h2, .cj-treatment-side h2, .cj-treatment-stages h2 { margin: 0 0 8px; font-size: 18px; }
.cj-treatment-hero p { max-width: 370px; margin: 0 0 24px; line-height: 1.7; }
.cj-treatment-icon { display: block; width: 58px; height: 58px; object-fit: contain; }
.cj-treatment-products-art { align-self: stretch; width: 100%; height: 100%; max-height: 220px; object-fit: contain; object-position: center bottom; transform: translate(24px, 24px); }
.cj-treatment-hero .cj-button { width: max-content; max-width: 100%; min-width: 0; padding: 12px 18px; font-size: 13px; line-height: 1; white-space: nowrap; }
.cj-treatment-routine, .cj-treatment-recommendations { padding: 24px; }
.cj-treatment-routine .cj-section-heading p, .cj-treatment-recommendations > p { margin: 0; color: #52617e; }
.cj-treatment-sequence { position: relative; display: grid; gap: 10px; margin-top: 20px; padding-left: 34px; }
.cj-treatment-sequence::before { content: ""; position: absolute; top: 44px; bottom: 44px; left: 12px; width: 3px; border-radius: 3px; background: #cbb5f7; z-index: 0; }
.cj-treatment-step { position: relative; display: grid; grid-template-columns: 58px 86px minmax(0, 1fr) 116px; gap: 14px; align-items: center; min-height: 88px; padding: 13px 16px; border: 1px solid #e2e8f1; border-radius: 11px; background: #fff; }
.cj-treatment-step__number { position: absolute; top: 50%; left: -40px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 4px solid #fff; border-radius: 50%; color: #fff; background: #7044cf; box-shadow: 0 0 0 2px #7044cf; font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1; text-align: center; transform: translateY(-50%); z-index: 2; }
.cj-treatment-step__glyph { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 9px; color: #245ce7; font-size: 24px; background: #f2f1ff; }
.cj-treatment-step__time { font-size: 12px; }
.cj-treatment-step__copy h3 { margin: 0 0 5px; font-size: 14px; font-weight: 700; }
.cj-treatment-step__copy p { margin: 0; color: #4c5f84; font-size: 12px; line-height: 1.55; }
.cj-treatment-step select { width: 100%; min-height: 38px; padding: 8px 34px 8px 12px; border: 1px solid transparent; border-radius: 9px; color: #226f2f; background-color: #ebf8ec; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23226f2f' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; font-weight: 700; font-size: 11px; appearance: none; -webkit-appearance: none; }
.cj-treatment-step select:focus { border-color: #167eed; outline: 2px solid rgba(22,126,237,.16); outline-offset: 1px; }
.cj-treatment-step--skipped select { color: #a23333; background: #fff0f0; }
.cj-treatment-step--postponed select { color: #9a6500; background: #fff6dc; }
.cj-treatment-step--completed { background: #fcfffc; }
.cj-treatment-done { display: grid; gap: 3px; margin-top: 18px; padding: 14px 18px; border-radius: 9px; color: #0758d7; background: #eef7ff; }
.cj-treatment-done span { font-size: 12px; color: #455d83; }
.cj-treatment-recommendations > div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 20px; }
.cj-treatment-recommendations article { display: grid; align-content: start; gap: 8px; min-height: 175px; padding: 14px; border-radius: 12px; background: #f0fbf3; }
.cj-treatment-recommendations article:nth-child(2) { background: #f5f0ff; }
.cj-treatment-recommendations article:nth-child(3) { background: #fff0f3; }
.cj-treatment-recommendations article:nth-child(4) { background: #eef3ff; }
.cj-treatment-recommendations article span { color: #405174; font-size: 12px; line-height: 1.55; }
.cj-treatment-recommendations article img { width: 65px; height: 65px; object-fit: contain; }
.cj-treatment-side > section { padding: 22px; }
.cj-treatment-day { display: grid; grid-template-columns: 1fr 62px; align-items: center; gap: 16px; background: #f6f9ff !important; }
.cj-treatment-day > div { display: grid; gap: 7px; }
.cj-treatment-day > div > span, .cj-treatment-adherence span { font-weight: 700; }
.cj-treatment-day > img { width: 58px; height: 58px; object-fit: contain; }
.cj-treatment-day strong { font-size: 27px; }
.cj-treatment-day small { font-size: 12px; }
.cj-treatment-adherence { display: grid; grid-template-columns: 1fr 94px; align-items: center; gap: 14px; background: #eff9f0 !important; }
.cj-treatment-adherence div { display: grid; gap: 8px; }
.cj-treatment-adherence div strong { color: #218132; }
.cj-treatment-adherence p { margin: 0; color: #425373; font-size: 12px; line-height: 1.5; }
.cj-treatment-adherence > b { display: grid; place-items: center; width: 82px; height: 82px; border-radius: 50%; color: #218132; font-size: 22px; background: radial-gradient(circle, #f7fff8 58%, transparent 59%), conic-gradient(#27883a var(--cj-adherence), #d8eadb 0); }
.cj-treatment-products > div { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.cj-treatment-products > div span { padding: 5px 9px; border-radius: 6px; color: #6940ca; background: #f1eaff; font-size: 11px; }
.cj-treatment-products article { display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; padding: 10px 0; }
.cj-treatment-products article i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 7px; color: #6c45c6; background: #f4f1ff; font-style: normal; }
.cj-treatment-product-thumb { background:#f5f7fa; border:1px solid #e2e7ee; border-radius:7px; height:38px; object-fit:contain; width:38px; }
.cj-treatment-products article div { display: grid; gap: 3px; }
.cj-treatment-products article b { font-size: 12px; font-weight: 700; line-height: 1.25; }
.cj-treatment-products article small { color: #53627d; font-size: 10px; }
.cj-treatment-products article em { color: #229134; font-size: 10px; font-style: normal; }
.cj-treatment-next { display: grid; gap: 9px; background: #fff6e5 !important; border-color: #f3ddb0 !important; }
.cj-treatment-next h2 { color: #d47700; }
.cj-treatment-next span { font-size: 12px; }
.cj-treatment-next button { margin-top: 8px; opacity: .8; }
.cj-treatment-help { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 104px; align-items: center; min-height: 165px; overflow: hidden; background: #edf3ff !important; }
.cj-treatment-help > div { position: relative; z-index: 1; }
.cj-treatment-help p { margin: 0 0 18px; color: #53627d; font-size: 12px; line-height: 1.45; }
.cj-treatment-help .cj-button { display: inline-flex; gap: 8px; width: max-content; min-width: 0; padding: 10px 14px; font-size: 11px; white-space: nowrap; }
.cj-treatment-help .cj-button img { width: 16px; height: 16px; }
.cj-treatment-help__art { align-self: end; width: 125px; max-width: none; margin: 0 -18px -22px -4px; }
.cj-treatment-stages { margin-top: 24px; padding: 22px; }
.cj-treatment-stages > p { margin-top: -4px; color: #53627e; font-size: 12px; }
.cj-treatment-stages > div { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-top: 22px; }
.cj-treatment-stages > div::before { content: ""; position: absolute; top: 19px; left: 8%; right: 8%; height: 2px; background: #dde4ef; }
.cj-treatment-stages article { position: relative; z-index: 1; display: grid; justify-items: center; gap: 5px; text-align: center; }
.cj-treatment-stages article > img { width: 38px; height: 38px; margin-bottom: 4px; object-fit: contain; background: #fff; border-radius: 50%; }
.cj-treatment-stage-check { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 4px; border: 4px solid #d5efd9; border-radius: 50%; color: #fff !important; background: #319447; box-shadow: 0 3px 9px rgba(49,148,71,.2); font-size: 18px !important; font-weight: 800; }
.cj-treatment-stages article strong { font-size: 12px; font-weight: 700; }
.cj-treatment-stages article span, .cj-treatment-stages article small { color: #52617d; font-size: 10px; }

@media (max-width: 980px) {
  .cj-treatment-layout { grid-template-columns: 1fr; }
  .cj-treatment-side { grid-template-columns: repeat(2, 1fr); }
  .cj-treatment-stages > div { grid-template-columns: repeat(3, 1fr); row-gap: 24px; }
  .cj-treatment-stages > div::before { display: none; }
}
@media (max-width: 680px) {
	.cj-treatment-hero { grid-template-columns: 52px 1fr; padding: 24px 18px; }
	.cj-treatment-products-art { grid-column: 1 / -1; width: calc(100% + 36px); height: 165px; max-height: none; margin: 0 -18px -24px; border-radius: 0; transform: none; object-position: center 62%; }
  .cj-treatment-step { grid-template-columns: 48px 1fr; }
  .cj-treatment-step__time { grid-column: 2; grid-row: 1; align-self: end; }
  .cj-treatment-step__copy { grid-column: 2; }
	.cj-treatment-step form { grid-column: 2; }
	.cj-treatment-help { grid-template-columns: minmax(0, 1fr) 90px; }
  .cj-treatment-recommendations > div, .cj-treatment-side { grid-template-columns: 1fr; }
  .cj-treatment-stages > div { grid-template-columns: repeat(2, 1fr); }
}

:root {
  --cj-navy: #061633;
  --cj-navy-soft: #0d2349;
  --cj-blue: #1689ee;
  --cj-gold: #ffd247;
  --cj-text: #0a1a3d;
  --cj-muted: #65718a;
  --cj-border: #dce4ef;
  --cj-background: #f8fafc;
  --cj-success: #1e9b45;
  --cj-white: #ffffff;
  color-scheme: light;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--cj-background);
}

body.cj-portal-page {
  background: var(--cj-background);
  color: var(--cj-text);
  font-family: "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 0;
  min-height: 100vh;
}

.cj-portal-page a {
  color: inherit;
}

.cj-login {
  background: linear-gradient(120deg, #061737 0%, #08234d 52%, #071a3b 100%);
  color: var(--cj-white);
  display: grid;
  font-family:"Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight:400;
  column-gap:clamp(40px,6vw,110px);
  grid-template-columns:repeat(2,minmax(360px,440px));
  justify-content:center;
  min-height: 100vh;
  padding-inline:clamp(28px,5vw,80px);
}

.cj-login__brand,
.cj-login__form {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding:42px 0;
  transform:none;
}

.cj-login__brand {
  background: transparent;
  flex-direction: column;
  text-align: center;
}

.cj-login__brand > * {
  transform:none;
}

.cj-login__logo {
  height: auto;
  margin-bottom: 24px;
  max-width: 160px;
  width: 42%;
}

.cj-login__brand h1 {
  color: var(--cj-gold);
  font-family: "Castoro Titling", Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3vw, 40px);
  font-weight: 400;
  letter-spacing: .02em;
  margin: 0 0 18px;
}

.cj-login__brand p {
  color: rgba(255, 255, 255, .68);
  font-size: clamp(15px, 1.25vw, 20px);
  line-height: 1.45;
  margin: 0;
}

.cj-login__form {
  background: transparent;
}

.cj-login__form-inner {
  max-width: 410px;
  transform:none;
  width: 100%;
}

.cj-login__form-inner > .cj-eyebrow,
.cj-login__form-inner > h2,
.cj-login__form-inner > .cj-login__intro {
  text-align:center;
}

.cj-login__form h2 {
  font-size: 27px;
  margin: 8px 0 8px;
}

.cj-login__intro {
  color: rgba(255, 255, 255, .68);
  font-size: 14px;
  margin: 0 0 32px;
}

.cj-eyebrow {
  color: var(--cj-blue);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  margin: 0;
}

.cj-auth-form {
  display: grid;
  gap: 15px;
}

.cj-auth-form label > span:first-child {
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin: 0 0 8px;
}

.cj-auth-form input[type="email"],
.cj-auth-form input[type="password"],
.cj-auth-form input[type="text"] {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 14px;
  color: var(--cj-white);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.2;
  min-height: 48px;
  outline: none;
  padding: 0 15px;
  width: 100%;
}

.cj-auth-form input:focus {
  border-color: var(--cj-gold);
  box-shadow: 0 0 0 3px rgba(255, 210, 71, .15);
}

.cj-auth-form input::placeholder {
  color: rgba(255, 255, 255, .42);
  font-size: 14px;
}

.cj-password {
  display: block;
  position: relative;
}

.cj-password input {
  padding-right: 52px !important;
}

.cj-password__toggle {
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, .78);
  cursor: pointer;
  font-weight: 700;
  align-items:center;
  display:flex;
  height:36px;
  justify-content:center;
  padding: 7px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

.cj-password__toggle img {
  display:block;
  height:18px;
  object-fit:contain;
  width:24px;
}

.cj-auth-form__remember {
  align-items: center;
  color: rgba(255, 255, 255, .72);
  display: flex;
  font-size: 13px;
  gap: 9px;
}

.cj-auth-form__remember span {
  margin: 0 !important;
}

.cj-auth-form__remember input[type="checkbox"] {
  appearance:none;
  background:transparent;
  border:1px solid rgba(255,255,255,.65);
  border-radius:3px;
  display:grid;
  height:16px;
  margin:0;
  place-content:center;
  width:16px;
}

.cj-auth-form__remember input[type="checkbox"]:checked::before {
  color:#fff;
  content:"✓";
  font-size:12px;
  line-height:1;
}

.cj-button {
  align-items: center;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 800;
  justify-content: center;
  min-height: 44px;
  padding: 0 24px;
  text-decoration: none;
}

.cj-button--gold {
  background: var(--cj-gold);
  color: #101010 !important;
}

.cj-button--gold:hover {
  background: #ffdc6e;
}

.cj-button--outline {
  border: 1px solid #9fadc0;
  color: var(--cj-navy);
}

.cj-button--danger {
  background: #fff;
  border: 1px solid #e35b63;
  color: #bd2833 !important;
}

.cj-button--danger:hover {
  background: #fff3f4;
}

.cj-button.is-disabled {
  cursor: not-allowed;
  opacity: .55;
}

.cj-login__help {
  display: block;
  font-size: 14px;
  margin: 18px auto 0;
  text-align: center;
  text-decoration: underline;
  width: fit-content;
}

.cj-login__security {
  color: rgba(255, 255, 255, .55);
  font-size: 10px;
  margin: 28px 0 0;
  text-align: center;
  white-space:nowrap;
}

.cj-alert {
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 20px;
  padding: 14px 16px;
}

.cj-alert--error {
  background: rgba(255, 91, 91, .13);
  border: 1px solid rgba(255, 130, 130, .4);
  color: #ffd0d0;
}

.cj-alert--success {
  background: rgba(50, 188, 105, .13);
  border: 1px solid rgba(92, 219, 143, .4);
  color: #c9f7dc;
}

.cj-auth-actions { text-align:center; }
.cj-auth-meta { color:rgba(255,255,255,.62); font-size:12px; line-height:1.6; margin:0; text-align:center; }
.cj-auth-primary-link { display:flex; margin-top:16px; width:100%; }
.cj-login--auth-flow .cj-login__security { margin-top:24px; }

.cj-app {
  min-height: 100vh;
}

.cj-header {
  align-items: center;
  background: var(--cj-navy);
  border-bottom: 4px solid var(--cj-blue);
  color: var(--cj-white);
  display: flex;
  justify-content: space-between;
  min-height: 92px;
  padding: 14px max(24px, calc((100vw - 1180px) / 2));
}

.cj-header__brand {
  align-items: center;
  display: flex;
  gap: 24px;
  text-decoration: none;
}

.cj-header__brand img {
  height: auto;
  max-width: min(440px, 46vw);
  object-fit: contain;
  object-position: left center;
  width: 100%;
}

.cj-header__actions {
  align-items: center;
  display: flex;
  gap: 18px;
}

.cj-header__actions a {
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
}

.cj-header__actions .cj-header__medical-link {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.cj-header__store-button,
.cj-header__alert-button {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  position: relative;
}

.cj-header__store-button .cj-lucide-icon,
.cj-header__alert-button .cj-lucide-icon {
  height: 22px;
  width: 22px;
}

.cj-header__store-button {
  border-radius: 50%;
  height: 38px;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
  width: 38px;
}

.cj-header__store-button:hover,
.cj-header__store-button:focus,
.cj-header__store-button.is-active {
  background: rgba(255, 255, 255, .12);
  color: #fff;
  transform: translateY(-1px);
}

.cj-header__alert-button > span {
  align-items: center;
  background: var(--cj-blue);
  border: 2px solid var(--cj-navy);
  border-radius: 999px;
  color: #fff;
  display: flex;
  font-size: 10px;
  font-weight: 800;
  height: 19px;
  justify-content: center;
  min-width: 19px;
  padding: 0 4px;
  position: absolute;
  right: -8px;
  top: -8px;
}

.cj-store-placeholder {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 520px;
  padding: 64px 28px;
  text-align: center;
}

.cj-store-placeholder__icon {
  align-items: center;
  background: #edf4ff;
  border-radius: 50%;
  color: var(--cj-blue);
  display: flex;
  height: 88px;
  justify-content: center;
  margin-bottom: 24px;
  width: 88px;
}

.cj-store-placeholder__icon svg { height: 38px; width: 38px; }
.cj-store-placeholder h1 { font-size: clamp(32px, 4vw, 46px); margin: 4px 0 12px; }
.cj-store-placeholder > p:not(.cj-eyebrow) { color: var(--cj-muted); font-size: 16px; line-height: 1.65; margin: 0; max-width: 590px; }
.cj-store-placeholder > span { background: #e8f6eb; border-radius: 999px; color: #168037; font-size: 12px; font-weight: 800; margin-top: 26px; padding: 8px 14px; text-transform: uppercase; }

.cj-profile-menu {
  position: relative;
}

.cj-profile-menu__toggle {
  align-items: center;
  background: #edf5ff;
  border: 2px solid #fff;
  border-radius: 50%;
  color: var(--cj-navy);
  cursor: pointer;
  display: flex;
  font: inherit;
  font-size: 16px;
  font-weight: 800;
  height: 46px;
  justify-content: center;
  overflow: hidden;
  padding: 0;
  width: 46px;
}

.cj-profile-menu__toggle img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.cj-profile-popover {
  background: #fff;
  border: 1px solid #dce4ef;
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(6, 22, 51, .24);
  color: var(--cj-text);
  min-width: 300px;
  padding: 10px;
  position: absolute;
  right: 0;
  top: calc(100% + 12px);
  z-index: 30;
}

.cj-profile-popover[hidden] {
  display: none;
}

.cj-profile-popover::before {
  border-bottom: 8px solid #fff;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  content: "";
  position: absolute;
  right: 14px;
  top: -8px;
}

.cj-profile-popover__identity {
  border-bottom: 1px solid #e6ebf2;
  display: grid;
  gap: 4px;
  margin-bottom: 6px;
  padding: 12px 12px 16px;
}

.cj-profile-popover__identity span {
  color: var(--cj-muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cj-header__actions .cj-profile-popover > a {
  border-radius: 10px;
  color: var(--cj-text);
  display: block;
  font-size: 14px;
  font-weight: 700;
  padding: 12px;
  text-decoration: none;
}

.cj-header__actions .cj-profile-popover > a:hover,
.cj-header__actions .cj-profile-popover > a:focus {
  background: #f1f5fa;
}

.cj-profile-popover__legal {
  align-items: center;
  border-top: 1px solid #e6ebf2;
  color: #7d8799;
  display: flex;
  flex-wrap: nowrap;
  font-size: 10px;
  gap: 5px;
  justify-content: center;
  margin-top: 6px;
  padding: 10px 2px 5px;
  white-space: nowrap;
}

.cj-header__actions .cj-profile-popover__legal a {
  color: #7d8799;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
}

.cj-header__actions .cj-profile-popover__legal a:hover,
.cj-header__actions .cj-profile-popover__legal a:focus-visible {
  color: #4e596b;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cj-nav-shell {
  background: var(--cj-white);
  border-bottom: 1px solid var(--cj-border);
}

.cj-nav {
  align-items: center;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(7, max-content);
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1180px;
  min-height: 78px;
  overflow-x: auto;
  padding: 0 24px;
  width: calc(100% - 48px);
  white-space: nowrap;
}

.cj-nav a,
.cj-nav span {
	align-items:center;
	display:inline-flex;
	gap:9px;
  font-size: 15px;
  font-weight: 700;
  justify-content:center;
  min-height:78px;
  padding:0;
  text-decoration: none;
  transition: color .18s ease;
}

.cj-nav b { font:inherit; }
.cj-nav .cj-lucide-icon { flex:0 0 auto; height:22px; width:22px; }

.cj-nav span {
  color: #111;
}

.cj-nav a:not(.is-active) {
  color: #111;
}

.cj-nav .is-active {
  color: var(--cj-blue);
}

.cj-nav a:hover,
.cj-nav a:focus-visible,
.cj-nav span:hover {
  color: #167eed;
}

.cj-dashboard {
  margin: 0 auto;
  max-width: 1180px;
  padding: 52px 24px 72px;
}

.cj-welcome {
  margin-bottom: 26px;
}

.cj-welcome h1 {
  color: var(--cj-text);
  font-size: 38px;
  margin: 8px 0;
}

.cj-welcome > p:last-child {
  color: var(--cj-muted);
  font-size: 18px;
  margin: 0;
}

.cj-welcome strong {
  color: var(--cj-blue);
}

.cj-dashboard-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: 1.55fr .85fr;
  margin-bottom: 24px;
}

.cj-card {
  background: var(--cj-white);
  border: 1px solid var(--cj-border);
  border-radius: 16px;
  box-shadow: 0 10px 34px rgba(6, 22, 51, .04);
  padding: 28px;
}

.cj-card h2 {
  color: var(--cj-text);
  font-size: 24px;
  margin: 8px 0 12px;
}

.cj-card > p,
.cj-card > div > p:not(.cj-eyebrow) {
  color: var(--cj-muted);
  line-height: 1.6;
}

.cj-card--progress {
  align-items: center;
  background: linear-gradient(135deg, #f4fbf6 0%, #e3f4e8 100%);
  border-color: #cfe3d2;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

.cj-card__icon {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  font-size: 20px;
  font-weight: 900;
  height: 36px;
  justify-content: center;
  margin-bottom: 12px;
  width: 36px;
}

.cj-card__icon--success {
  background: var(--cj-success);
  color: var(--cj-white);
}
.cj-card__icon .cj-lucide-icon { height:20px; width:20px; }

.cj-progress-ring {
  align-items: center;
  background:
    radial-gradient(closest-side, #f7fcf8 78%, transparent 80% 99%),
    conic-gradient(var(--cj-success) calc(var(--progress) * 1%), #dcebdc 0);
  border-radius: 50%;
  display: flex;
  flex: 0 0 170px;
  flex-direction: column;
  height: 170px;
  justify-content: center;
  transform: translateX(-20px);
  width: 170px;
}

.cj-progress-ring strong {
  color: #096028;
  font-size: 38px;
}

.cj-progress-ring span {
  color: var(--cj-muted);
  font-size: 12px;
}

.cj-progress-action {
  border-radius: 9px;
  margin-top: 16px;
  min-height: 44px;
}

.cj-next-appointment {
  background: linear-gradient(140deg, #f7fbff 0%, #e5f2ff 100%);
  display: flex;
  flex-direction: column;
}

.cj-next-appointment__summary {
  align-items: flex-start;
  background: #f3f8ff;
  border-radius: 12px;
  display: grid;
  gap: 14px;
  grid-template-columns: 46px 1fr;
  margin-top: 14px;
  padding: 16px;
}

.cj-next-appointment__icon {
  align-items: center;
  background: #dcedff;
  border-radius: 50%;
  color: var(--cj-blue);
  display: flex;
  font-size: 20px;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.cj-next-appointment__icon img {
  display: block;
  height: 46px;
  width: 46px;
}
.cj-next-appointment__icon .cj-lucide-icon { height:23px; width:23px; }

.cj-next-appointment__summary h2 {
  font-size: 17px;
  margin: 0 0 8px;
}

.cj-next-appointment__summary strong,
.cj-next-appointment__summary span:not(.cj-next-appointment__icon) {
  display: block;
  font-size: 13px;
  line-height: 1.45;
}

.cj-next-appointment__summary span:not(.cj-next-appointment__icon) {
  color: var(--cj-muted);
  margin-top: 3px;
}

.cj-next-appointment__summary a {
  color: #0b6ed0;
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  margin-top: 8px;
  text-decoration: none;
}

.cj-next-appointment__action {
  border-radius: 8px;
  margin-top: 14px;
  min-height: 44px;
  width: 100%;
}

.cj-journey-timeline {
  --cj-timeline-icon-backdrop: #f2f5ff;
  background: linear-gradient(135deg, #fafbff 0%, #ebf1ff 100%);
  margin-bottom: 24px;
}

.cj-evolution-timeline {
  --cj-timeline-icon-backdrop: #fff;
}

.cj-journey-timeline .cj-section-heading {
  margin-bottom: 22px;
}

.cj-journey-timeline .cj-section-heading h2 {
  margin-top: 0;
}

.cj-journey-timeline .cj-section-heading > a {
  color: #0b6ed0;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.cj-timeline {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  position: relative;
}

.cj-timeline::before {
  background:
    linear-gradient(
      90deg,
      #23a54a 0,
      #23a54a var(--cj-timeline-progress),
      #d9dfe8 var(--cj-timeline-progress),
      #d9dfe8 100%
    );
  content: "";
  height: 3px;
  left: 8.5%;
  position: absolute;
  right: 8.5%;
  top: 44px;
}

.cj-timeline__item {
  align-items: center;
  display: flex;
  flex-direction: column;
  min-width: 0;
  position: relative;
  text-align: center;
  z-index: 1;
}

.cj-timeline__marker {
  align-items: center;
  background: var(--cj-timeline-icon-backdrop, #fff);
  border: 0;
  border-radius: 50%;
  display: flex;
  height: 90px;
  justify-content: center;
  margin-bottom: 12px;
  width: 102px;
}

.cj-timeline__stage-icon {
  display: block;
  height: 90px;
  object-fit: contain;
  transition: filter .2s ease, opacity .2s ease, transform .2s ease;
  width: 90px;
}

.cj-timeline__item.is-upcoming .cj-timeline__stage-icon {
  filter: grayscale(1) contrast(.96);
  opacity: 1;
}

.cj-timeline__marker span {
  color: #7b8596;
  font-size: 21px;
  font-weight: 900;
}
.cj-timeline__marker .cj-lucide-icon { height:23px; width:23px; }

.cj-timeline__item.is-complete .cj-timeline__marker {
  background: var(--cj-timeline-icon-backdrop, #fff);
  border-color: transparent;
}

.cj-timeline__item.is-complete .cj-timeline__marker span {
  color: #fff;
}

.cj-timeline__item.is-current .cj-timeline__marker {
  background: var(--cj-timeline-icon-backdrop, #fff);
  border-color: transparent;
  box-shadow: none;
}

.cj-timeline__item.is-current .cj-timeline__stage-icon {
  filter: drop-shadow(0 7px 12px rgba(14, 69, 128, .2));
  transform: scale(1.06);
}

.cj-timeline__item.is-current .cj-timeline__marker span {
  color: #bd8200;
}

.cj-timeline__item > strong {
  font-size: 16px;
  line-height: 1.35;
  max-width: 150px;
}

.cj-timeline__item > small {
  color: var(--cj-muted);
  font-size: 11px;
  line-height: 1.35;
  margin-top: 5px;
}

.cj-timeline__item.is-current > small {
  background: #fff3cf;
  border-radius: 999px;
  color: #9a6600;
  font-weight: 800;
  padding: 4px 8px;
}

.cj-journey-cards {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 24px;
}

.cj-journey-cards .cj-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px;
}

.cj-journey-cards h2 {
  font-size: 20px;
  margin: 0 0 5px;
}

.cj-journey-cards .cj-card > p {
  font-size: 13px;
  margin: 0 0 18px;
}

.cj-today-card {
  background: linear-gradient(145deg, #f8fcf9 0%, #e2f4e7 100%);
  border-color: #d7eadc;
}

.cj-today-card h2 {
  color: #086329;
}

.cj-symptoms-card {
  background: linear-gradient(145deg, #fbfaff 0%, #eae5fb 100%);
  border-color: #e2ddf4;
}

.cj-symptoms-card h2 {
  color: #3e2cc4;
}

.cj-evolution-summary {
  background: linear-gradient(145deg, #f9fcff 0%, #e1f0fc 100%);
  border-color: #d4e7f6;
}

.cj-care-list,
.cj-symptom-list {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}

.cj-care-list li,
.cj-symptom-list li {
  align-items: center;
  display: grid;
  gap: 9px;
  grid-template-columns: 26px 1fr auto;
  min-height: 42px;
}

.cj-care-list li > span,
.cj-symptom-list li > span {
  align-items: center;
  border-radius: 50%;
  display: flex;
  font-size: 13px;
  font-weight: 900;
  height: 24px;
  justify-content: center;
  width: 24px;
}

.cj-care-list .is-success {
  background: #21a64a;
  color: #fff;
}

.cj-care-list .is-warning,
.cj-symptom-list .is-warning > span {
  background: #ffbd19;
  color: #fff;
}

.cj-care-list .is-info {
  background: #dceeff;
  color: #1769aa;
}

.cj-care-list strong,
.cj-symptom-list strong {
  font-size: 13px;
  line-height: 1.35;
}

.cj-care-list small,
.cj-symptom-list small {
  color: #17833a;
  font-size: 12px;
  font-weight: 800;
  text-align: right;
}

.cj-care-list li:last-child small {
  color: #7d8798;
}

.cj-symptom-list li {
  background: rgba(255, 255, 255, .72);
  border-radius: 10px;
  padding: 7px 9px;
}

.cj-symptom-list li > span {
  color: #654ee2;
}

.cj-symptom-list .is-warning {
  background: #fff1e9;
}

.cj-symptom-list .is-warning small {
  color: #e25c23;
}

.cj-symptom-list .is-watch {
  background: #fff9df;
}

.cj-symptom-list .is-watch > span,
.cj-symptom-list .is-watch small {
  color: #8b6a12;
}

.cj-card-link {
  color: #0b6ed0;
  font-size: 12px;
  font-weight: 800;
  margin-top: auto;
  text-decoration: none;
}

.cj-journey-empty {
  background: rgba(255, 255, 255, .72);
  border: 1px dashed #cfd8e4;
  border-radius: 10px;
  color: var(--cj-muted);
  font-size: 12px !important;
  line-height: 1.55;
  margin: 0 0 22px !important;
  padding: 16px;
}

.cj-evolution-summary__photos {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 14px;
}

.cj-evolution-summary__photos figure {
  margin: 0;
  min-width: 0;
}

.cj-evolution-summary__photos img {
  aspect-ratio: 1 / 1.08;
  border-radius: 10px;
  display: block;
  object-fit: cover;
  width: 100%;
}

.cj-evolution-summary__photos figcaption {
  color: var(--cj-muted);
  font-size: 11px;
  font-weight: 700;
  margin-top: 6px;
  text-align: center;
}

.cj-evolution-summary > .cj-button {
  border-radius: 8px;
  margin-top: 14px;
  min-height: 42px;
  width: 100%;
}

.cj-support-banner {
  align-items: stretch;
  background: #fff9ea;
  border: 1px solid #f0e6cc;
  border-radius: 16px;
  display: grid;
  gap: 18px;
  grid-template-columns: 210px minmax(280px, 1fr) 235px 170px;
  margin-bottom: 24px;
  min-height: 260px;
  overflow: hidden;
  padding: 26px 24px 0;
  position: relative;
}

.cj-support-banner__phone {
  align-self: end;
  margin: 0 0 -8px -28px;
  max-height: 305px;
  object-fit: contain;
  width: 260px;
}

.cj-support-banner__copy {
  align-self: center;
  padding-bottom: 26px;
}

.cj-support-banner__copy h2 {
  font-size: 24px;
  margin: 0 0 10px;
}

.cj-support-banner__copy p {
  color: #34435d;
  font-size: 14px;
  line-height: 1.55;
  margin: 0 0 18px;
}

.cj-support-banner__copy .cj-button {
  border-radius: 8px;
  min-height: 44px;
}

.cj-support-banner__contact {
  gap: 10px;
}

.cj-support-banner__contact img {
  display: block;
  flex: 0 0 20px;
  height: 20px;
  width: 20px;
}

.cj-support-banner__doctor {
  align-self: end;
  height: 275px;
  justify-self: center;
  object-fit: contain;
  object-position: center bottom;
  width: 235px;
}

.cj-support-banner__identity {
  align-self: center;
  display: grid;
  gap: 5px;
  padding-bottom: 24px;
  text-align: center;
}

.cj-support-banner__identity img {
  height: 80px;
  margin: 0 auto 4px;
  object-fit: contain;
  width: 150px;
}

.cj-support-banner__identity strong {
  font-size: 15px;
}

.cj-support-banner__identity span {
  color: var(--cj-muted);
  font-size: 12px;
}

.cj-module-preview {
  align-items: center;
  background: #f1f5ff;
  display: grid;
  gap: 36px;
  grid-template-columns: 1fr 1fr;
}

.cj-module-preview__steps {
  display: grid;
  gap: 10px;
}

.cj-module-preview__steps span {
  background: #edf1f6;
  border-radius: 9px;
  color: #728097;
  font-size: 13px;
  font-weight: 700;
  padding: 12px 14px;
}

.cj-module-preview__steps .is-complete {
  background: #e5f7e9;
  color: #17783a;
}

.cj-module-preview__steps .is-current {
  background: #e8f3ff;
  color: #0d70d4;
}

.cj-appointment-card,
.cj-evolution-card,
.cj-settings-card {
  display: flex;
  flex-direction: column;
  margin-bottom: 24px;
  scroll-margin-top: 24px;
}

.cj-settings-card > .cj-section-heading { order: 1; }
.cj-settings-card > .cj-settings-profile { order: 2; }
.cj-settings-card > .cj-account-summary { order: 3; }
.cj-settings-card > .cj-inline-notice { order: 4; }
.cj-settings-card > .cj-account-notifications { order: 5; }

.cj-preferences-notice {
  margin-top: 22px;
}

.cj-appointment-badge {
  background: #e5f7e9;
  border-radius: 999px;
  color: #17783a;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 800;
  padding: 8px 13px;
  text-transform: uppercase;
}

.cj-appointment-sheet {
  border: 1px solid #dce4ef;
  border-radius: 16px;
  display: grid;
  gap: 28px;
  grid-template-columns: 104px 1fr;
  padding: 26px;
}

.cj-appointment-sheet__date {
  align-items: center;
  background: linear-gradient(145deg, #eaf4ff, #f1edff);
  border-radius: 16px;
  color: var(--cj-blue);
  display: flex;
  flex-direction: column;
  height: 126px;
  justify-content: center;
  text-transform: uppercase;
  width: 104px;
}

.cj-appointment-sheet__date span {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
}

.cj-appointment-sheet__date strong {
  color: var(--cj-navy);
  font-size: 42px;
  line-height: 1.05;
}

.cj-appointment-sheet__date small {
  color: var(--cj-muted);
  font-size: 12px;
}

.cj-appointment-sheet__content h3 {
  color: var(--cj-text);
  font-size: 24px;
  margin: 0 0 22px;
}

.cj-appointment-details {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cj-appointment-details > div {
  border-bottom: 1px solid #e7ecf2;
  display: grid;
  gap: 7px;
  padding-bottom: 14px;
}

.cj-appointment-details span {
  color: var(--cj-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.cj-appointment-details strong {
  color: var(--cj-text);
  font-size: 14px;
  line-height: 1.45;
}

.cj-appointment-copy {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 24px;
}

.cj-appointment-copy > div {
  background: #f7f9fc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 18px;
}

.cj-appointment-copy h4 {
  font-size: 15px;
  margin: 0 0 9px;
}

.cj-appointment-copy p {
  color: var(--cj-muted);
  line-height: 1.55;
  margin: 0;
}

.cj-appointment-copy .cj-appointment-instructions {
  background: #fff9e9;
  border-color: #f1dfaa;
}

.cj-appointment-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.cj-appointment-actions .cj-button {
  border-radius: 10px;
  font-size: 12px;
  min-height: 46px;
  padding: 0 18px;
  text-transform: uppercase;
}

.cj-stage-badge {
  background: #fff3cf;
  border: 1px solid #f1d77e;
  border-radius: 999px;
  color: #8a6100;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 800;
  padding: 8px 13px;
  text-transform: uppercase;
}

.cj-demo-content-notice {
  background: #fff9e9;
  border-left: 4px solid var(--cj-gold);
  color: #745a13;
  font-size: 13px;
  margin: -4px 0 24px;
  padding: 12px 14px;
}

.cj-preop-heading {
  align-items: flex-end;
  border-top: 1px solid #e5eaf1;
  display: flex;
  justify-content: space-between;
  margin-top: 4px;
  padding-top: 24px;
}

.cj-preop-heading h3 {
  color: var(--cj-text);
  font-size: 17px;
  letter-spacing: .08em;
  margin: 0 0 5px;
}

.cj-preop-heading p,
.cj-preop-heading > span {
  color: var(--cj-muted);
  font-size: 13px;
  margin: 0;
}

.cj-preop-gallery {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
}

.cj-preop-gallery figure {
  background: #f8fafc;
  border: 1px solid #dfe6ef;
  border-radius: 14px;
  margin: 0;
  overflow: hidden;
}

.cj-preop-gallery img {
  aspect-ratio: 4 / 5;
  display: block;
  object-fit: cover;
  object-position: center 28%;
  width: 100%;
}

.cj-preop-gallery figcaption {
  display: grid;
  gap: 4px;
  padding: 14px 16px 16px;
}

.cj-preop-gallery figcaption span {
  color: var(--cj-muted);
  font-size: 12px;
}

.cj-settings-profile {
  align-items: center;
  border: 1px solid #e0e6ef;
  border-radius: 14px;
  display: grid;
  gap: 34px;
  grid-template-columns: 190px 1fr;
  padding: 26px;
}

.cj-account-notifications {
  border: 1px solid #dfe6ef;
  border-radius: 14px;
  margin-bottom: 0;
  margin-top: 22px;
  padding: 24px;
}

.cj-account-notifications__heading {
  align-items: center;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.cj-account-notifications__heading h3 {
  font-size: 19px;
  margin: 0 0 5px;
}

.cj-account-notifications__heading p {
  color: var(--cj-muted);
  margin: 0;
}

.cj-account-notifications__heading svg {
  color: var(--cj-navy);
  height: 26px;
  width: 26px;
}

.cj-account-notifications__options {
  border-bottom: 1px solid #e7ecf2;
  margin-bottom: 20px;
}

.cj-account-notifications__options label {
  align-items: center;
  border-top: 1px solid #e7ecf2;
  cursor: pointer;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  min-height: 76px;
  padding: 14px 2px;
}

.cj-account-notifications__options label > span {
  display: grid;
  gap: 4px;
}

.cj-account-notifications__options small {
  color: var(--cj-muted);
  font-size: 12px;
}

.cj-account-notifications__options input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.cj-account-notifications__options i {
  background: #aeb8c6;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
  flex: 0 0 auto;
  height: 28px;
  position: relative;
  transition: background .18s ease;
  width: 50px;
}

.cj-account-notifications__options i::after {
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(6, 22, 51, .28);
  content: "";
  height: 22px;
  left: 3px;
  position: absolute;
  top: 3px;
  transition: transform .18s ease;
  width: 22px;
}

.cj-account-notifications__options input:checked + i {
  background: #1ed760;
}

.cj-account-notifications__options input:checked + i::after {
  transform: translateX(22px);
}

.cj-account-notifications__options input:focus-visible + i {
  outline: 3px solid rgba(13, 112, 212, .28);
  outline-offset: 3px;
}

.cj-settings-profile__photo {
  align-items: center;
  aspect-ratio: 1;
  background: linear-gradient(145deg, #e7f3ff, #f2edff);
  border: 4px solid #fff;
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(6, 22, 51, .14);
  display: flex;
  font-size: 58px;
  font-weight: 800;
  justify-content: center;
  overflow: hidden;
  width: 190px;
}

.cj-settings-profile__photo img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.cj-settings-profile h3 {
  font-size: 19px;
  margin: 0 0 6px;
}

.cj-settings-profile > div > p {
  color: var(--cj-muted);
  margin: 0 0 18px;
}

.cj-settings-profile > div > small {
  color: var(--cj-muted);
  display: block;
  margin-top: 9px;
}

.cj-account-summary {
  border: 1px solid #e0e6ef;
  border-radius: 14px;
  margin-top: 22px;
  padding: 24px;
}

.cj-account-summary h3 {
  font-size: 19px;
  margin: 0 0 20px;
}

.cj-account-summary > div {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 22px;
}

.cj-account-summary label {
  border-bottom: 1px solid #e8edf3;
  display: grid;
  gap: 7px;
  padding-bottom: 14px;
}

.cj-account-summary label span {
  color: var(--cj-muted);
  font-size: 12px;
}

.cj-profile-card {
  align-items: center;
  display: grid;
  gap: 32px;
  grid-template-columns: 180px 1fr;
  margin-bottom: 24px;
}

.cj-profile-card__photo {
  align-items: center;
  aspect-ratio: 1;
  background: linear-gradient(145deg, #e7f3ff, #f6f0ff);
  border: 4px solid #fff;
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(6, 22, 51, .14);
  display: flex;
  font-size: 56px;
  font-weight: 800;
  justify-content: center;
  overflow: hidden;
  width: 180px;
}

.cj-profile-card__photo img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.cj-profile-card__content h2 {
  margin-bottom: 5px;
}

.cj-profile-card__content > p:not(.cj-eyebrow) {
  color: var(--cj-muted);
  margin: 0 0 20px;
}

.cj-portal-form {
  font: inherit;
}

.cj-evolution-upload {
  margin-top: 24px;
}

.cj-avatar-form {
  align-items: flex-end;
  display: flex;
  gap: 14px;
}

.cj-avatar-form label {
  flex: 1;
}

.cj-portal-form label > span {
  color: var(--cj-text);
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 7px;
}

.cj-portal-form input,
.cj-portal-form select {
  background: #fff;
  border: 1px solid #bac6d6;
  border-radius: 10px;
  color: var(--cj-text);
  font: inherit;
  min-height: 46px;
  padding: 10px 12px;
  width: 100%;
}

.cj-portal-form input[type="file"] {
  padding: 9px;
}

.cj-upload-preview { background:#eef3f9; border:1px solid #d6e0ec; border-radius:12px; margin:12px 0; max-width:230px; overflow:hidden; }
.cj-upload-preview img { display:block; height:145px; object-fit:cover; width:100%; }
.cj-upload-feedback { color:var(--cj-muted); display:grid; font-size:12px; gap:6px; grid-column:1 / -1; margin-top:10px; width:100%; }
.cj-upload-feedback > div { background:#e3eaf2; border-radius:999px; height:6px; overflow:hidden; }
.cj-upload-feedback i { background:linear-gradient(90deg,#0b6ecb,#20b77a); display:block; height:100%; transition:width .16s ease; width:0; }
.cj-portal-form.is-uploading { opacity:.78; }
.cj-portal-form.is-success .cj-upload-feedback span { color:#167346; font-weight:800; }
.cj-portal-form.is-error .cj-upload-feedback span { color:#a23b36; font-weight:800; }
.cj-portal-form button:disabled { cursor:progress; opacity:.72; }

.cj-button--navy {
  background: var(--cj-navy);
  color: #fff !important;
}

.cj-button--navy:hover {
  background: var(--cj-navy-soft);
}

.cj-dashboard .cj-button {
  border-radius: 8px;
  font-size: 16px;
  min-height: 48px;
  padding-inline: 24px;
}

.cj-inline-notice {
  border-radius: 9px;
  font-size: 13px;
  margin: 0 0 16px;
  padding: 11px 13px;
}

.cj-inline-notice--success {
  background: #e8f7ec;
  color: #176c31;
}

.cj-inline-notice--error {
  background: #fff0f0;
  color: #a52b2b;
}

.cj-medical-card,
.cj-alerts-card {
  margin-bottom: 24px;
  scroll-margin-top: 24px;
}

.cj-medical-identity {
  background: linear-gradient(135deg, #fff 0%, #f7f9fc 100%);
  display: grid;
  gap: 10px 28px;
  grid-template-columns: 190px minmax(0, 1fr) auto;
  margin-bottom: 20px;
  overflow: hidden;
}

.cj-medical-identity__header {
  display: contents;
}

.cj-medical-identity__avatar {
  align-items: center;
  background: linear-gradient(145deg, #e7f3ff, #f5edff);
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 6px 20px rgba(6, 22, 51, .12);
  display: flex;
  font-size: 54px;
  font-weight: 800;
  grid-column: 1;
  grid-row: 1 / span 3;
  height: 190px;
  justify-content: center;
  overflow: hidden;
  width: 190px;
}

.cj-medical-identity__avatar img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.cj-medical-identity__title h1 {
  font-size: clamp(24px, 3vw, 34px);
  margin: 2px 0 5px;
}

.cj-medical-identity__title {
  align-self: end;
  grid-column: 2;
  grid-row: 1;
}

.cj-medical-identity__title > p:last-child {
  color: var(--cj-muted);
  margin: 0;
}

.cj-medical-identity__record {
  background: var(--cj-navy);
  border-radius: 12px;
  color: #fff;
  min-width: 190px;
  padding: 14px 18px;
  align-self: start;
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  width: fit-content;
}

.cj-medical-identity__record span,
.cj-medical-identity__record strong {
  display: block;
}

.cj-medical-identity__record span {
  font-size: 11px;
  margin-bottom: 5px;
  opacity: .72;
  text-transform: uppercase;
}

.cj-medical-identity__record strong {
  font-size: 17px;
}

.cj-medical-identity__details {
  border-top: 1px solid #e3e9f1;
  display: grid;
  gap: 0;
  grid-column: 2 / 4;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 4px;
  padding-top: 8px;
}

.cj-medical-identity__details dl {
  border-bottom: 1px solid #e9edf3;
  margin: 0;
  min-width: 0;
  padding: 13px 18px 13px 0;
}

.cj-medical-identity__details dt {
  color: var(--cj-muted);
  font-size: 11px;
  font-weight: 800;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.cj-medical-identity__details dd {
  font-weight: 700;
  margin: 0;
  overflow-wrap: anywhere;
}

.cj-medical-identity__privacy {
  align-items: center;
  color: var(--cj-muted);
  display: flex;
  font-size: 12px;
  gap: 7px;
  grid-column: 2 / 4;
  margin: 16px 0 0;
}

.cj-medical-identity__privacy svg {
  height: 15px;
  width: 15px;
}

.cj-section-heading {
  align-items: flex-start;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 24px;
}

.cj-section-heading h2 {
  margin-bottom: 7px;
}

.cj-section-heading p:not(.cj-eyebrow) {
  color: var(--cj-muted);
  line-height: 1.5;
  margin: 0;
}

.cj-private-badge,
.cj-alert-count,
.cj-read-label {
  background: #eaf4ff;
  border-radius: 999px;
  color: #0d70d4;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 800;
  padding: 7px 11px;
}

.cj-alert-count {
  background: #fff4d5;
  color: #805600;
}

.cj-medical-summary {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 32px;
}

.cj-medical-summary article {
  background: #f7f9fc;
  border: 1px solid #e4eaf2;
  border-radius: 12px;
  padding: 18px;
}

.cj-medical-summary span {
  color: var(--cj-muted);
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 9px;
  text-transform: uppercase;
}

.cj-medical-summary p {
  color: var(--cj-text);
  line-height: 1.55;
  margin: 0;
  white-space: pre-line;
}

.cj-subsection-heading {
  border-top: 1px solid #e6ebf2;
  margin-top: 8px;
  padding-top: 28px;
}

.cj-subsection-heading h3,
.cj-document-upload h3 {
  font-size: 18px;
  margin: 0 0 5px;
}

.cj-subsection-heading p {
  color: var(--cj-muted);
  margin: 0 0 18px;
}

.cj-document-grid {
  display: grid;
  gap: 12px;
}

.cj-document-item__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

.cj-document-viewer {
  background: #fff;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 24px 80px rgba(6, 22, 51, .3);
  height: min(86vh, 900px);
  max-height: 900px;
  max-width: 1100px;
  padding: 0;
  width: min(92vw, 1100px);
}

.cj-document-viewer::backdrop {
  background: rgba(5, 17, 38, .72);
  backdrop-filter: blur(4px);
}

.cj-document-viewer__header {
  align-items: center;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  min-height: 66px;
  padding: 14px 20px;
}

.cj-document-viewer__header h2 {
  font-size: 18px;
  margin: 0;
}

.cj-document-viewer__header button {
  align-items: center;
  background: #eef2f7;
  border: 0;
  border-radius: 50%;
  color: var(--cj-text);
  cursor: pointer;
  display: flex;
  font-size: 26px;
  height: 38px;
  justify-content: center;
  line-height: 1;
  width: 38px;
}

.cj-document-viewer__body {
  background: #eef2f6;
  height: calc(100% - 66px);
}

.cj-document-viewer__body iframe {
  border: 0;
  height: 100%;
  width: 100%;
}

.cj-document-item {
  align-items: center;
  border: 1px solid #dfe6ef;
  border-radius: 12px;
  display: grid;
  gap: 14px;
  grid-template-columns: 42px 1fr auto;
  padding: 15px;
}

.cj-document-item__icon {
  align-items: center;
  background: #eaf4ff;
  border-radius: 10px;
  color: var(--cj-blue);
  display: flex;
  font-size: 22px;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.cj-document-item__icon .cj-lucide-icon { height:21px; width:21px; }

.cj-document-item > div {
  display: grid;
  gap: 4px;
}

.cj-document-item > div > span,
.cj-document-item small {
  color: var(--cj-muted);
}

/* Recovery guide */
.cj-guide-page { color:var(--cj-text); }
.cj-guide-heading { align-items:flex-end; display:flex; gap:28px; justify-content:space-between; margin-bottom:28px; }
.cj-guide-heading h1 { font-size:clamp(30px,4vw,42px); margin:6px 0 8px; }
.cj-guide-heading > div > p:last-child { color:var(--cj-muted); margin:0; }
.cj-guide-search { align-items:center; display:flex; min-width:290px; position:relative; }
.cj-guide-search > .cj-lucide-icon { color:#6e7d92; left:13px; position:absolute; }
.cj-guide-search input { background:#fff; border:1px solid #ccd7e5; border-radius:9px; box-sizing:border-box; min-height:44px; padding:9px 14px 9px 42px; width:100%; }
.cj-guide-featured { background:#e9f4ff; border:1px solid #c8ddf4; border-radius:16px; display:grid; gap:24px; grid-template-columns:minmax(0,1fr) minmax(300px,.85fr); margin-bottom:34px; padding:27px; }
.cj-guide-featured h2 { font-size:26px; font-weight:800; margin:12px 0 8px; }
.cj-guide-featured > div > p { color:var(--cj-muted); margin:0 0 19px; }
.cj-guide-featured-link { align-items:center; background:transparent; border:0; color:#126be5; cursor:pointer; display:flex; font:800 12px/1.2 "Inter",sans-serif; gap:6px; margin:-7px 0 17px; padding:4px 0; width:max-content; }
.cj-guide-featured-link .cj-lucide-icon { height:15px; width:15px; }
.cj-guide-badge { background:#f1f5fb; border-radius:999px; color:#476078; display:inline-flex; font-size:9px; font-weight:800; letter-spacing:.08em; padding:6px 9px; }
.cj-guide-featured > div > .cj-guide-badge { background:#d8eaff; color:#1765b9; }
.cj-guide-featured-media { aspect-ratio:16/9; background:#071b43; border-radius:13px; overflow:hidden; width:100%; }
.cj-guide-featured-media iframe,.cj-guide-card__media iframe { border:0; display:block; height:100%; width:100%; }
.cj-guide-featured-video { align-items:flex-end; aspect-ratio:16/9; background:#071b43; border:0; border-radius:13px; color:#fff; cursor:pointer; display:grid; gap:8px; height:100%; padding:20px; text-align:left; width:100%; }
.cj-guide-featured-video.has-thumbnail { background-position:center; background-size:cover; overflow:hidden; position:relative; }
.cj-guide-featured-video.has-thumbnail::before { background:linear-gradient(180deg,rgba(4,18,42,.12),rgba(4,18,42,.88)); content:""; inset:0; position:absolute; }
.cj-guide-featured-video.has-thumbnail > * { position:relative; z-index:1; }
.cj-guide-featured-video.is-empty { cursor:default; }
.cj-guide-featured-video > span:not(.cj-video-play) { align-items:center; background:#fff; border-radius:50%; color:#0d438d; display:flex; height:44px; justify-content:center; width:44px; }
.cj-guide-featured-video > span:not(.cj-video-play) .cj-lucide-icon { height:20px; margin-left:2px; width:20px; }
.cj-guide-featured-video small { align-self:end; color:#bdd8ff; font-size:10px; font-weight:800; letter-spacing:.08em; }
.cj-guide-featured-video strong { font-size:19px; }
.cj-guide-explore .cj-section-heading { align-items:flex-end; }
.cj-guide-explore .cj-section-heading h2 { margin:0 0 5px; }
.cj-guide-explore .cj-section-heading p,.cj-guide-explore .cj-section-heading > span { color:var(--cj-muted); margin:0; }
.cj-guide-filters { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 22px; }
.cj-guide-filters button { background:#fff; border:1px solid #ccd7e5; border-radius:999px; color:#40516a; cursor:pointer; font:700 12px/1.2 "Inter",sans-serif; min-height:36px; padding:8px 14px; }
.cj-guide-filters button:hover,.cj-guide-filters button.is-active { background:#edf5ff; border-color:#8ebff3; color:#0968d8; }
.cj-guide-library { display:grid; gap:17px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.cj-guide-card { background:#fff; border:1px solid #dce4ee; border-radius:13px; box-shadow:0 8px 26px rgba(6,22,51,.04); overflow:hidden; }
.cj-guide-card[hidden] { display:none; }
.cj-guide-card__media { aspect-ratio:16/9; background:#071b43; overflow:hidden; width:100%; }
.cj-guide-card__cover { align-items:center; appearance:none; aspect-ratio:16/9; border:0; cursor:pointer; display:flex; justify-content:space-between; margin:0; padding:19px; text-align:left; width:100%; }
.cj-guide-card__cover:not(button) { cursor:default; }
.cj-guide-card__cover > .cj-lucide-icon { height:40px; width:40px; }
.cj-guide-card__cover > span { font-size:10px; font-weight:800; letter-spacing:.08em; }
.cj-guide-card__cover.has-image { background-position:center; background-size:cover; color:#fff; position:relative; text-shadow:0 1px 5px rgba(0,0,0,.5); }
.cj-guide-card__cover.has-image::before { background:linear-gradient(180deg,rgba(4,18,42,.08),rgba(4,18,42,.62)); content:""; inset:0; position:absolute; }
.cj-guide-card__cover.has-image > * { position:relative; z-index:1; }
.cj-video-play { align-items:center; backdrop-filter:blur(4px); background:rgba(255,255,255,.3); border:1px solid rgba(255,255,255,.68); border-radius:50%; box-shadow:0 4px 16px rgba(0,0,0,.2); display:flex; height:54px; justify-content:center; left:50%; position:absolute!important; top:50%; transform:translate(-50%,-50%); width:54px; z-index:2!important; }
.cj-video-play .cj-lucide-icon { fill:#fff; height:23px!important; margin-left:3px; stroke:none; width:23px!important; }
.cj-guide-card__cover--blue { background:#dcecff; color:#155ba5; }
.cj-guide-card__cover--green { background:#dff5e6; color:#26723a; }
.cj-guide-card__cover--gold { background:#fff1cc; color:#956706; }
.cj-guide-card__cover--purple { background:#eee6ff; color:#6841a0; }
.cj-guide-card__cover--navy { background:#dfe6f4; color:#132d60; }
.cj-guide-card__cover--cyan { background:#dff6f5; color:#18716f; }
.cj-guide-card__body { padding:19px; }
.cj-guide-card__body h2 { font-size:18px; font-weight:800; line-height:1.35; margin:12px 0 8px; }
.cj-guide-card__body p { color:var(--cj-muted); font-size:13px; line-height:1.65; min-height:59px; }
.cj-guide-card__body > button { align-items:center; background:transparent; border:0; color:#126be5; cursor:pointer; display:inline-flex; font:800 12px/1.2 "Inter",sans-serif; gap:6px; padding:5px 0; }
.cj-guide-card__body > button .cj-lucide-icon { height:15px; width:15px; }
.cj-guide-empty { background:#fff; border:1px dashed #cbd7e5; border-radius:12px; color:var(--cj-muted); margin:0; padding:32px; text-align:center; }
.cj-guide-help { align-items:center; background:#eef4ff; border:1px solid #cfddf2; border-radius:14px; display:flex; gap:24px; justify-content:space-between; margin-top:28px; padding:22px; }
.cj-guide-help > div { align-items:center; display:flex; gap:12px; }
.cj-guide-help > div:first-child > span { align-items:center; background:#dceaff; border-radius:50%; color:#126be5; display:flex; flex:0 0 46px; height:46px; justify-content:center; }
.cj-guide-help h2 { font-size:18px; margin:0 0 5px; }
.cj-guide-help p { color:var(--cj-muted); margin:0; }
.cj-guide-help .cj-button .cj-lucide-icon { height:16px; margin-right:6px; width:16px; }
.cj-guide-help .cj-button--outline { white-space:nowrap; }
.cj-guide-dialog { border:0; border-radius:16px; box-shadow:0 24px 80px rgba(4,15,36,.34); color:var(--cj-text); max-height:calc(100vh - 48px); max-width:900px; padding:30px; width:calc(100% - 48px); }
.cj-guide-dialog::backdrop { background:rgba(4,15,36,.65); }
.cj-guide-dialog > button { background:transparent; border:0; color:#69788e; cursor:pointer; font-size:28px; line-height:1; padding:5px; position:absolute; right:14px; top:10px; }
.cj-guide-dialog h2 { font-size:28px; margin:7px 34px 18px 0; }
.cj-guide-dialog p,.cj-guide-dialog li { line-height:1.75; }
.cj-guide-dialog aside { background:#fff5d9; border-left:4px solid #efbd31; border-radius:5px; margin:20px 0; padding:14px 16px; }
.cj-guide-dialog small { color:var(--cj-muted); display:block; margin-top:24px; }
.cj-guide-dialog__image { border-radius:11px; display:block; margin:0 0 20px; max-height:360px; object-fit:cover; width:100%; }
.cj-guide-dialog__video { aspect-ratio:16/9; background:#071b43; border-radius:11px; margin:0 0 22px; overflow:hidden; }
.cj-guide-dialog__video iframe { border:0; height:100%; width:100%; }
.cj-guide-video-placeholder { align-items:center; background:#071b43; border-radius:11px; color:#fff; display:grid; gap:6px; min-height:190px; padding:24px; }
.cj-guide-video-placeholder span { color:#bdd8ff; font-size:10px; font-weight:800; letter-spacing:.08em; }

@media (max-width: 900px) {
  .cj-guide-library { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cj-guide-featured { grid-template-columns:1fr; }
  .cj-guide-heading { align-items:stretch; flex-direction:column; }
  .cj-guide-search { min-width:0; }
}

@media (max-width: 620px) {
  .cj-guide-library { grid-template-columns:1fr; }
  .cj-guide-help { align-items:stretch; flex-direction:column; }
  .cj-guide-help > div:last-child { align-items:stretch; flex-direction:column; }
  .cj-guide-featured { padding:20px; }
}

/* Frequently asked questions */
.cj-faq-page { color:var(--cj-text); }
.cj-faq-page--embedded { border-top:1px solid var(--cj-border); margin-top:38px; padding-top:34px; }
.cj-faq-page--embedded .cj-faq-heading h2 { font-size:28px; font-weight:800; margin:6px 0 8px; }
.cj-faq-page--embedded .cj-faq-heading { margin-bottom:22px; }
.cj-faq-heading { align-items:flex-end; display:flex; gap:28px; justify-content:space-between; margin-bottom:28px; }
.cj-faq-heading h1 { font-size:clamp(30px,4vw,42px); font-weight:800; margin:6px 0 8px; }
.cj-faq-heading > div > p:last-child { color:var(--cj-muted); font-size:15px; margin:0; }
.cj-faq-search { align-items:center; display:flex; min-width:320px; position:relative; }
.cj-faq-search > .cj-lucide-icon { color:#6e7d92; height:19px; left:14px; position:absolute; width:19px; }
.cj-faq-search input { background:#fff; border:1px solid #ccd7e5; border-radius:10px; box-sizing:border-box; min-height:46px; padding:10px 14px 10px 43px; width:100%; }
.cj-faq-recommended { background:#edf6ff; border:1px solid #cfe2f6; border-radius:15px; margin-bottom:28px; padding:22px; }
.cj-faq-recommended__heading { align-items:flex-start; display:flex; gap:20px; justify-content:space-between; margin-bottom:15px; }
.cj-faq-recommended__heading h2 { font-size:20px; font-weight:800; margin:0 0 5px; }
.cj-faq-recommended__heading p { color:var(--cj-muted); font-size:13px; margin:0; }
.cj-faq-recommended__heading > span { background:#dcecff; border-radius:999px; color:#1765b9; flex:0 0 auto; font-size:11px; font-weight:800; padding:7px 11px; }
.cj-faq-recommended__grid { display:grid; gap:10px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.cj-faq-recommended__grid button { align-items:center; background:#fff; border:1px solid #d7e2ee; border-radius:10px; color:var(--cj-text); cursor:pointer; display:flex; gap:12px; justify-content:space-between; min-height:64px; padding:13px 15px; text-align:left; transition:border-color .18s ease,transform .18s ease; }
.cj-faq-recommended__grid button:hover,.cj-faq-recommended__grid button:focus-visible { border-color:#8abcf0; transform:translateY(-1px); }
.cj-faq-recommended__grid strong { font-size:12px; line-height:1.45; }
.cj-faq-recommended__grid .cj-lucide-icon { color:#126be5; flex:0 0 auto; height:16px; width:16px; }
.cj-faq-filters { display:flex; gap:8px; margin-bottom:13px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
.cj-faq-filters button { background:#fff; border:1px solid #ccd7e5; border-radius:999px; color:#53627a; cursor:pointer; flex:0 0 auto; font:700 12px/1.2 "Inter",sans-serif; min-height:36px; padding:8px 14px; white-space:nowrap; }
.cj-faq-filters button:hover,.cj-faq-filters button.is-active { background:#edf5ff; border-color:#8ebff3; color:#0968d8; }
.cj-faq-count { color:var(--cj-muted); font-size:12px; margin:0 0 11px; }
.cj-faq-list { background:#fff; border:1px solid #dce4ee; border-radius:14px; overflow:hidden; }
.cj-faq-list article { border-bottom:1px solid #e5ebf2; position:relative; }
.cj-faq-list article:last-child { border-bottom:0; }
.cj-faq-list article[hidden] { display:none; }
.cj-faq-list article.is-open { background:#f5f9ff; box-shadow:inset 3px 0 0 #1689ee; }
.cj-faq-list [data-cj-faq-question] { align-items:center; background:transparent; border:0; color:var(--cj-text); cursor:pointer; display:flex; gap:20px; justify-content:space-between; min-height:66px; padding:16px 20px; text-align:left; width:100%; }
.cj-faq-list [data-cj-faq-question] strong { font-size:14px; font-weight:800; }
.cj-faq-list [data-cj-faq-question] span { align-items:center; border:1px solid #cbd6e3; border-radius:50%; color:#65718a; display:flex; flex:0 0 29px; font-size:19px; font-weight:400; height:29px; justify-content:center; line-height:1; }
.cj-faq-list article.is-open [data-cj-faq-question] { color:#0968d8; }
.cj-faq-list article.is-open [data-cj-faq-question] span { background:#1689ee; border-color:#1689ee; color:#fff; }
.cj-faq-list [data-cj-faq-answer] { color:#4f5f75; font-size:14px; line-height:1.75; max-width:850px; padding:0 58px 22px 20px; }
.cj-faq-list [data-cj-faq-answer][hidden] { display:none; }
.cj-faq-list [data-cj-faq-answer] p { margin:0 0 12px; }
.cj-faq-list [data-cj-faq-answer] aside { background:#fff5d9; border-left:4px solid #efbd31; border-radius:5px; margin:14px 0; padding:12px 14px; }
.cj-faq-list [data-cj-faq-answer] > a { align-items:center; color:#126be5; display:inline-flex; font-size:12px; font-weight:800; gap:6px; text-decoration:none; }
.cj-faq-list [data-cj-faq-answer] > a .cj-lucide-icon { height:15px; width:15px; }
.cj-faq-empty { background:#fff; border:1px dashed #cbd7e5; border-radius:13px; color:var(--cj-muted); padding:34px; text-align:center; }
.cj-faq-empty p { margin:7px 0 15px; }
.cj-faq-empty button { background:transparent; border:0; color:#126be5; cursor:pointer; font-weight:800; }
.cj-faq-help { align-items:center; background:#eef4ff; border:1px solid #cfddf2; border-radius:14px; display:flex; gap:24px; justify-content:space-between; margin-top:28px; padding:22px; }
.cj-faq-help > div { align-items:center; display:flex; gap:12px; }
.cj-faq-help > div:first-child > span { align-items:center; background:#dceaff; border-radius:50%; color:#126be5; display:flex; flex:0 0 46px; height:46px; justify-content:center; }
.cj-faq-help > div:first-child > span .cj-lucide-icon { height:21px; width:21px; }
.cj-faq-help h2 { font-size:18px; font-weight:800; margin:0 0 5px; }
.cj-faq-help p { color:var(--cj-muted); font-size:13px; margin:0; }
.cj-faq-help .cj-button { white-space:nowrap; }

@media (max-width:900px) {
  .cj-faq-heading { align-items:stretch; flex-direction:column; }
  .cj-faq-search { min-width:0; }
  .cj-faq-recommended__grid { grid-template-columns:1fr; }
  .cj-faq-help { align-items:stretch; flex-direction:column; }
}

@media (max-width:620px) {
  .cj-faq-recommended { padding:18px; }
  .cj-faq-recommended__heading { align-items:flex-start; flex-direction:column; }
  .cj-faq-list [data-cj-faq-question] { padding:15px 16px; }
  .cj-faq-list [data-cj-faq-answer] { padding:0 16px 20px; }
  .cj-faq-help > div:last-child { align-items:stretch; flex-direction:column; }
}

/* Clinical success cases */
.cj-success-page { color:var(--cj-text); }
.cj-success-heading { margin-bottom:24px; max-width:760px; }
.cj-success-heading h1 { font-size:clamp(30px,4vw,42px); font-weight:800; margin:6px 0 9px; }
.cj-success-heading > p:last-child { color:var(--cj-muted); font-size:15px; line-height:1.65; margin:0; }
.cj-success-demo-notice { align-items:center; background:#fff8e6; border:1px solid #eadcae; border-radius:11px; color:#66572d; display:flex; font-size:12px; gap:10px; margin-bottom:18px; padding:11px 14px; }
.cj-success-demo-notice .cj-lucide-icon { flex:0 0 auto; height:18px; width:18px; }
.cj-success-filters { display:flex; gap:8px; margin-bottom:25px; overflow-x:auto; padding-bottom:3px; }
.cj-success-filters button { background:#fff; border:1px solid #ccd7e5; border-radius:999px; color:#53627a; cursor:pointer; flex:0 0 auto; font:700 12px/1.2 "Inter",sans-serif; min-height:37px; padding:8px 15px; white-space:nowrap; }
.cj-success-filters button:hover,.cj-success-filters button.is-active { background:#1689ee; border-color:#1689ee; color:#fff; }
.cj-success-grid { display:grid; gap:20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.cj-success-card { background:#fff; border:1px solid #dce5ef; border-radius:15px; box-shadow:0 8px 24px rgba(25,57,91,.07); min-width:0; overflow:hidden; }
.cj-success-card[hidden] { display:none; }
.cj-success-comparison { aspect-ratio:16/10; background:#e9eef4; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; position:relative; }
.cj-success-comparison > div { min-width:0; overflow:hidden; position:relative; }
.cj-success-comparison img { height:100%; object-fit:cover; width:100%; }
.cj-success-comparison > div:first-child img { filter:saturate(.85) brightness(.94); }
.cj-success-comparison span { background:rgba(7,23,45,.62); border-radius:5px; bottom:10px; color:#fff; font-size:9px; font-weight:800; left:10px; letter-spacing:.05em; padding:5px 7px; position:absolute; }
.cj-success-comparison > div:nth-child(2) span { left:auto; right:10px; }
.cj-success-comparison::after { background:#fff; bottom:0; content:""; left:50%; position:absolute; top:0; width:2px; }
.cj-success-comparison > i { align-items:center; background:#fff; border-radius:50%; box-shadow:0 3px 10px rgba(0,0,0,.18); color:#1689ee; display:flex; font-size:14px; font-style:normal; height:32px; justify-content:center; left:50%; position:absolute; top:50%; transform:translate(-50%,-50%); width:32px; z-index:2; }
.cj-success-card__copy { padding:17px 18px 19px; }
.cj-success-card__copy > p { color:#1680df; font-size:11px; font-weight:800; margin:0 0 7px; }
.cj-success-card__copy h2 { font-size:17px; font-weight:800; line-height:1.35; margin:0 0 8px; }
.cj-success-card__copy > span { color:var(--cj-muted); display:block; font-size:12px; line-height:1.5; margin-bottom:15px; }
.cj-success-card__copy button { align-items:center; background:transparent; border:0; color:#126ed0; cursor:pointer; display:inline-flex; font-size:12px; font-weight:800; gap:7px; padding:0; }
.cj-success-card__copy button .cj-lucide-icon { height:15px; width:15px; }
.cj-success-legal { align-items:center; background:#edf6ff; border-radius:12px; color:#54677d; display:flex; font-size:12px; gap:11px; margin-top:27px; padding:15px 17px; }
.cj-success-legal .cj-lucide-icon { color:#1680df; flex:0 0 auto; height:19px; width:19px; }
.cj-success-empty { background:#fff; border:1px dashed #cbd7e5; border-radius:13px; color:var(--cj-muted); padding:34px; text-align:center; }
.cj-success-empty p { margin:7px 0 0; }
.cj-success-dialog { background:#fff; border:0; border-radius:18px; box-shadow:0 22px 70px rgba(5,23,48,.3); color:var(--cj-text); max-height:min(780px,90vh); max-width:1050px; overflow:auto; padding:0; width:88vw; }
.cj-success-dialog::backdrop { background:rgba(7,20,39,.68); }
.cj-success-dialog__close { align-items:center; background:#fff; border:1px solid #d4deea; border-radius:50%; color:#33445b; cursor:pointer; display:flex; font-size:24px; height:38px; justify-content:center; line-height:1; position:absolute; right:16px; top:16px; width:38px; z-index:3; }
.cj-success-dialog > div { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.85fr); min-height:520px; }
.cj-success-dialog__gallery { background:#e8edf3; min-height:420px; position:relative; }
.cj-success-dialog__gallery img { height:100%; object-fit:cover; position:absolute; width:100%; }
.cj-success-dialog__gallery span { background:rgba(7,23,45,.66); border-radius:5px; bottom:16px; color:#fff; font-size:9px; font-weight:800; left:16px; letter-spacing:.05em; padding:6px 8px; position:absolute; }
.cj-success-dialog__copy { padding:46px 32px 30px; }
.cj-success-dialog__copy h2 { font-size:27px; font-weight:800; line-height:1.25; margin:7px 0 13px; }
.cj-success-dialog__copy > p { color:#56677c; font-size:13px; line-height:1.7; }
.cj-success-dialog__copy h3 { font-size:17px; font-weight:800; margin:23px 0 6px; }
.cj-success-dialog__copy blockquote { border-left:3px solid #1689ee; color:#324c69; font-size:13px; font-style:italic; line-height:1.65; margin:18px 0; padding-left:13px; }
.cj-success-dialog__copy aside { background:#fff8e6; border-left:4px solid #e8be42; border-radius:6px; color:#66572d; font-size:11px; line-height:1.55; margin-top:19px; padding:12px 13px; }
.cj-success-timeline { display:flex; flex-wrap:wrap; gap:7px; margin-top:21px; }
.cj-success-timeline span { background:#edf5fd; border-radius:6px; color:#32618f; font-size:10px; font-weight:800; padding:7px 9px; }

@media (max-width:900px) {
  .cj-success-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cj-success-dialog > div { grid-template-columns:1fr; }
  .cj-success-dialog__gallery { min-height:330px; }
}

@media (max-width:620px) {
  .cj-success-grid { grid-template-columns:1fr; }
  .cj-success-dialog { width:94vw; }
  .cj-success-dialog__gallery { min-height:260px; }
  .cj-success-dialog__copy { padding:30px 20px 24px; }
  .cj-success-demo-notice { align-items:flex-start; }
}

.cj-document-item .cj-button,
.cj-patient-alert .cj-button {
  min-height: 40px;
}

.cj-document-upload {
  background: #f6f8fc;
  border: 1px solid #dfe6ef;
  border-radius: 14px;
  margin-top: 24px;
  padding: 22px;
}

.cj-portal-form__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 16px 0;
}

.cj-portal-form__file {
  grid-column: 1 / -1;
}

.cj-portal-form__file small {
  color: var(--cj-muted);
  display: block;
  margin-top: 6px;
}

.cj-empty-state {
  color: var(--cj-muted);
  margin: 4px 0;
}

.cj-patient-alert-list {
  display: grid;
  gap: 12px;
}

.cj-patient-alert {
  align-items: center;
  background: #f3f8ff;
  border: 1px solid #d9e7f7;
  border-radius: 12px;
  display: grid;
  gap: 14px;
  grid-template-columns: 12px 1fr auto;
  padding: 17px;
}

.cj-patient-alert--success {
  background: #effaf2;
  border-color: #d6ebdc;
}

.cj-patient-alert--warning {
  background: #fff8e9;
  border-color: #f1e2ba;
}

.cj-patient-alert.is-read {
  background: #f8f9fb;
  border-color: #e5e8ee;
  opacity: .78;
}

.cj-patient-alert__dot {
  background: var(--cj-blue);
  border-radius: 50%;
  height: 10px;
  width: 10px;
}

.cj-patient-alert--success .cj-patient-alert__dot {
  background: var(--cj-success);
}

.cj-patient-alert--warning .cj-patient-alert__dot {
  background: #e89a13;
}

.cj-patient-alert strong {
  display: block;
  margin-bottom: 5px;
}

.cj-patient-alert p {
  color: var(--cj-muted);
  line-height: 1.5;
  margin: 0 0 6px;
}

.cj-patient-alert__event {
  color: #0b63c7;
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 6px;
}

.cj-patient-alert--warning .cj-patient-alert__event {
  color: #9a6200;
}

.cj-patient-alert--success .cj-patient-alert__event {
  color: #16743a;
}

.cj-patient-alert small {
  color: #8590a3;
}

.cj-read-label {
  background: #eef1f5;
  color: #6b7586;
}

.cj-confidentiality {
  color: #7a879c;
  font-size: 13px;
  margin: 28px 0 0;
  text-align: center;
}

.cj-footer {
  background: var(--cj-navy);
  color: rgba(255, 255, 255, .62);
  min-height: 390px;
  padding: 54px 50px 34px;
}

.cj-footer__inner {
  display: grid;
  gap: 30px 90px;
  grid-template-columns: minmax(300px, 1.8fr) minmax(190px, .75fr) minmax(260px, 1fr);
  margin: 0 auto;
  max-width: 1500px;
  min-height: 300px;
  width: 100%;
}

.cj-footer__brand {
  align-content: start;
  display: grid;
  justify-items: start;
}

.cj-footer__brand img {
  height: 150px;
  object-fit: contain;
  object-position: left center;
  width: 245px;
}

.cj-footer__brand strong {
  color: var(--cj-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 400;
  letter-spacing: .03em;
  margin-top: 12px;
  text-transform: uppercase;
}

.cj-footer__column {
  align-content: start;
  display: grid;
  gap: 12px;
  padding-top: 4px;
}

.cj-footer__column h2 {
  color: var(--cj-gold);
  font-size: 15px;
  margin: 0 0 20px;
}

.cj-footer__column span {
  color: rgba(255, 255, 255, .61);
  font-size: 14px;
  line-height: 1.25;
}

.cj-footer__bottom {
  align-items: end;
  align-self: end;
  display: flex;
  font-size: 12px;
  gap: 30px;
  grid-column: 1 / -1;
  justify-content: space-between;
  margin-top: auto;
  width: 100%;
}

.cj-footer__bottom > span:first-child {
  align-items: center;
  display: flex;
  gap: 9px;
}

.cj-footer__bottom img {
  display: block;
  height: 13px;
  width: 9px;
}

.cj-staff-gateway {
  align-items: center;
  background: var(--cj-navy);
  color: var(--cj-white);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
  padding: 32px;
  text-align: center;
}

.cj-staff-gateway img {
  margin-bottom: 28px;
  max-height: 180px;
  max-width: 220px;
}

.cj-staff-gateway h1 {
  font-size: 38px;
  margin: 10px 0;
}

.cj-staff-gateway > p:not(.cj-eyebrow) {
  color: rgba(255, 255, 255, .68);
  line-height: 1.6;
  margin: 0 0 28px;
  max-width: 520px;
}

@media (max-width: 1100px) {
  .cj-support-banner {
    grid-template-columns: 180px minmax(260px, 1fr) 220px;
  }

  .cj-support-banner__phone {
    width: 220px;
  }

  .cj-support-banner__identity {
    display: none;
  }

  .cj-footer__inner {
    gap: 34px 48px;
    grid-template-columns: minmax(260px, 1.25fr) repeat(2, minmax(180px, .8fr));
  }
}

@media (max-width: 900px) {
  .cj-login {
    grid-template-columns: 1fr;
    padding-inline:0;
  }

  .cj-login__brand,
  .cj-login__form {
    min-height: auto;
    padding: 56px 28px;
    transform:none;
  }

  .cj-login__brand {
    padding-bottom: 34px;
  }

  .cj-login__brand > *,
  .cj-login__form-inner {
    transform:none;
  }

  .cj-login__logo {
    margin-bottom: 24px;
    max-width: 170px;
  }

  .cj-login__brand h1 {
    font-size: 34px;
    margin-bottom: 12px;
  }

  .cj-login__brand p {
    font-size: 16px;
  }

  .cj-login__form {
    padding-top: 34px;
  }

  .cj-header {
    align-items: center;
    gap: 18px;
  }

  .cj-header__brand img {
    max-width: min(360px, 56vw);
  }

  .cj-header__actions {
    gap: 14px;
  }

  .cj-nav {
    display: flex;
    gap: 32px;
    justify-content: flex-start;
    padding-inline: 0;
  }

  .cj-nav a,
  .cj-nav span {
    padding-inline: 0;
  }

  .cj-dashboard-grid,
  .cj-module-preview,
  .cj-medical-summary,
  .cj-journey-cards {
    grid-template-columns: 1fr;
  }

  .cj-medical-identity__header {
    display: contents;
  }

  .cj-medical-identity {
    grid-template-columns: 140px minmax(0, 1fr);
  }

  .cj-medical-identity__avatar {
    height: 140px;
    width: 140px;
  }

  .cj-medical-identity__record {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
  }

  .cj-medical-identity__details {
    grid-column: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cj-medical-identity__privacy {
    grid-column: 2;
  }

  .cj-journey-timeline {
    overflow-x: auto;
  }

  .cj-timeline {
    min-width: 760px;
  }

  .cj-journey-timeline::after {
    color: var(--cj-muted);
    content: "Desliza para ver todas las etapas →";
    display: block;
    font-size: 11px;
    margin-top: 14px;
  }

  .cj-support-banner {
    grid-template-columns: minmax(280px, 1fr) 220px;
    padding-left: 30px;
  }

  .cj-support-banner__phone {
    display: none;
  }

  .cj-appointment-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cj-appointment-copy {
    grid-template-columns: 1fr;
  }

  .cj-profile-card {
    grid-template-columns: 140px 1fr;
  }

  .cj-profile-card__photo {
    width: 140px;
  }

  .cj-settings-profile {
    grid-template-columns: 150px 1fr;
  }

  .cj-settings-profile__photo {
    width: 150px;
  }

  .cj-footer {
    min-height: auto;
    padding: 48px 32px 30px;
  }

  .cj-footer__inner {
    grid-template-columns: 1fr 1fr;
  }

  .cj-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
	.cj-medical-identity {
		display: block;
	}

	.cj-medical-identity__avatar {
		height: 132px;
		margin: 0 auto 18px;
		width: 132px;
	}

	.cj-medical-identity__title {
		text-align: center;
	}

	.cj-medical-identity__details {
		grid-template-columns: 1fr;
		margin-top: 20px;
	}

	.cj-medical-identity__record {
		margin: 18px auto 0;
		min-width: 0;
	}

	.cj-document-item__actions {
		flex-wrap: wrap;
		grid-column: 2;
	}

  .cj-header__brand img {
    max-width: 220px;
    width: 54vw;
  }

  .cj-header__medical-link {
    display: none;
  }

  .cj-profile-popover {
    min-width: min(300px, calc(100vw - 32px));
    position: fixed;
    right: 16px;
    top: 82px;
  }

  .cj-profile-popover::before {
    display: none;
  }

  .cj-nav {
    justify-content: flex-start;
  }

  .cj-dashboard {
    padding: 36px 16px 56px;
  }

  .cj-welcome h1 {
    font-size: 30px;
  }

  .cj-card--progress {
    align-items: flex-start;
    flex-direction: column;
  }

  .cj-timeline {
    grid-template-columns: repeat(7, 126px);
    min-width: 882px;
  }

  .cj-journey-timeline {
    overflow-x: auto;
  }

  .cj-journey-timeline .cj-section-heading {
    min-width: 600px;
  }

  .cj-support-banner {
    display: block;
    min-height: 390px;
    padding: 28px 24px 0;
  }

  .cj-support-banner__copy {
    max-width: 100%;
    padding-bottom: 190px;
    position: relative;
    z-index: 2;
  }

  .cj-support-banner__doctor {
    bottom: -20px;
    height: 205px;
    position: absolute;
    right: 4px;
    width: 185px;
  }

  .cj-appointment-sheet {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .cj-appointment-sheet__date {
    height: 92px;
    justify-self: start;
    width: 92px;
  }

  .cj-appointment-sheet__date strong {
    font-size: 34px;
  }

  .cj-appointment-details {
    grid-template-columns: 1fr;
  }

  .cj-appointment-actions {
    display: grid;
  }

  .cj-appointment-actions .cj-button {
    width: 100%;
  }

  .cj-profile-card {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .cj-profile-card__photo {
    justify-self: center;
  }

  .cj-avatar-form,
  .cj-section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .cj-preop-gallery,
  .cj-account-summary > div {
    grid-template-columns: 1fr;
  }

  .cj-settings-profile {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .cj-settings-profile__photo {
    justify-self: center;
  }

  .cj-settings-profile .cj-avatar-form {
    text-align: left;
  }

  .cj-preop-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .cj-portal-form__grid {
    grid-template-columns: 1fr;
  }

  .cj-document-item,
  .cj-patient-alert {
    grid-template-columns: 42px 1fr;
  }

  .cj-document-item .cj-button,
  .cj-patient-alert form,
  .cj-read-label {
    grid-column: 2;
    justify-self: start;
  }

  .cj-progress-ring {
    align-self: center;
    flex-basis: 150px;
    height: 150px;
    transform: none;
    width: 150px;
  }

  .cj-footer {
    padding: 42px 24px 28px;
    text-align: center;
  }

  .cj-footer__inner {
    gap: 36px;
    grid-template-columns: 1fr;
  }

  .cj-footer__brand {
    grid-column: auto;
    justify-items: center;
  }

  .cj-footer__brand img {
    object-position: center;
  }

  .cj-footer__column {
    justify-items: center;
  }

  .cj-footer__bottom {
    align-items: center;
    flex-direction: column;
    line-height: 1.5;
  }
}

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

/* Mi evolución */
.cj-evolution-page {
  display: grid;
  gap: 24px;
}

.cj-evolution-page__heading h1 {
  font-size: 34px;
  margin: 0 0 8px;
}

.cj-evolution-page__heading p {
  color: var(--cj-muted);
  font-size: 17px;
  margin: 0;
}

.cj-evolution-hero {
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .95fr);
}

.cj-evolution-status {
  align-items: center;
  background: #f5fbf1;
  border-color: #cadfc3;
  display: flex;
  justify-content: space-between;
  min-height: 250px;
}

.cj-evolution-status__copy {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  max-width: 520px;
}

.cj-evolution-status__check {
  align-items: center;
  background: #68b91f;
  border-radius: 50%;
  color: #fff;
  display: flex;
  flex: 0 0 46px;
  font-size: 25px;
  height: 46px;
  justify-content: center;
  margin-top: 2px;
}
.cj-evolution-status__check .cj-lucide-icon { height:24px; width:24px; }
.cj-evolution-day__calendar .cj-lucide-icon { height:28px; width:28px; }
.cj-evolution-tip > span .cj-lucide-icon { height:20px; width:20px; }
.cj-treatment-stage-check .cj-lucide-icon { height:22px; width:22px; }

.cj-evolution-status h2 {
  color: #075b2b;
  font-size: 28px;
  margin: 0 0 20px;
}

.cj-evolution-status p {
  color: #263754;
  font-size: 16px;
  line-height: 1.55;
  margin: 0;
}

.cj-evolution-ring {
  align-items: center;
  background:
    radial-gradient(circle closest-side, #f8fff3 72%, transparent 74% 99%),
    conic-gradient(#2e9d37 calc(var(--progress) * 1%), #dfeecf 0);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  flex: 0 0 200px;
  height: 200px;
  justify-content: center;
  margin-left: 20px;
  position: relative;
  text-align: center;
  width: 200px;
}

.cj-evolution-ring strong {
  color: #075b2b;
  display: block;
  font-size: 48px;
  line-height: 1;
}

.cj-evolution-ring span {
  color: #263754;
  display: block;
  font-size: 14px;
  line-height: 1.45;
  margin-top: 8px;
}

.cj-evolution-day {
  min-height: 250px;
}

.cj-evolution-day__top {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}

.cj-evolution-day__top > div > span {
  font-size: 13px;
  font-weight: 800;
}

.cj-evolution-day h2 {
  font-size: 32px;
  margin: 8px 0 6px;
}

.cj-evolution-day__top p {
  color: var(--cj-muted);
  margin: 0;
}

.cj-evolution-day__calendar {
  align-items: center;
  background: #e9f4ff;
  border-radius: 50%;
  display: flex;
  height: 74px;
  justify-content: center;
  width: 74px;
}

.cj-evolution-day__calendar img {
  height: 34px;
  width: 34px;
}

.cj-evolution-tip {
  background: #eaf5ff;
  border-radius: 12px;
  display: flex;
  gap: 15px;
  margin-top: 20px;
  padding: 16px;
}

.cj-evolution-tip > span {
  color: #167eed;
  font-size: 25px;
}

.cj-evolution-tip strong,
.cj-evolution-tip a {
  color: #145bc3;
  font-weight: 800;
}

.cj-evolution-tip p {
  color: #34425e;
  font-size: 13px;
  line-height: 1.45;
  margin: 6px 0 9px;
}

.cj-evolution-tip a {
  font-size: 13px;
  text-decoration: none;
}

.cj-evolution-timeline {
  overflow-x: auto;
}

.cj-evolution-timeline > h2 {
  font-size: 19px;
  margin: 0 0 28px;
}

.cj-evolution-timeline .cj-timeline {
  min-width: 850px;
}

.cj-evolution-gallery-card .cj-section-heading {
  align-items: center;
}

.cj-evolution-gallery-card .cj-section-heading > span {
  color: #167eed;
  font-size: 13px;
  font-weight: 800;
}

.cj-evolution-gallery {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.cj-evolution-gallery figure {
  background: #f8fafc;
  border: 1px solid #e0e6ef;
  border-radius: 11px;
  margin: 0;
  overflow: hidden;
}

.cj-evolution-gallery figure.is-current {
  border: 2px solid #167eed;
  box-shadow: 0 5px 16px rgba(22, 126, 237, .12);
}

.cj-evolution-gallery img {
  aspect-ratio: 1;
  display: block;
  object-fit: cover;
  width: 100%;
}

.cj-evolution-gallery figcaption {
  display: grid;
  gap: 4px;
  padding: 12px;
  text-align: center;
}

.cj-evolution-gallery figcaption strong {
  font-size: 13px;
}

.cj-evolution-gallery figcaption span {
  color: var(--cj-muted);
  font-size: 11px;
}

.cj-evolution-analysis {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cj-comparison-card__heading h2,
.cj-indicators-card > h2 {
  font-size: 18px;
  margin: 0 0 5px;
}

.cj-comparison-card__heading p {
  color: var(--cj-muted);
  margin: 0 0 14px;
}

.cj-photo-comparison {
  aspect-ratio: 1.55;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}

.cj-photo-comparison__before,
.cj-photo-comparison__after img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.cj-photo-comparison__before {
  display: block;
}

.cj-photo-comparison__after {
  clip-path: inset(0 0 0 var(--comparison-position));
  inset: 0;
  position: absolute;
}

.cj-photo-comparison__after img {
  display: block;
}

.cj-photo-comparison__divider {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 3px 12px rgba(6, 22, 51, .22);
  color: var(--cj-navy);
  display: flex;
  font-weight: 800;
  height: 38px;
  justify-content: center;
  left: var(--comparison-position);
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 38px;
  z-index: 3;
}

.cj-photo-comparison::after {
  background: #fff;
  content: "";
  height: 100%;
  left: var(--comparison-position);
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateX(-1px);
  width: 2px;
  z-index: 2;
}

.cj-photo-comparison input {
  cursor: ew-resize;
  height: 100%;
  inset: 0;
  margin: 0;
  opacity: 0;
  position: absolute;
  width: 100%;
  z-index: 4;
}

.cj-photo-comparison__label {
  background: #167eed;
  border-radius: 7px;
  bottom: 13px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  padding: 7px 12px;
  position: absolute;
  z-index: 5;
}

.cj-photo-comparison__label--before {
  left: 13px;
}

.cj-photo-comparison__label--after {
  right: 13px;
}

.cj-indicator-list {
  display: grid;
}

.cj-indicator-list article {
  align-items: center;
  border-bottom: 1px solid #e7ecf2;
  display: grid;
  gap: 13px;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  padding: 14px 0;
}

.cj-indicator-list article:last-child {
  border-bottom: 0;
}

.cj-indicator-list article > span {
  align-items: center;
  background: #e9f4ff;
  border-radius: 9px;
  display: flex;
  font-size: 20px;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.cj-indicator-list article > span.is-success {
  background: #e7f8e9;
}

.cj-indicator-list article > span.is-progress {
  background: #fff4d7;
}

.cj-indicator-list strong {
  display: block;
  font-size: 13px;
}

.cj-indicator-list p {
  color: var(--cj-muted);
  font-size: 12px;
  margin: 4px 0 0;
}

.cj-indicator-list em {
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.cj-indicator-list .is-success {
  color: #2a9a45;
}

.cj-indicator-list .is-normal {
  color: #167eed;
}

.cj-indicator-list .is-progress {
  color: #dc9500;
}

.cj-evolution-info-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cj-evolution-info {
  min-height: 300px;
}

.cj-evolution-info h2 {
  font-size: 17px;
  font-weight: 800;
  margin: 0 0 22px;
}

.cj-evolution-page .cj-card h2 {
  font-weight: 800;
}

.cj-evolution-info--weeks {
  background: #f1efff;
}

.cj-evolution-info--doctor {
  background: #fff5db;
}

.cj-evolution-info--advice {
  background: #eaf4ff;
}

.cj-evolution-info ul {
  color: #34425e;
  display: grid;
  font-size: 13px;
  gap: 14px;
  line-height: 1.45;
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
}

.cj-evolution-info li::before {
  color: #6354cd;
  content: "●";
  font-size: 8px;
  margin-right: 10px;
}

.cj-evolution-info > a:not(.cj-button) {
  color: #5140c6;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.cj-evolution-doctor {
  align-items: center;
  display: flex;
  gap: 12px;
}

.cj-evolution-doctor img {
  background: #fff;
  border-radius: 50%;
  height: 56px;
  object-fit: cover;
  object-position: center top;
  width: 56px;
}

.cj-evolution-doctor div {
  display: grid;
  gap: 4px;
}

.cj-evolution-doctor span {
  color: var(--cj-muted);
  font-size: 12px;
}

.cj-evolution-info--doctor > p {
  color: #34425e;
  font-size: 13px;
  line-height: 1.55;
  margin: 18px 0;
}

.cj-evolution-info--doctor .cj-button {
  width: 100%;
}

.cj-evolution-info blockquote {
  color: #34425e;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.65;
  margin: 28px 0 0;
  padding-left: 25px;
  position: relative;
}

.cj-evolution-info blockquote::before {
  color: rgba(22, 126, 237, .22);
  content: "“";
  font-size: 66px;
  left: -5px;
  line-height: 1;
  position: absolute;
  top: -20px;
}

.cj-evolution-advice__image {
  display: block;
  height: 170px;
  margin: 18px auto -28px;
  max-width: 230px;
  object-fit: contain;
  object-position: center bottom;
  width: 100%;
}

.cj-evolution-help {
  align-items: center;
  background: #edf5ff;
  border: 1px solid #e0e8f3;
  border-radius: 14px;
  display: flex;
  justify-content: space-between;
  padding: 18px 28px;
}

.cj-evolution-help > div {
  align-items: center;
  display: flex;
  gap: 18px;
}

.cj-evolution-help__icon {
  flex: 0 0 34px;
  height: 34px;
  width: 34px;
}

.cj-evolution-help p {
  color: var(--cj-muted);
  font-size: 13px;
  line-height: 1.45;
  margin: 0;
}

.cj-evolution-help p strong {
  color: var(--cj-text);
  font-size: 16px;
}

.cj-evolution-help .cj-button {
  gap: 9px;
}

.cj-evolution-help .cj-button img {
  height: 18px;
  width: 18px;
}

@media (max-width: 1000px) {
  .cj-evolution-hero,
  .cj-evolution-analysis {
    grid-template-columns: 1fr;
  }

  .cj-evolution-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cj-evolution-info-grid {
    grid-template-columns: 1fr;
  }

  .cj-evolution-info {
    min-height: auto;
  }
}

@media (max-width: 620px) {
  .cj-evolution-page__heading h1 {
    font-size: 30px;
  }

  .cj-evolution-status {
    align-items: flex-start;
    flex-direction: column;
  }

  .cj-evolution-status h2 {
    font-size: 23px;
  }

  .cj-evolution-ring {
    margin: 0 auto;
  }

  .cj-evolution-gallery {
    grid-auto-columns: minmax(190px, 72vw);
    grid-auto-flow: column;
    grid-template-columns: none;
    overflow-x: auto;
    padding-bottom: 8px;
  }

  .cj-indicator-list article {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .cj-indicator-list article > em {
    grid-column: 2;
  }

  .cj-evolution-help {
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
  }

  .cj-evolution-help .cj-button {
    width: 100%;
  }
}

/* Frontend UI polish 1.38.4: typography, rhythm and desktop hover states. */
.cj-app h1,
.cj-app h2,
.cj-app h3,
.cj-app h4,
.cj-app h5,
.cj-app h6 {
  font-weight: 800;
}

.cj-treatment-routine .cj-section-heading p,
.cj-treatment-recommendations > p,
.cj-treatment-recommendations article b,
.cj-treatment-day > div > span,
.cj-treatment-day > div > strong,
.cj-treatment-adherence span,
.cj-treatment-adherence strong,
.cj-treatment-products article b,
.cj-treatment-next > b,
.cj-treatment-stages article strong,
.cj-evolution-timeline .cj-timeline__item > small,
.cj-appts-clinic h3,
.cj-appts-help p,
.cj-appts-prep article strong {
  font-weight: 800;
}

.cj-treatment-hero p {
  line-height: 1.28;
}

.cj-appts-schedule p {
  line-height: 1.28;
}

.cj-appts-prep article strong {
  font-size: 14px;
  line-height: 1.3;
}

.cj-appts-prep article span {
  font-size: 12px;
  line-height: 1.4;
}

.cj-app button,
.cj-app .cj-button,
.cj-app [role="button"] {
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, filter .18s ease, transform .18s ease;
}

.cj-app button:focus-visible,
.cj-app .cj-button:focus-visible,
.cj-app [role="button"]:focus-visible {
  outline: 3px solid rgba(27, 111, 230, .28);
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  .cj-app button:not(:disabled):hover,
  .cj-app [role="button"]:not([aria-disabled="true"]):hover {
    filter: brightness(.98) saturate(1.06);
    transform: translateY(-1px);
  }

  .cj-app .cj-button:not(.is-disabled):hover {
    box-shadow: 0 9px 20px rgba(7, 29, 85, .16);
    filter: brightness(.98) saturate(1.08);
    transform: translateY(-2px);
  }

  .cj-app button:not(:disabled):active,
  .cj-app .cj-button:not(.is-disabled):active,
  .cj-app [role="button"]:not([aria-disabled="true"]):active {
    box-shadow: none;
    transform: translateY(0);
  }
}

/* Treatment adherence interactions 1.39.0. */
.cj-treatment-step {
  grid-template-columns: 58px 86px minmax(0, 1fr) 150px;
}

.cj-treatment-status-form {
  min-width: 0;
  position: relative;
}

.cj-treatment-status-form > select {
  transition: background-color .18s ease, border-color .18s ease, opacity .18s ease;
}

.cj-treatment-status-form.is-saving > select {
  cursor: wait;
  opacity: .62;
}

.cj-treatment-status-details {
  background: #fff;
  border: 1px solid #ccd8e7;
  border-radius: 12px;
  box-shadow: 0 16px 38px rgba(7, 29, 67, .18);
  display: grid;
  gap: 12px;
  padding: 14px;
  position: absolute;
  right: 0;
  top: calc(100% + 7px);
  width: 265px;
  z-index: 20;
}

.cj-treatment-status-details[hidden],
.cj-treatment-status-details label[hidden] {
  display: none;
}

.cj-treatment-status-details label {
  display: grid;
  gap: 6px;
}

.cj-treatment-status-details label > span {
  color: #334663;
  font-size: 11px;
  font-weight: 800;
}

.cj-treatment-status-details select,
.cj-treatment-status-details input {
  background-color: #fff;
  border: 1px solid #cbd6e4;
  color: #203654;
  box-sizing: border-box;
  min-height: 40px;
  width: 100%;
}

.cj-treatment-status-save {
  background: #0a2a64;
  border: 0;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  font: 800 12px/1 "Inter", sans-serif;
  min-height: 38px;
  padding: 0 15px;
}

.cj-treatment-status-feedback {
  color: #238039;
  display: block;
  font-size: 10px;
  font-weight: 800;
  min-height: 13px;
  padding: 4px 3px 0;
  text-align: right;
}

.cj-treatment-status-form.is-error .cj-treatment-status-feedback {
  color: #b82f3b;
}

.cj-treatment-step--completed { border-color: #bfe1c5; }
.cj-treatment-step--skipped { border-color: #f0c3c8; background: #fffafa; }
.cj-treatment-step--postponed { border-color: #ebd59e; background: #fffdf6; }
.cj-treatment-step--pending { border-color: #dce4ef; }

.cj-treatment-step--pending .cj-treatment-status-form > select {
  background-color: #edf4ff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%232554a5' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  border-color: #bdd0ef;
  color: #2554a5;
}
.cj-treatment-step--completed .cj-treatment-status-form > select {
  background-color: #eaf8ec;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23237331' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  border-color: #aed5b5;
  color: #237331;
}
.cj-treatment-step--skipped .cj-treatment-status-form > select {
  background-color: #fff0f1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23a63740' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  border-color: #e5b5ba;
  color: #a63740;
}
.cj-treatment-step--postponed .cj-treatment-status-form > select {
  background-color: #fff6dd;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23936200' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  border-color: #dfc57e;
  color: #936200;
}

.cj-treatment-status-form > .cj-treatment-status-native {
  display: none;
}
.cj-treatment-status-picker {
  position: relative;
}
.cj-treatment-status-trigger {
  align-items: center;
  background: #edf4ff;
  border: 1px solid #bdd0ef;
  border-radius: 9px;
  color: #2554a5;
  cursor: pointer;
  display: flex;
  font: 700 11px/1.2 "Inter", sans-serif;
  justify-content: space-between;
  min-height: 38px;
  padding: 8px 12px;
  text-align: left;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
  width: 100%;
}
.cj-treatment-status-trigger i {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  height: 7px;
  margin: -4px 2px 0 12px;
  transform: rotate(45deg);
  width: 7px;
}
.cj-treatment-status-picker[data-status="completed"] .cj-treatment-status-trigger { background:#eaf8ec; border-color:#aed5b5; color:#237331; }
.cj-treatment-status-picker[data-status="skipped"] .cj-treatment-status-trigger { background:#fff0f1; border-color:#e5b5ba; color:#a63740; }
.cj-treatment-status-picker[data-status="postponed"] .cj-treatment-status-trigger { background:#fff6dd; border-color:#dfc57e; color:#936200; }
.cj-treatment-status-trigger:focus-visible { outline:2px solid rgba(22,126,237,.22); outline-offset:2px; }
.cj-treatment-status-menu {
  background:#fff;
  border:1px solid #cbd6e4;
  border-radius:11px;
  box-shadow:0 14px 32px rgba(7,29,67,.2);
  display:grid;
  gap:5px;
  left:0;
  padding:7px;
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  z-index:30;
}
.cj-treatment-status-menu[hidden] { display:none; }
.cj-treatment-status-option {
  align-items:center;
  border:1px solid transparent;
  border-radius:7px;
  cursor:pointer;
  display:grid;
  font:700 11px/1.2 "Inter", sans-serif;
  gap:8px;
  grid-template-columns:9px 1fr;
  min-height:34px;
  padding:7px 9px;
  text-align:left;
  width:100%;
}
.cj-treatment-status-option i { background:currentColor; border-radius:50%; height:7px; width:7px; }
.cj-treatment-status-option.is-pending { background:#edf4ff; color:#2554a5; }
.cj-treatment-status-option.is-completed { background:#eaf8ec; color:#237331; }
.cj-treatment-status-option.is-skipped { background:#fff0f1; color:#a63740; }
.cj-treatment-status-option.is-postponed { background:#fff6dd; color:#936200; }
.cj-treatment-status-option:hover,.cj-treatment-status-option:focus-visible { border-color:currentColor; outline:0; }
.cj-treatment-status-option[aria-selected="true"] { box-shadow:inset 0 0 0 1px currentColor; }

.cj-treatment-adherence > b span {
  display: block;
}

.cj-treatment-adherence.is-warning { background:#fff9e9 !important; border-color:#eddba9 !important; }
.cj-treatment-adherence.is-warning div strong,.cj-treatment-adherence.is-warning > b { color:#936200; }
.cj-treatment-adherence.is-warning > b { background:radial-gradient(circle,#fffdf7 58%,transparent 59%),conic-gradient(#d69a1f var(--cj-adherence),#eee2c4 0); }
.cj-treatment-adherence.is-danger { background:#fff1f2 !important; border-color:#efc7cc !important; }
.cj-treatment-adherence.is-danger div strong,.cj-treatment-adherence.is-danger > b { color:#a8323d; }
.cj-treatment-adherence.is-danger > b { background:radial-gradient(circle,#fffafa 58%,transparent 59%),conic-gradient(#cc4652 var(--cj-adherence),#efdadd 0); }
.cj-treatment-adherence.is-neutral { background:#f4f7fa !important; border-color:#dce3eb !important; }
.cj-treatment-adherence.is-neutral div strong,.cj-treatment-adherence.is-neutral > b { color:#5d6a7b; }
.cj-treatment-adherence.is-neutral > b { background:radial-gradient(circle,#fafcff 58%,transparent 59%),conic-gradient(#8291a5 var(--cj-adherence),#dfe5eb 0); }

@media (max-width: 680px) {
  .cj-treatment-step { grid-template-columns: 48px minmax(0, 1fr); }
  .cj-treatment-status-details { position: static; width: auto; }
}

/* Final cascade for the 1.44.0 patient-portal UI refinement. */
.cj-header__actions .cj-header__medical-link:hover,.cj-header__actions .cj-header__medical-link:focus-visible { color:var(--cj-blue); }
.cj-progress-ring strong,.cj-evolution-ring strong { font-weight:800; font-variant-numeric:tabular-nums; }
.cj-journey-timeline .cj-section-heading > a:hover,.cj-journey-timeline .cj-section-heading > a:focus-visible,.cj-evolution-tip a:hover,.cj-evolution-tip a:focus-visible,.cj-evolution-info > a:not(.cj-button):hover,.cj-evolution-info > a:not(.cj-button):focus-visible { color:#084f9e; }
.cj-card-link:hover,.cj-card-link:focus-visible { color:#788698; }
.cj-evolution-upload input,.cj-evolution-upload select { font-size:14px; }
.cj-evolution-upload input[type="date"] { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23167eed' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E"); background-position:right 13px center; background-repeat:no-repeat; padding-right:44px; }
.cj-evolution-upload input[type="date"]::-webkit-calendar-picker-indicator { cursor:pointer; opacity:0; width:24px; }
.cj-evolution-upload select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10' fill='none'%3E%3Cpath d='m2 2 6 6 6-6' stroke='%233b526f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position:right 16px center; background-repeat:no-repeat; padding-right:48px; }
.cj-evolution-upload input[type="file"] { color:#53627d; font-size:13px; }
.cj-evolution-upload input[type="file"]::file-selector-button { font:700 13px/1.2 "Inter",sans-serif; margin-right:12px; }
.cj-evolution-upload .cj-portal-form__file small { color:#8995a6; display:block; font-size:13px; line-height:1.4; margin-top:7px; }
.cj-indicator-list article { border:1px solid #e2e8f1; border-radius:10px; margin-bottom:10px; padding:10px 12px; }
.cj-indicator-list article:last-child { border-bottom:1px solid #e2e8f1; margin-bottom:0; }
.cj-indicator-list strong,.cj-indicator-list p { font-size:13px; line-height:1.45; }
.cj-indicator-list em { font-size:12px; }
.cj-evolution-info h2 { font-size:19px; font-weight:800; }
.cj-evolution-info--weeks ul { font-size:12px; gap:12px; }
.cj-evolution-info--weeks li { white-space:nowrap; }
.cj-evolution-advice__image { margin:6px auto -10px; object-position:center top; }
.cj-evolution-help p strong { font-weight:800; }
.cj-treatment-hero { align-items:start; }
.cj-treatment-icon { align-self:start; margin-top:1px; }
.cj-treatment-hero > div > p { font-weight:700; }
.cj-treatment-products article b { font-size:14px; }
.cj-treatment-products article small,.cj-treatment-products article em { font-size:12px; }
.cj-treatment-sequence { padding-left:46px; }
.cj-treatment-sequence::before { left:12px; width:2px; }
.cj-treatment-step__number { border:0; box-shadow:none; left:-52px; }
.cj-treatment-stages article strong { font-size:14px; font-weight:800; }
.cj-treatment-stages article span,.cj-treatment-stages article small { font-size:12px; }
.cj-appts-prep article strong { font-size:14px; font-weight:800; }
.cj-guide-card__body h2 { font-size:20px; }
.cj-faq-list [data-cj-faq-question] strong { font-size:15px; }
.cj-success-card__copy > p { font-size:12px; }
.cj-success-card__copy h2 { font-size:18px; font-weight:800; }
.cj-success-card__copy > span { font-size:13px; }
.cj-success-card__copy button { font-size:13px; }
.cj-success-card__copy button:hover,.cj-success-card__copy button:focus-visible { color:#084f9e; }
@media (max-width:1180px) { .cj-evolution-info--weeks li { white-space:normal; } }
@media (prefers-reduced-motion:reduce) { .cj-progress-ring,.cj-evolution-ring { transition:none; } }

/* Account settings — native Capilar Journey design system. */
.cj-settings-page { display:grid; gap:20px; margin-bottom:24px; }
.cj-settings-page > .cj-section-heading { margin-bottom:4px; }
.cj-settings-page > .cj-section-heading h1 { font-size:34px; margin:0 0 7px; }
.cj-settings-page > .cj-section-heading p { color:var(--cj-muted); font-size:15px; margin:0; }
.cj-settings-panel { background:#fff; border:1px solid var(--cj-border); border-radius:14px; box-shadow:0 6px 20px rgba(7,29,67,.035); padding:22px; }
.cj-settings-panel h2 { font-size:18px; font-weight:800; margin:0 0 18px; }
.cj-settings-profile.cj-settings-panel { align-items:center; gap:32px; grid-template-columns:157px minmax(0,1fr); padding:28px; }
.cj-settings-profile.cj-settings-panel .cj-settings-profile__photo { border:3px solid #fff; box-shadow:0 0 0 1px #dce4ee; font-size:48px; width:157px; }
.cj-settings-profile__controls h2 { margin:0 0 5px; }
.cj-settings-profile__controls > p { color:var(--cj-muted); font-size:13px; margin:0 0 8px; }
.cj-settings-profile__controls > small { align-items:center; color:#6f7d91; display:flex; font-size:11px; gap:6px; margin-top:11px; }
.cj-settings-profile__controls > small .cj-lucide-icon { flex:0 0 auto; height:14px; width:14px; }
.cj-settings-profile__controls { min-width:0; }
.cj-photo-status { display:flex; flex-direction:column; justify-content:center; margin-bottom:7px; min-height:24px; }
.cj-photo-status .cj-inline-notice { margin:0; }
.cj-photo-status .cj-upload-feedback { margin:0; }
.cj-photo-actions { align-items:center; display:grid; gap:10px; grid-template-columns:auto auto minmax(24px,1fr) auto; margin-bottom:0; }
.cj-settings-profile__controls .cj-avatar-form { display:contents; margin:0; }
.cj-settings-profile__controls .cj-avatar-form .cj-photo-picker { grid-column:1; }
.cj-settings-profile__controls .cj-avatar-form > .cj-button { grid-column:4; }
.cj-delete-photo-form { grid-column:2; grid-row:1; margin:0; }
.cj-photo-picker { align-items:center; border:1px solid #a9c9f3; border-radius:9px; color:#126ed0; cursor:pointer; display:inline-flex; flex:0 0 auto!important; font-size:12px; font-weight:800; gap:8px; min-height:40px; padding:0 14px; position:relative; width:auto!important; }
.cj-photo-picker:hover { background:#f1f7ff; border-color:#1689ee; }
.cj-photo-picker .cj-lucide-icon { height:17px; width:17px; }
.cj-photo-picker > span { color:inherit!important; font-size:inherit!important; margin:0!important; }
.cj-photo-picker input { height:1px; opacity:0; position:absolute; width:1px; }
.cj-settings-profile__controls .cj-avatar-form > .cj-button { font-size:13px; min-height:42px; padding:0 18px; }
.cj-settings-profile__controls .cj-avatar-form > .cj-button:disabled { background:#dfe5ed; border-color:#dfe5ed; color:#7b8798; cursor:not-allowed; opacity:1; }
.cj-delete-photo { border-color:#d5dce6; color:#5c6879; font-size:12px; min-height:40px; padding:0 14px; }
.cj-delete-photo:hover { background:#fff5f5; border-color:#e5aaaa; color:#b42318; }
.cj-delete-photo { align-items:center; display:inline-flex; gap:7px; }
.cj-delete-photo .cj-lucide-icon { height:16px; width:16px; }
.cj-personal-form__grid { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.cj-personal-form__grid label { display:block; min-width:0; }
.cj-personal-form__grid label.is-wide { grid-column:1/-1; }
.cj-personal-form label > span,.cj-password-form label > span:first-child { color:#344866; display:block; font-size:12px; font-weight:800; margin-bottom:6px; }
.cj-personal-form input,.cj-personal-form select,.cj-password-field input { background:#fff; border:1px solid #cbd6e4; border-radius:8px; box-sizing:border-box; color:var(--cj-text); font:400 13px/1.3 "Inter",sans-serif; min-height:42px; padding:9px 11px; width:100%; }
.cj-personal-form input:focus,.cj-personal-form select:focus,.cj-password-field input:focus { border-color:#1689ee; box-shadow:0 0 0 3px rgba(22,137,238,.11); outline:0; }
.cj-personal-form input:disabled { background:#f4f6f9; color:#778397; cursor:not-allowed; }
.cj-personal-form label > small { color:#8994a5; display:block; font-size:10px; margin-top:5px; }
.cj-personal-form select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1.5 5 5 5-5' fill='none' stroke='%23425878' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); background-position:right 13px center; background-repeat:no-repeat; padding-right:38px; }
.cj-personal-form > .cj-button { display:flex; margin:18px 0 0 auto; min-height:42px; }
.cj-password-form__grid { display:grid; gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.cj-password-field { display:block; position:relative; }
.cj-password-field input { padding-right:42px; }
.cj-password-field button { align-items:center; background:transparent; border:0; color:#6b788c; cursor:pointer; display:flex; height:36px; justify-content:center; padding:0; position:absolute; right:3px; top:3px; width:36px; }
.cj-password-field button:hover,.cj-password-field button.is-visible { color:#126ed0; }
.cj-password-field .cj-lucide-icon { height:18px; width:18px; }
.cj-password-form > .cj-button { margin-top:18px; min-height:40px; }
.cj-settings-page .cj-account-notifications { margin:0; padding:22px; }
.cj-settings-page .cj-account-notifications__heading { margin-bottom:10px; }
.cj-settings-page .cj-account-notifications__heading h3 { font-size:18px; }
.cj-settings-page .cj-account-notifications__heading p { font-size:12px; }
.cj-settings-page .cj-account-notifications__options label { min-height:62px; padding:10px 2px; }
.cj-settings-page .cj-account-notifications__options label > span strong { font-size:13px; }
.cj-settings-page .cj-account-notifications__options small { font-size:11px; }
.cj-settings-page .cj-account-notifications__options i { height:24px; width:43px; }
.cj-settings-page .cj-account-notifications__options i::after { height:18px; width:18px; }
.cj-settings-page .cj-account-notifications__options input:checked+i::after { transform:translateX(19px); }
.cj-settings-page .cj-account-notifications > .cj-button { min-height:40px; }
.cj-settings-actions { align-items:center; display:flex; justify-content:space-between; padding:2px 0; }
.cj-settings-actions .cj-button { min-height:40px; }
.cj-settings-actions p { align-items:center; color:#7e899a; display:flex; font-size:11px; gap:7px; margin:0; }
.cj-settings-actions p .cj-lucide-icon { height:15px; width:15px; }
@media (max-width:800px) { .cj-password-form__grid { grid-template-columns:1fr; }.cj-settings-profile.cj-settings-panel { gap:24px; grid-template-columns:140px 1fr; }.cj-settings-profile.cj-settings-panel .cj-settings-profile__photo { width:140px; } }
@media (max-width:600px) { .cj-settings-profile.cj-settings-panel { grid-template-columns:1fr; }.cj-settings-profile.cj-settings-panel .cj-settings-profile__photo { width:120px; }.cj-personal-form__grid { grid-template-columns:1fr; }.cj-personal-form__grid label.is-wide { grid-column:auto; }.cj-settings-actions { align-items:flex-start; flex-direction:column; gap:14px; } }
@media (max-width:600px) { .cj-photo-actions { align-items:stretch; grid-template-columns:1fr 1fr; }.cj-settings-profile__controls .cj-avatar-form .cj-photo-picker { grid-column:1; }.cj-delete-photo-form { grid-column:2; }.cj-settings-profile__controls .cj-avatar-form > .cj-button { grid-column:1/-1; grid-row:2; justify-self:end; }.cj-photo-picker,.cj-photo-actions .cj-button { justify-content:center; width:100%!important; } }

/* Alerts workspace — Capilar Journey design system. */
.cj-alerts-workspace { display:grid; gap:22px; }
.cj-alerts-heading { align-items:center; display:grid; gap:16px; grid-template-columns:54px minmax(0,1fr) auto; }
.cj-alerts-heading__icon { align-items:center; background:#eaf3ff; border-radius:50%; color:#167eed; display:flex; height:54px; justify-content:center; width:54px; }
.cj-alerts-heading__icon .cj-lucide-icon { height:25px; width:25px; }
.cj-alerts-heading h1 { font-size:34px; margin:0 0 5px; }
.cj-alerts-heading p { color:var(--cj-muted); font-size:14px; margin:0; }
.cj-alerts-heading form .cj-button { align-items:center; display:flex; font-size:12px; gap:7px; min-height:40px; }
.cj-alerts-heading form .cj-lucide-icon { height:16px; width:16px; }
.cj-alert-filters { border-bottom:1px solid #dfe6ef; display:flex; gap:8px; overflow-x:auto; }
.cj-alert-filters button { align-items:center; background:transparent; border:0; border-bottom:3px solid transparent; color:#4e5e76; cursor:pointer; display:flex; flex:0 0 auto; font:800 12px/1.2 "Inter",sans-serif; gap:7px; min-height:48px; padding:0 11px; }
.cj-alert-filters button:hover,.cj-alert-filters button.is-active { color:#126ed0; }
.cj-alert-filters button.is-active { border-bottom-color:#1689ee; }
.cj-alert-filters button .cj-lucide-icon { height:17px; width:17px; }
.cj-alert-filters button > span { align-items:center; background:#eef2f7; border-radius:999px; color:#607087; display:flex; font-size:10px; height:20px; justify-content:center; min-width:20px; padding:0 6px; }
.cj-alert-filters button.is-active > span { background:#1689ee; color:#fff; }
.cj-alerts-layout { align-items:start; display:grid; gap:22px; grid-template-columns:minmax(0,1fr) 300px; }
.cj-alert-stream { display:grid; gap:20px; }
.cj-alert-group h2 { font-size:15px; margin:0 0 10px; }
.cj-alert-group > div { border:1px solid #dfe6ef; border-radius:13px; overflow:hidden; }
.cj-alert-item { align-items:center; background:#fff; border-bottom:1px solid #e6ebf2; display:grid; gap:14px; grid-template-columns:48px minmax(0,1fr) auto; min-height:104px; padding:15px 17px; }
.cj-alert-item:last-child { border-bottom:0; }
.cj-alert-item.is-unread { background:#f7fbff; }
.cj-alert-item--system.is-unread { background:#fffaf0; }
.cj-alert-item__icon { align-items:center; background:#eaf3ff; border-radius:50%; color:#167eed; display:flex; height:48px; justify-content:center; width:48px; }
.cj-alert-item--treatment .cj-alert-item__icon { background:#eaf8ed; color:#209647; }
.cj-alert-item--system .cj-alert-item__icon { background:#fff1da; color:#dc8c00; }
.cj-alert-item__icon .cj-lucide-icon { height:22px; width:22px; }
.cj-alert-item strong { display:block; font-size:14px; margin-bottom:5px; }
.cj-alert-item p { color:#33445f; font-size:13px; line-height:1.5; margin:0 0 7px; }
.cj-alert-item small { align-items:center; color:#778397; display:flex; font-size:10px; gap:5px; }
.cj-alert-item small .cj-lucide-icon { height:12px; width:12px; }
.cj-alert-item form button { align-items:center; background:transparent; border:0; color:#9aa5b4; cursor:pointer; display:flex; height:38px; justify-content:center; padding:0; position:relative; width:38px; }
.cj-alert-item form button > span { background:#1689ee; border-radius:50%; height:8px; position:absolute; right:1px; top:1px; width:8px; }
.cj-alert-item form button .cj-lucide-icon { height:20px; width:20px; }
.cj-alert-item form button:hover { color:#1689ee; }
.cj-alert-item__read { color:#9aa5b4; font-size:10px; font-weight:800; }
.cj-alerts-empty { background:#fff; border:1px dashed #cdd8e5; border-radius:12px; color:var(--cj-muted); margin:0; padding:32px; text-align:center; }
.cj-alerts-side { display:grid; gap:18px; }
.cj-alert-preferences,.cj-alert-summary { background:#fff; border:1px solid #dfe6ef; border-radius:13px; padding:20px; }
.cj-alert-preferences h2,.cj-alert-summary h2 { font-size:17px; margin:0 0 7px; }
.cj-alert-preferences > p { color:var(--cj-muted); font-size:12px; line-height:1.5; margin:0 0 14px; }
.cj-alert-preferences > div { border-top:1px solid #e7ecf2; margin-bottom:16px; }
.cj-alert-preferences label { align-items:center; border-bottom:1px solid #e7ecf2; cursor:pointer; display:grid; gap:9px; grid-template-columns:20px 1fr auto; min-height:52px; }
.cj-alert-preferences label > .cj-lucide-icon { color:#405473; height:17px; width:17px; }
.cj-alert-preferences label > span { font-size:12px; font-weight:800; }
.cj-alert-preferences input { height:1px; opacity:0; position:absolute; width:1px; }
.cj-alert-preferences i { background:#aeb8c6; border-radius:999px; height:22px; position:relative; transition:background .18s ease; width:39px; }
.cj-alert-preferences i::after { background:#fff; border-radius:50%; box-shadow:0 1px 4px rgba(6,22,51,.25); content:""; height:16px; left:3px; position:absolute; top:3px; transition:transform .18s ease; width:16px; }
.cj-alert-preferences input:checked+i { background:#1689ee; }
.cj-alert-preferences input:checked+i::after { transform:translateX(17px); }
.cj-alert-preferences .cj-button { font-size:11px; min-height:38px; width:100%; }
.cj-alert-summary dl { margin:8px 0 15px; }
.cj-alert-summary dl > div { align-items:center; border-bottom:1px solid #e7ecf2; display:flex; font-size:12px; justify-content:space-between; padding:11px 0; }
.cj-alert-summary dd { color:#167eed; font-weight:800; margin:0; }
.cj-alert-summary p { align-items:flex-start; background:#f1f6fd; border-radius:9px; color:#647289; display:flex; font-size:11px; gap:8px; line-height:1.5; margin:0; padding:11px; }
.cj-alert-summary p .cj-lucide-icon { color:#1689ee; flex:0 0 auto; height:16px; width:16px; }
@media (max-width:900px) { .cj-alerts-layout { grid-template-columns:1fr; }.cj-alerts-side { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .cj-alerts-heading { align-items:start; grid-template-columns:48px 1fr; }.cj-alerts-heading form { grid-column:1/-1; }.cj-alerts-heading h1 { font-size:29px; }.cj-alerts-side { grid-template-columns:1fr; }.cj-alert-item { grid-template-columns:42px minmax(0,1fr); }.cj-alert-item__icon { height:42px; width:42px; }.cj-alert-item > form,.cj-alert-item__read { grid-column:2; justify-self:start; } }

/* Medical workspace — Capilar Journey design system. */
.cj-medical-workspace { display:grid; gap:20px; }
.cj-medical-heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:4px; }
.cj-medical-heading h1 { font-size:34px; margin:0 0 6px; }
.cj-medical-heading p { color:var(--cj-muted); font-size:14px; margin:0; }
.cj-medical-heading .cj-button { align-items:center; display:flex; font-size:12px; gap:8px; min-height:40px; }
.cj-medical-heading .cj-lucide-icon { height:16px; width:16px; }
.cj-medical-section { background:#fff; border:1px solid var(--cj-border); border-radius:14px; box-shadow:0 6px 20px rgba(7,29,67,.03); padding:20px; }
.cj-medical-section > header { align-items:center; border-bottom:1px solid #e7ecf2; display:grid; gap:11px; grid-template-columns:38px 1fr auto; margin-bottom:15px; padding-bottom:13px; }
.cj-medical-section > header > span { align-items:center; background:#eaf3ff; border-radius:50%; color:#167eed; display:flex; height:38px; justify-content:center; width:38px; }
.cj-medical-section--history > header > span { background:#e9f8ec; color:#229246; }
.cj-medical-section--medications > header > span { background:#f3edff; color:#7551d5; }
.cj-medical-section--allergies > header > span { background:#fff2df; color:#dc8b00; }
.cj-medical-section > header .cj-lucide-icon { height:18px; width:18px; }
.cj-medical-section > header h2 { font-size:18px; margin:0; }
.cj-medical-section > header a,.cj-medical-section > header small { color:#167eed; font-size:11px; font-weight:800; text-decoration:none; }
.cj-medical-section > header a:hover { color:#084f9e; }
.cj-medical-personal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.cj-medical-personal-grid dl { border-bottom:1px solid #edf0f4; margin:0; min-width:0; padding:10px 8px; }
.cj-medical-personal-grid dt { color:#708096; font-size:10px; margin-bottom:6px; }
.cj-medical-personal-grid dd { color:var(--cj-text); font-size:13px; font-weight:800; margin:0; overflow-wrap:anywhere; }
.cj-medical-history-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.cj-medical-history-grid article { border-bottom:1px solid #edf0f4; min-height:86px; padding:10px; }
.cj-medical-history-grid article:nth-child(odd) { border-right:1px solid #edf0f4; }
.cj-medical-history-grid h3 { font-size:12px; margin:0 0 7px; }
.cj-medical-history-grid p { color:#40516d; font-size:12px; line-height:1.5; margin:0; white-space:pre-line; }
.cj-medical-table { border:1px solid #e4e9f0; border-radius:10px; overflow:hidden; }
.cj-medical-table > div { align-items:center; border-bottom:1px solid #e7ecf2; display:grid; font-size:11px; gap:12px; grid-template-columns:1.35fr .8fr 1fr .8fr .6fr; min-height:45px; padding:8px 13px; }
.cj-medical-table > div:last-child { border-bottom:0; }
.cj-medical-table > .is-head { background:#f6f8fc; color:#66758c; font-weight:800; }
.cj-medical-table strong { font-size:12px; }
.cj-medical-table em { background:#e7f7eb; border-radius:999px; color:#21813b; font-size:10px; font-style:normal; font-weight:800; justify-self:start; padding:4px 8px; }
.cj-medical-section > aside { align-items:center; background:#eef6ff; border-radius:8px; color:#126ed0; display:flex; font-size:11px; gap:8px; margin-top:12px; padding:10px 12px; }
.cj-medical-section--allergies > aside { background:#fff7e9; color:#c97700; }
.cj-medical-section > aside .cj-lucide-icon { flex:0 0 auto; height:16px; width:16px; }
.cj-allergy-summary { display:grid; gap:5px; padding:7px 9px 12px; }
.cj-allergy-summary strong { font-size:13px; }
.cj-allergy-summary span { color:var(--cj-muted); font-size:11px; }
.cj-medical-empty { color:var(--cj-muted); font-size:12px; margin:8px 0; }
.cj-medical-documents { border:1px solid #e4e9f0; border-radius:10px; overflow:hidden; }
.cj-medical-documents article { align-items:center; border-bottom:1px solid #e7ecf2; display:grid; gap:11px; grid-template-columns:32px minmax(0,1fr) auto 30px; min-height:58px; padding:8px 12px; }
.cj-medical-documents article:last-child { border-bottom:0; }
.cj-medical-documents article > span { align-items:center; background:#edf5ff; border-radius:7px; color:#167eed; display:flex; height:32px; justify-content:center; width:32px; }
.cj-medical-documents article > span .cj-lucide-icon { height:16px; width:16px; }
.cj-medical-documents strong { display:block; font-size:12px; margin-bottom:3px; }
.cj-medical-documents small { color:var(--cj-muted); display:block; font-size:10px; }
.cj-medical-documents button { background:transparent; border:0; color:#126ed0; cursor:pointer; font:800 11px/1 "Inter",sans-serif; }
.cj-medical-documents article > a { color:#126ed0; }
.cj-medical-documents article > a .cj-lucide-icon { height:17px; width:17px; }
.cj-medical-upload { margin-top:13px; }
.cj-medical-upload > summary { border:1px solid #a9c9f3; border-radius:8px; color:#126ed0; cursor:pointer; display:inline-flex; font-size:11px; font-weight:800; padding:9px 13px; }
.cj-medical-upload .cj-document-upload { margin-top:12px; }

/* Valoración y estrategia — patient-facing planning workspace. */
.cj-valuation { display:grid; gap:22px; }
.cj-valuation__heading { align-items:flex-end; display:flex; gap:24px; justify-content:space-between; }
.cj-valuation__heading h1 { font-size:38px; margin:3px 0 8px; }
.cj-valuation__heading > div > p:last-child { color:var(--cj-muted); font-size:14px; margin:0; }
.cj-valuation__status { align-items:center; background:#fff7e3; border:1px solid #f0d899; border-radius:999px; color:#92670b; display:inline-flex; flex:0 0 auto; font-size:11px; font-weight:800; gap:8px; padding:9px 13px; }
.cj-valuation__status i { background:currentColor; border-radius:50%; height:7px; width:7px; }
.cj-valuation__status.is-ready { background:#e9f8ef; border-color:#c9ead6; color:#237c4d; }
.cj-valuation__timeline { margin:0; }
.cj-valuation__timeline .cj-section-heading { margin-bottom:16px; }
.cj-valuation__tabs { border-bottom:1px solid var(--cj-border); display:flex; gap:5px; overflow-x:auto; }
.cj-valuation__tabs button { background:transparent; border:0; border-bottom:3px solid transparent; color:#718096; cursor:pointer; font:800 12px/1.2 "Inter",sans-serif; min-height:43px; padding:10px 17px; white-space:nowrap; }
.cj-valuation__tabs button[aria-selected="true"] { border-color:var(--cj-blue); color:var(--cj-blue); }
.cj-valuation__tabs button:focus-visible { outline:2px solid var(--cj-blue); outline-offset:-3px; }
.cj-valuation__panel[hidden] { display:none; }
.cj-valuation__layout { display:grid; gap:20px; grid-template-columns:minmax(0,1.65fr) minmax(285px,.78fr); }
.cj-valuation__primary,.cj-valuation__side { align-content:start; display:grid; gap:20px; }
.cj-valuation-card { background:#fff; border:1px solid var(--cj-border); border-radius:16px; box-shadow:0 7px 24px rgba(6,22,51,.035); padding:22px; }
.cj-valuation-card > header { align-items:flex-start; display:flex; gap:15px; justify-content:space-between; margin-bottom:16px; }
.cj-valuation-card > header h2 { font-size:18px; margin:0 0 5px; }
.cj-valuation-card > header p { color:var(--cj-muted); font-size:11px; margin:0; }
.cj-valuation-card > header > .cj-lucide-icon { color:var(--cj-blue); height:22px; width:22px; }
.cj-valuation-card blockquote { background:#f3f8fd; border-left:4px solid var(--cj-blue); border-radius:0 11px 11px 0; color:#243854; font:700 14px/1.65 "Inter",sans-serif; margin:0; padding:17px 19px; }
.cj-valuation__facts { display:grid; gap:10px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:15px; }
.cj-valuation__facts dl { border:1px solid transparent; border-radius:10px; margin:0; padding:13px; }
.cj-valuation__facts dl:nth-child(1) { background:linear-gradient(145deg,#f0f7ff,#e1efff); border-color:#cbdff6; }
.cj-valuation__facts dl:nth-child(2) { background:linear-gradient(145deg,#f7f3ff,#ece5ff); border-color:#ddd1f5; }
.cj-valuation__facts dl:nth-child(3) { background:linear-gradient(145deg,#fff8eb,#ffefd0); border-color:#efd9ae; }
.cj-valuation__facts dt { color:#7c8999; font-size:9px; letter-spacing:.4px; margin-bottom:6px; text-transform:uppercase; }
.cj-valuation__facts dd { color:var(--cj-text); font-size:12px; font-weight:800; line-height:1.4; margin:0; overflow-wrap:anywhere; }
.cj-valuation__goals { list-style:none; margin:0; padding:0; }
.cj-valuation__goals li { align-items:flex-start; border-top:1px solid #e8edf2; display:flex; gap:13px; padding:14px 0; }
.cj-valuation__goals li:first-child { border-top:0; padding-top:2px; }
.cj-valuation__goals li > span { align-items:center; background:#e9f4fd; border-radius:8px; color:var(--cj-blue); display:flex; flex:0 0 29px; font-size:11px; font-weight:900; height:29px; justify-content:center; }
.cj-valuation__goals strong { display:block; font-size:13px; font-weight:800; margin:1px 0 4px; }
.cj-valuation__goals p { color:#617087; font-size:12px; line-height:1.5; margin:0; }
.cj-valuation__readiness { align-items:center; display:flex; gap:15px; }
.cj-valuation__ring { background:conic-gradient(#2ca66b var(--cj-valuation-progress),#e4e9ed 0); border-radius:50%; display:grid; flex:0 0 76px; height:76px; place-items:center; }
.cj-valuation__ring > span { align-items:center; background:#fff; border-radius:50%; display:flex; height:62px; justify-content:center; width:62px; }
.cj-valuation__ring strong { font-size:16px; }
.cj-valuation__readiness > p { color:#65748a; font-size:11px; line-height:1.5; margin:0; }
.cj-valuation__readiness > p strong { color:var(--cj-text); display:block; font-size:12px; margin-bottom:2px; }
.cj-valuation__checklist { list-style:none; margin:16px 0 0; padding:0; }
.cj-valuation__checklist li { align-items:center; border-top:1px solid #e8edf2; display:flex; font-size:11px; gap:9px; min-height:38px; }
.cj-valuation__checklist li span { align-items:center; border-radius:50%; display:flex; flex:0 0 18px; font-size:10px; height:18px; justify-content:center; }
.cj-valuation__checklist .is-complete span { background:#dcf3e5; color:#20804f; }
.cj-valuation__checklist .is-pending { color:#7d8999; }
.cj-valuation__checklist .is-pending span { background:#edf0f3; color:#8c98a7; }
.cj-valuation-card--next { background:linear-gradient(140deg,#061633 0%,#123c70 100%); border-color:#153b69; box-shadow:0 14px 30px rgba(6,22,51,.2); color:#fff; position:relative; }
.cj-valuation-card--next::before { background:#35a86e; border:3px solid #fff; border-radius:50%; content:""; height:12px; position:absolute; right:18px; top:18px; width:12px; }
.cj-valuation-card--next .cj-eyebrow { color:#8eb8e0; }
.cj-valuation-card--next h2 { color:#fff; font-size:20px; margin:7px 0; }
.cj-valuation-card--next > p:not(.cj-eyebrow) { color:#bed0e3; font-size:12px; line-height:1.55; }
.cj-valuation-card--next .cj-button { background:#fff; color:var(--cj-navy); margin-top:4px; width:100%; }
.cj-valuation__plan-list { display:grid; gap:12px; }
.cj-valuation__plan-list > article { align-items:center; background:#fff; border:1px solid var(--cj-border); border-radius:14px; display:grid; gap:16px; grid-template-columns:44px minmax(0,1fr) auto; padding:18px 20px; }
.cj-valuation__plan-list > article > span { align-items:center; background:#eaf4fd; border-radius:11px; color:var(--cj-blue); display:flex; font-size:11px; font-weight:900; height:44px; justify-content:center; }
.cj-valuation__plan-list h2 { font-size:16px; margin:2px 0 5px; }
.cj-valuation__plan-list p:not(.cj-eyebrow) { color:#617087; font-size:12px; line-height:1.5; margin:0; }
.cj-valuation__plan-list em { border-radius:999px; font-size:10px; font-style:normal; font-weight:800; padding:6px 9px; }
.cj-valuation__plan-list em.is-progress { background:#e8f7ee; color:#287c50; }
.cj-valuation__plan-list em.is-planned { background:#e9f3ff; color:#1768b5; }
.cj-valuation-card--scope { margin-top:18px; }
.cj-valuation-card--scope > p { color:#52627a; font-size:12px; line-height:1.65; margin:0; }
.cj-valuation__preparation-grid { display:grid; gap:13px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.cj-valuation__preparation-grid article { align-items:flex-start; background:#fff; border:1px solid var(--cj-border); border-radius:13px; display:flex; gap:12px; padding:18px; }
.cj-valuation__preparation-grid article > span { align-items:center; background:#e2f5e9; border-radius:50%; color:#238352; display:flex; flex:0 0 24px; height:24px; justify-content:center; }
.cj-valuation__preparation-grid .is-pending > span { background:#edf0f3; color:#8c98a7; }
.cj-valuation__preparation-grid strong { display:block; font-size:12px; margin:2px 0 5px; }
.cj-valuation__preparation-grid p { color:#748196; font-size:11px; line-height:1.5; margin:0; }
@media (max-width:900px) { .cj-valuation__layout { grid-template-columns:1fr; }.cj-valuation__side { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .cj-valuation__heading { align-items:flex-start; flex-direction:column; }.cj-valuation__heading h1 { font-size:31px; }.cj-valuation__facts,.cj-valuation__side,.cj-valuation__preparation-grid { grid-template-columns:1fr; }.cj-valuation__plan-list > article { align-items:flex-start; grid-template-columns:40px 1fr; }.cj-valuation__plan-list em { grid-column:2; justify-self:start; }.cj-valuation-card { padding:18px; } }
@media (max-width:800px) { .cj-medical-personal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.cj-medical-table { overflow-x:auto; }.cj-medical-table > div { min-width:700px; } }
@media (max-width:580px) { .cj-medical-heading { align-items:flex-start; flex-direction:column; gap:14px; }.cj-medical-personal-grid,.cj-medical-history-grid { grid-template-columns:1fr; }.cj-medical-history-grid article:nth-child(odd) { border-right:0; }.cj-medical-section > header { grid-template-columns:38px 1fr; }.cj-medical-section > header > a,.cj-medical-section > header > small { grid-column:2; }.cj-medical-documents article { grid-template-columns:32px minmax(0,1fr) auto; }.cj-medical-documents button { grid-column:2; justify-self:start; }.cj-medical-documents article > a { grid-column:3; grid-row:1/3; } }
  grid-column: 2;
  grid-column: 2;
