/* Zentra UI refinement. Presentation only; medical records and QM PDFs unchanged. */
:root {
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --ink: #171b16;
  --muted: #62695f;
  --line: #e4e8e0;
  --nav-height: 114px;
  font-size: 17px;
}
body, button, input, select, textarea, summary {font-family: var(--font)}
body {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased}
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent }
h1, h2, h3 {text-wrap: balance}
button {font-weight: 600}
button:focus-visible, a:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--green-dark); outline-offset: 3px;
}
/* Dialog titles receive focus for screen readers; interactive controls retain focus rings. */
#dialog-title:focus, .dialog-head h2[tabindex="-1"]:focus, main[tabindex="-1"]:focus {outline: none}
.ui-icon {display: inline-block; width: 24px; height: 24px; flex: 0 0 auto;
  box-sizing: border-box; vertical-align: middle; stroke-width: 1.8; overflow: visible}
.icon-btn {display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto}
.icon-btn .ui-icon {width: 22px; height: 22px}
.brand img {display: block; object-fit: contain; flex-shrink: 0}
.brand small, #role-caption {line-height: 1.4; letter-spacing: 0}
.rc71-work-link, .rc72-queue-row {display: grid; grid-template-columns: 28px minmax(0, 1fr) 18px;
  gap: 16px; align-items: center; width: 100%; min-width: 0; text-align: left}
