@import url("/assets/css/tokens.css?clinical-workbench-v2-pilot-20260727");

:root {
  --cws-navy-950: #101b35;
  --cws-navy-800: #243452;
  --cws-slate-600: #5d6b7e;
  --cws-slate-500: #728095;
  --cws-teal-700: #087f78;
  --cws-teal-600: #0c9990;
  --cws-teal-100: #dff5f1;
  --cws-purple-700: #6942d8;
  --cws-purple-100: #eee9ff;
  --cws-cream: #f8f7f2;
  --cws-surface: #ffffff;
  --cws-border: #e1e5eb;
  --cws-border-strong: #d5dbe4;
  --cws-shadow: 0 10px 30px rgba(34, 49, 75, 0.07);
  --cws-rail-width: 248px;
  --cws-header-height: 76px;
  --cws-header-offset: 95px;
}

body.clinical-workbench-v2 {
  min-width: 0;
  background: var(--cws-cream);
  color: var(--cws-navy-950);
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.clinical-workbench-v2.cws-drawer-open {
  overflow: hidden;
}

.clinical-workbench-v2 *,
.clinical-workbench-v2 *::before,
.clinical-workbench-v2 *::after {
  box-sizing: border-box;
}

.clinical-workbench-v2 [hidden] {
  display: none !important;
}

.clinical-workbench-v2 :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(12, 153, 144, 0.35);
  outline-offset: 3px;
}

html body.clinical-workbench-v2 .site-footer .footer-nav__group a,
html body.clinical-workbench-v2 .site-footer .footer-nav > div a,
html body.clinical-workbench-v2 .site-footer .footer-grid nav a,
html body.clinical-workbench-v2 .site-footer .site-footer__links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px !important;
}

.clinical-workbench-v2 .site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  width: 100%;
  min-height: var(--cws-header-height);
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--cws-border);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: none;
  backdrop-filter: blur(14px);
}

.clinical-workbench-v2 .site-header > .container {
  width: min(calc(100% - 32px), 1180px) !important;
  max-width: 1180px !important;
  min-height: var(--cws-header-height);
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

.clinical-workbench-v2 .nav-shell {
  min-height: var(--cws-header-height);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.clinical-workbench-v2 .site-nav a {
  color: var(--cws-navy-800);
  font-weight: 650;
}

.clinical-workbench-v2 .site-nav a.active:not(.nav-cta) {
  color: var(--cws-purple-700);
}

.clinical-workbench-v2 .site-nav a.active:not(.nav-cta)::after {
  background: var(--cws-purple-700);
}

.clinical-workbench-v2 .site-nav .nav-cta {
  color: #ffffff;
  background: var(--cws-purple-700);
  border-color: var(--cws-purple-700);
}

.cws-rail,
.cws-drawer {
  color: var(--cws-navy-950);
  background: var(--cws-surface);
}

.cws-rail {
  display: none;
}

.cws-rail__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 20px 18px;
  border-bottom: 1px solid var(--cws-border);
}

.cws-rail__kicker {
  margin: 0 0 3px;
  color: var(--cws-teal-700);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.cws-rail__title {
  margin: 0;
  color: var(--cws-navy-950);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.2;
}

.cws-rail__nav {
  display: grid;
  gap: 5px;
  padding: 17px 14px;
}

.cws-rail-link {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--cws-navy-800);
  background: transparent;
  font: inherit;
  font-size: 0.91rem;
  font-weight: 650;
  line-height: 1.25;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.cws-rail-link svg {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  color: var(--cws-slate-500);
}

.cws-rail-link:hover {
  border-color: rgba(12, 153, 144, 0.14);
  color: var(--cws-teal-700);
  background: #f2faf8;
}

.cws-rail-link.is-active,
.cws-rail-link--active,
.cws-rail-link[aria-current="page"] {
  border-color: rgba(105, 66, 216, 0.11);
  color: var(--cws-purple-700);
  background: var(--cws-purple-100);
}

.cws-rail-link.is-active svg,
.cws-rail-link--active svg,
.cws-rail-link[aria-current="page"] svg {
  color: var(--cws-purple-700);
}

.cws-rail-group {
  display: grid;
  gap: 5px;
  margin-top: 12px;
  padding-top: 15px;
  border-top: 1px solid var(--cws-border);
}

.cws-rail-group__label {
  margin: 0 8px 7px;
  color: var(--cws-slate-500);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.cws-category-nav {
  display: grid;
  gap: 3px;
}

.cws-category-link {
  min-height: 44px;
  padding-block: 8px;
  font-size: 0.84rem;
  font-weight: 600;
}

.cws-rail-note {
  display: grid;
  gap: 5px;
  margin: auto 14px 18px;
  padding: 14px;
  border: 1px solid #cfe9e4;
  border-radius: 12px;
  color: #35515a;
  background: #eff9f6;
  font-size: 0.78rem;
  line-height: 1.42;
}

.cws-rail-note strong {
  color: var(--cws-teal-700);
  font-size: 0.82rem;
}

.cws-mobile-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 9px 16px;
  border-bottom: 1px solid var(--cws-border);
  background: rgba(248, 247, 242, 0.98);
}

.cws-mobile-bar__primary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cws-navy-950);
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
}

