:root {
  --mapcare-bg: #f5f5f5;
  --mapcare-surface: #ffffff;
  --mapcare-panel: #f7f9ff;
  --mapcare-panel-strong: #eef4ff;
  --mapcare-line: #dbe4f3;
  --mapcare-line-strong: #b9c9e6;
  --mapcare-text: #1d2b47;
  --mapcare-text-soft: #6a7b99;
  --mapcare-primary: #2e6bff;
  --mapcare-primary-deep: #1954df;
  --mapcare-success: #1ea672;
  --mapcare-warning: #d08d21;
  --mapcare-danger: #d44949;
  --mapcare-shadow: 0 22px 48px rgba(33, 72, 146, 0.12);
  --mapcare-radius-shell: 34px;
  --mapcare-radius-card: 22px;
  --mapcare-radius-chip: 999px;
  --mapcare-font: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  background: radial-gradient(circle at top, #edf4ff 0%, #f5f5f5 46%);
  color: var(--mapcare-text);
  font-family: var(--mapcare-font);
}

body {
  min-height: 100svh;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

.tracker-stage {
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.device-frame {
  width: min(100%, 392px);
}

.device-frame-app {
  background: rgba(255, 255, 255, 0.64);
  border-radius: calc(var(--mapcare-radius-shell) + 6px);
  padding: 10px;
  box-shadow: var(--mapcare-shadow);
  backdrop-filter: blur(12px);
}

.device-frame-utility {
  background: var(--mapcare-surface);
  border-radius: 30px;
  padding: 16px;
  box-shadow: var(--mapcare-shadow);
}

.device-screen {
  min-height: min(844px, calc(100svh - 40px));
  background: var(--mapcare-surface);
  border-radius: var(--mapcare-radius-shell);
  overflow: hidden;
  position: relative;
}

.device-frame-app {
  width: 410px;
  max-width: 100%;
}

.device-frame-app .device-screen {
  width: 390px;
  min-height: 844px;
}

@media (max-width: 430px) {
  .tracker-stage {
    padding: 0;
  }

  .device-frame-app {
    width: 100%;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
    background: transparent;
  }

  .device-frame-app .device-screen {
    width: 100%;
    min-height: 100svh;
    border-radius: 0;
  }

  .journey-inline-grid {
    grid-template-columns: 1fr;
  }
}

.screen-root {
  min-height: inherit;
}

.screen-shell {
  min-height: inherit;
  display: flex;
  flex-direction: column;
  position: relative;
  background: var(--mapcare-surface);
}

.screen-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top, rgba(46, 107, 255, 0.09), transparent 34%),
    linear-gradient(180deg, rgba(244, 248, 255, 0.96) 0%, rgba(255, 255, 255, 1) 34%);
  pointer-events: none;
}

/* Keep coded product pages above the shared decorative shell wash. */
.screen-shell > [class*="coded-"][class*="-page"] {
  position: relative;
  z-index: 1;
}

.screen-shell.is-splash::before {
  background:
    linear-gradient(180deg, rgba(238, 246, 255, 1) 0%, rgba(248, 252, 255, 1) 62%, rgba(255, 255, 255, 1) 100%),
    radial-gradient(circle at top, rgba(46, 107, 255, 0.12), transparent 42%);
}

.screen-shell.is-splash .screen-content {
  padding: 0;
}

.screen-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: inherit;
  padding: calc(env(safe-area-inset-top, 0px) + 18px) 20px calc(env(safe-area-inset-bottom, 0px) + 18px);
}

.brand-lockup,
.mini-brand-lockup {
  display: flex;
  align-items: center;
  gap: 10px;
}

.brand-lockup img {
  height: 44px;
}

.mini-brand-lockup img {
  height: 30px;
}

.mini-brand-lockup span,
.brand-lockup span {
  display: block;
  font-size: 12px;
  color: var(--mapcare-text-soft);
}

.mini-brand-lockup strong,
.brand-lockup strong {
  display: block;
  font-size: 18px;
}

.screen-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.screen-top-row .screen-text-button,
.screen-top-row .utility-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  box-sizing: border-box;
}

.footer-utility-row .utility-pill,
.policy-reference-links .utility-chip {
  display: inline-flex;
  align-items: center;
  min-width: 44px;
  min-height: 44px;
  box-sizing: border-box;
}

.policy-legal-document .policy-primary-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 12px;
}

.policy-legal-document .policy-primary-actions [download] {
  grid-column: 1 / -1;
}

.policy-reference-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
}

.screen-icon-button,
.screen-text-button {
  border: 0;
  background: transparent;
  color: var(--mapcare-primary);
  padding: 0;
}

.screen-icon-button {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(46, 107, 255, 0.09);
  color: var(--mapcare-primary);
  font-weight: 700;
}

.screen-title-block {
  padding-top: 12px;
}

.screen-kicker {
  margin: 0 0 6px;
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--mapcare-text-soft);
  text-transform: uppercase;
}

.screen-title {
  margin: 0;
  font-size: 32px;
  line-height: 1.08;
}

.screen-copy {
  margin: 10px 0 0;
  color: var(--mapcare-text-soft);
  line-height: 1.5;
  font-size: 14px;
}

.hero-banner,
.splash-hero,
.profile-illustration {
  border-radius: 28px;
  overflow: hidden;
  position: relative;
}

.splash-screen-content,
.splash-tap-target {
  min-height: inherit;
}

.splash-tap-target {
  position: relative;
  display: flex;
  flex: 1;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.splash-hero {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px 112px;
  margin: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 50% 18%, rgba(198, 226, 255, 0.72) 0%, rgba(214, 235, 255, 0.45) 29%, rgba(238, 246, 255, 0) 30%),
    linear-gradient(180deg, rgba(250, 252, 255, 0.92) 0%, rgba(232, 243, 255, 0.88) 100%),
    center/cover no-repeat;
}

.coded-splash-shell { overflow: hidden; }
.coded-splash-shell::after {
  content: "";
  position: absolute;
  left: -12%;
  right: -12%;
  bottom: -8vh;
  height: clamp(190px, 27vh, 330px);
  border-radius: 50% 50% 0 0;
  background:
    radial-gradient(ellipse at 26% 0%, rgba(113, 202, 250, 0.78) 0 37%, transparent 38%),
    radial-gradient(ellipse at 73% 5%, rgba(72, 178, 239, 0.6) 0 43%, transparent 44%),
    linear-gradient(180deg, rgba(184, 228, 252, 0.7), rgba(64, 177, 239, 0.9));
  pointer-events: none;
}

.coded-splash-utility {
  position: absolute;
  z-index: 3;
  right: 18px;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 16px);
  left: 18px;
  display: flex;
  justify-content: center;
  gap: 18px;
}

.coded-splash-utility a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: #123f65;
  font-size: 12px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.splash-brand-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.splash-brand-icon {
  width: 126px;
  height: 126px;
  object-fit: contain;
}

.splash-logo-stack {
  position: static;
  text-align: center;
}

.splash-brand-wordmark {
  width: min(264px, 100%);
  height: auto;
}

.splash-footer-meta {
  position: absolute;
  inset: auto 0 calc(env(safe-area-inset-bottom, 0px) + 22px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 9px;
  line-height: 1.25;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(31, 71, 153, 0.18);
}

.primary-button,
.secondary-button,
.ghost-button {
  border-radius: 14px;
  border: 0;
  min-height: 48px;
  font-weight: 700;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.primary-button {
  background: var(--mapcare-primary);
  color: #fff;
  box-shadow: 0 12px 24px rgba(46, 107, 255, 0.22);
}

.primary-button:hover,
.secondary-button:hover,
.ghost-button:hover {
  transform: translateY(-1px);
}

.primary-button:disabled,
.secondary-button:disabled,
.ghost-button:disabled {
  opacity: 0.64;
  transform: none;
  cursor: default;
}

.secondary-button {
  background: #fff;
  border: 1px solid var(--mapcare-line);
  color: var(--mapcare-text);
}

.ghost-button {
  background: rgba(46, 107, 255, 0.09);
  color: var(--mapcare-primary);
}

.stack-actions,
.utility-actions,
.cta-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.stack-actions {
  margin-top: 18px;
}

.journey-screen {
  gap: 18px;
}

.journey-copy-block strong {
  display: block;
  font-size: 16px;
}

.journey-copy-block p {
  margin: 8px 0 0;
  color: var(--mapcare-text-soft);
  font-size: 13px;
  line-height: 1.5;
}

.journey-inline-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.journey-chip-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
}

.journey-chip-button {
  cursor: pointer;
}

.journey-select {
  padding-right: 38px;
}

.journey-textarea {
  min-height: 104px;
  padding: 12px 14px;
  resize: vertical;
}

.journey-password-form {
  margin-top: 14px;
}

.utility-link-row,
.footer-utility-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.utility-link-row {
  margin-top: 18px;
}

.footer-utility-row {
  margin-top: auto;
  padding-top: 16px;
}

.splash-tap-target:focus-visible {
  outline: 3px solid rgba(46, 107, 255, 0.36);
  outline-offset: -6px;
}

.exact-image-shell::before {
  display: none;
}

.exact-image-stage {
  --mapcare-device-chrome-mask-height: clamp(48px, 14.35vw, 62px);
  position: relative;
  min-height: inherit;
  height: 100%;
  background: #ffffff;
  overflow: hidden;
}

.exact-image-art {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  user-select: none;
}

.current-splash-exact .exact-image-stage,
.current-otp-exact .exact-image-stage {
  background: #fff;
}

.current-splash-exact .exact-image-art,
.current-otp-exact .exact-image-art {
  width: 100%;
  min-height: 100%;
  object-fit: cover;
}

.exact-image-top-mask {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: calc(var(--mapcare-device-chrome-mask-height) + env(safe-area-inset-top, 0px));
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 84%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}

.current-splash-exact .exact-image-top-mask,
.current-otp-exact .exact-image-top-mask {
  height: calc(var(--mapcare-device-chrome-mask-height) + env(safe-area-inset-top, 0px));
}

.entity-web-exact .exact-image-stage,
.doctor-web-exact .exact-image-stage {
  max-width: 1460px;
  margin: 0 auto;
  height: auto;
  min-height: inherit;
}

.entity-web-exact .exact-image-art,
.doctor-web-exact .exact-image-art {
  width: 100%;
  max-width: 100%;
  height: auto;
  transform: none;
}

.exact-overlay,
.exact-form-layer {
  position: absolute;
  inset: 0;
}

.exact-form-layer {
  pointer-events: none;
}

.exact-form-layer input,
.exact-form-layer button,
.exact-form-layer select,
.exact-form-layer textarea {
  pointer-events: auto;
}

.current-splash-continue {
  inset: 0;
  border-radius: 0;
}

.current-otp-grid {
  position: absolute;
  left: 5.1%;
  top: 39.8%;
  width: 89.8%;
  height: 6.5%;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  z-index: 4;
}

.current-otp-slot {
  display: block;
  min-width: 0;
  height: 100%;
  border: 1.5px solid #067aff;
  border-radius: 7px;
  background: #fff;
  overflow: hidden;
}

.current-otp-digit {
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  color: #000;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  caret-color: #067aff;
}

.current-otp-digit:focus {
  outline: none;
}

.current-otp-slot.is-active {
  box-shadow: 0 0 0 2px rgba(6, 122, 255, 0.14);
}

.current-otp-change {
  left: 61%;
  top: 34.2%;
  width: 26%;
  height: 4%;
}

.current-otp-verify {
  left: 5.1%;
  top: 48.2%;
  width: 89.8%;
  height: 5.2%;
}

.current-otp-resend {
  left: 31%;
  top: 54.8%;
  width: 42%;
  height: 4.2%;
}

.current-otp-notice {
  top: 16.8%;
}

.exact-hotspot {
  position: absolute;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 18px;
  background: transparent;
}

.exact-hotspot:disabled {
  cursor: wait;
  opacity: 0.62;
}

.login-google-identity {
  overflow: hidden;
  border-radius: 18px;
}

.login-google-identity > div,
.login-google-identity iframe {
  width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
}

.exact-hotspot:focus-visible,
.exact-hotspot-input:focus-visible,
.password-reset-placeholder-form input:focus-visible,
.password-reset-placeholder-form button:focus-visible,
.password-reset-placeholder-close:focus-visible {
  outline: 2px solid var(--mapcare-primary);
  outline-offset: 2px;
}

.exact-hotspot-input {
  position: absolute;
  border: 0;
  background: transparent;
  color: #5f5f5f;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  padding: 0 4px;
}

.exact-hotspot-input::placeholder {
  color: #acacac;
}

.signup-profile-notice {
  top: 94px;
}

.notifications-preferences-notice {
  top: 92px;
}

.signup-profile-input {
  border-radius: 10px;
  padding: 0 14px;
  color: #626262;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  caret-color: #1470f4;
  transition: background 120ms ease, box-shadow 120ms ease, color 120ms ease;
}

.signup-profile-input::placeholder {
  color: transparent;
}

.signup-profile-input:focus,
.signup-profile-input.has-value {
  background: rgba(255, 255, 255, 0.98);
}

.signup-profile-input:focus::placeholder {
  color: #979797;
}

.signup-profile-readonly {
  background: rgba(255, 255, 255, 0.98);
  color: #717171;
}

.signup-profile-select {
  appearance: none;
  color: transparent;
  padding-right: 42px;
}

.signup-profile-select.is-empty {
  color: transparent;
}

.signup-profile-select:focus,
.signup-profile-select.has-value {
  color: #666666;
}

.exact-floating-notice,
.exact-floating-preview {
  position: absolute;
  left: 16px;
  right: 16px;
  z-index: 5;
}

.exact-floating-notice {
  top: 82px;
}

.exact-floating-preview {
  top: 144px;
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #d9e8ff;
  color: var(--mapcare-primary-deep);
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 12px 24px rgba(32, 85, 178, 0.12);
}

.exact-replacement-card,
.exact-replaced-copy {
  position: absolute;
  z-index: 3;
}

.exact-replacement-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid #d5e4ff;
  box-shadow: 0 10px 24px rgba(45, 98, 190, 0.1);
}

.exact-replacement-card div {
  min-width: 0;
}

.exact-replacement-card strong {
  display: block;
  font-size: 13px;
  line-height: 1.25;
}

.exact-replacement-card span {
  display: block;
  margin-top: 4px;
  color: var(--mapcare-text-soft);
  font-size: 11px;
  line-height: 1.35;
}

.exact-replacement-card a {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(46, 107, 255, 0.1);
  color: var(--mapcare-primary-deep);
  font-size: 12px;
  font-weight: 700;
}

.exact-replaced-copy {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--mapcare-text);
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  box-shadow: 0 8px 18px rgba(34, 73, 143, 0.08);
}

.password-reset-identify-exact .exact-image-stage,
.password-reset-verify-exact .exact-image-stage,
.password-reset-security-exact .exact-image-stage,
.professional-entry-exact .exact-image-stage,
.healthcare-entry-exact .exact-image-stage,
.help-center-exact .exact-image-stage,
.contact-support-exact .exact-image-stage,
.discovery-hospital-exact .exact-image-stage,
.appointment-exact .exact-image-stage,
.smartuser-continuity-exact .exact-image-stage,
.identity-aadhaar-exact .exact-image-stage,
.install-prompt-exact .exact-image-stage,
.service-overview-exact .exact-image-stage,
.smartuser-entry-exact .exact-image-stage,
.care-circle-exact .exact-image-stage,
.records-exact .exact-image-stage,
.notifications-exact .exact-image-stage,
.settings-exact .exact-image-stage,
.policy-exact .exact-image-stage,
.device-management-exact .exact-image-stage,
.profile-exact .exact-image-stage,
.profile-personal-exact .exact-image-stage,
.profile-medical-exact .exact-image-stage,
.profile-lifestyle-exact .exact-image-stage,
.signup-profile-personal-exact .exact-image-stage,
.signup-profile-medical-exact .exact-image-stage,
.signup-profile-lifestyle-exact .exact-image-stage {
  height: auto;
  min-height: inherit;
  overflow: visible;
}

.password-reset-identify-exact .exact-image-art,
.password-reset-verify-exact .exact-image-art,
.password-reset-security-exact .exact-image-art,
.professional-entry-exact .exact-image-art,
.healthcare-entry-exact .exact-image-art,
.help-center-exact .exact-image-art,
.contact-support-exact .exact-image-art,
.discovery-hospital-exact .exact-image-art,
.appointment-exact .exact-image-art,
.smartuser-continuity-exact .exact-image-art,
.identity-aadhaar-exact .exact-image-art,
.install-prompt-exact .exact-image-art,
.service-overview-exact .exact-image-art,
.smartuser-entry-exact .exact-image-art,
.care-circle-exact .exact-image-art,
.records-exact .exact-image-art,
.notifications-exact .exact-image-art,
.settings-exact .exact-image-art,
.policy-exact .exact-image-art,
.device-management-exact .exact-image-art,
.profile-exact .exact-image-art,
.profile-personal-exact .exact-image-art,
.profile-medical-exact .exact-image-art,
.profile-lifestyle-exact .exact-image-art,
.signup-profile-personal-exact .exact-image-art,
.signup-profile-medical-exact .exact-image-art,
.signup-profile-lifestyle-exact .exact-image-art {
  width: 100%;
  max-width: 100%;
  transform: none;
}

.password-reset-identify-input {
  border-radius: 10px;
}

.login-exact-notice {
  top: 280px;
}

.signup-phone-notice {
  top: 280px;
}

.login-exact-input {
  border-radius: 16px;
  padding: 0 12px;
  color: #707070;
  font-size: 18px;
  font-weight: 700;
  caret-color: #1470f4;
}

.login-exact-input::placeholder {
  color: transparent;
}

.login-email-exact .login-exact-notice {
  top: 248px;
}

.login-email-exact .login-exact-input {
  font-size: 16px;
}

.signup-phone-input {
  letter-spacing: 0.02em;
}

.discovery-search-notice {
  top: 92px;
}

.discovery-search-input {
  color: #5f5f5f;
  font-size: 21px;
  font-weight: 500;
  caret-color: #1470f4;
}

.hospital-results-shell {
  background: #f5f7fb;
}

.hospital-results-shell::before {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 247, 251, 0.98) 36%, #f5f7fb 100%),
    radial-gradient(circle at 12% 0%, rgba(29, 166, 114, 0.1), transparent 34%);
}

.hospital-results-content {
  gap: 14px;
  padding: calc(env(safe-area-inset-top, 0px) + 18px) 16px calc(env(safe-area-inset-bottom, 0px) + 82px);
}

.hospital-results-header {
  display: grid;
  grid-template-columns: 54px 1fr 54px;
  align-items: center;
  gap: 8px;
}

.hospital-location-title {
  display: grid;
  gap: 2px;
  text-align: center;
}

.hospital-location-title strong {
  color: #1f2b3d;
  font-size: 17px;
  line-height: 1.15;
}

.hospital-location-title span {
  color: #6d7786;
  font-size: 11px;
}

.hospital-search-form {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  min-height: 50px;
  border: 1px solid #dce5ef;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(37, 62, 96, 0.07);
  overflow: hidden;
}

.hospital-search-form input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #27364b;
  font-size: 14px;
  padding: 0 14px;
}

.hospital-search-form input:focus {
  outline: 0;
}

.hospital-search-form button {
  align-self: stretch;
  border: 0;
  border-left: 1px solid #e3ebf5;
  background: #ffffff;
  color: #2369ea;
  font-size: 13px;
  font-weight: 700;
  padding: 0 14px;
}

.hospital-filter-row,
.hospital-chip-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}

.hospital-filter-row::-webkit-scrollbar,
.hospital-chip-row::-webkit-scrollbar {
  display: none;
}

.hospital-filter-row button,
.hospital-specialty-chip,
.hospital-accreditation-chip {
  flex: 0 0 auto;
  border-radius: 999px;
  border: 1px solid #dfe8f2;
  background: #ffffff;
  color: #506070;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 10px 12px;
}

.hospital-location-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-radius: 14px;
  background: #e9f8f0;
  color: #176a4b;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  padding: 11px 12px;
}

.hospital-location-chip span {
  min-width: 0;
}

.hospital-location-chip a {
  flex: 0 0 auto;
  color: #2369ea;
}

.hospital-results-list {
  display: grid;
  gap: 12px;
  max-height: calc(100svh - 338px);
  overflow-y: auto;
  padding: 0 2px 86px 0;
  scrollbar-width: none;
}

.hospital-results-list::-webkit-scrollbar {
  display: none;
}

.hospital-result-card {
  display: grid;
  gap: 12px;
  border: 1px solid #e0e8f1;
  border-radius: 18px;
  background: #ffffff;
  padding: 14px;
  box-shadow: 0 12px 28px rgba(40, 59, 83, 0.08);
}

.hospital-result-main {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
}

.hospital-result-avatar {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: #eef5ff;
  color: #2369ea;
  font-weight: 800;
}

.hospital-result-copy {
  min-width: 0;
}

.hospital-result-copy h2 {
  margin: 0;
  color: #1f2b3d;
  font-size: 16px;
  line-height: 1.2;
}

.hospital-address,
.hospital-status {
  margin: 4px 0 0;
  color: #657386;
  font-size: 12px;
  line-height: 1.35;
}

.hospital-status {
  color: #16895e;
  font-weight: 700;
}

.hospital-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-top: 8px;
  color: #4f5e70;
  font-size: 11px;
  line-height: 1.3;
}

.hospital-specialty-chip {
  background: #f7f9fc;
}

.hospital-accreditation-chip {
  background: #fff8e8;
  border-color: #f3dfad;
  color: #8c6813;
}

.hospital-card-footer {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
}

.hospital-detail-button {
  border-radius: 12px;
  background: #2369ea;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  padding: 11px 13px;
  white-space: nowrap;
}

.hospital-bottom-nav {
  position: fixed;
  left: 50%;
  right: auto;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  width: min(362px, calc(100vw - 28px));
  border: 1px solid #e2e9f2;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 30px rgba(31, 49, 78, 0.12);
  padding: 8px;
  transform: translateX(-50%);
}

.hospital-bottom-nav a {
  min-width: 0;
  border-radius: 14px;
  color: #6b788a;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 10px 4px;
  text-align: center;
}

.hospital-bottom-nav a.is-active {
  background: #edf4ff;
  color: #2369ea;
}

.password-reset-otp-grid {
  position: absolute;
  left: 9.2%;
  top: 42.8%;
  width: 81.6%;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  z-index: 3;
}

.password-reset-otp-slot {
  height: 48px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.55);
  border: 1.5px solid rgba(198, 198, 198, 0.55);
}

.password-reset-otp-slot.is-active {
  border-color: rgba(20, 112, 244, 0.85);
  box-shadow: 0 0 0 2px rgba(20, 112, 244, 0.12);
}

.password-reset-otp-slot.has-value {
  background: rgba(255, 255, 255, 0.82);
}

.password-reset-otp-input {
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  color: #4f4f4f;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
}

.password-reset-placeholder-sheet {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 24px 16px calc(env(safe-area-inset-bottom, 0px) + 18px);
  background: rgba(9, 21, 46, 0.18);
}

.password-reset-placeholder-card {
  width: 100%;
  border-radius: 24px;
  background: #ffffff;
  padding: 18px 18px 20px;
  box-shadow: 0 22px 48px rgba(18, 41, 84, 0.18);
}

.password-reset-placeholder-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.password-reset-placeholder-header strong {
  font-size: 18px;
}

.password-reset-placeholder-close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 0;
  background: rgba(46, 107, 255, 0.08);
  color: var(--mapcare-primary-deep);
  font-size: 24px;
  line-height: 1;
}

.password-reset-placeholder-card p {
  margin: 12px 0 0;
  color: var(--mapcare-text-soft);
  font-size: 13px;
  line-height: 1.5;
}

.password-reset-placeholder-form {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.password-reset-placeholder-form label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--mapcare-text);
}

.password-reset-placeholder-form input {
  width: 100%;
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid var(--mapcare-line);
  padding: 0 14px;
  color: var(--mapcare-text);
  font-size: 15px;
}

.password-reset-placeholder-form button {
  min-height: 48px;
  border-radius: 14px;
  border: 0;
  background: var(--mapcare-primary);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
}

.login-figma-recovery-link {
  display: inline-flex;
  margin-top: -2px;
  color: var(--mapcare-primary-deep);
  font-size: 13px;
  font-weight: 700;
}