.rc71-work-link > .ui-icon:first-child, .rc72-queue-row > .ui-icon:first-child {
  width: 26px; height: 26px; padding: 0; box-sizing: border-box;
  margin: 0; background: transparent; border-radius: 0; color: var(--green-dark);
}
.rc71-work-link > .ui-icon:last-child, .rc72-queue-row > .ui-icon:last-child {
  width: 17px; height: 17px; margin: 0; color: #858d7f; justify-self: end;
}
.rc71-work-link > span, .rc72-queue-row > span {min-width: 0; overflow-wrap: break-word}
.rc71-work-link strong, .rc72-queue-row strong {line-height: 1.35; font-weight: 600}
.rc71-work-link small, .rc72-queue-row small {line-height: 1.45}
.rc71-entry-list .care-tile {min-width: 0; gap: 14px; align-items: center}
.rc71-entry-list .care-tile > .ui-icon {width: 26px; height: 26px; flex: 0 0 26px}
.rc71-entry-list .care-tile > span {min-width: 0; overflow-wrap: break-word}
.rc74-process-actions button, .rc74-overview-shortcuts button {
  min-height: 46px; gap: 9px; font-weight: 600; text-align: left;
}
.rc74-process-actions .ui-icon, .rc74-overview-shortcuts .ui-icon {width: 21px; height: 21px; flex: 0 0 21px}
.login-card {width: 100%; max-width: 420px}
.login-card .login-logo {width: 64px; height: 64px; margin-bottom: 27px; border-radius: 15px; display: block}
.login-card .eyebrow {font-size: 14px; letter-spacing: 0; margin-bottom: 12px}
.login-card h1 {font-size: clamp(36px, 6vw, 46px); font-weight: 650; line-height: 1.1; letter-spacing: -.045em; margin-bottom: 16px}
.login-card > .muted {font-size: 17px; line-height: 1.5}
.login-card label {font-size: 15px; font-weight: 500}
.login-card input {min-height: 54px; padding: 14px 16px; font-size: 17px; border-radius: 15px; background: #f8faf5; border-color: #dce2d5}
.login-card .primary {min-height: 54px; font-size: 17px; border-radius: 28px; font-weight: 600}
.login-card > .small {font-size: 13px; line-height: 1.6}
.login-card > .small a {display: inline-block; padding-block: 8px; text-underline-offset: 3px}
.login-card .mfa-secret {overflow-wrap: anywhere}
.dialog-head {align-items: center; gap: 16px}
.dialog-head h2 {min-width: 0; line-height: 1.25}
.dialog-head > button {flex: 0 0 auto}
.zentra-app-info {margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px}
.zentra-app-info summary {min-height: 44px; display: flex; align-items: center; gap: 8px; cursor: pointer}
.zentra-app-info summary::after {content: "+"; margin-left: auto; font-size: 19px}
.zentra-app-info[open] summary::after {content: "−"}
.zentra-app-info summary::-webkit-details-marker {display: none}
.zentra-app-info p {margin: 6px 0 12px; line-height: 1.5}
.zentra-app-info .ui-icon {width: 18px; height: 18px}
@media (max-width: 1099px) {
  .rc74 .bottomnav, .bottomnav {
    left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom)); max-width: 620px; width: auto; margin-inline: auto;
    padding: 6px; border-radius: 36px; border: 1px solid #d8dfd2;
    background: #f5f7f1; box-shadow: 0 5px 24px #17240b14, inset 0 1px 0 #ffffffed;
    isolation: isolate;
  }
  @supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {
    .rc74 .bottomnav, .bottomnav {
      background: rgba(248, 250, 245, .86);
      -webkit-backdrop-filter: blur(28px) saturate(150%); backdrop-filter: blur(28px) saturate(150%);
      border-color: rgba(207, 217, 198, .85);
    }
  }
  .nav-primary {display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; width: 100%}
  .rc74 .bottomnav .nav-primary > button, .bottomnav .nav-primary > button {
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    width: 100%; min-width: 0; min-height: 60px; padding: 7px 1px; gap: 4px;
    border-radius: 29px; background: transparent; color: #4e5748; font-weight: 500;
  }
  .rc74 .bottomnav .nav-primary > button .ui-icon, .bottomnav .nav-primary > button .ui-icon {
    width: 24px; height: 24px; padding: 0; margin: 0; stroke-width: 1.85;
  }
  .rc74 .bottomnav .nav-primary .nav-label, .bottomnav .nav-primary .nav-label {
    display: block; font-size: 12px !important; font-weight: 600; line-height: 1.25 !important;
    white-space: nowrap; overflow-wrap: normal; hyphens: none; letter-spacing: -.01em;
  }
  .rc74 .bottomnav .nav-primary > button.active, .bottomnav .nav-primary > button.active {
    background: #dfe8d3; color: #355211;
    box-shadow: inset 0 1px 0 #ffffffb3;
  }
  .rc74 .bottomnav .nav-primary > button.active .ui-icon {stroke-width: 2}
  .bottomnav .nav-primary > button:focus-visible {outline-offset: -3px}
  .app-shell {padding-bottom: calc(116px + env(safe-area-inset-bottom))}
}
@media (min-width: 1100px) {
  .rc74 .bottomnav {background: #f7f9f4; border-color: #e5eade}
  .rc74 .bottomnav .nav-desktop > button, .bottomnav .nav-account button {
    display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 11px 13px; font-weight: 500;
  }
  .bottomnav .nav-desktop > button .ui-icon, .bottomnav .nav-account button .ui-icon {width: 22px; height: 22px; flex: 0 0 22px}
  .bottomnav .nav-desktop > button .nav-label {min-width: 0; line-height: 1.35 !important; overflow-wrap: break-word}
  .rc74 .bottomnav .nav-desktop > button.active {background: #e4edda; color: #355211; font-weight: 600}
  .rc74 .nav-account small {font-size: 12px}
}
@media (max-width: 759px) {
  .login-screen {padding-inline: 24px}
  .login-card {padding: 24px 0}
  .rc74 .app-shell {padding-inline: 20px}
  .rc74 .rc71-page-heading h1 {font-size: 32px}
  .rc71-work-link, .rc72-queue-row {gap: 13px; padding-block: 18px}
}
@media (max-width: 359px) {
  .rc74 .bottomnav, .bottomnav {left: 8px; right: 8px; padding: 5px}
  .rc74 .bottomnav .nav-primary .nav-label {font-size: 12px !important; letter-spacing: -.025em}
  .rc74 .app-shell {padding-inline: 16px}
  .login-screen {padding-inline: 22px}
}
@media (prefers-reduced-transparency: reduce) {
  .rc74 .bottomnav, .bottomnav {background: #f5f7f1 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important}
}
@media (prefers-contrast: more) {
  .rc74 .bottomnav, .bottomnav {background: #fff !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; border-color: #6e7f5b}
  .rc74 .bottomnav .nav-primary > button.active {background: #355211; color: #fff; box-shadow: none}
}

.rc75-company-link > .ui-icon:last-child {width: 18px; height: 18px; flex: 0 0 18px; color: var(--muted)}