.cws-mobile-bar__trigger {
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid var(--cws-border-strong);
  border-radius: 10px;
  color: var(--cws-teal-700);
  background: #ffffff;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 750;
}

.cws-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 110;
  background: rgba(16, 27, 53, 0.45);
}

.cws-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 120;
  display: flex;
  flex-direction: column;
  width: min(88vw, 360px);
  height: 100dvh;
  overflow-y: auto;
  box-shadow: -18px 0 50px rgba(16, 27, 53, 0.18);
}

.cws-drawer__close {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--cws-border);
  border-radius: 10px;
  color: var(--cws-navy-800);
  background: #ffffff;
  font: inherit;
  font-size: 1.65rem;
  line-height: 1;
}

.clinical-workbench-v2 main {
  min-width: 0;
}

.clinical-workbench-v2 main > .navle-breadcrumbs {
  max-width: 1440px;
  padding-top: 18px;
  padding-inline: clamp(18px, 3vw, 36px);
}

/* Clinical tools directory */
.clinical-workbench-directory .tools-hero {
  padding: 16px clamp(16px, 3vw, 34px) 10px;
  background: transparent;
}

.clinical-workbench-directory .tools-hero-grid {
  width: 100%;
  max-width: 1380px;
  padding: clamp(26px, 4vw, 50px);
  border: 1px solid var(--cws-border);
  border-radius: 22px;
  background:
    radial-gradient(circle at 88% 18%, rgba(105, 66, 216, 0.1), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #fbfaf7 54%, #eef9f6 100%);
  box-shadow: var(--cws-shadow);
}

.clinical-workbench-directory .tools-hero-copy h1 {
  max-width: 780px;
  color: var(--cws-navy-950);
  font-size: clamp(2.15rem, 4vw, 4.05rem);
  font-weight: 850;
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.clinical-workbench-directory .tools-hero-title-accent {
  color: var(--cws-purple-700);
}

.clinical-workbench-directory .tools-hero-copy > p {
  max-width: 720px;
  color: var(--cws-slate-600);
  font-size: clamp(1rem, 1.4vw, 1.16rem);
}

.clinical-workbench-directory .hero-badge {
  border-color: #cfe9e4;
  color: var(--cws-teal-700);
  background: var(--cws-teal-100);
}

.clinical-workbench-directory .search-input-wrap {
  border-color: var(--cws-border-strong);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 8px 26px rgba(34, 49, 75, 0.08);
}

.clinical-workbench-directory .search-input:focus {
  border-color: var(--cws-teal-600);
  box-shadow: 0 0 0 4px rgba(12, 153, 144, 0.12);
}

.clinical-workbench-directory .tools-hero-visual img {
  filter: drop-shadow(0 20px 28px rgba(34, 49, 75, 0.12));
}

.clinical-workbench-directory .quick-access-section,
.clinical-workbench-directory .tools-directory-section {
  background: transparent;
}

.clinical-workbench-directory .quick-access-section > .container,
.clinical-workbench-directory .tools-layout {
  width: calc(100% - clamp(32px, 6vw, 68px));
  max-width: 1380px;
}

.clinical-workbench-directory .quick-tool,
.clinical-workbench-directory .tools-smart-lane,
.clinical-workbench-directory .directory-shell,
.clinical-workbench-directory .tool-card {
  border-color: var(--cws-border);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 5px 18px rgba(34, 49, 75, 0.045);
}

.clinical-workbench-directory .quick-tool:hover,
.clinical-workbench-directory .tool-card:hover {
  border-color: rgba(12, 153, 144, 0.3);
  box-shadow: 0 12px 28px rgba(34, 49, 75, 0.08);
}

.clinical-workbench-directory .tools-sidebar {
  display: none !important;
}

.clinical-workbench-directory .tools-layout {
  display: block;
}

.clinical-workbench-directory .tools-main {
  width: 100%;
  min-width: 0;
}

/* Clinical tool workspaces */
.clinical-workbench-tool .page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 48px;
}

.clinical-workbench-tool .dose-workspace-section {
  padding: 0;
}

.clinical-workbench-tool .calc-v2-workspace {
  width: 100%;
  max-width: 1420px;
  padding-inline: clamp(16px, 3vw, 36px);
}

.clinical-workbench-tool .clinical-workbench-tool-heading {
  min-width: 0;
}

.clinical-workbench-tool .clinical-workbench-tool-heading .calc-v2-header {
  max-width: none;
  padding: 12px 0 6px;
}

.clinical-workbench-tool .calc-v2-title {
  color: var(--cws-navy-950);
  font-size: clamp(2rem, 3.2vw, 3.35rem);
  font-weight: 850;
  letter-spacing: -0.035em;
}

.clinical-workbench-tool .calc-v2-subtitle {
  max-width: 72ch;
  color: var(--cws-slate-600);
  font-size: 1.02rem;
}

.clinical-workbench-tool .tool-tag {
  color: var(--cws-teal-700);
  background: var(--cws-teal-100);
}

.clinical-workbench-tool .calc-v2-input-panel,
.clinical-workbench-tool .calc-v2-result-panel,
.clinical-workbench-tool .calc-v2-detail-panel,
.clinical-workbench-tool .calc-v2-context-block {
  border-color: var(--cws-border);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--cws-shadow);
}