.login-figma-shell::before {
  display: none;
}

.login-figma-canvas {
  position: relative;
  min-height: inherit;
  background: #ffffff;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.login-figma-status-spacer {
  height: 188px;
}

.login-figma-brand-row {
  width: min(346px, calc(100vw - 44px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.login-figma-brand-symbol {
  width: min(64px, calc((100vw - 44px) * 0.185));
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  flex: 0 0 auto;
}

.login-figma-brand-wordmark {
  width: min(218px, calc((100vw - 44px) * 0.63));
  max-width: calc(100% - 72px);
  height: auto;
  object-fit: contain;
  flex: 0 0 auto;
}

.login-figma-form {
  width: min(351px, calc(100vw - 40px));
  margin: 5px auto 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.login-figma-form.is-password-stage {
  margin-top: 16px;
}

.login-figma-field {
  width: 100%;
}

.login-figma-input {
  width: 100%;
  height: 48px;
  border: 1.5px solid #d3d3d3;
  border-radius: 16px;
  background: #ffffff;
  padding: 0 16px;
  color: #4a4a4a;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
}

.login-figma-input::placeholder {
  color: #939393;
}

.login-figma-input:focus {
  outline: none;
  border-color: #1470f4;
  box-shadow: 0 0 0 2px rgba(20, 112, 244, 0.12);
}

.login-figma-button {
  width: 100%;
  height: 44px;
  border-radius: 16px;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  transition: box-shadow 120ms ease, transform 120ms ease, border-color 120ms ease;
}

.login-figma-button:hover,
.login-figma-google:hover {
  transform: translateY(-1px);
}

.login-figma-button:disabled,
.login-figma-google:disabled {
  opacity: 0.72;
  transform: none;
}

.login-figma-button-primary {
  border: 0;
  background: #e6e6e6;
  color: #3c3c3c;
}

.login-figma-button-secondary {
  border: 1.5px solid #b0b0b0;
  background: #ffffff;
  color: #0066ff;
}

.login-figma-notice-wrap {
  margin-top: 4px;
}

.login-figma-notice-wrap .notice-box {
  margin-top: 0;
  border-radius: 8px;
}

.login-figma-or-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 4px;
}

.login-figma-line {
  flex: 1 1 auto;
  height: 1px;
  background: #d1d1d1;
}

.login-figma-or-copy {
  color: #c6c6c6;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
}

.login-figma-google {
  width: 100%;
  height: 40px;
  border: 2px solid #f1f1f1;
  border-radius: 8px;
  background: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px;
  color: #939393;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: clamp(14px, 4vw, 16px);
  font-weight: 500;
  line-height: normal;
  box-shadow: 4px 4px 13.5px rgba(0, 0, 0, 0.25);
}

.login-figma-google-icon {
  width: 24px;
  height: 24px;
  object-fit: cover;
  flex: 0 0 auto;
}

.login-figma-security {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 2px;
  color: #6b7785;
  font-size: clamp(11px, 3vw, 12px);
  font-weight: 500;
  line-height: normal;
  text-align: center;
  flex-wrap: wrap;
}

.login-figma-shield {
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
}

.login-figma-disclaimer {
  margin: 0;
  color: #6b7785;
  font-size: clamp(9px, 2.5vw, 10px);
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
}

.login-figma-disclaimer a {
  color: inherit;
  text-decoration: none;
}

.choose-current-shell {
  min-height: inherit;
  background: #fff;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.choose-current-shell::before {
  display: none;
}

.choose-current-canvas {
  position: relative;
  z-index: 1;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  padding: calc(env(safe-area-inset-top, 0px) + 70px) 20px calc(env(safe-area-inset-bottom, 0px) + 20px);
}

.choose-current-topbar {
  position: absolute;
  left: 20px;
  right: 20px;
  top: calc(env(safe-area-inset-top, 0px) + 70px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.choose-current-back {
  width: 42px;
  height: 28px;
  border: 0;
  background: transparent;
  color: #272727;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  text-align: left;
}

.choose-current-help {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  padding: 4px 12px;
  background: #d6efff;
  color: #0066ff;
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
}

.choose-current-hero {
  margin-top: 42px;
  min-height: 136px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.choose-current-hero h1,
.choose-current-hero p {
  margin: 0;
}

.choose-current-hero h1 {
  max-width: 170px;
  color: #0066ff;
  font-size: 20px;
  font-weight: 600;
  line-height: 24px;
}

.choose-current-hero p {
  margin-top: 10px;
  max-width: 190px;
  color: #727272;
  font-size: 12px;
  font-weight: 600;
  line-height: 14px;
}

.choose-current-hero-badge {
  width: 118px;
  height: 96px;
  border-radius: 28px;
  flex: 0 0 auto;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 34% 25%, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0) 38%),
    linear-gradient(145deg, #d6efff 0%, #ffffff 46%, #b5e4ff 100%);
  box-shadow: 0 18px 32px rgba(0, 102, 255, 0.12);
  color: #0066ff;
}

.choose-current-hero-badge span,
.choose-current-hero-badge strong {
  display: block;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.05;
}

.choose-current-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  margin-top: 2px;
}

.choose-current-card {
  min-height: 190px;
  border: 1.5px solid #b5e4ff;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  padding: 14px;
  background: #fff;
  text-align: left;
  box-shadow: 0 10px 24px rgba(0, 102, 255, 0.08);
}

.choose-current-card.is-smartuser {
  border-color: #b5e4ff;
  color: #0066ff;
}

.choose-current-card.is-professional {
  border-color: #a9f0c5;
  color: #19a85d;
}

.choose-current-card.is-entity {
  min-height: 204px;
  border-color: #d3c7ff;
  color: #6037d8;
}

.choose-current-card-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.choose-current-card-head strong,
.choose-current-card-head em,
.choose-current-list,
.choose-current-cta,
.choose-current-info strong,
.choose-current-info em,
.choose-current-info b,
.choose-current-bottom-nav span {
  display: block;
  font-style: normal;
}

.choose-current-card-head strong {
  color: #272727;
  font-size: 13px;
  font-weight: 700;
  line-height: 16px;
}

.choose-current-card-head em {
  margin-top: 4px;
  color: #727272;
  font-size: 10px;
  font-weight: 600;
  line-height: 12px;
}

.choose-current-card-head b {
  width: 31px;
  height: 31px;
  border-radius: 16px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: currentColor;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}

.choose-current-list {
  color: currentColor;
  font-size: 10px;
  font-weight: 700;
  line-height: 15px;
}

.choose-current-cta {
  min-height: 28px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: currentColor;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.choose-current-info {
  min-height: 54px;
  margin-top: 10px;
  border-top: 1px solid #b5e4ff;
  border-bottom: 1px solid #b5e4ff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 4px;
  color: #0066ff;
  text-decoration: none;
}

.choose-current-info span {
  min-width: 0;
}

.choose-current-info strong {
  color: #3c3c3c;
  font-size: 11px;
  font-weight: 700;
  line-height: 14px;
}

.choose-current-info em {
  margin-top: 2px;
  color: #727272;
  font-size: 9px;
  font-weight: 600;
  line-height: 12px;
}

.choose-current-info b {
  flex: 0 0 auto;
  color: #0066ff;
  font-size: 10px;
  font-weight: 800;
}

.choose-current-bottom-nav {
  min-height: 48px;
  margin-top: auto;
  border: 1px solid #c9f5d9;
  border-radius: 22px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  padding: 5px 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 8px 24px rgba(0, 102, 255, 0.08);
}

.choose-current-bottom-nav span {
  color: #727272;
  font-size: 8px;
  font-weight: 800;
  line-height: 10px;
  text-align: center;
}

.choose-current-back:focus-visible,
.choose-current-help:focus-visible,
.choose-current-card:focus-visible,
.choose-current-info:focus-visible {
  outline: 3px solid rgba(0, 102, 255, 0.24);
  outline-offset: 3px;
}

@media (max-width: 360px) {
  .choose-current-canvas {
    padding-left: 16px;
    padding-right: 16px;
  }

  .choose-current-topbar {
    left: 16px;
    right: 16px;
  }

  .choose-current-hero-badge {
    width: 92px;
    height: 82px;
    border-radius: 24px;
  }

  .choose-current-grid {
    grid-template-columns: 1fr;
  }

  .choose-current-card {
    min-height: 160px;
  }
}

.contact-current-shell {
  min-height: inherit;
  background: #fff;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.contact-current-shell::before {
  display: none;
}

.contact-current-canvas {
  position: relative;
  z-index: 1;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  padding: calc(env(safe-area-inset-top, 0px) + 70px) 20px calc(env(safe-area-inset-bottom, 0px) + 22px);
}

.contact-current-topbar {
  position: absolute;
  left: 20px;
  right: 20px;
  top: calc(env(safe-area-inset-top, 0px) + 70px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 24px;
}

.contact-current-topbar strong {
  color: #3c3c3c;
  font-size: 12px;
  font-weight: 600;
  line-height: 14px;
}

.contact-current-back {
  width: 42px;
  height: 28px;
  border: 0;
  background: transparent;
  color: #272727;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.contact-current-help {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  padding: 4px 12px;
  background: #d6efff;
  color: #0066ff;
  font-size: 10px;
  font-weight: 600;
  line-height: 12px;
}

.contact-current-hero {
  margin-top: 42px;
  min-height: 135px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.contact-current-hero h1,
.contact-current-hero p {
  margin: 0;
}

.contact-current-hero h1 {
  color: #272727;
  font-size: 20px;
  font-weight: 600;
  line-height: 24px;
}

.contact-current-hero p {
  margin-top: 8px;
  color: #727272;
  font-size: 12px;
  font-weight: 600;
  line-height: 14px;
  max-width: 190px;
}

.contact-current-hero-badge {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 35% 28%, #ffffff 0%, #d6efff 44%, #b5e4ff 100%);
  color: #0066ff;
  font-size: 16px;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(0, 102, 255, 0.12);
}

.contact-current-notice {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  margin-bottom: 10px;
}

.contact-current-card-stack {
  display: grid;
  gap: 4px;
}

.contact-current-card,
.contact-current-trust,
.contact-current-emergency {
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 16px;
  background: #fff;
  text-decoration: none;
}

.contact-current-card {
  min-height: 66px;
  padding: 8px 16px;
  border-bottom: 2px solid #b5e4ff;
}

.contact-current-icon {
  width: 39px;
  height: 39px;
  border-radius: 20px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f5fbff;
  color: #0066ff;
  font-size: 10px;
  font-weight: 800;
  box-shadow: 2px 2px 8px rgba(0, 136, 255, 0.14);
}

.contact-current-card span:not(.contact-current-icon),
.contact-current-trust span,
.contact-current-emergency span {
  min-width: 0;
  flex: 1;
}

.contact-current-card strong,
.contact-current-card em,
.contact-current-trust strong,
.contact-current-trust em,
.contact-current-emergency strong,
.contact-current-emergency em {
  display: block;
  font-style: normal;
}

.contact-current-card strong {
  color: #3c3c3c;
  font-size: 12px;
  font-weight: 600;
  line-height: 14px;
}

.contact-current-card em {
  margin-top: 4px;
  color: #727272;
  font-size: 12px;
  font-weight: 600;
  line-height: 14px;
}

.contact-current-card b {
  flex: 0 0 auto;
  color: #0066ff;
  font-size: 10px;
  font-weight: 600;
  line-height: 12px;
  text-align: right;
  max-width: 110px;
}

.contact-current-trust,
.contact-current-emergency {
  min-height: 62px;
  margin-top: 12px;
  padding: 8px 16px;
  border-top: 1.5px solid #b5e4ff;
  border-bottom: 1.5px solid #b5e4ff;
}

.contact-current-trust strong,
.contact-current-emergency strong {
  color: #272727;
  font-size: 10px;
  font-weight: 600;
  line-height: 12px;
}

.contact-current-trust em,
.contact-current-emergency em {
  margin-top: 4px;
  color: #727272;
  font-size: 10px;
  line-height: 12px;
}

.contact-current-trust b,
.contact-current-emergency b {
  flex: 0 0 auto;
  border-radius: 16px;
  padding: 4px 10px;
  color: #0066ff;
  font-size: 10px;
  font-weight: 600;
  line-height: 12px;
}

.contact-current-emergency {
  border-color: #e84b4b;
}

.contact-current-emergency em,
.contact-current-emergency b {
  color: #e84b4b;
}

.contact-current-emergency b {
  border: 1px solid #e84b4b;
}

.contact-current-footer {
  margin: 12px 0 0;
  color: #e84b4b;
  font-size: 10px;
  font-weight: 600;
  line-height: 12px;
  text-align: center;
}

.contact-current-back:focus-visible,
.contact-current-help:focus-visible,
.contact-current-card:focus-visible,
.contact-current-trust:focus-visible,
.contact-current-emergency:focus-visible {
  outline: 2px solid rgba(0, 102, 255, 0.28);
  outline-offset: 2px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.utility-pill,
.utility-chip,
.mini-link {
  border-radius: var(--mapcare-radius-chip);
  border: 1px solid var(--mapcare-line);
  background: rgba(255, 255, 255, 0.84);
  color: var(--mapcare-text-soft);
  font-size: 12px;
  padding: 9px 12px;
}

.flow-card {
  margin-top: 18px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(219, 228, 243, 0.82);
  border-radius: 26px;
  padding: 18px;
  box-shadow: 0 14px 24px rgba(42, 71, 138, 0.08);
}

.field-stack {
  display: grid;
  gap: 12px;
}

.field-label {
  font-size: 12px;
  color: var(--mapcare-text-soft);
  margin-bottom: 6px;
  display: block;
}

.field-input,
.search-input {
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid var(--mapcare-line);
  background: #fff;
  padding: 0 14px;
  color: var(--mapcare-text);
}

.field-input:focus,
.search-input:focus,
.otp-digit:focus {
  outline: 2px solid rgba(46, 107, 255, 0.16);
  border-color: var(--mapcare-primary);
}

.supporting-text,
.micro-copy,
.notice-copy {
  font-size: 12px;
  color: var(--mapcare-text-soft);
  line-height: 1.45;
}

.inline-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mapcare-primary);
  font-size: 13px;
  font-weight: 600;
  padding: 0;
  border: 0;
  background: transparent;
}

.divider-copy {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--mapcare-text-soft);
  font-size: 12px;
}

.divider-copy::before,
.divider-copy::after {
  content: "";
  height: 1px;
  flex: 1;
  background: var(--mapcare-line);
}

.notice-box {
  margin-top: 14px;
  border-radius: 16px;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.45;
}

.notice-box strong {
  display: block;
  margin-bottom: 4px;
}

.notice-info {
  background: rgba(46, 107, 255, 0.08);
  color: var(--mapcare-primary-deep);
}

.notice-success {
  background: rgba(30, 166, 114, 0.1);
  color: #147554;
}

.notice-warning {
  background: rgba(208, 141, 33, 0.12);
  color: #946314;
}

.notice-error {
  background: rgba(212, 73, 73, 0.1);
  color: #9f3434;
}

.account-closure-experience .current-tracker-body {
  display: grid;
  gap: 16px;
}

.account-closure-notice .notice-box {
  margin: 0;
}

.account-closure-status,
.account-closure-empty,
.account-closure-prerequisite,
.account-closure-form {
  border: 1px solid rgba(23, 74, 139, 0.16);
  border-radius: 18px;
  padding: 18px;
  background: #ffffff;
}

.account-closure-status > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.account-closure-status > div:first-child span,
.account-closure-status dt {
  color: var(--mapcare-text-soft);
  font-size: 12px;
  font-weight: 700;
}

.account-closure-status > div:first-child strong {
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(208, 141, 33, 0.12);
  color: #84570c;
  font-size: 12px;
  text-transform: capitalize;
}

.account-closure-status p,
.account-closure-empty p,
.account-closure-prerequisite p {
  margin: 10px 0 0;
  color: var(--mapcare-text-soft);
  line-height: 1.5;
}

.account-closure-status dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.account-closure-status dl div {
  min-width: 0;
  padding: 10px;
  border-radius: 12px;
  background: #f4f8ff;
}

.account-closure-status dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 750;
}

.account-closure-prerequisite .primary-button {
  margin-top: 16px;
}

.account-closure-form {
  display: grid;
  gap: 14px;
}

.account-closure-form > label:not(.account-closure-check) {
  display: grid;
  gap: 7px;
  color: #24364c;
  font-size: 14px;
  font-weight: 750;
}

.account-closure-form select,
.account-closure-form textarea,
.account-closure-form input[name="otp_code"] {
  width: 100%;
  min-height: 48px;
  border: 1px solid #b9c9dc;
  border-radius: 12px;
  padding: 11px 12px;
  background: #ffffff;
  color: #172b45;
  font: inherit;
}

.account-closure-form textarea {
  min-height: 92px;
  resize: vertical;
}

.account-closure-check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #42566f;
  font-size: 13px;
  line-height: 1.45;
}

.account-closure-check input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.account-closure-preview {
  margin: 0;
  border-radius: 12px;
  padding: 10px 12px;
  background: #eef5ff;
  color: #174e91;
  font-size: 13px;
}

.policy-document-disclosure {
  margin-top: 18px;
  border: 1px solid rgba(23, 74, 139, 0.16);
  border-radius: 16px;
  background: #ffffff;
}

.policy-document-disclosure summary {
  min-height: 48px;
  padding: 15px 16px;
  cursor: pointer;
  color: #0d5fc0;
  font-weight: 800;
}

.policy-document-disclosure[open] summary {
  border-bottom: 1px solid rgba(23, 74, 139, 0.12);
}

.policy-document-disclosure .legal-article {
  padding: 16px;
}

@media (max-width: 520px) {
  .account-closure-status dl {
    grid-template-columns: 1fr;
  }
}

.coded-auth-shell {
  background: #fff;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

.coded-auth-shell::before { display: none; }
.coded-auth-content {
  width: min(100%, 560px);
  margin: 0 auto;
  gap: 18px;
  padding: calc(env(safe-area-inset-top, 0px) + 18px) 24px calc(env(safe-area-inset-bottom, 0px) + 24px);
}

.coded-auth-topbar { min-height: 44px; display: flex; align-items: center; justify-content: space-between; }
.coded-auth-topbar button,
.coded-auth-topbar a,
.coded-auth-back-link {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: #dff2ff;
  color: #1470f4;
  font: inherit;
  font-weight: 700;
  text-decoration: none;
}

.coded-auth-topbar button,
.coded-auth-back-link { background: transparent; color: #252525; font-size: 28px; }
.coded-auth-wordmark { width: min(100%, 360px); height: auto; margin: clamp(10px, 5vh, 54px) auto 12px; object-fit: contain; }
.coded-auth-heading h1,
.coded-auth-heading p { margin: 0; }
.coded-auth-heading h1 { color: #222; font-size: clamp(34px, 8vw, 48px); line-height: 1.06; }
.coded-auth-heading .coded-auth-accent { margin-top: 6px; color: #1470f4; font-size: clamp(28px, 7vw, 40px); line-height: 1.1; }
.coded-auth-heading p:last-child { max-width: 440px; margin-top: 10px; color: #666; font-size: 17px; font-weight: 600; line-height: 1.35; }
.coded-auth-notice .notice-box { margin: 0; }

.coded-auth-form { display: grid; gap: 10px; }
.coded-auth-form label { color: #5f5f5f; font-size: 16px; font-weight: 700; }
.coded-auth-form input {
  width: 100%;
  min-height: 58px;
  padding: 0 18px;
  border: 2px solid #bdbdbd;
  border-radius: 16px;
  background: #fff;
  color: #252525;
  font: inherit;
  font-size: 17px;
}
.coded-auth-form input:focus { border-color: #1470f4; outline: 3px solid rgba(20, 112, 244, 0.15); }
.coded-auth-forgot { justify-self: end; min-height: 32px; display: inline-flex; align-items: center; color: #1470f4; font-weight: 650; text-decoration: none; }
.coded-auth-primary,
.coded-auth-secondary {
  width: 100%;
  min-height: 56px;
  border: 2px solid #1470f4;
  border-radius: 16px;
  font: inherit;
  font-size: 18px;
  font-weight: 700;
}
.coded-auth-primary { margin-top: 4px; background: #1470f4; color: #fff; }
.coded-personal-editor a.coded-auth-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.coded-personal-editor select,
.coded-personal-editor textarea {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  padding: 12px;
  border: 1px solid #c9cdd3;
  border-radius: 12px;
  background: #fff;
  color: inherit;
  font: inherit;
}
.coded-personal-editor textarea { min-height: 96px; resize: vertical; }
.coded-personal-editor select:focus-visible,
.coded-personal-editor textarea:focus-visible { outline: 3px solid #1470f4; outline-offset: 3px; }
.coded-auth-secondary { background: #fff; color: #1470f4; }
.coded-auth-primary:disabled,
.coded-auth-secondary:disabled { opacity: 0.58; cursor: not-allowed; }
.coded-auth-divider { display: flex; align-items: center; gap: 14px; color: #666; }
.coded-auth-divider::before,
.coded-auth-divider::after { content: ""; height: 1px; flex: 1; background: #cfcfcf; }
.coded-auth-google { min-height: 56px; display: flex; justify-content: center; overflow: hidden; border-radius: 16px; }
.coded-auth-google > div,
.coded-auth-google iframe { width: 100% !important; min-width: 100% !important; }
.coded-auth-google:focus-within { outline: 3px solid #ffbf47; outline-offset: 3px; }
.coded-auth-google iframe:focus-visible { outline: 3px solid #ffbf47; outline-offset: -3px; }
.coded-auth-account,
.coded-auth-trust,
.coded-auth-legal { margin: 0; text-align: center; }
.coded-auth-account a,
.coded-auth-legal a { display: inline-flex; align-items: center; min-height: 44px; color: #1470f4; font-weight: 700; }
.coded-auth-trust { color: #626262; font-weight: 700; }
.coded-auth-legal { color: #666; font-size: 13px; line-height: 1.5; }
.coded-auth-utility { display: flex; justify-content: center; gap: 18px; }
.coded-auth-utility a { min-height: 44px; display: inline-flex; align-items: center; color: #123f65; font-size: 12px; font-weight: 700; }
.coded-auth-topbar button:focus-visible,
.coded-auth-topbar a:focus-visible,
.coded-auth-forgot:focus-visible,
.coded-auth-primary:focus-visible,
.coded-auth-secondary:focus-visible,
.coded-auth-account a:focus-visible,
.coded-auth-legal a:focus-visible,
.coded-auth-utility a:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }

@media (max-width: 520px) {
  .coded-auth-content { padding-inline: 18px; }
  .coded-auth-wordmark { width: min(100%, 310px); }
}

.coded-profile-shell { background: #fff; font-family: "Inter", "Segoe UI", Arial, sans-serif; }
.coded-profile-shell::before { display: none; }
.coded-profile-content { width: min(100%, 720px); margin: 0 auto; gap: 18px; padding: calc(env(safe-area-inset-top, 0px) + 18px) 24px calc(env(safe-area-inset-bottom, 0px) + 28px); }
.coded-profile-wordmark { width: min(100%, 260px); height: auto; object-fit: contain; }
.coded-profile-heading p,
.coded-profile-heading h1,
.coded-profile-heading strong { margin: 0; }
.coded-profile-heading h1 { color: #1470f4; font-size: clamp(30px, 7vw, 42px); line-height: 1.08; }
.coded-profile-heading p { margin-top: 9px; color: #626262; font-size: 16px; font-weight: 600; line-height: 1.4; }
.coded-profile-heading strong { display: block; margin-top: 18px; color: #252525; font-size: 22px; }
.coded-profile-form { display: grid; gap: 15px; }
.coded-profile-form > label,
.coded-profile-grid label { display: grid; gap: 7px; color: #555; font-size: 14px; font-weight: 750; }
.coded-profile-form label > span { font-size: 12px; font-weight: 500; }
.coded-profile-form input,
.coded-profile-form select {
  width: 100%;
  min-height: 52px;
  padding: 0 14px;
  border: 1.5px solid #c5cbd3;
  border-radius: 13px;
  background: #fff;
  color: #252525;
  font: inherit;
  font-size: 16px;
  font-weight: 500;
}
.coded-profile-form input:focus,
.coded-profile-form select:focus { border-color: #1470f4; outline: 3px solid rgba(20, 112, 244, 0.15); }
.coded-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.coded-profile-verified { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.coded-profile-verified input { background: #f3f7fb; color: #526273; }
.coded-profile-verified button,
.coded-profile-photo-row button {
  min-height: 44px;
  padding: 0 15px;
  border: 1.5px solid #1470f4;
  border-radius: 12px;
  background: #fff;
  color: #1470f4;
  font: inherit;
  font-weight: 700;
}
.coded-profile-photo-row { display: flex; align-items: center; gap: 12px; color: #647487; font-size: 13px; }
.coded-profile-privacy { margin: 0; color: #66788c; font-size: 13px; line-height: 1.45; text-align: center; }
.coded-profile-privacy a { color: #1470f4; font-weight: 700; }
.coded-profile-verified button:focus-visible,
.coded-profile-photo-row button:focus-visible,
.coded-profile-privacy a:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }

@media (max-width: 560px) {
  .coded-profile-content { padding-inline: 18px; }
  .coded-profile-grid { grid-template-columns: 1fr; }
  .coded-profile-photo-row { align-items: flex-start; flex-direction: column; }
}

.coded-recovery-shell,
.coded-reset-shell { background: #fff; font-family: "Inter", "Segoe UI", Arial, sans-serif; }
.coded-recovery-shell::before,
.coded-reset-shell::before { display: none; }
.coded-recovery-content,
.coded-reset-content { width: min(100%, 760px); margin: 0 auto; gap: 22px; padding: calc(env(safe-area-inset-top, 0px) + 18px) 24px calc(env(safe-area-inset-bottom, 0px) + 28px); }
.coded-recovery-topbar { min-height: 48px; display: grid; grid-template-columns: 52px 1fr 70px; align-items: center; gap: 10px; }
.coded-recovery-topbar h1 { margin: 0; color: #252525; font-size: 22px; text-align: center; }
.coded-recovery-topbar button,
.coded-recovery-topbar a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; background: transparent; color: #1470f4; font: inherit; font-weight: 700; text-decoration: none; }
.coded-recovery-topbar button { color: #252525; font-size: 28px; }
.coded-recovery-heading h2,
.coded-recovery-heading p,
.coded-recovery-options h2,
.coded-recovery-options p,
.coded-recovery-boundary h2,
.coded-recovery-boundary p { margin: 0; }
.coded-recovery-heading h2 { color: #252525; font-size: clamp(34px, 8vw, 48px); line-height: 1.08; }
.coded-recovery-heading p { max-width: 560px; margin-top: 12px; color: #666; font-size: 17px; font-weight: 600; line-height: 1.38; }
.coded-recovery-options h2,
.coded-recovery-boundary h2 { color: #303030; font-size: 23px; }
.coded-recovery-options > p,
.coded-recovery-boundary > p { margin-top: 8px; color: #666; line-height: 1.4; }
.coded-recovery-options > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin-top: 18px; }
.coded-recovery-options a { min-height: 112px; display: flex; align-items: center; justify-content: center; padding: 16px; border: 2px solid #77cdf6; border-radius: 18px; color: #525252; font-size: 16px; font-weight: 750; line-height: 1.2; text-align: center; text-decoration: none; }
.coded-recovery-boundary { display: grid; gap: 12px; padding: 18px; border: 1px solid #a9dff8; border-radius: 20px; background: #f8fcff; }
.coded-recovery-boundary .coded-auth-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.coded-recovery-links { display: grid; gap: 12px; }
.coded-recovery-links a { display: grid; gap: 4px; min-height: 72px; padding: 15px 18px; border: 1px solid #a9dff8; border-radius: 18px; color: #252525; text-decoration: none; }
.coded-recovery-links span { color: #617182; font-size: 14px; }

.coded-reset-progress { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin: 0; padding: 0; list-style: none; }
.coded-reset-progress li { position: relative; padding-top: 30px; color: #777; font-size: 11px; font-weight: 700; text-align: center; }
.coded-reset-progress li::before { content: ""; position: absolute; top: 0; left: 50%; width: 24px; height: 24px; transform: translateX(-50%); border-radius: 50%; background: #aaa; }
.coded-reset-progress li.is-active { color: #1470f4; }
.coded-reset-progress li.is-active::before { background: #1470f4; }
.coded-reset-progress.is-complete li { color: #5d7187; }
.coded-reset-progress.is-complete li::before { content: "✓"; display: grid; place-items: center; background: #deecff; color: #1470f4; font-size: 14px; }
.coded-reset-progress.is-complete li.is-active { color: #087a48; }
.coded-reset-progress.is-complete li.is-active::before {
  background: #24a866;
  color: #fff;
  box-shadow: 0 0 0 5px #dff7e8;
  transform: translateX(-50%) scale(1.08);
}
.coded-reset-heading h1,
.coded-reset-heading p,
.coded-reset-card h2,
.coded-reset-card > p { margin: 0; }
.coded-reset-heading h1 { color: #252525; font-size: clamp(34px, 8vw, 48px); line-height: 1.08; }
.coded-reset-heading h1 span { color: #1470f4; }
.coded-reset-heading p { max-width: 540px; margin-top: 10px; color: #626262; font-size: 17px; font-weight: 600; line-height: 1.4; }
.coded-reset-card { display: grid; gap: 14px; padding: 20px; border: 1px solid #d9e3ec; border-radius: 20px; box-shadow: 0 8px 24px rgba(18, 65, 110, 0.06); }
.coded-reset-card h2 { color: #333; font-size: 23px; }
.coded-reset-card > p { color: #666; line-height: 1.4; }
.coded-reset-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.coded-reset-modes button { min-height: 50px; border: 1.5px solid #aaa; background: #fff; color: #777; font: inherit; font-weight: 700; }
.coded-reset-modes button:first-child { border-radius: 14px 0 0 14px; }
.coded-reset-modes button:last-child { border-radius: 0 14px 14px 0; }
.coded-reset-modes button[aria-pressed="true"] { z-index: 1; border-color: #1470f4; color: #1470f4; box-shadow: 0 0 0 1px #1470f4; }
.coded-reset-complete { text-align: center; }
.coded-reset-complete .coded-auth-topbar a { background: transparent; color: #5d7187; font-size: 14px; font-weight: 600; }
.coded-reset-success-mark { width: clamp(132px, 34vw, 196px); aspect-ratio: 1; display: grid; place-items: center; margin: 4px auto 0; border-radius: 50%; background: radial-gradient(circle at 50% 45%, #f5fff8 0 43%, #dff7e8 44% 67%, #f7fcff 68%); }
.coded-reset-success-mark span { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 24px; background: #24a866; color: #fff; font-size: 46px; font-weight: 800; box-shadow: 0 14px 30px rgba(36, 168, 102, .22); }
.coded-reset-success-copy { max-width: 580px; margin: 0 auto; }
.coded-reset-success-copy .screen-kicker { margin: 0 0 6px; color: #1470f4; font-weight: 750; }
.coded-reset-success-copy h1 { margin: 0; color: #252525; font-size: clamp(34px, 8vw, 48px); line-height: 1.08; }
.coded-reset-success-copy > p:last-child { margin: 12px 0 0; color: #626262; font-size: 17px; font-weight: 600; line-height: 1.42; }
.coded-reset-next { display: grid; gap: 10px; padding: 20px; border: 1px solid #d9e3ec; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(18, 65, 110, .06); text-align: left; }
.coded-reset-next h2, .coded-reset-next p { margin: 0; }
.coded-reset-next h2 { color: #303030; font-size: 21px; }
.coded-reset-next p { color: #626262; line-height: 1.42; }
.coded-reset-next .coded-auth-primary { margin-top: 4px; text-align: center; text-decoration: none; }
.coded-reset-secondary { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; }
.coded-reset-secondary a { min-height: 44px; display: inline-flex; align-items: center; color: #1470f4; font-weight: 700; text-decoration: none; }
.coded-recovery-topbar button:focus-visible,
.coded-recovery-topbar a:focus-visible,
.coded-recovery-options a:focus-visible,
.coded-recovery-links a:focus-visible,
.coded-reset-modes button:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }
.coded-reset-secondary a:focus-visible { outline: 3px solid #ffbf47; outline-offset: 3px; }

@media (max-width: 560px) {
  .coded-recovery-content,
  .coded-reset-content { padding-inline: 18px; }
  .coded-recovery-options > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coded-recovery-options a { min-height: 96px; }
}

.otp-figma-shell::before {
  display: none;
}

.otp-figma-shell,
.otp-figma-canvas {
  background: #fff;
}

.otp-figma-content {
  padding: 0;
}

.otp-figma-canvas {
  min-height: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(94px, 28.98vw, 113px) 20px calc(env(safe-area-inset-bottom, 0px) + 18px);
}

.otp-figma-status-spacer {
  display: none;
}

.otp-figma-icon-wrap {
  width: clamp(43px, 13.59vw, 53px);
  height: clamp(43px, 13.59vw, 53px);
  margin-bottom: 25px;
}

.otp-figma-icon {
  width: 100%;
  height: 100%;
  display: block;
}

.otp-figma-heading-wrap {
  width: min(240px, calc(100vw - 110px));
  text-align: center;
  margin-bottom: 19px;
}

.otp-figma-title {
  margin: 0;
  color: #0c4392;
  font-size: clamp(18px, 5.13vw, 20px);
  font-weight: 600;
  line-height: 1.2;
}

.otp-figma-subtitle {
  margin: 3px 0 0;
  color: #4a4a4a;
  font-size: clamp(13px, 3.59vw, 14px);
  font-weight: 500;
  line-height: 1.2;
}

.otp-figma-notice-wrap {
  width: min(351px, calc(100vw - 40px));
  margin-bottom: 14px;
}

.otp-figma-contact-row {
  width: fit-content;
  max-width: min(351px, calc(100vw - 40px));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
}

.otp-figma-contact-chip {
  width: clamp(31px, 9.23vw, 36px);
  height: clamp(32px, 9.49vw, 37px);
  flex: 0 0 auto;
}

.otp-figma-contact-icon,
.otp-figma-pencil {
  width: 100%;
  height: 100%;
  display: block;
}

.otp-figma-contact-text {
  flex: 0 1 auto;
  min-width: 0;
  color: #101010;
  font-size: clamp(13px, 3.59vw, 14px);
  font-weight: 400;
  line-height: 1.15;
  white-space: nowrap;
}

.otp-figma-change {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #1470f4;
  font-size: clamp(13px, 3.59vw, 14px);
  font-weight: 500;
  line-height: 1;
}

.otp-figma-pencil {
  width: 12px;
  height: 12px;
}

.otp-figma-grid {
  width: min(351px, calc(100vw - 40px));
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(8px, 3.59vw, 14px);
  margin-bottom: 16px;
}

.otp-figma-slot {
  position: relative;
  display: block;
  height: clamp(52px, 15.13vw, 59px);
  border: 1px solid #c6c6c6;
  border-radius: 4px;
  background: #f8f8f8;
  transition: border-color 120ms ease;
}

.otp-figma-slot.is-active {
  border-color: #1470f4;
}

.otp-figma-slot.has-value {
  border-color: #b8c2d4;
}

.otp-figma-digit {
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
  color: #1470f4;
  text-align: center;
  font-size: clamp(21px, 5.64vw, 22px);
  font-weight: 500;
  line-height: 1;
  padding: 0;
  outline: 0;
}

.otp-figma-digit:focus {
  outline: 0;
}

.otp-figma-caret-wrap {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.otp-figma-slot.is-active:not(.has-value) .otp-figma-caret-wrap {
  display: flex;
}

.otp-figma-caret {
  width: 3px;
  height: 28px;
  display: block;
}

.otp-figma-resend-block {
  width: min(351px, calc(100vw - 40px));
  text-align: center;
  margin-bottom: 15px;
}

.otp-figma-resend-label {
  margin: 0;
  color: #505964;
  font-size: clamp(13px, 3.59vw, 14px);
  font-weight: 500;
  line-height: 1.25;
}

.otp-figma-resend-copy {
  margin: 4px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #505964;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
}

.otp-figma-resend-copy span {
  color: #1470f4;
}

.otp-figma-resend-copy:disabled {
  opacity: 1;
  cursor: default;
}

.otp-figma-verify {
  width: min(315px, calc(100vw - 76px));
  min-height: 36px;
  border: 0;
  border-radius: 4px;
  background: #1470f4;
  color: #fff;
  font-size: clamp(14px, 3.85vw, 15px);
  font-weight: 500;
  line-height: 1.2;
}

.otp-figma-verify:disabled {
  opacity: 0.8;
}

.profile-figma-shell::before {
  display: none;
}

.profile-figma-shell,
.profile-figma-canvas {
  background: #fff;
}

.profile-figma-content {
  padding: 0;
}

.profile-figma-canvas {
  min-height: inherit;
  position: relative;
  padding: 53px 19px calc(env(safe-area-inset-bottom, 0px) + 18px);
}

.profile-figma-back {
  position: absolute;
  top: 62px;
  left: 24px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
}

.profile-figma-back img {
  width: 100%;
  height: 100%;
  display: block;
}

.profile-figma-hero {
  width: min(331px, calc(100vw - 60px));
  margin: 0 auto;
}

.profile-figma-hero img {
  width: 100%;
  display: block;
}

.profile-figma-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 8px 0 19px;
}

.profile-figma-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b7bcc4;
}

.profile-figma-dot.is-active {
  background: #1470f4;
}

.profile-figma-heading,
.profile-figma-notice-wrap,
.profile-figma-form {
  width: min(351px, calc(100vw - 39px));
  margin-left: auto;
  margin-right: auto;
}

.profile-figma-heading {
  margin-bottom: 16px;
}

.profile-figma-title {
  margin: 0;
  color: #1b1e21;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
}

.profile-figma-copy {
  margin: 8px 0 0;
  color: #373737;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.333;
}

.profile-figma-notice-wrap {
  margin-bottom: 16px;
}

.profile-figma-form {
  display: flex;
  flex-direction: column;
}

.profile-figma-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.profile-figma-row-top {
  margin-bottom: 16px;
  align-items: end;
}

.profile-figma-row-split {
  margin-bottom: 16px;
}

.profile-figma-field-full {
  margin-bottom: 16px;
}

.profile-figma-label {
  display: block;
  margin-bottom: 8px;
  color: #939393;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
}

.profile-figma-label-spacer {
  visibility: hidden;
}

.profile-figma-input-wrap,
.profile-figma-mobile,
.profile-figma-upload {
  min-height: 40px;
  border: 2px solid #e7eaed;
  border-radius: 8px;
  background: #fff;
}

.profile-figma-input-wrap {
  position: relative;
}

.profile-figma-input {
  width: 100%;
  min-height: 36px;
  border: 0;
  background: transparent;
  color: #1b1e21;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  padding: 11px 16px;
}

.profile-figma-input::placeholder {
  color: #6e6e6e;
}

.profile-figma-input-icon {
  padding-right: 46px;
}

.profile-figma-inline-icon {
  position: absolute;
  top: 8px;
  right: 16px;
  width: 24px;
  height: 24px;
  display: block;
}

.profile-figma-inline-icon-small {
  position: static;
  width: 14px;
  height: 14px;
}

.profile-figma-mobile {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 8px 0 16px;
}

.profile-figma-mobile-prefix,
.profile-figma-mobile-value {
  color: #6e6e6e;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
}

.profile-figma-mobile-divider {
  width: 1px;
  height: 24px;
  background: #d9dee5;
  flex: 0 0 auto;
}

.profile-figma-mobile-value {
  flex: 1 1 auto;
  min-width: 0;
}

.profile-figma-upload {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 8px 0 16px;
  color: #939393;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
}

.profile-figma-upload img {
  width: 24px;
  height: 24px;
  display: block;
}

.profile-figma-gender-group {
  margin: 0 0 16px;
  padding: 0;
  border: 0;
}

.profile-figma-gender-group .profile-figma-label {
  margin-bottom: 8px;
}

.profile-figma-gender-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-right: 5px;
}

.profile-figma-choice-input,
.profile-figma-consent-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.profile-figma-choice-radio {
  position: relative;
  width: 19.5px;
  height: 19.5px;
  flex: 0 0 auto;
}

.profile-figma-choice-radio img,
.profile-figma-consent-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.profile-figma-choice-radio-on,
.profile-figma-consent-on {
  display: none;
}

.profile-figma-choice-input:checked + .profile-figma-choice-radio .profile-figma-choice-radio-on,
.profile-figma-consent-input:checked + .profile-figma-consent-visual .profile-figma-consent-on {
  display: block;
}

.profile-figma-choice-input:checked + .profile-figma-choice-radio .profile-figma-choice-radio-off,
.profile-figma-consent-input:checked + .profile-figma-consent-visual .profile-figma-consent-off {
  display: none;
}

.profile-figma-choice-icon {
  width: 20px;
  height: 20px;
  display: block;
}

.profile-figma-choice-text {
  color: #505964;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
}

.profile-figma-consents {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
}

.profile-figma-consent-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.profile-figma-consent-toggle {
  display: inline-flex;
  align-items: center;
}

.profile-figma-consent-visual {
  position: relative;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.profile-figma-consent-copy {
  color: #4a4a4a;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
}

.profile-figma-consent-copy a,
.profile-figma-login-copy a {
  color: #1470f4;
  text-decoration: none;
}

.profile-figma-submit {
  width: 100%;
  min-height: 40px;
  border: 0;
  border-radius: 8px;
  background: #1470f4;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.08px;
}

.profile-figma-submit:disabled {
  opacity: 0.82;
}

.profile-figma-login-copy {
  margin: 8px 0 0;
  text-align: center;
  color: #4a4a4a;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
}

.profile-figma-security-copy {
  margin: 2px 0 0;
  text-align: center;
  color: #000;
  font-size: 8px;
  font-weight: 500;
  line-height: 1.2;
}

.profile-figma-back:focus-visible,
.profile-figma-upload:focus-visible,
.profile-figma-submit:focus-visible,
.profile-figma-input:focus-visible,
.profile-figma-choice-input:focus-visible + .profile-figma-choice-radio,
.profile-figma-consent-input:focus-visible + .profile-figma-consent-visual {
  outline: 2px solid rgba(20, 112, 244, 0.24);
  outline-offset: 2px;
}

@media (max-width: 340px) {
  .profile-figma-canvas {
    padding-left: 16px;
    padding-right: 16px;
  }

  .profile-figma-row {
    gap: 10px;
  }

  .profile-figma-choice-text,
  .profile-figma-label,
  .profile-figma-upload {
    font-size: 13px;
  }

  .profile-figma-consent-copy,
  .profile-figma-login-copy {
    font-size: 11px;
  }
}

.smartuser-guest-shell {
  min-height: inherit;
  background: #fff;
  font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.smartuser-guest-shell::before {
  display: none;
}

.smartuser-guest-ellipse {
  position: absolute;
  left: 68px;
  top: 642px;
  width: 100px;
  height: 100px;
  z-index: 0;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(208, 226, 253, 0.78) 0%, rgba(208, 226, 253, 0) 72%);
}

.smartuser-guest-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: inherit;
  padding: calc(env(safe-area-inset-top, 0px) + 18px) 19px calc(env(safe-area-inset-bottom, 0px) + 7px);
  color: #252525;
}

.smartuser-guest-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.smartuser-guest-brand-group {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.smartuser-guest-brand-symbol {
  width: 32px;
  height: 32px;
  display: block;
  object-fit: contain;
}

.smartuser-guest-location {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.smartuser-guest-location img {
  width: 24px;
  height: 24px;
  display: block;
  object-fit: contain;
}

.smartuser-guest-location span {
  color: #000;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.08px;
}

.smartuser-guest-top-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.smartuser-guest-top-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.smartuser-guest-top-icon img {
  width: 24px;
  height: 24px;
  display: block;
  object-fit: contain;
}

.smartuser-guest-hero-row {
  display: grid;
  grid-template-columns: 171px minmax(0, 1fr);
  align-items: start;
  margin-top: 28px;
}

.smartuser-guest-hero-copy {
  padding-top: 49px;
  max-width: 171px;
}

.smartuser-guest-hero-title {
  margin: 0;
  color: #252525;
  font-size: 20px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.08px;
}

.smartuser-guest-hero-title span {
  color: #1470f4;
}

.smartuser-guest-hero-description {
  margin: 10px 0 0;
  color: #4a4a4a;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: -0.08px;
}

.smartuser-guest-hero-dots {
  width: 60px;
  height: 6px;
  display: block;
  margin-top: 18px;
}

.smartuser-guest-hero-art {
  display: flex;
  justify-content: flex-end;
}

.smartuser-guest-hero-art img {
  width: 194px;
  max-width: none;
  height: auto;
  display: block;
  margin: 6px 0 0;
}

.smartuser-guest-search {
  margin-top: 14px;
}

.smartuser-guest-search-field {
  height: 44px;
  display: flex;
  align-items: center;
  gap: 4px;
  border: 1px solid #cfd5dc;
  border-radius: 100px;
  padding: 0 16px;
  background: #fff;
  box-shadow: 4px 18px 8px rgba(0, 0, 0, 0.15);
}

.smartuser-guest-search-field > img {
  width: 20px;
  height: 20px;
  display: block;
  object-fit: contain;
  flex: 0 0 auto;
}

.smartuser-guest-search-field input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  color: #6e6e6e;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: -0.08px;
  padding: 0;
}

.smartuser-guest-search-field input::placeholder {
  color: #6e6e6e;
  opacity: 1;
}

.smartuser-guest-mic {
  position: relative;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.smartuser-guest-mic::before {
  content: "";
  position: absolute;
  left: 5.9px;
  top: 2.7px;
  width: 8.2px;
  height: 10.3px;
  border: 1.6px solid #505964;
  border-radius: 7px;
}

.smartuser-guest-mic::after {
  content: "";
  position: absolute;
  left: 8.9px;
  top: 13.2px;
  width: 2px;
  height: 4.4px;
  background: #505964;
  border-radius: 999px;
  box-shadow: -4px 4px 0 -1px #505964, 4px 4px 0 -1px #505964;
}

.smartuser-guest-shell .notice-box {
  margin-top: 14px;
}

.smartuser-guest-section {
  margin-top: 16px;
}

.smartuser-guest-section-title {
  margin: 0 0 16px;
  color: #252525;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.08px;
}

.smartuser-guest-service-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px 8px;
}

.smartuser-guest-service-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}

.smartuser-guest-service-item.is-coming-soon,
.service-item.is-coming-soon {
  cursor: not-allowed;
  opacity: 0.62;
}

.smartuser-guest-service-state,
.service-launch-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 18px;
  padding: 2px 6px;
  border: 1px solid #9eb9dd;
  border-radius: 999px;
  background: #f3f7fc;
  color: #365b87;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0;
  white-space: nowrap;
}

.smartuser-guest-service-icon {
  position: relative;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.smartuser-guest-service-state {
  position: absolute;
  top: -5px;
  right: -16px;
  z-index: 1;
  min-height: 16px;
  max-width: 42px;
  padding: 2px 5px;
  border-color: #88a9d4;
  background: #fff;
  box-shadow: 0 2px 6px rgba(37, 83, 139, 0.16);
  font-size: 8px;
  line-height: 1;
  white-space: normal;
}

.smartuser-guest-service-badge {
  width: 36px;
  height: 36px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d0e2fd;
  background: #e8f1fe;
  box-shadow: 0 2px 3.5px #d0e2fd;
}

.smartuser-guest-service-badge img {
  width: 24px;
  height: 24px;
  display: block;
  object-fit: contain;
}

.smartuser-guest-service-icon.is-standalone img {
  width: 50px;
  height: 50px;
  display: block;
  object-fit: contain;
}

.smartuser-guest-service-label {
  color: #000;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.08px;
}

.role-choice-shell {
  background: #fff;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

.role-choice-content {
  gap: 24px;
  padding: calc(env(safe-area-inset-top, 0px) + 22px) 22px calc(env(safe-area-inset-bottom, 0px) + 28px);
}

.role-choice-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.role-choice-back,
.role-choice-help {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #1470f4;
  font: inherit;
  font-weight: 700;
  text-decoration: none;
}

.role-choice-back {
  color: #252525;
  font-size: 28px;
}

.role-choice-help {
  gap: 6px;
  padding: 0 14px;
  background: #dff2ff;
}

.role-choice-heading h1,
.role-choice-heading p {
  margin: 0;
}

.role-choice-heading h1 {
  margin-top: 5px;
  color: #1470f4;
  font-size: clamp(30px, 7vw, 42px);
  font-weight: 600;
  line-height: 1.08;
}

.role-choice-heading > p:last-child {
  max-width: 620px;
  margin-top: 12px;
  color: #666;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
}

.role-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.role-choice-internal-entry {
  width: 100%;
  min-height: 48px;
  margin-top: 16px;
  border: 1px solid #1470f4;
  border-radius: 14px;
  background: #fff;
  color: #1459ae;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.role-choice-internal-entry:disabled { cursor: wait; opacity: .7; }

.role-choice-card {
  --role-color: #1470f4;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 330px;
  padding: 22px;
  border: 2px solid color-mix(in srgb, var(--role-color) 45%, white);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 30px color-mix(in srgb, var(--role-color) 10%, transparent);
}

.role-choice-card.is-professional { --role-color: #1eae58; }
.role-choice-card.is-entity { --role-color: #744ce3; }

.role-choice-card-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px;
  gap: 12px;
  align-items: start;
}

.role-choice-card h2,
.role-choice-card p {
  margin: 0;
}

.role-choice-card h2 {
  color: var(--role-color);
  font-size: 24px;
  line-height: 1.15;
}

.role-choice-card p {
  margin-top: 8px;
  color: #666;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}

.role-choice-card-heading img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.role-choice-card ul {
  display: grid;
  gap: 10px;
  margin: 20px 0 22px;
  padding: 0;
  color: var(--role-color);
  font-size: 15px;
  font-weight: 650;
  list-style: none;
}

.role-choice-card li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.role-choice-card li span {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid currentColor;
  border-radius: 50%;
  font-size: 12px;
}

.role-choice-card > button {
  width: 100%;
  min-height: 52px;
  margin-top: auto;
  border: 0;
  border-radius: 14px;
  background: var(--role-color);
  color: #fff;
  font: inherit;
  font-size: 18px;
  font-weight: 700;
}

.role-choice-switch-note {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 18px;
  padding: 18px 20px;
  border: 1px solid #b5def8;
  border-radius: 22px;
  background: #fff;
  color: #252525;
}

.role-choice-switch-note span {
  color: #666;
}

.role-choice-switch-note a {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  color: #1470f4;
  font-weight: 700;
  text-decoration: none;
}

.role-choice-back:focus-visible,
.role-choice-help:focus-visible,
.role-choice-card > button:focus-visible,
.role-choice-internal-entry:focus-visible,
.role-choice-switch-note a:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}

@media (min-width: 760px) {
  .role-choice-content {
    width: min(100%, 920px);
    margin: 0 auto;
  }

  .role-choice-card.is-entity {
    grid-column: 1 / -1;
    width: calc(50% - 8px);
  }
}

@media (max-width: 759px) {
  .role-choice-grid {
    grid-template-columns: 1fr;
  }

  .role-choice-card {
    min-height: 0;
  }

  .role-choice-switch-note {
    grid-template-columns: 1fr;
  }

  .role-choice-switch-note a {
    grid-column: 1;
    grid-row: auto;
    margin-top: 8px;
  }
}

.role-entry-shell {
  background: #fff;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

.role-entry-content {
  width: min(100%, 820px);
  margin: 0 auto;
  gap: 22px;
  padding: calc(env(safe-area-inset-top, 0px) + 20px) 22px calc(env(safe-area-inset-bottom, 0px) + 30px);
}

.role-entry-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.role-entry-topbar button,
.role-entry-topbar a {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #1470f4;
  font: inherit;
  font-weight: 700;
  text-decoration: none;
}

.role-entry-topbar button {
  color: #252525;
  font-size: 28px;
}

.role-entry-wordmark {
  width: min(100%, 280px);
  height: auto;
  object-fit: contain;
  align-self: flex-start;
}

.role-entry-heading {
  text-align: center;
}

.role-entry-heading h1,
.entity-entry-heading h1 {
  margin: 0;
  color: #252525;
  font-size: clamp(30px, 7vw, 44px);
  line-height: 1.08;
}

.role-entry-heading p,
.entity-entry-heading p {
  max-width: 650px;
  margin: 14px auto 0;
  color: #666;
  font-size: 17px;
  line-height: 1.38;
}

.role-entry-hero-icon {
  width: 124px;
  height: 124px;
  align-self: center;
  object-fit: contain;
}

.professional-benefit-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #e2e2e2;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.professional-benefit-list article {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  border-bottom: 1px solid #e5e5e5;
}

.professional-benefit-list article:nth-last-child(-n + 2) { border-bottom: 0; }

.professional-benefit-list article > span {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eaf5ff;
}

.professional-benefit-list img { width: 28px; height: 28px; object-fit: contain; }
.professional-benefit-list h2,
.professional-benefit-list p { margin: 0; }
.professional-benefit-list h2 { color: #3d3d3d; font-size: 18px; }
.professional-benefit-list p { margin-top: 6px; color: #555; font-size: 14px; line-height: 1.35; }

.role-entry-primary,
.role-entry-secondary {
  width: 100%;
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #1470f4;
  border-radius: 14px;
  font: inherit;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.role-entry-primary { background: #1470f4; color: #fff; }
.role-entry-secondary { background: #fff; color: #1470f4; }

.entity-entry-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 18px;
  align-items: center;
}

.entity-entry-heading h1 span { color: #1470f4; }
.entity-entry-heading img { width: 150px; height: 150px; object-fit: contain; }
.entity-register-button { width: min(100%, 430px); }

.entity-type-section h2,
.entity-steps h2,
.entity-reasons h2 { margin: 0 0 16px; color: #3c3c3c; font-size: 22px; }

.entity-type-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 12px;
}

.entity-type-item {
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #252525;
  text-align: center;
}

.entity-type-item.is-coming-soon { opacity: 0.62; }

.entity-type-icon {
  position: relative;
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eaf5ff;
}

.entity-type-icon > img { width: 32px; height: 32px; object-fit: contain; }
.entity-type-icon > span {
  position: absolute;
  top: -7px;
  right: -22px;
  max-width: 48px;
  padding: 3px 5px;
  border: 1px solid #88a9d4;
  border-radius: 999px;
  background: #fff;
  color: #365b87;
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
}

.entity-type-item strong { font-size: 13px; }

.entity-steps ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 18px;
  border: 2px solid #46b8f2;
  border-radius: 16px;
  list-style: none;
}

.entity-steps li { display: grid; justify-items: center; gap: 7px; color: #666; font-weight: 650; text-align: center; }
.entity-steps li span { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #aaa; color: #fff; }
.entity-steps li:first-child { color: #1470f4; }
.entity-steps li:first-child span { background: #1470f4; }

.entity-reasons > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.entity-reasons article { min-height: 150px; padding: 22px; border: 2px solid #d3d3d3; border-radius: 22px; }
.entity-reasons h3,
.entity-reasons p { margin: 0; }
.entity-reasons h3 { color: #1470f4; font-size: 19px; }
.entity-reasons p { margin-top: 12px; color: #555; font-weight: 600; line-height: 1.35; }

.role-entry-topbar button:focus-visible,
.role-entry-topbar a:focus-visible,
.role-entry-primary:focus-visible,
.role-entry-secondary:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}

@media (max-width: 620px) {
  .professional-benefit-list { grid-template-columns: 1fr; }
  .professional-benefit-list article:nth-last-child(2) { border-bottom: 1px solid #e5e5e5; }
  .entity-entry-heading { grid-template-columns: 1fr 92px; }
  .entity-entry-heading img { width: 92px; height: 92px; }
  .entity-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .entity-reasons > div { grid-template-columns: 1fr; }
  .entity-steps ol { padding: 14px 8px; }
  .entity-steps li { font-size: 11px; }
  .entity-steps li span { width: 32px; height: 32px; }
}

.professional-selection-shell {
  background: #fff;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

.professional-selection-content {
  width: min(100%, 720px);
  margin: 0 auto;
  gap: 20px;
  padding: calc(env(safe-area-inset-top, 0px) + 20px) 22px calc(env(safe-area-inset-bottom, 0px) + 32px);
}

.professional-selection-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.professional-selection-topbar button,
.professional-selection-topbar a {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #1470f4;
  font: inherit;
  font-weight: 700;
  text-decoration: none;
}

.professional-selection-topbar button { color: #252525; font-size: 28px; }
.professional-selection-wordmark { width: min(100%, 280px); height: auto; object-fit: contain; }
.professional-selection-heading h1,
.professional-selection-heading p { margin: 0; }
.professional-selection-heading h1 { color: #202020; font-size: clamp(32px, 7vw, 48px); line-height: 1.08; }
.professional-selection-heading p { margin-top: 10px; color: #666; font-size: 17px; }

.professional-selection-search {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border: 1px solid #d8d8d8;
  border-radius: 18px;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
  color: #737373;
}

.professional-selection-search input {
  width: 100%;
  min-height: 44px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #252525;
  font: inherit;
  font-size: 17px;
}

.professional-selection-list { display: grid; gap: 12px; }
.professional-selection-option {
  position: relative;
  width: 100%;
  min-height: 82px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 11px 18px;
  border: 1px solid #dedede;
  border-radius: 18px;
  background: #fff;
  color: #373737;
  font: inherit;
  text-align: left;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  cursor: pointer;
}

.professional-selection-icon {
  position: relative;
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eaf5ff;
}

.professional-selection-icon > img { width: 34px; height: 34px; object-fit: contain; }
.professional-selection-icon > span {
  position: absolute;
  top: -7px;
  right: -30px;
  padding: 3px 5px;
  border: 1px solid #88a9d4;
  border-radius: 999px;
  background: #fff;
  color: #365b87;
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.professional-selection-option strong { font-size: 20px; }
.professional-selection-arrow { color: #1470f4; font-size: 26px; }
.professional-selection-state { max-width: 90px; color: #66788c; font-size: 11px; font-weight: 700; text-align: right; }
.professional-selection-option.is-coming-soon { opacity: 0.66; cursor: not-allowed; }
.professional-selection-note { margin: 0; color: #596a7c; font-size: 13px; line-height: 1.45; }

.professional-selection-topbar button:focus-visible,
.professional-selection-topbar a:focus-visible,
.professional-selection-search:focus-within,
.professional-selection-option:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}

@media (max-width: 520px) {
  .professional-selection-content { padding-inline: 16px; }
  .professional-selection-option { grid-template-columns: 52px minmax(0, 1fr) auto; min-height: 74px; padding-inline: 13px; }
  .professional-selection-icon { width: 52px; height: 52px; }
  .professional-selection-icon > img { width: 30px; height: 30px; }
  .professional-selection-option strong { font-size: 17px; }
}

.smartuser-guest-access-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.smartuser-guest-access-card {
  min-height: 146px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 12px 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #c6c6c6;
  box-shadow: 2px 2px 8px rgba(20, 112, 244, 0.1);
}

.smartuser-guest-access-card.is-professional {
  border-color: #6feba7;
  background: #fcfffc;
  box-shadow: 2px 2px 19.8px rgba(37, 211, 102, 0.2);
}

.smartuser-guest-access-card.is-entity {
  border-color: #8762ee;
  background: #f8f8f8;
}

.smartuser-guest-access-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.smartuser-guest-access-copy {
  min-width: 0;
}

.smartuser-guest-access-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.08px;
  color: #1470f4;
}

.smartuser-guest-access-card.is-professional .smartuser-guest-access-eyebrow {
  color: #25d366;
}

.smartuser-guest-access-card.is-entity .smartuser-guest-access-eyebrow {
  color: #835ee8;
}

.smartuser-guest-access-title {
  display: block;
  margin-top: 5px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.08px;
  color: #105ac3;
}

.smartuser-guest-access-card.is-professional .smartuser-guest-access-title {
  color: #167f3d;
}

.smartuser-guest-access-card.is-entity .smartuser-guest-access-title {
  color: #3c2088;
}

.smartuser-guest-access-icon {
  width: 24px;
  height: 24px;
  display: block;
  object-fit: contain;
  flex: 0 0 auto;
}

.smartuser-guest-access-description {
  margin: 0;
  color: #4a4a4a;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.08px;
}

.smartuser-guest-access-button {
  min-height: 32px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 16px;
  color: #fff;
  background: #1470f4;
  font-size: 10px;
  font-weight: 500;
  line-height: 12px;
  letter-spacing: -0.08px;
}

.smartuser-guest-access-card.is-professional .smartuser-guest-access-button {
  background: #25d366;
}

.smartuser-guest-access-card.is-entity .smartuser-guest-access-button {
  background: #6436e2;
}

.smartuser-guest-access-button img {
  width: 12px;
  height: 12px;
  display: block;
  object-fit: contain;
  transform: rotate(180deg) scaleY(-1);
}

.smartuser-guest-why-section {
  margin-top: 20px;
}

.smartuser-guest-why-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

.smartuser-guest-why-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}

.smartuser-guest-why-icon {
  width: 32px;
  height: 32px;
  display: block;
  object-fit: contain;
}

.smartuser-guest-why-label {
  color: #373737;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.08px;
}

.smartuser-guest-trust-card {
  margin-top: 16px;
  border: 2px solid #d0e2fd;
  border-radius: 16px;
  background: #fff;
  box-shadow: 4px 4px 25px rgba(0, 0, 0, 0.1);
  padding: 16px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.smartuser-guest-trust-copy {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.smartuser-guest-trust-icon {
  width: 32px;
  height: 32px;
  display: block;
  object-fit: contain;
  flex: 0 0 auto;
}

.smartuser-guest-trust-copy strong {
  display: block;
  color: #373737;
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
}

.smartuser-guest-trust-copy span {
  display: block;
  color: #4a4a4a;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
}

.smartuser-guest-trust-action {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 32px;
  padding: 8px 14px;
  border-radius: 24px;
  border: 1px solid #a1c6fb;
  background: #e8f1fe;
  color: #1470f4;
  font-size: 8px;
  font-weight: 500;
  line-height: 9.6px;
  letter-spacing: -0.08px;
  white-space: nowrap;
}

.smartuser-guest-trust-action img {
  width: 5px;
  height: 10px;
  display: block;
  object-fit: contain;
}

.smartuser-guest-bottom-wrap {
  margin-top: auto;
  padding-top: 10px;
}

.smartuser-guest-footer {
  width: 100%;
  max-width: 346px;
  margin: 0 auto;
  padding: 8px 24px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  align-items: center;
  border: 1px solid #b8b8b8;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(14px);
}

.smartuser-guest-footer-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: #8695a7;
  text-align: center;
}

.smartuser-guest-footer-item.is-active {
  color: #1470f4;
}

.smartuser-guest-footer-icon {
  width: 24px;
  height: 24px;
  display: block;
  object-fit: contain;
}

.smartuser-guest-footer-label {
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
}

.smartuser-guest-home-indicator {
  width: 144px;
  height: 5px;
  margin: 12px auto 0;
  border-radius: 100px;
  background: #000;
}

.smartuser-guest-top-icon:focus-visible,
.smartuser-guest-search-field:focus-within,
.smartuser-guest-service-item:focus-visible,
.smartuser-guest-access-button:focus-visible,
.smartuser-guest-trust-card:focus-visible,
.smartuser-guest-footer-item:focus-visible {
  outline: 2px solid rgba(20, 112, 244, 0.24);
  outline-offset: 2px;
}

@media (max-width: 360px) {
  .smartuser-guest-content {
    padding-left: 16px;
    padding-right: 16px;
  }

  .smartuser-guest-hero-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .smartuser-guest-hero-copy {
    padding-top: 14px;
    max-width: none;
  }

  .smartuser-guest-hero-art {
    justify-content: center;
  }

  .smartuser-guest-hero-art img {
    width: min(249px, 100%);
    margin: 0;
  }

  .smartuser-guest-access-grid {
    grid-template-columns: 1fr;
  }

  .smartuser-guest-why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 14px;
  }

  .smartuser-guest-trust-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .smartuser-guest-trust-action {
    align-self: flex-end;
  }

  .smartuser-guest-footer {
    padding-left: 16px;
    padding-right: 16px;
    gap: 6px;
  }

  .smartuser-guest-footer-label {
    font-size: 11px;
  }
}

.smartuser-loggedin-shell {
  min-height: inherit;
  background: #fff;
  font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.smartuser-loggedin-shell::before {
  display: none;
}

.smartuser-loggedin-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: inherit;
  padding: calc(env(safe-area-inset-top, 0px) + 18px) 18px calc(env(safe-area-inset-bottom, 0px) + 104px);
}

.smartuser-loggedin-bottom-wrap {
  position: fixed;
  z-index: 20;
  left: 50%;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
  width: min(calc(100% - 24px), 370px);
  margin: 0;
  padding: 0;
  transform: translateX(-50%);
}

.smartuser-loggedin-bottom-wrap .smartuser-guest-footer {
  max-width: none;
}

.smartuser-loggedin-bottom-wrap .smartuser-guest-home-indicator {
  display: none;
}

.smartuser-loggedin-hero-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 147px;
  align-items: start;
  gap: 14px;
  margin-top: 22px;
}

.smartuser-loggedin-greeting {
  padding-top: 36px;
  max-width: 188px;
}

.smartuser-loggedin-title,
.smartuser-loggedin-name,
.smartuser-loggedin-copy {
  margin: 0;
}

.smartuser-loggedin-title {
  color: #252525;
  font-size: 20px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.08px;
}

.smartuser-loggedin-name {
  color: #1470f4;
  font-size: 20px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.08px;
}

.smartuser-loggedin-copy {
  margin-top: 8px;
  color: #4a4a4a;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.35;
}

.smartuser-loggedin-hero-art img {
  width: 147px;
  height: auto;
  display: block;
  margin-top: 4px;
}

.smartuser-loggedin-search {
  margin-top: 10px;
}

.smartuser-loggedin-section {
  margin-top: 16px;
}

.smartuser-loggedin-section-title {
  margin: 0 0 12px;
  color: #000;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.08px;
}

.smartuser-loggedin-appointment-card {
  width: 100%;
  padding: 16px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid #e3e3e3;
  border-radius: 16px;
  background: #fff;
  box-shadow: 4px 4px 34.3px rgba(0, 0, 0, 0.1);
}

.smartuser-loggedin-appointment-main {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  flex: 1;
}

.smartuser-loggedin-appointment-avatar {
  width: 51px;
  height: 51px;
  border-radius: 50%;
  display: block;
  object-fit: cover;
  flex: 0 0 auto;
}

.smartuser-loggedin-appointment-copy {
  min-width: 0;
}

.smartuser-loggedin-appointment-copy strong,
.smartuser-loggedin-appointment-copy span {
  display: block;
}

.smartuser-loggedin-appointment-copy strong {
  color: #252525;
  font-size: 14px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: -0.08px;
}

.smartuser-loggedin-appointment-copy span {
  color: #363c43;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.08px;
}

.smartuser-loggedin-appointment-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.smartuser-loggedin-chip {
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 5px 8px;
  border-radius: 6px;
  background: #e8f1fe;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.06px;
  white-space: nowrap;
}

.smartuser-loggedin-chip img {
  width: 11px;
  height: 11px;
  display: block;
  object-fit: contain;
}

.smartuser-loggedin-chip.is-reschedule {
  border: 1px solid #6436e2;
  color: #6436e2;
}

.smartuser-loggedin-chip.is-confirmed {
  border: 1px solid #1470f4;
  color: #1470f4;
}

.smartuser-loggedin-date-card {
  width: 78px;
  padding: 8px;
  border-radius: 8px;
  border: 1px solid #167f3d;
  background: #e9fbf0;
  text-align: center;
  flex: 0 0 auto;
}

.smartuser-loggedin-date-month,
.smartuser-loggedin-date-day,
.smartuser-loggedin-date-footer {
  display: block;
}

.smartuser-loggedin-date-month {
  color: #167f3d;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.smartuser-loggedin-date-day {
  margin-top: 6px;
  color: #0f5429;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}

.smartuser-loggedin-date-footer {
  margin-top: 7px;
  color: #1ea952;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
}

.smartuser-loggedin-health-card {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 16px 8px;
  border: 2px solid #f1f1f1;
  border-radius: 16px;
  background: #f8f8f8;
  box-shadow: 4px 4px 16.65px rgba(0, 0, 0, 0.1);
}

.smartuser-loggedin-health-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  color: #000;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
}

.smartuser-loggedin-recent-stack {
  display: grid;
  gap: 16px;
}

.smartuser-loggedin-recent-card {
  width: 100%;
  min-height: 48px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-radius: 8px;
  border: 1px solid transparent;
}

.smartuser-loggedin-recent-card.is-delivered {
  background: #e9fbf0;
  border-color: #25d366;
}

.smartuser-loggedin-recent-card.is-pending {
  background: #fff7e6;
  border-color: #faaf03;
}

.smartuser-loggedin-recent-card.is-cancelled {
  background: #fff7e6;
  border-color: #f15a24;
}

.smartuser-loggedin-recent-copy {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex: 1;
}

.smartuser-loggedin-recent-icon {
  width: 34px;
  height: 34px;
  display: block;
  object-fit: contain;
  flex: 0 0 auto;
}

.smartuser-loggedin-recent-copy strong,
.smartuser-loggedin-recent-copy span {
  display: block;
}

.smartuser-loggedin-recent-copy strong {
  color: #000;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.1;
}

.smartuser-loggedin-recent-copy span {
  color: #505964;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.15;
}

.smartuser-loggedin-recent-status {
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  flex: 0 0 auto;
}

.smartuser-loggedin-recent-status.is-delivered {
  background: #d3f6e0;
  color: #167f3d;
}

.smartuser-loggedin-recent-status.is-pending {
  background: #feefcd;
  color: #966902;
}

.smartuser-loggedin-recent-status.is-cancelled {
  background: #fcded3;
  color: #b02b25;
}

.smartuser-loggedin-shell .notice-box {
  margin-top: 12px;
}

@media (max-width: 360px) {
  .smartuser-loggedin-content {
    padding-left: 16px;
    padding-right: 16px;
  }

  .smartuser-loggedin-hero-row {
    grid-template-columns: minmax(0, 1fr) 126px;
    gap: 10px;
  }

  .smartuser-loggedin-greeting {
    max-width: none;
    padding-top: 24px;
  }

  .smartuser-loggedin-title,
  .smartuser-loggedin-name {
    font-size: 18px;
    line-height: 22px;
  }

  .smartuser-loggedin-hero-art img {
    width: 126px;
  }

  .smartuser-loggedin-appointment-card {
    flex-direction: column;
    align-items: stretch;
  }

  .smartuser-loggedin-date-card {
    width: 100%;
  }

  .smartuser-loggedin-health-card {
    gap: 12px;
  }

  .smartuser-loggedin-recent-card {
    flex-direction: column;
    align-items: stretch;
  }

  .smartuser-loggedin-recent-status {
    align-self: flex-end;
  }
}

.dashboard-header {
  display: grid;
  gap: 14px;
}

.location-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: var(--mapcare-radius-chip);
  background: rgba(46, 107, 255, 0.08);
  color: var(--mapcare-primary-deep);
  font-size: 12px;
  font-weight: 700;
}

.notification-dot {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(46, 107, 255, 0.18);
  background: rgba(255, 255, 255, 0.88);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mapcare-primary);
  font-weight: 700;
}

.hero-banner {
  min-height: 132px;
  background:
    linear-gradient(115deg, rgba(229, 242, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 52%),
    right center / cover no-repeat;
  padding: 18px;
  display: flex;
  align-items: flex-end;
}

.hero-banner h2,
.hero-banner h3 {
  margin: 0 0 8px;
  font-size: 24px;
  line-height: 1.14;
}

.hero-banner p {
  margin: 0;
  max-width: 58%;
  color: var(--mapcare-text-soft);
  font-size: 13px;
  line-height: 1.45;
}

.search-wrap {
  margin-top: 14px;
}

.search-input {
  background: #fbfcff;
  min-height: 42px;
}

.service-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px 8px;
}

.service-item {
  text-align: center;
}

.service-badge {
  width: 48px;
  height: 48px;
  margin: 0 auto 8px;
  border-radius: 16px;
  background: var(--mapcare-panel);
  border: 1px solid var(--mapcare-line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mapcare-primary);
  font-size: 12px;
  font-weight: 800;
}

.service-item span {
  display: block;
  font-size: 11px;
  color: var(--mapcare-text-soft);
  line-height: 1.3;
}

.summary-card-grid {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.summary-card,
.quick-card {
  background: #fff;
  border: 1px solid var(--mapcare-line);
  border-radius: 20px;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(37, 69, 135, 0.06);
}

.summary-card h3,
.quick-card h3 {
  margin: 0 0 6px;
  font-size: 15px;
}

.summary-card p,
.quick-card p {
  margin: 0;
  color: var(--mapcare-text-soft);
  font-size: 12px;
  line-height: 1.5;
}

.journey-choice-card {
  width: 100%;
  min-height: 44px;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.journey-choice-card:focus-visible {
  outline: 3px solid var(--mapcare-focus, #174ea6);
  outline-offset: 3px;
}

.journey-choice-card .primary-button {
  display: inline-flex;
  margin-top: 14px;
}

.journey-consent-choice {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 14px;
  cursor: pointer;
}

.journey-consent-choice input {
  width: 22px;
  height: 22px;
  margin: 1px 0 0;
  flex: 0 0 22px;
}

.journey-consent-choice small {
  display: block;
  margin-top: 4px;
  color: var(--mapcare-text-soft);
  line-height: 1.4;
}

.mini-metric-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.mini-metric {
  background: var(--mapcare-panel);
  border-radius: 16px;
  padding: 12px;
}

.mini-metric strong {
  display: block;
  font-size: 17px;
}

.mini-metric span {
  display: block;
  margin-top: 4px;
  color: var(--mapcare-text-soft);
  font-size: 11px;
}

.dashboard-footer-nav {
  margin-top: auto;
  padding-top: 18px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.nav-chip {
  text-align: center;
  border-radius: 16px;
  padding: 10px 8px;
  border: 1px solid var(--mapcare-line);
  color: var(--mapcare-text-soft);
  background: #fff;
  font-size: 11px;
}

.nav-chip.is-active {
  background: rgba(46, 107, 255, 0.1);
  border-color: rgba(46, 107, 255, 0.2);
  color: var(--mapcare-primary-deep);
  font-weight: 700;
}

.empty-state {
  color: var(--mapcare-text-soft);
  font-size: 12px;
  line-height: 1.5;
}

.provisional-smartuser-shell::before {
  background:
    radial-gradient(circle at 82% 7%, rgba(46, 107, 255, 0.16), transparent 27%),
    linear-gradient(180deg, #f2f8ff 0%, #ffffff 38%, #f7fbff 100%);
}

.provisional-smartuser-content {
  padding: calc(env(safe-area-inset-top, 0px) + 18px) 16px calc(env(safe-area-inset-bottom, 0px) + 112px);
  gap: 12px;
}

.provisional-web-shell {
  max-width: 1460px;
  margin: 0 auto;
}

.provisional-web-content {
  padding: calc(env(safe-area-inset-top, 0px) + 20px) 24px calc(env(safe-area-inset-bottom, 0px) + 20px);
  gap: 16px;
}

.provisional-web-topbar {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 12px;
}

.provisional-web-title {
  display: block;
  font-size: 15px;
  color: var(--mapcare-text);
}

.provisional-web-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.provisional-web-nav a {
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(46, 107, 255, 0.18);
  background: rgba(255, 255, 255, 0.92);
  color: var(--mapcare-primary);
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
}

.provisional-web-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.provisional-web-metric {
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(46, 107, 255, 0.12);
  background: rgba(255, 255, 255, 0.94);
}

.provisional-web-metric strong {
  display: block;
  font-size: 12px;
  color: var(--mapcare-primary);
  margin-bottom: 6px;
}

.provisional-web-metric span {
  display: block;
  font-size: 12px;
  color: var(--mapcare-text-soft);
  line-height: 1.45;
}

.entity-reception-invented .flow-card {
  margin-top: 12px;
}

.provisional-topbar {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 10px;
}

.provisional-icon-button,
.provisional-help-chip {
  min-height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(46, 107, 255, 0.22);
  background: rgba(255, 255, 255, 0.88);
  color: var(--mapcare-primary);
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.provisional-icon-button {
  width: 34px;
}

.provisional-help-chip {
  padding: 0 12px;
}

.provisional-top-title {
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  color: #111827;
}

.provisional-hero {
  padding: 10px 2px 2px;
}

.provisional-kicker {
  display: inline-flex;
  color: var(--mapcare-primary);
  font-size: 12px;
  font-weight: 800;
}

.provisional-hero h1 {
  margin: 4px 0 0;
  font-size: 28px;
  line-height: 1.08;
  color: #111827;
}

.provisional-hero p {
  margin: 7px 0 0;
  color: var(--mapcare-text-soft);
  font-size: 12px;
  line-height: 1.45;
}

.provisional-notice {
  border-radius: 16px;
  padding: 10px 12px;
  border: 1px solid rgba(46, 107, 255, 0.18);
  background: rgba(255, 255, 255, 0.9);
}

.provisional-summary-card,
.provisional-empty-state,
.provisional-section {
  border-radius: 20px;
  border: 1px solid rgba(219, 228, 243, 0.86);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 24px rgba(42, 71, 138, 0.07);
}

.provisional-summary-card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 14px;
}

.provisional-summary-card strong,
.provisional-empty-state strong,
.provisional-section h2 {
  color: #111827;
}

.provisional-summary-card strong,
.provisional-empty-state strong {
  display: block;
  font-size: 15px;
}

.provisional-summary-card p,
.provisional-empty-state p {
  margin: 5px 0 0;
  color: var(--mapcare-text-soft);
  font-size: 12px;
  line-height: 1.45;
}

.provisional-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(58px, 1fr));
  gap: 8px;
}

.provisional-mini-grid div {
  min-width: 58px;
  border-radius: 14px;
  background: var(--mapcare-panel);
  padding: 9px;
  text-align: center;
}

.provisional-mini-grid strong {
  font-size: 17px;
}

.provisional-mini-grid span {
  display: block;
  margin-top: 3px;
  color: var(--mapcare-text-soft);
  font-size: 10px;
}

.provisional-secure-mark,
.provisional-empty-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(46, 107, 255, 0.1);
  color: var(--mapcare-primary);
  font-weight: 800;
}

.mapcare-semantic-icon {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.provisional-empty-icon .mapcare-semantic-icon,
.provisional-secure-mark .mapcare-semantic-icon,
.provisional-row-icon .mapcare-semantic-icon,
.coded-contact-icon .mapcare-semantic-icon,
.coded-support-action-grid .mapcare-semantic-icon,
.coded-profile-grid .mapcare-semantic-icon {
  width: 23px;
  height: 23px;
}

.provisional-empty-state {
  text-align: center;
  padding: 22px 18px;
}

.provisional-empty-icon {
  margin-bottom: 10px;
}

.provisional-section {
  padding: 12px;
}

.provisional-section h2 {
  margin: 0 0 10px;
  font-size: 14px;
}

.provisional-row {
  min-height: 58px;
  display: grid;
  grid-template-columns: 42px 1fr auto auto;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid rgba(219, 228, 243, 0.72);
}

.provisional-row:first-of-type {
  border-top: 0;
}

.provisional-row-icon {
  width: 36px;
  height: 36px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef6ff;
  color: var(--mapcare-primary);
  font-size: 11px;
  font-weight: 800;
}

.provisional-row-copy {
  min-width: 0;
}

.provisional-row-copy strong,
.provisional-row-copy span {
  display: block;
}

.provisional-row-copy strong {
  color: #1f2937;
  font-size: 13px;
}

.provisional-row-copy span {
  margin-top: 3px;
  color: var(--mapcare-text-soft);
  font-size: 11px;
  line-height: 1.35;
}

.provisional-row-status {
  border-radius: 999px;
  background: rgba(30, 166, 114, 0.1);
  color: var(--mapcare-success);
  padding: 5px 8px;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.provisional-row-chevron {
  color: var(--mapcare-primary);
  font-weight: 800;
}

.provisional-actions {
  display: grid;
  gap: 8px;
  margin-top: auto;
}

.provisional-primary-action,
.provisional-secondary-action {
  min-height: 44px;
  border-radius: 14px;
}

.provisional-bottom-nav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  padding-top: 8px;
}

.provisional-bottom-item {
  min-height: 44px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #7a879c;
  font-size: 10px;
}

.provisional-bottom-dot {
  width: 18px;
  height: 18px;
  border-radius: 7px;
  border: 1px solid #c7d5ec;
  background: #fff;
}

.provisional-bottom-item.is-active {
  color: var(--mapcare-primary);
  font-weight: 800;
}

.provisional-bottom-item.is-active .provisional-bottom-dot {
  border-color: rgba(46, 107, 255, 0.28);
  background: rgba(46, 107, 255, 0.12);
}

@media (max-width: 360px) {
  .provisional-row {
    grid-template-columns: 38px 1fr auto;
  }

  .provisional-row-chevron {
    display: none;
  }

  .provisional-row-status {
    max-width: 86px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

.tracker-shell::before {
  background:
    radial-gradient(circle at 82% 8%, rgba(46, 107, 255, 0.14), transparent 28%),
    linear-gradient(180deg, #f5f9ff 0%, #ffffff 42%, #f7faff 100%);
}

.tracker-content {
  gap: 2px;
}

.tracker-actions {
  margin-top: 18px;
}

.tracker-tab-row {
  display: flex;
  gap: 8px;
  margin-top: 18px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: none;
}

.tracker-tab-row::-webkit-scrollbar {
  display: none;
}

.tracker-tab {
  flex: 0 0 auto;
  border-radius: 999px;
  border: 1px solid var(--mapcare-line);
  background: rgba(255, 255, 255, 0.82);
  color: var(--mapcare-text-soft);
  font-size: 11px;
  font-weight: 700;
  padding: 9px 12px;
  white-space: nowrap;
}

.tracker-tab.is-active {
  background: rgba(46, 107, 255, 0.11);
  border-color: rgba(46, 107, 255, 0.24);
  color: var(--mapcare-primary-deep);
}

.tracker-linked-card {
  display: block;
}

.tracker-form {
  margin-top: 0;
}

.appointments-tracker-shell .screen-title,
.policy-tracker-shell .screen-title,
.device-management-shell .screen-title,
.profile-tracker-shell .screen-title {
  font-size: 29px;
}

.appointments-tracker-shell .flow-card,
.policy-tracker-shell .flow-card,
.device-management-shell .flow-card,
.profile-tracker-shell .flow-card {
  border-radius: 20px;
}

.appointments-tracker-shell .summary-card-grid,
.policy-tracker-shell .summary-card-grid,
.device-management-shell .summary-card-grid,
.profile-tracker-shell .summary-card-grid {
  gap: 10px;
}

@media (max-width: 360px) {
  .appointments-tracker-shell .screen-title,
  .policy-tracker-shell .screen-title,
  .device-management-shell .screen-title,
  .profile-tracker-shell .screen-title {
    font-size: 25px;
  }

  .tracker-content {
    padding-inline: 16px;
  }
}

.utility-header {
  display: flex;
  align-items: center;
  gap: 14px;
}

.utility-symbol {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
}

.utility-kicker {
  margin: 0 0 4px;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mapcare-text-soft);
}

.utility-title {
  margin: 0;
  font-size: 24px;
  line-height: 1.16;
}

.utility-copy,
.utility-authority,
.legal-article {
  margin-top: 16px;
}

.policy-legal-document {
  margin-top: 18px;
  padding: 20px;
  border-top: 1px solid var(--mapcare-line);
  background: var(--mapcare-surface);
}

.utility-copy,
.utility-authority,
.legal-article p,
.legal-article li {
  color: var(--mapcare-text-soft);
  line-height: 1.6;
  font-size: 14px;
}

.utility-authority {
  padding: 14px;
  border-radius: 18px;
  background: var(--mapcare-panel);
}

.utility-card-list {
  margin-top: 18px;
  display: grid;
  gap: 12px;
}

.utility-card {
  border-radius: 20px;
  border: 1px solid var(--mapcare-line);
  background: #fff;
  padding: 16px;
}

.utility-card strong {
  display: block;
  font-size: 15px;
}

.utility-card span {
  display: block;
  margin-top: 6px;
  color: var(--mapcare-text-soft);
  font-size: 12px;
}

.utility-footer {
  margin-top: 18px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.utility-button {
  flex: 1 1 180px;
  min-height: 46px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  padding: 0 18px;
}

.utility-button-primary {
  background: var(--mapcare-primary);
  color: #fff;
}

.utility-button-secondary {
  background: #fff;
  border: 1px solid var(--mapcare-line);
  color: var(--mapcare-text);
}

.legal-article h1,
.legal-article h2,
.legal-article h3 {
  color: var(--mapcare-text);
}

@media (max-width: 560px) {
  .tracker-stage {
    padding: 0;
  }

  .device-frame-app,
  .device-frame-utility {
    width: 100%;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    background: transparent;
  }

  .device-screen {
    min-height: 100svh;
    border-radius: 0;
  }
}

@media (min-width: 561px) {
  .tracker-stage {
    align-items: flex-start;
    padding: 24px;
  }

  .device-frame-app {
    width: min(100%, 430px);
    padding: 0;
    border-radius: 28px;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  .device-frame-app .device-screen {
    width: 100%;
    min-height: min(932px, calc(100svh - 48px));
    border-radius: 28px;
    box-shadow: var(--mapcare-shadow);
  }
}

@media (min-width: 900px) {
  .tracker-stage {
    padding: 32px;
  }
}

/* Coded Help Center and Contact Support surfaces. */
.coded-support-shell { min-height: 100vh; background: linear-gradient(180deg, #eef6ff 0, #f8fbff 34%, #fff 100%); color: #172b45; }
.coded-support-page { width: min(100%, 760px); min-height: 100vh; margin: 0 auto; padding: 24px clamp(18px, 4vw, 42px) 36px; }
.coded-support-topbar { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; margin-bottom: 28px; }
.coded-support-topbar button, .coded-support-topbar a { min-width: 44px; min-height: 44px; border: 0; border-radius: 14px; background: #fff; color: #126bd2; font: inherit; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; box-shadow: 0 8px 24px rgba(39,83,132,.1); cursor: pointer; }
.coded-support-topbar strong { text-align: center; font-size: 1.05rem; }
.coded-support-hero { padding: clamp(24px, 5vw, 42px); border-radius: 30px; background: linear-gradient(135deg, #0875df, #1453b8); color: #fff; box-shadow: 0 22px 44px rgba(20,83,184,.2); }
.coded-support-hero > p, .coded-support-section p { margin: 0 0 6px; font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.coded-support-hero h1 { margin: 0 0 22px; font-size: clamp(1.8rem, 6vw, 2.75rem); line-height: 1.08; }
.coded-support-hero form { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 7px; border-radius: 18px; background: #fff; }
.coded-support-hero input { width: 100%; min-width: 0; min-height: 46px; padding: 0 14px; border: 0; border-radius: 12px; font: inherit; color: #172b45; }
.coded-support-hero button { min-height: 46px; padding: 0 20px; border: 0; border-radius: 12px; background: #0b66c3; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.coded-support-hero > a { display: inline-flex; margin-top: 16px; color: #fff; font-weight: 700; }
.coded-support-section { margin-top: 30px; }
.coded-support-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.coded-support-heading h2 { margin: 0; font-size: 1.45rem; }
.coded-support-heading > a { color: #126bd2; font-size: .88rem; font-weight: 700; }
.coded-support-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.coded-support-action-grid > a, .coded-support-safety-grid > a { border: 1px solid #dce9f8; border-radius: 20px; background: #fff; color: #172b45; text-decoration: none; box-shadow: 0 10px 26px rgba(39,83,132,.08); }
.coded-support-action-grid > a { min-height: 150px; padding: 18px 14px; display: flex; flex-direction: column; gap: 8px; }
.coded-support-action-grid > a > span, .coded-contact-icon { width: 42px; height: 42px; border-radius: 14px; background: #eaf4ff; color: #0875df; display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 900; }
.coded-support-action-grid small, .coded-support-topic-list small, .coded-contact-list small { color: #667991; line-height: 1.4; }
.coded-support-emergency { margin-top: 26px; padding: 18px 20px; border: 1px solid #ffd6d6; border-radius: 20px; background: #fff6f6; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.coded-support-emergency p { margin: 4px 0 0; color: #6d4650; }
.coded-support-emergency a { flex: 0 0 auto; padding: 11px 16px; border-radius: 12px; background: #b4232f; color: #fff; font-weight: 800; text-decoration: none; }
.coded-support-topic-list, .coded-contact-list { overflow: hidden; border: 1px solid #dce9f8; border-radius: 22px; background: #fff; box-shadow: 0 10px 26px rgba(39,83,132,.08); }
.coded-support-topic-list > a, .coded-contact-list > a { min-height: 72px; padding: 14px 18px; display: flex; align-items: center; gap: 14px; color: #172b45; text-decoration: none; border-bottom: 1px solid #e7eff8; }
.coded-support-topic-list > a:last-child, .coded-contact-list > a:last-child { border-bottom: 0; }
.coded-support-topic-list span, .coded-contact-list a > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; gap: 4px; }
.coded-support-topic-list b, .coded-contact-list b { color: #0875df; font-size: 1.45rem; }
.coded-support-footer { margin-top: 28px; display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.coded-support-footer a { min-height: 44px; padding: 10px 8px; color: #126bd2; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.coded-contact-hero > span { display: block; max-width: 580px; line-height: 1.55; color: #e8f3ff; }
.coded-support-notice { margin: 20px 0 0; }
.coded-contact-icon { flex: 0 0 auto; width: 44px; height: 44px; }
.coded-support-safety-grid { margin-top: 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.coded-support-safety-grid > a { padding: 18px; display: flex; flex-direction: column; gap: 6px; }
.coded-support-safety-grid span { color: #667991; line-height: 1.45; }
.coded-support-shell a:focus-visible, .coded-support-shell button:focus-visible, .coded-support-shell input:focus-visible { outline: 3px solid rgba(17,112,226,.32); outline-offset: 3px; }

@media (max-width: 680px) {
  .coded-support-page { padding-inline: 14px; }
  .coded-support-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coded-support-action-grid > a { min-height: 142px; }
  .coded-support-emergency { align-items: stretch; flex-direction: column; }
  .coded-support-emergency a { text-align: center; }
  .coded-support-safety-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .coded-support-hero { padding: 24px 18px; border-radius: 24px; }
  .coded-support-hero form { grid-template-columns: 1fr; }
  .coded-support-heading { align-items: flex-start; flex-direction: column; }
}

/* Coded SmartUser profile surface. */
.coded-profile-shell { min-height: 100vh; background: #f5f9fe; color: #172b45; }
.coded-profile-page { width: min(100%, 720px); min-height: 100vh; margin: 0 auto; padding: 22px clamp(16px, 4vw, 38px) calc(env(safe-area-inset-bottom, 0px) + 112px); }
.coded-profile-topbar { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; margin-bottom: 22px; }
.coded-profile-topbar button, .coded-profile-topbar a { min-width: 44px; min-height: 44px; border: 0; border-radius: 14px; background: #fff; color: #126bd2; font: inherit; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; box-shadow: 0 8px 24px rgba(39,83,132,.09); cursor: pointer; }
.coded-profile-topbar strong { text-align: center; }
.coded-profile-identity { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; padding: 22px; border-radius: 26px; background: linear-gradient(135deg, #0875df, #1453b8); color: #fff; box-shadow: 0 20px 42px rgba(20,83,184,.19); }
.coded-profile-avatar { width: 62px; height: 62px; border: 3px solid rgba(255,255,255,.75); border-radius: 50%; background: rgba(255,255,255,.18); display: flex; align-items: center; justify-content: center; font-size: 1.55rem; font-weight: 900; }
.coded-profile-identity h1 { margin: 0; font-size: clamp(1.25rem, 4vw, 1.7rem); }
.coded-profile-identity p { margin: 5px 0 0; color: #e6f2ff; }
.coded-profile-identity > a { padding: 10px 15px; border-radius: 12px; background: #fff; color: #126bd2; font-weight: 800; text-decoration: none; }
.coded-profile-notice { margin-top: 18px; }
.coded-profile-section { margin-top: 28px; }
.coded-profile-section h2 { margin: 0 0 13px; font-size: 1.25rem; }
.coded-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
/* Nurse read-only work area: derived cards and navigation from retained Rajat screens. */
.professional-nurse-shell.coded-doctor-workspace { width: 100%; min-width: 0; padding: 24px; background: #f6f9fd; color: #172b45; }
.professional-nurse-shell .coded-doctor-workspace-inner { width: 100%; max-width: 1040px; margin: 0 auto; display: grid; gap: 20px; }
.professional-nurse-shell .coded-doctor-workspace-topbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.professional-nurse-shell .coded-doctor-workspace-topbar a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; color: #0875df; }
.professional-nurse-shell .coded-profile-grid-item { min-width: 0; overflow-wrap: anywhere; }
.professional-nurse-shell ul.coded-profile-list { margin: 0; padding: 0; list-style: none; box-shadow: none; }
.professional-nurse-shell ul.coded-profile-list li { padding: 14px; border-bottom: 1px solid #e7eff8; }
.professional-nurse-shell ul.coded-profile-list li:last-child { border-bottom: 0; }
.professional-nurse-shell ul.coded-profile-list p { margin: 8px 0; }
.professional-nurse-shell a:focus-visible { outline: 3px solid #0875df; outline-offset: 3px; }
@media (max-width: 640px) {
  .professional-nurse-shell.coded-doctor-workspace { padding: 16px; }
  .professional-nurse-shell .coded-profile-grid { grid-template-columns: minmax(0, 1fr); }
  .professional-nurse-shell .stack-actions > a { width: 100%; min-height: 48px; text-align: center; }
}
.coded-profile-grid > a, .coded-profile-grid-item { position: relative; min-height: 134px; overflow: hidden; padding: 18px; border: 1px solid #dce9f8; border-radius: 20px; background: #fff; color: #172b45; text-decoration: none; box-shadow: 0 10px 26px rgba(39,83,132,.07); display: flex; flex-direction: column; gap: 7px; }
.coded-profile-grid > a > span, .coded-profile-grid-item > span[aria-hidden="true"] { width: 40px; height: 40px; border-radius: 13px; background: #eaf4ff; color: #0875df; display: inline-flex; align-items: center; justify-content: center; font-weight: 900; }
.coded-profile-grid small, .coded-profile-list small { color: #667991; line-height: 1.4; }
.coded-profile-grid-item--soon { border-style: dashed; background: #f8fafc; color: #637083; }
.coded-profile-corner-flag { position: absolute; top: 12px; right: -29px; width: 112px; padding: 4px 0; transform: rotate(36deg); background: #e6a700; color: #201700; font-size: .64rem; font-weight: 900; text-align: center; text-transform: uppercase; letter-spacing: .03em; }
.coded-profile-list { overflow: hidden; border: 1px solid #dce9f8; border-radius: 22px; background: #fff; box-shadow: 0 10px 26px rgba(39,83,132,.07); }
.coded-profile-list > a { min-height: 70px; padding: 14px 18px; display: flex; align-items: center; gap: 14px; color: #172b45; text-decoration: none; border-bottom: 1px solid #e7eff8; }
.coded-profile-list > a:last-child { border-bottom: 0; }
.coded-profile-list span { display: flex; flex: 1; flex-direction: column; gap: 4px; }
.coded-profile-list b { color: #0875df; font-size: 1.45rem; }
.coded-profile-bottom-nav { position: fixed; z-index: 20; left: 50%; bottom: calc(env(safe-area-inset-bottom, 0px) + 12px); width: min(calc(100% - 28px), 644px); transform: translateX(-50%); padding: 7px; border: 1px solid #dce9f8; border-radius: 20px; background: rgba(255,255,255,.96); box-shadow: 0 14px 40px rgba(27,67,112,.18); backdrop-filter: blur(12px); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; }
.record-detail-summary > .coded-profile-grid-item { min-height: 0; }
.record-upload-form { display: grid; gap: 16px; }
.record-upload-form label { display: grid; gap: 8px; color: #172b45; font-weight: 800; }
.record-upload-form select, .record-upload-form input[type="file"] { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #cbdced; border-radius: 14px; background: #fff; color: #172b45; font: inherit; }
.record-upload-form small, .record-share-hint { color: #667991; line-height: 1.5; }
.record-upload-receipt { padding: 22px; border: 1px solid #b8ddc8; border-radius: 22px; background: #f2fbf6; display: grid; grid-template-columns: auto 1fr; gap: 14px; }
.record-upload-receipt .mapcare-semantic-icon { width: 32px; height: 32px; color: #197a49; }
.record-upload-receipt strong { display: block; font-size: 1.25rem; color: #135f3b; }
.record-upload-receipt p { margin: 7px 0 0; line-height: 1.5; }
.coded-profile-bottom-nav a { min-width: 0; min-height: 52px; border-radius: 13px; color: #667991; font-size: .68rem; font-weight: 700; text-decoration: none; display: flex; flex-direction: column; gap: 3px; align-items: center; justify-content: center; }
.coded-profile-bottom-nav a[aria-current="page"] { background: #eaf4ff; color: #0875df; box-shadow: inset 0 0 0 1px rgba(8,117,223,.09); }
.coded-profile-bottom-nav a[aria-current="page"] .coded-profile-bottom-icon { stroke-width: 2.25; }
.coded-profile-bottom-icon { width: 21px; height: 21px; }
.coded-profile-avatar--icon .mapcare-semantic-icon { width: 31px; height: 31px; }
.coded-profile-shell a:focus-visible, .coded-profile-shell button:focus-visible { outline: 3px solid rgba(17,112,226,.32); outline-offset: 3px; }

@media (max-width: 480px) {
  .coded-profile-page { padding-inline: 13px; }
  .coded-profile-identity { grid-template-columns: auto 1fr; padding: 18px; }
  .coded-profile-identity > a { grid-column: 1 / -1; text-align: center; justify-content: center; }
  .coded-profile-grid { grid-template-columns: 1fr; }
  .coded-profile-grid > a, .coded-profile-grid-item { min-height: 116px; }
  .coded-profile-bottom-nav a { font-size: .7rem; }
}

/* Coded SmartUser discovery entry surface. */
.coded-discovery-shell { min-height: 100vh; background: #f5f9fe; color: #172b45; }
.coded-discovery-page { width: min(100%, 760px); min-height: 100vh; margin: 0 auto; padding: 22px clamp(16px, 4vw, 38px) calc(env(safe-area-inset-bottom, 0px) + 112px); }
.coded-discovery-topbar { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; margin-bottom: 22px; }
.coded-discovery-topbar button, .coded-discovery-topbar a { min-width: 44px; min-height: 44px; border: 0; border-radius: 14px; background: #fff; color: #126bd2; font: inherit; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; box-shadow: 0 8px 24px rgba(39,83,132,.09); cursor: pointer; }
.coded-discovery-topbar strong { text-align: center; }
.coded-discovery-hero { padding: clamp(24px, 5vw, 42px); border-radius: 28px; background: linear-gradient(135deg, #0875df, #1453b8); color: #fff; box-shadow: 0 20px 42px rgba(20,83,184,.19); }
.coded-discovery-hero > p { margin: 0 0 6px; font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.coded-discovery-hero h1 { margin: 0 0 8px; font-size: clamp(1.8rem, 6vw, 2.7rem); line-height: 1.08; }
.coded-discovery-hero > span { display: block; color: #e6f2ff; line-height: 1.5; }
.coded-discovery-hero form { margin-top: 22px; padding: 7px; border-radius: 18px; background: #fff; display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.coded-discovery-hero input[type="search"] { width: 100%; min-width: 0; min-height: 46px; padding: 0 14px; border: 0; border-radius: 12px; color: #172b45; font: inherit; }
.coded-discovery-hero form button { min-height: 46px; padding: 0 20px; border: 0; border-radius: 12px; background: #0b66c3; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.coded-discovery-notice { margin-top: 18px; }
.coded-discovery-section { margin-top: 28px; }
.coded-discovery-section h2 { margin: 0 0 13px; font-size: 1.25rem; }
.coded-discovery-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.coded-discovery-service { position: relative; min-height: 116px; overflow: hidden; padding: 17px 13px; border: 1px solid #dce9f8; border-radius: 19px; background: #fff; color: #172b45; font: inherit; text-align: left; text-decoration: none; box-shadow: 0 10px 25px rgba(39,83,132,.07); display: flex; flex-direction: column; justify-content: center; gap: 7px; cursor: pointer; }
.coded-discovery-service small { color: #667991; line-height: 1.35; }
.coded-discovery-service--soon { border-style: dashed; background: #f8fafc; color: #637083; cursor: default; }
.coded-discovery-corner-flag { position: absolute; top: 11px; right: -30px; width: 116px; padding: 4px 0; transform: rotate(36deg); background: #e6a700; color: #201700; font-size: .62rem; font-weight: 900; text-align: center; text-transform: uppercase; }
.coded-discovery-pills { display: flex; flex-wrap: wrap; gap: 9px; }
.coded-discovery-pills button { min-height: 44px; padding: 0 15px; border: 1px solid #cfe0f4; border-radius: 999px; background: #fff; color: #126bd2; font: inherit; font-weight: 700; cursor: pointer; }
.coded-discovery-emergency { margin-top: 26px; padding: 17px 19px; border: 1px solid #ffd6d6; border-radius: 19px; background: #fff6f6; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.coded-discovery-emergency p { margin: 4px 0 0; color: #6d4650; }
.coded-discovery-emergency a { flex: 0 0 auto; padding: 11px 15px; border-radius: 12px; background: #b4232f; color: #fff; font-weight: 800; text-decoration: none; }
.coded-discovery-shell a:focus-visible, .coded-discovery-shell button:focus-visible, .coded-discovery-shell input:focus-visible { outline: 3px solid rgba(17,112,226,.32); outline-offset: 3px; }

@media (max-width: 680px) {
  .coded-discovery-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 440px) {
  .coded-discovery-page { padding-inline: 13px; }
  .coded-discovery-hero { padding: 24px 18px; border-radius: 24px; }
  .coded-discovery-hero form { grid-template-columns: 1fr; }
  .coded-discovery-emergency { align-items: stretch; flex-direction: column; }
  .coded-discovery-emergency a { text-align: center; }
}

/* Coded account settings surface. */
.coded-settings-shell { min-height: 100vh; background: #f5f9fe; color: #172b45; }
.coded-notifications-shell { min-height: 100vh; background: #f7faff; color: #172b45; }
.coded-qr-shell { min-height: 100vh; background: #f5f9fe; color: #172b45; }
.coded-qr-page { width: min(100%, 644px); min-height: 100vh; margin: 0 auto; padding: 22px clamp(16px,4vw,34px) calc(env(safe-area-inset-bottom,0px) + 112px); }
.coded-qr-hero { padding: clamp(25px,5vw,38px); border-radius: 27px; background: linear-gradient(135deg,#0875df,#1453b8); color: #fff; box-shadow: 0 20px 42px rgba(20,83,184,.19); }
.coded-qr-hero p,.coded-qr-heading p,.coded-qr-preview>p:first-child { margin: 0 0 6px; font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.coded-qr-hero h1,.coded-qr-heading h1 { margin: 0; font-size: clamp(1.85rem,7vw,2.75rem); line-height: 1.08; }
.coded-qr-hero span,.coded-qr-heading span { display: block; margin-top: 10px; line-height: 1.5; }
.coded-qr-guide,.coded-qr-camera,.coded-qr-fallback,.coded-qr-preview { margin-top: 20px; padding: 21px; border: 1px solid #dce9f8; border-radius: 22px; background: #fff; box-shadow: 0 10px 26px rgba(39,83,132,.07); }
.coded-qr-guide h2 { margin: 0 0 16px; }
.coded-qr-guide ol { list-style: none; display: grid; gap: 17px; margin: 0; padding: 0; }
.coded-qr-guide li { display: flex; align-items: flex-start; gap: 13px; }
.coded-qr-guide li>b { width: 36px; height: 36px; flex: 0 0 auto; border-radius: 12px; background: #e9f4ff; color: #0875df; display: grid; place-items: center; }
.coded-qr-guide li span { display: grid; gap: 4px; }
.coded-qr-guide small,.coded-qr-camera p,.coded-qr-preview p,.coded-qr-preview span { color: #60758e; line-height: 1.45; }
.coded-qr-safety { margin: 16px 0; padding: 17px 19px; border: 1px solid #a9d6bf; border-radius: 18px; background: #f1fbf5; }
.coded-qr-safety p { margin: 5px 0 0; color: #416550; line-height: 1.45; }
.coded-qr-primary { min-height: 52px; padding: 0 20px; border-radius: 15px; background: #0875df; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; text-decoration: none; }
.coded-qr-heading { margin: 12px 0 18px; }
.coded-qr-heading p { color: #0875df; }
.coded-qr-camera { text-align: center; overflow: hidden; }
.coded-qr-camera video { width: 100%; min-height: 180px; max-height: 310px; border-radius: 18px; background: #10213a; object-fit: cover; }
.coded-qr-camera>span { width: min(48vw,190px); aspect-ratio: 1; display: block; margin: -205px auto 32px; position: relative; border: 3px solid #57b8ff; border-radius: 22px; pointer-events: none; }
.coded-qr-camera button,.coded-qr-fallback button,.coded-qr-preview button { min-height: 46px; padding: 0 18px; border: 1px solid #0875df; border-radius: 13px; background: #fff; color: #0875df; font: inherit; font-weight: 800; cursor: pointer; }
.coded-qr-fallback { display: grid; gap: 17px; }
.coded-qr-fallback label,.coded-qr-fallback form { display: grid; gap: 8px; font-weight: 750; }
.coded-qr-fallback input[type=file],.coded-qr-fallback input:not([type=file]) { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #bfcfe1; border-radius: 13px; background: #fff; font: inherit; box-sizing: border-box; }
.coded-qr-preview h2 { margin: 0 0 13px; text-transform: capitalize; }
.coded-qr-preview dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.coded-qr-preview dl div { padding: 11px; border-radius: 13px; background: #eef6ff; }
.coded-qr-preview dt { color: #60758e; font-size: .76rem; }
.coded-qr-preview dd { margin: 4px 0 0; font-weight: 800; }
.coded-qr-preview>div:last-of-type { display: flex; gap: 10px; margin-top: 16px; }
.coded-qr-preview>div:last-of-type button:last-child { flex: 1; background: #0875df; color: #fff; }
.coded-qr-preview>a,.coded-qr-cancel { min-height: 44px; display: flex; align-items: center; justify-content: center; color: #0875df; font-weight: 750; }
.coded-qr-cancel { margin-top: 13px; }
.coded-qr-shell a:focus-visible,.coded-qr-shell button:focus-visible,.coded-qr-shell input:focus-visible { outline: 3px solid rgba(17,112,226,.35); outline-offset: 3px; }
.coded-notifications-page { width: min(100%, 644px); min-height: 100vh; margin: 0 auto; padding: 22px clamp(16px, 4vw, 34px) calc(env(safe-area-inset-bottom, 0px) + 110px); }
.coded-notifications-topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.coded-notifications-topbar button, .coded-notifications-topbar a { width: 46px; min-height: 46px; border: 0; border-radius: 15px; background: #fff; color: #126bd2; display: inline-flex; align-items: center; justify-content: center; font: inherit; font-size: 1.35rem; text-decoration: none; box-shadow: 0 8px 24px rgba(39,83,132,.09); cursor: pointer; }
.coded-notifications-heading p { margin: 0 0 5px; color: #126bd2; font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.coded-notifications-heading h1 { margin: 0; font-size: clamp(2rem, 7vw, 3rem); line-height: 1.05; letter-spacing: -.035em; }
.coded-notifications-heading span { display: block; margin-top: 10px; color: #60758e; font-size: 1rem; }
.coded-notification-filters { display: flex; gap: 9px; margin: 24px 0 18px; padding-bottom: 4px; overflow-x: auto; scrollbar-width: none; }
.coded-notification-filters::-webkit-scrollbar { display: none; }
.coded-notification-filters button { flex: 0 0 auto; min-height: 42px; padding: 0 16px; border: 1px solid #bfd0e2; border-radius: 999px; background: #fff; color: #556a82; font: inherit; font-weight: 750; cursor: pointer; }
.coded-notification-filters button[aria-pressed="true"] { border-color: #0875df; background: #0875df; color: #fff; }
.coded-notification-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; color: #60758e; font-size: .9rem; }
.coded-notification-summary button { min-height: 42px; border: 0; background: transparent; color: #0875df; font: inherit; font-weight: 800; cursor: pointer; }
.coded-notification-summary button:disabled { color: #94a4b7; cursor: default; }
.coded-notification-card { position: relative; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 13px; min-height: 84px; margin-bottom: 12px; padding: 15px 17px; border: 1px solid #dce8f5; border-radius: 21px; background: #fff; color: #172b45; text-decoration: none; box-shadow: 0 10px 26px rgba(39,83,132,.07); }
.coded-notification-card.is-unread { border-color: #9dc9f7; background: #f0f7ff; }
.coded-notification-icon { width: 48px; height: 48px; border-radius: 16px; background: #e9f4ff; color: #0875df; display: inline-flex; align-items: center; justify-content: center; font-size: 1.3rem; font-weight: 800; }
.coded-notification-copy { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.coded-notification-copy strong { line-height: 1.25; }
.coded-notification-copy small { color: #60758e; line-height: 1.35; }
.coded-notification-card time { align-self: start; color: #71839a; font-size: .78rem; white-space: nowrap; }
.coded-notification-card i { position: absolute; right: 15px; bottom: 14px; width: 8px; height: 8px; border-radius: 50%; background: #0875df; }
.coded-notification-state { margin-top: 22px; padding: 32px 22px; border: 1px dashed #bed2e8; border-radius: 23px; background: #fff; text-align: center; }
.coded-notification-state p { margin: 8px auto 0; max-width: 34ch; color: #60758e; line-height: 1.5; }
.coded-notification-state.is-error { border-color: #e9b7b7; background: #fff7f7; }
.coded-notification-state button { min-height: 44px; margin-top: 17px; padding: 0 20px; border: 0; border-radius: 13px; background: #0875df; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.coded-notifications-shell a:focus-visible, .coded-notifications-shell button:focus-visible { outline: 3px solid rgba(17,112,226,.35); outline-offset: 3px; }
@media (max-width: 480px) {
  .coded-notifications-page { padding-inline: 13px; }
  .coded-notification-card { grid-template-columns: 44px minmax(0,1fr); padding: 14px; }
  .coded-notification-card time { grid-column: 2; justify-self: start; }
  .coded-notification-card i { right: 14px; bottom: 17px; }
}
.coded-settings-page { width: min(100%, 720px); min-height: 100vh; margin: 0 auto; padding: 22px clamp(16px, 4vw, 38px) calc(env(safe-area-inset-bottom, 0px) + 112px); }
.coded-settings-topbar { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; margin-bottom: 22px; }
.coded-settings-topbar button, .coded-settings-topbar a { min-width: 44px; min-height: 44px; border: 0; border-radius: 14px; background: #fff; color: #126bd2; font: inherit; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; box-shadow: 0 8px 24px rgba(39,83,132,.09); cursor: pointer; }
.coded-settings-topbar strong { text-align: center; }
.coded-settings-intro { padding: clamp(24px, 5vw, 38px); border-radius: 27px; background: linear-gradient(135deg, #0875df, #1453b8); color: #fff; box-shadow: 0 20px 42px rgba(20,83,184,.19); }
.coded-settings-intro > p { margin: 0 0 6px; font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.coded-settings-intro h1 { margin: 0 0 10px; font-size: clamp(1.7rem, 5vw, 2.45rem); line-height: 1.1; }
.coded-settings-intro > span { display: block; color: #e6f2ff; line-height: 1.55; }
.coded-settings-intro > a { display: inline-flex; margin-top: 20px; min-height: 44px; padding: 0 18px; border-radius: 13px; background: #fff; color: #126bd2; font-weight: 800; text-decoration: none; align-items: center; justify-content: center; }
.coded-settings-boundary { margin-top: 18px; padding: 17px 19px; border: 1px solid #f0d89c; border-radius: 18px; background: #fff9e9; }
.coded-settings-boundary p { margin: 5px 0 0; color: #675a38; line-height: 1.5; }
.coded-settings-section { margin-top: 27px; }
.coded-settings-section h2 { margin: 0 0 12px; font-size: 1.18rem; }
.coded-settings-list { overflow: hidden; border: 1px solid #dce9f8; border-radius: 21px; background: #fff; box-shadow: 0 10px 26px rgba(39,83,132,.07); }
.coded-settings-list > a { min-height: 70px; padding: 14px 18px; display: flex; align-items: center; gap: 14px; border-bottom: 1px solid #e7eff8; color: #172b45; text-decoration: none; }
.coded-settings-list > button { width: 100%; min-height: 70px; padding: 14px 18px; display: flex; align-items: center; gap: 14px; border: 0; border-bottom: 1px solid #e7eff8; background: #fff; color: #a32626; text-align: left; font: inherit; cursor: pointer; }
.coded-settings-list > button:focus-visible { outline: 3px solid #0875df; outline-offset: -3px; }
.coded-settings-list > button:disabled { cursor: wait; opacity: .65; }
.coded-settings-list > a:last-child { border-bottom: 0; }
.coded-settings-list > button:last-child { border-bottom: 0; }
.coded-settings-list span { display: flex; flex: 1; flex-direction: column; gap: 4px; }
.coded-settings-list small { color: #667991; line-height: 1.4; }
.coded-settings-list b { color: #0875df; font-size: 1.45rem; }
.coded-settings-shell a:focus-visible, .coded-settings-shell button:focus-visible { outline: 3px solid rgba(17,112,226,.32); outline-offset: 3px; }

@media (max-width: 440px) {
  .coded-settings-page { padding-inline: 13px; }
  .coded-settings-intro { padding: 24px 18px; border-radius: 23px; }
}

/* Shared coded Professional admission prerequisite surface. */
.coded-professional-admission-shell { min-height: 100vh; background: #f5f9fe; color: #172b45; }
.coded-professional-admission-page { width: min(100%, 760px); min-height: 100vh; margin: 0 auto; padding: 22px clamp(16px, 4vw, 38px) 42px; }
.coded-professional-admission-topbar { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; margin-bottom: 22px; }
.coded-professional-admission-topbar a { min-width: 44px; min-height: 44px; border-radius: 14px; background: #fff; color: #126bd2; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; box-shadow: 0 8px 24px rgba(39,83,132,.09); }
.coded-professional-admission-topbar strong { text-align: center; }
.coded-professional-admission-hero { padding: clamp(25px, 5vw, 42px); border-radius: 28px; background: linear-gradient(135deg, #075fae, #083c75); color: #fff; box-shadow: 0 20px 42px rgba(8,60,117,.2); }
.coded-professional-admission-hero > p { margin: 0 0 7px; font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.coded-professional-admission-hero h1 { margin: 0 0 12px; font-size: clamp(1.65rem, 5vw, 2.45rem); line-height: 1.1; }
.coded-professional-admission-hero > span { display: block; color: #e4f1ff; line-height: 1.58; }
.coded-professional-admission-state { margin-top: 18px; padding: 17px 19px; border: 1px solid #f0d89c; border-radius: 18px; background: #fff9e9; }
.coded-professional-admission-state p { margin: 5px 0 0; color: #675a38; line-height: 1.5; }
.coded-professional-admission-state.is-ready { border-color: #98d8b2; background: #effbf4; }
.coded-professional-admission-state ul { display: grid; gap: 8px; margin: 14px 0 10px; padding: 0; list-style: none; }
.coded-professional-admission-state > ul > li { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 12px; background: rgba(255, 255, 255, 0.78); }
.coded-professional-admission-state > ul > li > span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: #fff0c5; color: #785800; font-weight: 800; }
.coded-professional-admission-state > ul > li.is-ready > span { background: #d9f5e4; color: #126334; }
.coded-professional-admission-state > ul > li small { color: #675a38; }
.coded-professional-admission-state > small { display: block; color: #675a38; line-height: 1.45; }
.professional-admission-state-label { margin: 0 0 5px !important; color: #294983 !important; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.professional-admission-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 15px 0 12px; }
.professional-admission-facts > div { min-width: 0; padding: 9px 10px; border-radius: 12px; background: rgba(255, 255, 255, .78); }
.professional-admission-facts dt { color: #675a38; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.professional-admission-facts dd { margin: 3px 0 0; overflow-wrap: anywhere; color: #20324d; font-size: 13px; font-weight: 700; }
.coded-professional-admission-state form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.coded-professional-admission-state form label { display: grid; align-content: start; gap: 6px; min-width: 0; color: #263b5b; font-size: 13px; font-weight: 700; line-height: 1.35; }
.coded-professional-admission-state form input:not([type="checkbox"]),
.coded-professional-admission-state form select { box-sizing: border-box; width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #b8c9e4; border-radius: 10px; background: #fff; color: #172b4d; font: inherit; }
.coded-professional-admission-state form input[type="file"] { padding: 7px; }
.coded-professional-admission-state form label:has(input[type="checkbox"]) { display: flex; grid-column: 1 / -1; align-items: flex-start; gap: 9px; }
.coded-professional-admission-state form input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; }
.coded-professional-admission-state button { min-height: 44px; padding: 10px 16px; border: 0; border-radius: 12px; background: #1268d7; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.coded-professional-admission-state form button { grid-column: 1 / -1; justify-self: start; }
.coded-professional-admission-state button:disabled { cursor: not-allowed; opacity: .55; }
.coded-professional-admission-state > label:has([data-admission-consent]) { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; margin: 14px 0; padding: 8px 0; line-height: 1.5; cursor: pointer; }
.coded-professional-admission-state > label > [data-admission-consent] { flex: 0 0 auto; width: 20px; height: 20px; margin: 2px 0 0; accent-color: #1268d7; }
.coded-professional-admission-state > label:focus-within { outline: 2px solid #1268d7; outline-offset: 4px; border-radius: 6px; }
@media (max-width: 420px) {
  .professional-admission-facts { grid-template-columns: 1fr; }
  .coded-professional-admission-state form { grid-template-columns: 1fr; }
}
.coded-professional-admission-section { margin-top: 28px; }
.coded-professional-admission-section h2 { margin: 0 0 13px; font-size: 1.25rem; }
.coded-professional-admission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.coded-professional-admission-grid article { padding: 19px; border: 1px solid #dce9f8; border-radius: 20px; background: #fff; box-shadow: 0 10px 25px rgba(39,83,132,.07); }
.coded-professional-admission-grid p { margin: 7px 0 0; color: #667991; line-height: 1.48; }
.coded-professional-admission-actions { margin-top: 25px; display: flex; flex-wrap: wrap; gap: 10px; }
.coded-professional-admission-actions a { min-height: 46px; padding: 0 17px; border: 1px solid #cfe0f4; border-radius: 13px; background: #fff; color: #126bd2; font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.coded-professional-admission-actions .coded-professional-admission-primary { border-color: #126bd2; background: #126bd2; color: #fff; }
.coded-professional-admission-shell a:focus-visible { outline: 3px solid rgba(17,112,226,.32); outline-offset: 3px; }

@media (max-width: 560px) {
  .coded-professional-admission-page { padding-inline: 13px; }
  .coded-professional-admission-hero { padding: 24px 18px; border-radius: 23px; }
  .coded-professional-admission-grid { grid-template-columns: 1fr; }
  .coded-professional-admission-actions a { flex: 1 1 calc(50% - 10px); }
}

/* Coded Doctor workspace prerequisite surface. */
.coded-doctor-workspace-shell { min-height: 100vh; background: #f3f8fd; color: #172b45; }
.coded-doctor-workspace-page { width: min(100%, 840px); min-height: 100vh; margin: 0 auto; padding: 22px clamp(16px, 4vw, 40px) 42px; }
.coded-doctor-workspace-topbar { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; margin-bottom: 22px; }
.coded-doctor-workspace-topbar a { min-width: 44px; min-height: 44px; border-radius: 14px; background: #fff; color: #126bd2; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; box-shadow: 0 8px 24px rgba(39,83,132,.09); }
.coded-doctor-workspace-topbar strong { text-align: center; }
.coded-doctor-workspace-hero { padding: clamp(26px, 5vw, 44px); border-radius: 28px; background: linear-gradient(135deg, #0a6b88, #06455c); color: #fff; box-shadow: 0 20px 44px rgba(6,69,92,.2); }
.coded-doctor-workspace-hero > p { margin: 0 0 7px; font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.coded-doctor-workspace-hero h1 { margin: 0 0 12px; font-size: clamp(1.7rem, 5vw, 2.55rem); line-height: 1.1; }
.coded-doctor-workspace-hero > span { display: block; color: #e3f6fb; line-height: 1.58; }
.coded-doctor-workspace-boundary { margin-top: 18px; padding: 18px 20px; border: 1px solid #aed9e6; border-radius: 19px; background: #effbff; }
.coded-doctor-workspace-boundary p { margin: 5px 0 0; color: #395f6c; line-height: 1.5; }
.coded-doctor-workspace-section { margin-top: 28px; }
.coded-doctor-workspace-section h2 { margin: 0 0 13px; font-size: 1.25rem; }
.coded-doctor-workspace-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.coded-doctor-workspace-grid article { position: relative; min-height: 155px; padding: 20px; border: 1px solid #dce9f8; border-radius: 20px; background: #fff; box-shadow: 0 10px 25px rgba(39,83,132,.07); }
.coded-doctor-workspace-grid p { margin: 8px 0 32px; color: #667991; line-height: 1.48; }
.coded-doctor-workspace-grid article > span { position: absolute; left: 20px; bottom: 18px; padding: 5px 9px; border-radius: 999px; background: #edf2f7; color: #5d6c7c; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.coded-doctor-workspace-actions { margin-top: 25px; display: flex; flex-wrap: wrap; gap: 10px; }
.coded-doctor-workspace-actions a { min-height: 46px; padding: 0 17px; border: 1px solid #cfe0f4; border-radius: 13px; background: #fff; color: #126bd2; font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.coded-doctor-workspace-actions .coded-doctor-workspace-primary { border-color: #08718f; background: #08718f; color: #fff; }
.coded-doctor-workspace-shell a:focus-visible { outline: 3px solid rgba(8,113,143,.34); outline-offset: 3px; }

@media (max-width: 560px) {
  .coded-doctor-workspace-page { padding-inline: 13px; }
  .coded-doctor-workspace-hero { padding: 24px 18px; border-radius: 23px; }
  .coded-doctor-workspace-grid { grid-template-columns: 1fr; }
  .coded-doctor-workspace-actions a { flex: 1 1 calc(50% - 10px); }
}
.entity-selection-coded [data-entity-options] {
  gap: 0.75rem;
}

.entity-selection-option {
  align-items: center;
  background: #fff;
  border: 1px solid #d6e0f2;
  border-radius: 16px;
  color: #17233d;
  cursor: pointer;
  display: flex;
  font: inherit;
  justify-content: space-between;
  min-height: 64px;
  padding: 0.8rem 1rem;
  text-align: left;
  width: 100%;
}

.entity-selection-option > span {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.entity-selection-option strong {
  overflow-wrap: anywhere;
}

.entity-selection-option small {
  color: #5f6f8e;
  text-transform: capitalize;
}

.entity-selection-option > b {
  color: #2f6bff;
  font-size: 1.6rem;
  margin-left: 0.75rem;
}

.entity-selection-option:hover,
.entity-selection-option:focus-visible {
  border-color: #2f6bff;
  box-shadow: 0 8px 20px rgba(47, 107, 255, 0.14);
  outline: none;
}

.entity-selection-option:disabled {
  cursor: wait;
  opacity: 0.65;
}

.care-circle-row-action {
  margin-top: 0.75rem;
  width: fit-content;
}

.care-circle-section-heading {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 0.9rem;
}

.care-circle-section-heading h2 {
  margin: 0;
}

.care-circle-search-summary {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.care-circle-search-summary h2 {
  margin: 0;
}

.care-circle-search-form > label,
.care-circle-search-result > label,
.care-circle-workspace-shell [data-family-link-owner] form > label,
.care-circle-decision > label:not(.care-circle-consent) {
  display: grid;
  gap: 0.45rem;
  margin: 1rem 0;
  color: #243755;
  font-weight: 700;
}

.care-circle-search-form input,
.care-circle-search-form select,
.care-circle-workspace-shell [data-family-link-owner] select,
.care-circle-workspace-shell [data-family-copy-value],
.care-circle-search-result select,
.care-circle-decision select {
  width: 100%;
  min-height: 3rem;
  padding: 0 0.8rem;
  border: 1px solid #bdcbe3;
  border-radius: 0.75rem;
  background: #fff;
  color: #14213d;
  font: inherit;
}

.care-circle-search-result {
  display: grid;
  gap: 0.45rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid #cbdaf0;
  border-radius: 1rem;
  background: #f7faff;
}

.care-circle-search-result p,
.care-circle-decision p {
  line-height: 1.5;
}

.care-circle-shared-heading {
  align-items: start;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.care-circle-shared-heading h2,
.care-circle-shared-heading p {
  margin: 0;
}

.care-circle-shared-heading p {
  margin-top: 0.35rem;
  color: #5f6f8e;
  line-height: 1.4;
}

.care-circle-shared-heading > span {
  flex: 0 0 auto;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  background: #eaf2ff;
  color: #1f5dcc;
  font-size: 0.75rem;
  font-weight: 800;
}

.care-circle-shared-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

/* Keep recorded-update identities and source labels readable inside narrow cards. */
[data-family-attention] .coded-profile-grid-item {
  min-width: 0;
  overflow-wrap: anywhere;
}

.care-circle-shared-grid .coded-profile-grid-item {
  align-content: center;
  min-height: 5.25rem;
  padding: 0.8rem;
  text-align: center;
}

.care-circle-shared-grid .coded-profile-grid-item small {
  margin-top: 0.25rem;
}

.care-circle-decision .danger-button {
  min-height: 44px;
  padding: 0 1rem;
  border: 1px solid #a12632;
  border-radius: 0.75rem;
  background: #a12632;
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.care-circle-decision .danger-button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.care-circle-permission-summary {
  display: grid;
  gap: 0.65rem;
  margin: 0.8rem 0;
  padding-left: 1.25rem;
}

.care-circle-permission-options {
  display: grid;
  gap: 0;
  margin-top: 0.75rem;
  border: 1px solid #dbe4f4;
  border-radius: 1rem;
  overflow: hidden;
}

.care-circle-permission-options label {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  min-height: 4.4rem;
  padding: 0.75rem 0.9rem;
  background: #fff;
  border-bottom: 1px solid #e8edf6;
  cursor: pointer;
}

.care-circle-permission-options label:last-child {
  border-bottom: 0;
}

.care-circle-permission-options input,
.care-circle-consent input {
  width: 1.4rem;
  height: 1.4rem;
  accent-color: #2f6bff;
}

.care-circle-permission-options span {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.care-circle-permission-options small,
.care-circle-consent span {
  color: #5f6f8e;
  line-height: 1.35;
}

.care-circle-duration {
  display: grid;
  gap: 0.45rem;
  margin-top: 1rem;
  font-weight: 700;
}

.care-circle-duration select {
  min-height: 3rem;
  padding: 0 0.8rem;
  border: 1px solid #bdcbe3;
  border-radius: 0.75rem;
  background: #fff;
  color: #14213d;
  font: inherit;
}

.care-circle-consent {
  min-height: 44px;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: start;
  gap: 0.65rem;
  margin: 1rem 0;
}

.care-circle-permission-form .primary-button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

@media (max-width: 430px) {
  .care-circle-section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .care-circle-search-summary {
    align-items: stretch;
    flex-direction: column;
  }

  .care-circle-shared-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .care-circle-shared-heading > span {
    width: fit-content;
  }

  .care-circle-shared-grid .coded-profile-grid-item {
    min-height: 5.6rem;
    padding: 0.7rem 0.55rem;
  }

  .care-circle-section-heading .secondary-button {
    width: 100%;
  }

  .care-circle-permission-options label {
    min-height: 4rem;
    padding: 0.65rem 0.75rem;
  }
}
.record-share-summary,
.record-share-selected,
.record-share-receipt {
  border: 1px solid #d9e3f4;
  border-radius: 16px;
  background: #f8fbff;
  padding: 16px;
}

.record-share-summary span,
.record-share-selected span {
  color: #52647c;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.record-share-summary h2,
.record-share-summary p,
.record-share-selected strong,
.record-share-selected small,
.record-share-receipt p {
  margin: 5px 0 0;
}

.record-share-search,
.record-share-authorize {
  display: grid;
  gap: 12px;
}

.record-share-search label,
.record-share-authorize label {
  display: grid;
  min-width: 0;
  gap: 6px;
  color: #33445b;
  font-weight: 650;
}

.record-share-search input,
.record-share-search select,
.record-share-authorize select {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border: 1px solid #b9c8dd;
  border-radius: 12px;
  background: #fff;
  color: #17243a;
  padding: 0 12px;
  font: inherit;
}

.record-share-results {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.record-share-result {
  display: grid;
  min-height: 56px;
  gap: 3px;
  border: 1px solid #cfdbec;
  border-radius: 13px;
  background: #fff;
  color: #17243a;
  padding: 11px 13px;
  text-align: left;
}

.record-share-result.is-selected {
  border-color: #316cff;
  box-shadow: 0 0 0 2px rgba(49, 108, 255, 0.14);
}

.record-share-selected {
  margin-top: 12px;
}

.record-share-selected strong,
.record-share-selected small {
  display: block;
}

.record-share-confirm {
  grid-template-columns: 24px 1fr !important;
  align-items: start;
  font-weight: 500 !important;
}

.record-share-confirm input {
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
}

.record-share-hint {
  overflow-wrap: anywhere;
  color: #52647c;
  font-size: 0.88rem;
  line-height: 1.45;
}

.record-share-consent details { margin: 12px 0; }
.record-share-consent form { display: grid; gap: 12px; }
.record-share-consent .primary-button { width: 100%; min-height: 44px; }
.record-share-consent summary { cursor: pointer; min-height: 44px; padding: 10px 0; }
.record-share-consent .record-share-confirm { display: grid; gap: 6px; min-height: 44px; align-items: center; }
.record-share-summary h2 { overflow-wrap: anywhere; }
.record-share-consent-wording {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: inherit;
  line-height: 1.5;
  max-height: 24rem;
  overflow-y: auto;
  padding: 12px;
  border: 1px solid #d8e2ed;
  border-radius: 12px;
}

.consent-management-shell .consent-receipt,
.consent-management-shell .consent-consequences {
  margin: 12px 0;
  padding: 16px;
  border: 1px solid #d8e2ed;
  border-radius: 16px;
  background: #f8fbff;
  overflow-wrap: anywhere;
}
.consent-management-shell h3 { margin: 0 0 10px; }
.consent-management-shell .consent-view-controls { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.consent-management-shell [aria-pressed="true"] { border-color: #0064dc; background: #eaf2ff; }
.consent-management-shell summary { min-height: 44px; padding: 12px 0; cursor: pointer; }
.consent-management-shell dl { margin: 0; }
.consent-management-shell dl > div { display: grid; gap: 4px; margin: 10px 0; }
.consent-management-shell dt { color: #52647c; font-size: 0.88rem; }
.consent-management-shell dd { margin: 0; }
.consent-management-shell form { display: grid; gap: 12px; }
.consent-management-shell .consent-choice {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
  align-items: center;
  min-height: 44px;
  padding: 12px;
  border: 1px solid #d8e2ed;
  border-radius: 12px;
  overflow-wrap: anywhere;
}
.consent-management-shell .consent-choice input { width: 20px; height: 20px; margin: 0; }
.consent-management-shell .consent-choice small { display: block; margin-top: 6px; }
.consent-management-shell .consent-reason { display: grid; gap: 8px; }
.consent-management-shell textarea { width: 100%; min-height: 88px; padding: 12px; border: 1px solid #aebfd8; border-radius: 12px; font: inherit; }
.consent-management-shell button,
.consent-management-shell a { min-height: 44px; }
.consent-management-shell button:focus-visible,
.consent-management-shell input:focus-visible,
.consent-management-shell textarea:focus-visible { outline: 3px solid #0064dc; outline-offset: 3px; }

.record-share-receipt {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  border-color: #add8bd;
  background: #f2fbf5;
}

.reception-search-shell .screen-content {
  width: 100%;
  max-width: 100%;
}

.reception-search-intro {
  margin-bottom: 18px;
}

.reception-patient-search-form {
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  gap: 12px;
  padding: 18px;
  border: 1px solid #d8e3f2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(24, 61, 105, 0.08);
}

.reception-patient-search-form label {
  display: grid;
  min-width: 0;
  gap: 7px;
  color: #33445b;
  font-weight: 700;
}

.reception-patient-search-form select,
.reception-patient-search-form input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid #b9c8dd;
  border-radius: 12px;
  background: #fff;
  color: #17243a;
  font: inherit;
}

.reception-patient-search-form select:focus,
.reception-patient-search-form input:focus {
  border-color: #216cff;
  outline: 3px solid rgba(33, 108, 255, 0.16);
}

.reception-search-result,
.reception-search-neutral {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid #b8d8c2;
  border-radius: 18px;
  background: #f2fbf5;
}

.reception-search-neutral {
  border-color: #d8e3f2;
  background: #f7faff;
}

.reception-search-result span {
  color: #216a40;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.reception-search-result h2,
.reception-search-result p,
.reception-search-neutral p {
  margin: 6px 0 0;
}

.reception-search-result small,
.reception-search-privacy {
  display: block;
  margin-top: 10px;
  color: #596b82;
  line-height: 1.5;
}

.reception-search-error {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff0f0;
  color: #8a1f2d;
  font-weight: 700;
}

@media (max-width: 720px) {
  .reception-patient-search-form {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .reception-patient-search-form .primary-button {
    width: 100%;
    min-height: 48px;
  }
}

.doctor-completion-shell .screen-content {
  width: min(100%, 760px);
  margin-inline: auto;
}

.doctor-completion-choices,
.doctor-completion-checklist,
.doctor-completion-receipt,
.doctor-completion-identity {
  margin-top: 16px;
}

.doctor-completion-choice {
  display: grid;
  gap: 5px;
  padding: 16px;
  border: 1px solid #d8e3f2;
  border-radius: 16px;
  color: #17243a;
  text-decoration: none;
}

.doctor-completion-choice + .doctor-completion-choice {
  margin-top: 10px;
}

.doctor-completion-choice:hover,
.doctor-completion-choice:focus-visible {
  border-color: #216cff;
  outline: 3px solid rgba(33, 108, 255, 0.14);
}

.doctor-completion-choice small,
.doctor-completion-identity small {
  color: #596b82;
}

.doctor-completion-identity {
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  border: 1px solid #cfdced;
  border-radius: 18px;
  background: #f7faff;
}

.doctor-completion-identity span {
  color: #52647c;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.doctor-completion-checklist ul {
  display: grid;
  gap: 0;
  margin: 12px 0;
  padding: 0 52px 0 0;
  list-style: none;
}

.doctor-completion-checklist li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid #e2eaf5;
}

.doctor-completion-checklist li span {
  min-width: 28px;
  color: #216cff;
  font-weight: 800;
  text-align: right;
}

.doctor-completion-ready,
.doctor-completion-success {
  border-color: #add8bd;
  background: #f2fbf5;
  color: #216a40;
}

.doctor-completion-ready {
  padding: 10px 58px 10px 12px;
  border-radius: 12px;
}

.doctor-completion-confirm {
  display: grid;
  gap: 14px;
}

.doctor-completion-confirm label {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  align-items: start;
  color: #33445b;
  line-height: 1.45;
}

.doctor-completion-confirm input {
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
}

.doctor-completion-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.doctor-completion-receipt dl {
  display: grid;
  gap: 10px;
  margin: 12px 0 0;
}

.doctor-completion-receipt dl div {
  display: grid;
  grid-template-columns: minmax(120px, 0.7fr) 1.3fr;
  gap: 12px;
}

.doctor-completion-receipt dt {
  color: #596b82;
}

.doctor-completion-receipt dd {
  margin: 0;
  padding-right: 52px;
  overflow-wrap: anywhere;
  font-weight: 700;
}

@media (max-width: 560px) {
  .doctor-completion-actions,
  .doctor-completion-actions > *,
  .doctor-completion-confirm,
  .doctor-completion-confirm .primary-button {
    width: 100%;
  }

  .doctor-completion-receipt dl div {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .doctor-completion-receipt dd {
    padding-right: 52px;
  }

  .doctor-completion-checklist ul {
    padding-right: 52px;
  }
}
.professional-profile-shell {
  min-height: 100vh;
  background: linear-gradient(180deg, #eef4ff 0, #fff 42%);
}
.professional-profile-content { max-width: 720px; margin: 0 auto; padding: 32px 24px 56px; }
.professional-profile-topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; }
.professional-profile-topbar a { min-height: 44px; display: inline-flex; align-items: center; color: #174ea6; text-decoration: none; }
.professional-profile-content h1 { margin: 4px 0 8px; color: #102a56; font-size: clamp(2rem, 6vw, 3rem); }
.professional-profile-intro { margin: 0 0 24px; color: #53647e; }
.professional-profile-content form { display: grid; gap: 20px; }
.professional-profile-content fieldset { display: grid; grid-template-columns: 1fr; gap: 16px; border: 1px solid #d7e2f1; border-radius: 20px; padding: 20px; background: #fff; }
.professional-profile-content legend { padding: 0 8px; color: #102a56; font-weight: 700; }
.professional-profile-content label { display: grid; gap: 7px; color: #33445f; font-size: .9rem; }
.professional-profile-content input { width: 100%; min-height: 48px; border: 1px solid #b9c8dc; border-radius: 12px; padding: 0 13px; color: #14243d; background: #fff; }
.professional-profile-content input[readonly] { background: #f4f7fb; color: #5c6c83; }
.professional-profile-guidance { grid-column: 1 / -1; margin: 0; color: #66758c; font-size: .9rem; line-height: 1.45; }
.professional-profile-primary, .professional-profile-continue { min-height: 48px; border: 0; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; font-weight: 700; }
.professional-profile-primary { background: #2868e8; color: #fff; }
.professional-profile-continue { background: #e8f0ff; color: #174ea6; text-decoration: none; }
@media (max-width: 560px) {
  .professional-profile-content { padding: 22px 16px 40px; }
  .professional-profile-content fieldset { grid-template-columns: 1fr; padding: 17px; }
}

.screen-shell.professional-profile-shell .screen-content.professional-profile-content {
  width: min(100%, 760px);
  max-width: 760px;
}

.professional-review-shell { min-height: 100vh; background: #f4f7fc; }
.tracker-body[data-page-key="internal-professional-review"] .device-frame-app { width: min(100%, 1220px); }
.tracker-body[data-page-key="internal-professional-review"] .device-frame-app .device-screen { width: 100%; min-height: calc(100svh - 40px); }
.professional-review-content { width: min(100%, 1180px); max-width: 1180px; margin: 0 auto; padding: 28px 24px 64px; gap: 20px; }
.professional-review-topbar { display: flex; justify-content: space-between; min-height: 44px; align-items: center; }
.professional-review-content > h1 { margin: 0; color: #102a56; font-size: clamp(2rem, 5vw, 3.5rem); }
.professional-review-content > p { margin: -10px 0 8px; color: #5b6b83; }
.professional-review-content > section > h2 { color: #102a56; font-size: 1.3rem; }
.professional-review-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 18px; }
.professional-review-card { display: grid; gap: 16px; padding: 20px; border: 1px solid #d5dfed; border-radius: 20px; background: #fff; box-shadow: 0 12px 28px rgba(30, 69, 128, .07); }
.professional-review-card header { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.professional-review-card header span { color: #6b7a90; font-size: .82rem; }
.professional-review-card h2 { margin: 4px 0 0; color: #102a56; font-size: 1.15rem; }
.professional-review-card header > strong { border-radius: 999px; background: #e8f0ff; color: #174ea6; padding: 7px 10px; font-size: .76rem; }
.professional-review-card dl { display: grid; grid-template-columns: minmax(100px, .7fr) 1.3fr; margin: 0; gap: 8px 12px; }
.professional-review-card dt { color: #6b7a90; }
.professional-review-card dd { margin: 0; color: #172944; overflow-wrap: anywhere; }
.professional-review-card label { display: grid; gap: 7px; color: #40516a; }
.professional-review-card textarea { min-height: 76px; resize: vertical; border: 1px solid #b9c8dc; border-radius: 12px; padding: 10px; }
.professional-review-evidence { color: #174ea6; font-weight: 700; text-decoration: underline; }
button.professional-review-evidence { min-height: 44px; border: 1px solid #b9c8dc; border-radius: 11px; background: #f6f9ff; color: #17345f; padding: 8px 13px; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; }
button.professional-review-evidence:focus-visible { outline: 3px solid #174ea6; outline-offset: 3px; }
.professional-review-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.professional-review-actions button { min-height: 44px; border: 1px solid #b9c8dc; border-radius: 11px; background: #f6f9ff; color: #17345f; padding: 0 13px; font-weight: 700; }
.professional-review-actions button:last-child { background: #2868e8; border-color: #2868e8; color: #fff; }
.professional-review-actions button:disabled { background: #e9eef5; border-color: #cbd5e1; color: #566479; cursor: not-allowed; }
.professional-review-section-copy { margin: -4px 0 14px; color: #5b6b83; }
.professional-review-organization-card { grid-column: 1 / -1; }
.professional-review-evidence-list { display: grid; gap: 10px; padding: 14px; border: 1px solid #e0e7f2; border-radius: 14px; background: #f8faff; }
.professional-review-evidence-list h3 { margin: 0; color: #17345f; font-size: 1rem; }
.professional-review-evidence-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; padding: 12px; border-radius: 12px; background: #fff; }
.professional-review-evidence-row > div:first-child { display: grid; gap: 3px; min-width: 0; }
.professional-review-evidence-row span { color: #68778d; font-size: .82rem; overflow-wrap: anywhere; }
.professional-review-evidence-row > strong { color: #174ea6; font-size: .78rem; }
.professional-review-evidence-row .professional-review-actions { grid-column: 1 / -1; }
@media (max-width: 560px) { .professional-review-content { padding: 20px 15px 44px; } .professional-review-card { padding: 17px; } }

.tracker-body[data-page-key="internal-account-closure-review"] .device-frame-app { width: min(100%, 1220px); }
.tracker-body[data-page-key="internal-account-closure-review"] .device-frame-app .device-screen { width: 100%; min-height: calc(100svh - 40px); }
.account-closure-review-shell { min-height: 100vh; background: #f4f7fc; }
.account-closure-review-content { width: min(100%, 1180px); max-width: 1180px; margin: 0 auto; padding: 28px 24px 64px; gap: 20px; }
.account-closure-review-topbar { display: flex; justify-content: space-between; min-height: 44px; align-items: center; }
.account-closure-review-content > h1 { margin: 0; color: #102a56; font-size: clamp(2rem, 5vw, 3.5rem); }
.account-closure-review-content > p { margin: -10px 0 8px; color: #5b6b83; }
.account-closure-review-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 18px; }
.account-closure-review-card { display: grid; gap: 16px; padding: 20px; border: 1px solid #d5dfed; border-radius: 20px; background: #fff; box-shadow: 0 12px 28px rgba(30, 69, 128, .07); }
.account-closure-review-card header { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.account-closure-review-card header span { color: #6b7a90; font-size: .82rem; }
.account-closure-review-card h2 { margin: 4px 0 0; color: #102a56; font-size: 1rem; overflow-wrap: anywhere; }
.account-closure-review-card header > strong { border-radius: 999px; background: #e8f0ff; color: #174ea6; padding: 7px 10px; font-size: .76rem; }
.account-closure-review-card dl { display: grid; grid-template-columns: minmax(92px, .7fr) 1.3fr; margin: 0; gap: 8px 12px; }
.account-closure-review-card dt { color: #6b7a90; }
.account-closure-review-card dd { margin: 0; color: #172944; overflow-wrap: anywhere; }
.account-closure-review-form { display: grid; gap: 13px; }
.account-closure-review-form label { display: grid; gap: 7px; color: #40516a; }
.account-closure-review-form select, .account-closure-review-form input, .account-closure-review-form textarea { width: 100%; border: 1px solid #b9c8dc; border-radius: 12px; padding: 10px; background: #fff; color: #172944; }
.account-closure-review-form textarea { min-height: 76px; resize: vertical; }
.account-closure-review-safety, .account-closure-review-terminal, .account-closure-review-reason { margin: 0; padding: 12px; border-radius: 12px; background: #f6f9ff; color: #40516a; line-height: 1.5; }
.account-closure-review-reason strong { display: block; color: #17345f; margin-bottom: 4px; }
.account-closure-review-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.account-closure-review-actions button { min-height: 44px; border: 1px solid #b9c8dc; border-radius: 11px; background: #f6f9ff; color: #17345f; padding: 0 13px; font-weight: 700; }
.account-closure-review-actions button:last-child { background: #2868e8; border-color: #2868e8; color: #fff; }
@media (max-width: 560px) { .account-closure-review-content { padding: 20px 15px 44px; } .account-closure-review-card { padding: 17px; } }
.emt-operational-live-shell {
  min-height: 100vh;
  background: linear-gradient(180deg, #eef4ff 0%, #f8fbff 42%, #ffffff 100%);
  color: #17233d;
}

.emt-operational-live-content {
  width: min(100%, 430px);
  margin: 0 auto;
  padding: 22px 20px 34px;
}

.emt-operation-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 34px;
}

.emt-operation-header button,
.emt-operation-header a {
  border: 0;
  background: transparent;
  color: #2059d1;
  font: inherit;
  text-decoration: none;
  padding: 10px 0;
}

.emt-operation-kicker {
  color: #55709e;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.emt-operational-live-content h1 {
  margin: 10px 0 8px;
  font-size: clamp(2rem, 8vw, 2.65rem);
  line-height: 1.05;
}

.emt-operation-summary,
.emt-operation-boundary,
.emt-operation-form p,
.emt-operation-complete p {
  color: #60708f;
  line-height: 1.5;
}

.emt-operation-timeline {
  list-style: none;
  margin: 28px 0;
  padding: 0;
  display: grid;
  gap: 9px;
}

.emt-operation-timeline li {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  min-height: 48px;
  padding: 9px 13px;
  border: 1px solid #dbe5f7;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  color: #77839b;
}

.emt-operation-timeline li span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #e8eef9;
}

.emt-operation-timeline li.is-complete {
  color: #1b674b;
  border-color: #bfe6d5;
}

.emt-operation-timeline li.is-complete span {
  color: white;
  background: #23815e;
}

.emt-operation-timeline li.is-current {
  color: #173b85;
  border-color: #8fb1fa;
  box-shadow: 0 8px 22px rgba(46, 100, 210, 0.1);
}

.emt-operation-timeline li.is-current span {
  color: white;
  background: #2e6df6;
}

.emt-operation-form,
.emt-operation-complete {
  display: grid;
  gap: 14px;
  padding: 20px;
  border: 1px solid #cfddf6;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 14px 38px rgba(32, 65, 126, 0.11);
}

.emt-operation-form h2 {
  margin: 0;
  font-size: 1.25rem;
}

.emt-operation-form label {
  display: grid;
  gap: 7px;
  color: #425373;
  font-weight: 650;
}

.emt-operation-form input,
.emt-operation-form select {
  min-height: 48px;
  border: 1px solid #bdcbe3;
  border-radius: 12px;
  padding: 0 13px;
  background: white;
  color: #17233d;
  font: inherit;
}

.emt-operation-form button {
  min-height: 50px;
  border: 0;
  border-radius: 14px;
  background: #2e6df6;
  color: white;
  font: inherit;
  font-weight: 750;
  box-shadow: 0 9px 20px rgba(46, 109, 246, 0.24);
}

.emt-operation-form button:focus-visible,
.emt-operation-header button:focus-visible,
.emt-operation-header a:focus-visible,
.emt-operation-form input:focus-visible,
.emt-operation-form select:focus-visible {
  outline: 3px solid #f1b94b;
  outline-offset: 3px;
}

.emt-operation-notice {
  display: grid;
  gap: 4px;
  margin-top: 18px;
  padding: 13px 15px;
  border-radius: 14px;
  background: #eef4ff;
}

.emt-operation-notice.success {
  background: #eaf8f2;
  color: #1b674b;
}

.emt-operation-notice.error {
  background: #fff0f1;
  color: #9b2834;
}

@media (min-width: 760px) {
  .emt-operational-live-content {
    width: min(100% - 48px, 720px);
    padding-top: 40px;
  }

  .emt-operation-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.organization-registration-shell {
  min-height: 100vh;
  padding: clamp(21px, 5vw, 55px) 13px;
  background: linear-gradient(145deg, #eef5ff 0%, #ffffff 55%, #eefaf7 100%);
  color: #15345f;
}

.organization-registration-card {
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: clamp(21px, 4vw, 55px);
  border: 1px solid #d9e5f4;
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 21px 55px rgba(24, 69, 120, 0.1);
}

.organization-registration-card > header,
.organization-registration-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
}

.organization-registration-card h1 { margin: 8px 0 13px; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.05; }
.organization-registration-card > p { max-width: 610px; line-height: 1.55; }
.organization-registration-card .organization-registration-boundary { margin-top: 8px; color: #526780; font-size: 0.92rem; }
.organization-registration-layout { display: grid; grid-template-columns: minmax(205px, 0.33fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 55px); margin-top: 34px; }
.organization-registration-layout > main { min-width: 0; }
.organization-registration-steps { display: grid; align-content: start; gap: 4px; margin: 0; padding: 0; list-style: none; }
.organization-registration-steps li { position: relative; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: start; min-height: 58px; padding: 4px 0; color: #708096; }
.organization-registration-steps li:not(:last-child)::after { content: ""; position: absolute; left: 16px; top: 38px; bottom: -4px; border-left: 2px dashed #d8e0eb; }
.organization-registration-steps li > span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #b7c2d0; border-radius: 50%; background: #fff; font-weight: 800; }
.organization-registration-steps li div { display: grid; gap: 2px; padding-top: 2px; }
.organization-registration-steps li strong { color: inherit; font-size: 0.9rem; line-height: 1.25; }
.organization-registration-steps li small { font-weight: 700; }
.organization-registration-steps li.completed { color: #16854b; }
.organization-registration-steps li.completed > span { border-color: #cef3dc; background: #e2f9eb; }
.organization-registration-steps li.current { color: #1267ed; }
.organization-registration-steps li.current > span { border-color: #1267ed; background: #1267ed; color: #fff; }
.organization-registration-step-heading { padding-bottom: 18px; border-bottom: 1px solid #dbe3ed; }
.organization-registration-step-heading > a,
.organization-registration-step-heading > button { display: inline-flex; min-height: 44px; align-items: center; border: 0; background: transparent; color: #1267ed; font: inherit; font-weight: 800; }
.organization-registration-step-heading h2 { margin: 13px 0 7px; color: #182b47; font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.12; }
.organization-registration-step-heading p { margin: 0; color: #61738b; line-height: 1.5; }
.organization-registration-card fieldset { margin: 21px 0; padding: 21px; border: 1px solid #dbe7f3; border-radius: 21px; }
.organization-registration-card legend { padding: 0 8px; font-size: 1.15rem; font-weight: 800; }
.organization-registration-card label { display: grid; gap: 8px; margin-top: 13px; font-weight: 700; }
.organization-registration-card input,
.organization-registration-card select { min-height: 48px; width: 100%; padding: 0 13px; border: 1px solid #aebfd4; border-radius: 13px; background: #fff; color: #142c4d; font: inherit; }
.organization-registration-card input:focus-visible,
.organization-registration-card select:focus-visible,
.organization-registration-card a:focus-visible,
.organization-registration-card button:focus-visible { outline: 3px solid #1769ff; outline-offset: 3px; }
.organization-registration-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.organization-registration-choice { display: flex; flex-wrap: wrap; gap: 13px; }
.organization-registration-choice label,
.organization-registration-ack { display: flex; align-items: flex-start; gap: 8px; }
.organization-registration-choice input,
.organization-registration-ack input { width: 21px; min-height: 21px; margin-top: 1px; }
.organization-registration-message,
.organization-registration-state { display: inline-block; margin: 13px 0; padding: 8px 13px; border-radius: 999px; background: #e8f7ef; color: #17623b; font-weight: 800; }
.organization-registration-state.state-rejected { background: #ffe8ea; color: #a31c2b; }
.organization-registration-state.state-under-review { background: #e6f1ff; color: #1558a8; }
.organization-registration-state.state-approved,
.organization-registration-state.state-activated { background: #e5f8eb; color: #17623b; }
.organization-registration-correction { display: grid; gap: 4px; margin: 0 0 18px; padding: 13px; border: 1px solid #f1bd73; border-radius: 13px; background: #fff8eb; color: #784609; }
.organization-registration-review { display: grid; gap: 18px; margin: 21px 0; padding: 21px; border: 1px solid #dbe7f3; border-radius: 21px; background: #fbfdff; }
.organization-registration-review > div { display: grid; gap: 4px; }
.organization-registration-review span { color: #61738b; }
.organization-registration-review dl { display: grid; gap: 10px; margin: 0; }
.organization-registration-review dl div { display: grid; grid-template-columns: minmax(110px, .35fr) 1fr; gap: 13px; padding-top: 10px; border-top: 1px solid #e6edf5; }
.organization-registration-review dt { color: #61738b; }
.organization-registration-review dd { margin: 0; overflow-wrap: anywhere; }
.organization-registration-closed { margin: 21px 0; padding: 16px 18px; border-radius: 14px; background: #eef7ff; color: #17345f; }
.organization-registration-closed p { margin: 6px 0 0; line-height: 1.5; }
.organization-registration-status-guidance { margin: 21px 0; padding: 18px 21px; border: 1px solid #cfe2f6; border-radius: 16px; background: #f2f8ff; }
.organization-registration-status-guidance h2 { margin: 0 0 7px; color: #17345f; font-size: 1.15rem; }
.organization-registration-status-guidance p { margin: 0; color: #405a78; line-height: 1.5; }
.organization-registration-actions { justify-content: flex-end; margin-top: 21px; }
.organization-registration-result dl { display: grid; gap: 13px; margin: 34px 0; }
.organization-registration-result dl div { padding: 13px 21px; border-radius: 13px; background: #f4f7fb; }
.organization-registration-result dt { color: #61738b; font-size: 0.82rem; }
.organization-registration-result dd { margin: 5px 0 0; font-weight: 800; }
.organization-registration-evidence { margin: 34px 0; padding: 21px; border: 1px solid #dbe7f3; border-radius: 21px; }
.organization-registration-evidence h2 { margin: 0 0 8px; font-size: 1.35rem; }
.organization-registration-evidence > p { color: #526780; line-height: 1.5; }
.organization-registration-evidence form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 1fr) auto; align-items: end; gap: 13px; margin-top: 21px; padding-top: 21px; border-top: 1px solid #e3ebf4; }
.organization-registration-evidence form div { display: grid; gap: 5px; }
.organization-registration-evidence form span { color: #61738b; font-size: 0.82rem; }
.organization-registration-evidence input[type="file"] { padding: 10px 13px; }

.hospital-setup-shell { background: linear-gradient(145deg, #edf4ff 0%, #f8fbff 52%, #edf9f7 100%); }
.hospital-setup-shell .screen-content { width: min(1180px, calc(100% - 40px)); margin: 32px auto; padding: clamp(24px, 4vw, 52px); border: 1px solid #d6e3f1; border-radius: 30px; background: #fff; box-shadow: 0 22px 60px rgba(18, 53, 91, .09); }
.hospital-setup-heading { max-width: 760px; margin: 42px 0 30px; }
.hospital-setup-heading h1 { margin: 8px 0 10px; color: #12345f; font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.05; }
.hospital-setup-heading > p:last-child { color: #526b87; font-size: 1.02rem; line-height: 1.55; }
.hospital-setup-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 24px; border: 1px solid #cfe0f3; border-radius: 22px; background: #f5f9ff; }
.hospital-setup-summary > div:first-child { display: grid; gap: 5px; }
.hospital-setup-summary span,
.hospital-setup-summary small { color: #5d7088; }
.hospital-setup-summary > div:first-child strong { color: #12345f; font-size: 1.45rem; }
.hospital-setup-counts { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.hospital-setup-counts span { display: grid; min-width: 106px; gap: 3px; padding: 12px 14px; border-radius: 14px; background: #fff; text-align: center; }
.hospital-setup-counts strong { color: #12345f; font-size: 1.3rem; }
.hospital-setup-guide { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin: 24px 0; padding: 20px 24px; border-radius: 20px; background: #edf7ff; }
.hospital-setup-guide h2 { margin: 0 0 5px; color: #12345f; font-size: 1.2rem; }
.hospital-setup-guide p { margin: 0; color: #536c88; line-height: 1.45; }
.hospital-setup-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.hospital-setup-area { display: flex; min-height: 160px; justify-content: space-between; gap: 18px; padding: 22px; border: 1px solid #dbe6f2; border-radius: 20px; background: #fff; }
.hospital-setup-area h2 { margin: 0 0 8px; color: #183b67; font-size: 1.12rem; }
.hospital-setup-area p { margin: 0; color: #61758d; line-height: 1.45; }
.hospital-setup-area > span { align-self: flex-start; flex: 0 0 auto; padding: 7px 10px; border-radius: 999px; background: #f0f3f7; color: #586a80; font-size: .78rem; font-weight: 800; }
.hospital-setup-area.state-in-progress { border-color: #bfd8f6; background: #f8fbff; }
.hospital-setup-area.state-in-progress > span { background: #e3f0ff; color: #1558a8; }
.hospital-setup-area.state-completed { border-color: #ccebd7; }
.hospital-setup-area.state-completed > span { background: #e5f8eb; color: #17623b; }
.hospital-operations-details { margin-top: 24px; border: 1px solid #dbe6f2; border-radius: 18px; }
.hospital-operations-details summary { min-height: 48px; padding: 15px 20px; color: #173b67; font-weight: 800; cursor: pointer; }
.hospital-operations-details .coded-profile-grid { padding: 0 20px 20px; }
.hospital-setup-footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 18px; margin-top: 26px; padding-top: 20px; border-top: 1px solid #e2e9f1; }
.hospital-setup-footer a { color: #305b8f; font-weight: 700; }

@media (min-width: 681px) {
  .tracker-kind-organization-registration .device-frame-app {
    width: min(100%, 1080px);
  }

  .tracker-kind-organization-registration .device-frame-app .device-screen {
    width: 100%;
  }

  .tracker-body[data-page-key="hospital-setup"] .device-frame-app {
    width: min(100%, 1220px);
  }

  .tracker-body[data-page-key="hospital-setup"] .device-frame-app .device-screen {
    width: 100%;
  }
}

@media (max-width: 680px) {
  .organization-registration-shell { padding: 0; background: #fff; }
  .organization-registration-card { min-height: 100vh; border: 0; border-radius: 0; box-shadow: none; }
  .organization-registration-layout { grid-template-columns: 1fr; gap: 21px; }
  .organization-registration-steps { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; }
  .organization-registration-steps li { flex: 0 0 148px; min-height: 48px; grid-template-columns: 30px minmax(0, 1fr); scroll-snap-align: start; }
  .organization-registration-steps li:not(:last-child)::after { display: none; }
  .organization-registration-steps li > span { width: 30px; height: 30px; }
  .organization-registration-row { grid-template-columns: 1fr; }
  .organization-registration-actions { align-items: stretch; flex-direction: column-reverse; }
  .organization-registration-actions button,
  .organization-registration-result > a { width: 100%; }
  .organization-registration-evidence form { grid-template-columns: 1fr; align-items: stretch; }
  .organization-registration-evidence form button { width: 100%; }
  .hospital-setup-shell { padding: 0; background: #fff; }
  .hospital-setup-shell .screen-content { width: 100%; min-height: 100vh; margin: 0; padding: 20px; border: 0; border-radius: 0; box-shadow: none; }
  .hospital-setup-heading { margin: 30px 0 22px; }
  .hospital-setup-summary { grid-template-columns: 1fr; }
  .hospital-setup-counts { justify-content: stretch; }
  .hospital-setup-counts span { flex: 1 1 88px; min-width: 0; }
  .hospital-setup-guide { align-items: stretch; flex-direction: column; }
  .hospital-setup-guide .primary-button { width: 100%; }
  .hospital-setup-areas { grid-template-columns: 1fr; }
  .hospital-setup-area { min-height: 0; flex-direction: column; }
  .hospital-setup-area > span { align-self: flex-start; }
  .hospital-setup-footer { justify-content: flex-start; }
}
[data-professional-credential-intake].coded-professional-admission-state > ul > li {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}
.coded-professional-admission-state .applicant-credential-history {
  min-width: 0;
  max-width: 100%;
}
.coded-professional-admission-state .applicant-credential-history ol {
  display: block;
  padding-left: 1.5rem;
  margin: 1rem 0;
}
.coded-professional-admission-state .applicant-credential-history ol li {
  display: list-item;
  width: auto;
  min-width: 0;
  margin: 0 0 1rem;
  overflow-wrap: anywhere;
}
.coded-professional-admission-state .applicant-credential-history ol li p {
  display: block;
  width: auto;
  margin: .35rem 0;
  overflow-wrap: anywhere;
}
.grievance-form fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px}
.grievance-form legend{font-size:1.2rem;font-weight:700;margin-bottom:16px}
.grievance-form label{display:grid;gap:8px;font-weight:600}
.grievance-form input:not([type=checkbox]),.grievance-form select,.grievance-form textarea{width:100%;min-width:0;box-sizing:border-box;min-height:46px;padding:12px;border:1px solid #c7d5e5;border-radius:12px;font:inherit}
.grievance-form textarea{min-height:130px;resize:vertical}
.grievance-form .grievance-check{display:flex;align-items:flex-start;font-weight:400}
.grievance-check input{width:22px;height:22px;flex:none}
.grievance-form p,.grievance-receipt p{line-height:1.6}
.grievance-receipt{border:1px solid #d7e2ee;border-radius:16px;padding:18px;margin:16px 0;overflow-wrap:anywhere}
.grievance-receipt dl div{display:grid;gap:4px;margin:12px 0}
.grievance-receipt dd{margin:0}
.grievance-form button,.grievance-experience [data-grievance-reload]{min-height:46px}

/* Care Circle: governed onboarding and actor-specific responsive continuation. */
.tracker-stage:has(.care-circle-workspace-shell) { padding: 0; align-items: stretch; }
.device-frame:has(.care-circle-workspace-shell) { width: min(100%, 960px); }
.device-frame-app:has(.care-circle-workspace-shell) { padding: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.care-circle-onboarding { text-align: center; }
.care-circle-onboarding h2 { margin-top: 0; }
.care-circle-onboarding-art { display: block; width: 202px; height: 174px; max-width: 100%; object-fit: cover; margin: 0 auto 12px; }
.care-circle-sharing-boundary { color: var(--mapcare-text-soft); font-size: .9rem; }
.care-circle-benefits { display: grid; gap: 16px; padding: 18px; margin: 20px 0; list-style: none; border: 1px solid var(--mapcare-line); border-radius: 18px; background: #fff; text-align: left; }
.care-circle-benefits li { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: start; gap: 12px; }
.care-circle-benefits p { margin: 5px 0 0; font-size: .9rem; line-height: 1.45; color: var(--mapcare-text-soft); }
.care-circle-benefit-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #eceafd; color: #6436e2; }
.care-circle-benefit-icon .mapcare-semantic-icon { width: 24px; height: 24px; }
.care-circle-benefits li:nth-child(2) .care-circle-benefit-icon { background: #dcfce7; color: #167a3b; }
.care-circle-benefits li:nth-child(3) .care-circle-benefit-icon { background: #fde3e3; color: #ba2727; }
.care-circle-empty-members { display: grid; justify-items: center; gap: 10px; padding: 20px 12px; border: 1px dashed #a091f4; border-radius: 14px; background: #f4f4fe; }
.care-circle-empty-members p { margin: 0; }
.care-circle-workspace-shell [data-family-link-owner] summary { min-height: 48px; display: flex; align-items: center; cursor: pointer; font-weight: 700; padding-block: 12px; }
.care-circle-workspace-shell [data-family-link-owner] details + details { border-top: 1px solid #e4e8f1; margin-top: 12px; }
.care-circle-public-id { overflow-wrap: anywhere; user-select: all; }
.care-circle-link-row { padding-block: 12px; border-bottom: 1px solid #e4e8f1; }
.care-circle-workspace-shell [data-family-copy-value] { width: 100%; min-width: 0; }
.care-circle-add-first { display: flex; justify-content: center; width: 100%; min-height: 48px; margin-top: 16px; white-space: normal; text-align: center; background: #6436e2; }
.care-circle-workspace-shell .coded-profile-bottom-nav a { min-width: 0; }
.care-circle-workspace-shell .coded-profile-bottom-nav a span { overflow-wrap: anywhere; text-align: center; }
@media (min-width: 760px) {
  .care-circle-workspace-shell .coded-profile-page { width: min(100%, 960px); }
  .care-circle-onboarding { max-width: 680px; margin-inline: auto; }
  .care-circle-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.care-circle-workspace-shell [data-family-link-owner] [hidden] { display: none !important; }

.care-circle-workspace-shell .care-circle-search-result { gap: 0.75rem; }
.care-circle-workspace-shell .care-circle-search-result > h2,
.care-circle-workspace-shell .care-circle-search-result > p,
.care-circle-workspace-shell .care-circle-search-result > label { margin: 0; }
@media (min-width: 760px) {
  .care-circle-workspace-shell .care-circle-search-result > button { justify-self: start; min-width: 160px; }
}
/* Doctor verification continues the delivered professional card grammar. */
.doctor-document-intake { min-width: 0; }
.doctor-document-intake h2 { font-size: clamp(1.5rem, 4vw, 2rem); margin: 0 0 8px; }
.doctor-document-intake form, .doctor-document-intake fieldset { min-width: 0; }
.doctor-document-intake fieldset { border: 0; padding: 0; margin: 20px 0 16px; }
.doctor-document-intake legend { font-size: 1.2rem; font-weight: 700; margin-bottom: 12px; }
.doctor-document-intake label { display: grid; gap: 8px; font-weight: 600; margin: 12px 0; }
.doctor-document-intake input:not([type="checkbox"]), .doctor-document-intake select {
  width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box;
  border: 1px solid var(--mapcare-line); border-radius: 12px; padding: 12px;
  background: #fff; color: var(--mapcare-text); font: inherit;
}
.doctor-document-intake input[readonly] { background: #f2f8fc; }
.doctor-document-intake input[type="checkbox"] { width: 22px; height: 22px; margin: 0; }
.doctor-document-intake [data-doctor-consent] label, .doctor-document-intake [data-doctor-renewal] label {
  grid-template-columns: 22px minmax(0, 1fr); align-items: start; font-weight: 400;
}
.doctor-document-intake .doctor-document-file, .doctor-document-receipt {
  border: 1px solid var(--mapcare-line); border-radius: 16px; padding: 16px; margin: 16px 0;
}
.doctor-document-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.doctor-document-note, .doctor-consent-document {
  background: #edf8ff; border-radius: 12px; padding: 12px 16px; overflow-wrap: anywhere;
}
.doctor-consent-document summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 600; }
.doctor-consent-document pre { white-space: pre-wrap; font: inherit; line-height: 1.6; overflow-wrap: anywhere; }
.doctor-document-intake [data-doctor-status], .doctor-document-receipt { overflow-wrap: anywhere; }
.doctor-document-intake button { min-height: 48px; max-width: 100%; white-space: normal; }
.doctor-document-intake [data-doctor-documents] > button { width: 100%; }
.doctor-document-intake :is(input, select, button, summary):focus-visible {
  outline: 3px solid var(--mapcare-primary); outline-offset: 3px;
}
@media (max-width: 620px) { .doctor-document-fields { grid-template-columns: minmax(0, 1fr); } }
.doctor-document-review { min-width: 0; margin-top: 20px; overflow-wrap: anywhere; }
.doctor-review-documents { list-style: none; padding: 0; margin: 16px 0; }
.doctor-review-documents > li { padding: 16px 0; border-bottom: 1px solid var(--mapcare-line); }
.doctor-review-documents .professional-review-actions { flex-wrap: wrap; }