.clinical-workbench-tool .calc-v2-input-panel {
  border-top: 4px solid var(--cws-teal-600);
}

.clinical-workbench-tool .calc-v2-result-panel {
  border-top: 4px solid var(--cws-purple-700);
}

.clinical-workbench-tool .calc-v2-clinical-strip {
  display: grid;
  border-color: #efd79e;
  border-radius: 14px;
  color: #624b17;
  background: #fff9e9;
}

.clinical-workbench-tool .calc-v2-clinical-strip__icon {
  color: #ffffff;
  background: #b67a09;
}

.clinical-workbench-tool .calc-v2-result-primary {
  border-color: rgba(105, 66, 216, 0.16);
  background: linear-gradient(145deg, #f7f4ff, #ffffff 72%);
}

.clinical-workbench-tool .calc-v2-result-value {
  color: var(--cws-purple-700);
}

.clinical-workbench-tool .button-primary {
  border-color: var(--cws-teal-700);
  color: #ffffff;
  background: var(--cws-teal-700);
}

.clinical-workbench-tool .button-primary:hover {
  border-color: #06665f;
  background: #06665f;
}

.clinical-workbench-tool .button-secondary {
  border-color: var(--cws-border-strong);
  color: var(--cws-navy-800);
  background: #ffffff;
}

.clinical-workbench-tool .clinical-workbench-source-note {
  order: 6;
  margin-inline: clamp(14px, 3vw, 36px);
}

.clinical-workbench-tool :where(input, select, textarea) {
  border-color: var(--cws-border-strong);
  border-radius: 10px;
}

.clinical-workbench-tool :where(input, select, textarea):focus {
  border-color: var(--cws-teal-600);
  box-shadow: 0 0 0 4px rgba(12, 153, 144, 0.1);
}

@media (min-width: 1024px) {
  .cws-rail {
    position: fixed;
    inset: var(--cws-header-offset) auto 0 0;
    z-index: 60;
    display: flex;
    flex-direction: column;
    width: var(--cws-rail-width);
    overflow-y: auto;
    border-right: 1px solid var(--cws-border);
  }

  .cws-mobile-bar,
  .cws-drawer,
  .cws-drawer-backdrop {
    display: none !important;
  }

  .clinical-workbench-v2 main,
  .clinical-workbench-v2 > footer {
    margin-left: var(--cws-rail-width);
  }

  .clinical-workbench-v2 > footer {
    width: calc(100% - var(--cws-rail-width)) !important;
  }
}

@media (min-width: 1280px) {
  .clinical-workbench-tool .calc-v2-workspace.calc-v2-workstation {
    grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.75fr);
    gap: 22px;
    align-items: start;
  }

  .clinical-workbench-tool .calc-v2-workstation .clinical-workbench-tool-heading,
  .clinical-workbench-tool .calc-v2-workstation .calc-v2-clinical-strip,
  .clinical-workbench-tool .calc-v2-workstation .crash-warning-bar {
    grid-column: 1 / -1;
  }

  .clinical-workbench-tool .calc-v2-workstation .clinical-workbench-tool-heading {
    order: 1;
  }

  .clinical-workbench-tool .calc-v2-workstation .calc-v2-clinical-strip,
  .clinical-workbench-tool .calc-v2-workstation .crash-warning-bar {
    order: 2;
  }

  .clinical-workbench-tool .calc-v2-workstation .dose-input-panel,
  .clinical-workbench-tool .calc-v2-workstation .calc-v2-input-panel {
    grid-column: 1;
    order: 3;
  }

  .clinical-workbench-tool .calc-v2-workstation .dose-result-panel,
  .clinical-workbench-tool .calc-v2-workstation .calc-v2-result-panel {
    position: sticky !important;
    top: calc(var(--cws-header-offset) + 18px);
    grid-column: 2;
    order: 3;
  }

  .clinical-workbench-tool .calc-v2-workstation .tox-hub-panel {
    grid-column: 1 / -1;
    order: 3;
  }

  .clinical-workbench-tool .calc-v2-workstation .calc-v2-context-rail {
    grid-column: 1;
    order: 4;
  }

  .clinical-workbench-tool .calc-v2-workstation .calc-v2-post-result-tools {
    grid-column: 2;
    grid-template-columns: 1fr;
    order: 4;
  }

  .clinical-workbench-tool .calc-v2-workstation .dose-detail-section,
  .clinical-workbench-tool .calc-v2-workstation .calc-v2-details {
    grid-column: 1 / -1;
    order: 5;
  }

  .clinical-workbench-reference .calc-v2-workspace.calc-v2-workstation {
    grid-template-columns: minmax(0, 1fr);
  }

  .clinical-workbench-reference .calc-v2-workstation > * {
    grid-column: 1 / -1 !important;
  }

  .clinical-workbench-reference .calc-v2-workstation .calc-v2-input-panel {
    order: 3;
  }

  .clinical-workbench-reference .calc-v2-workstation .calc-v2-context-rail {
    order: 4;
  }
}

@media (max-width: 1023px) {
  .clinical-workbench-v2 .site-header {
    --cws-header-height: 70px;
  }

  .clinical-workbench-v2 main > .navle-breadcrumbs {
    padding-top: 13px;
  }

  .clinical-workbench-directory .tools-hero {
    padding-top: 10px;
  }

  .clinical-workbench-directory .tools-hero-grid {
    padding: 28px 24px;
  }
}

@media (max-width: 640px) {
  .cws-mobile-bar {
    padding-inline: 14px;
  }

  .clinical-workbench-v2 main > .navle-breadcrumbs {
    padding-inline: 16px;
    font-size: 0.78rem;
  }

  .clinical-workbench-directory .tools-hero {
    padding-inline: 12px;
  }

  .clinical-workbench-directory .tools-hero-grid {
    padding: 24px 19px;
    border-radius: 17px;
  }

  .clinical-workbench-directory .tools-hero-copy h1 {
    font-size: 2.28rem;
  }

  .clinical-workbench-directory .tools-hero-visual {
    display: none;
  }

  .clinical-workbench-directory .quick-access-section > .container,
  .clinical-workbench-directory .tools-layout {
    width: calc(100% - 24px);
  }

  .clinical-workbench-tool .calc-v2-workspace {
    padding-inline: 14px;
  }

  .clinical-workbench-tool .clinical-workbench-tool-heading .calc-v2-header {
    padding-top: 6px;
  }

  .clinical-workbench-tool .calc-v2-header > div:first-child {
    flex-direction: row !important;
    align-items: center !important;
  }

  .clinical-workbench-tool .tool-favorite-toggle-page {
    width: auto;
    min-height: 44px;
  }

  .clinical-workbench-tool .tool-favorite-toggle__label {
    display: inline;
  }

  .clinical-workbench-tool .calc-v2-title {
    font-size: 2.08rem;
  }

  .clinical-workbench-tool .calc-v2-subtitle {
    font-size: 0.96rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clinical-workbench-v2 *,
  .clinical-workbench-v2 *::before,
  .clinical-workbench-v2 *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html body.clinical-workbench-v2 .site-header .site-nav a:not(.nav-cta):not(.nav-signout):not([hidden]):not([style*='display:none']):not([style*='display: none']),
  html body.clinical-workbench-v2 .site-header .site-nav a.nav-cta,
  html body.clinical-workbench-v2 .site-header .site-nav a.nav-signout {
    transition: none !important;
  }
}

@media print {
  .cws-rail,
  .cws-mobile-bar,
  .cws-drawer,
  .cws-drawer-backdrop {
    display: none !important;
  }

  .clinical-workbench-v2 main,
  .clinical-workbench-v2 > footer {
    margin-left: 0 !important;
  }
}
