:root {
  --ink: #12211d;
  --muted: #5a6a64;
  --line: #d9e3de;
  --paper: #ffffff;
  --soft: #f3f7f5;
  --deep: #0f2f2a;
  --green: #1f7a5a;
  --blue: #2364a5;
  --gold: #c98b2c;
  --coral: #ba5b4a;
  --shadow: 0 18px 50px rgba(18, 33, 29, .12);
  --radius: 8px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px clamp(20px, 4vw, 56px);
  color: #fff;
  transition: background .2s ease, box-shadow .2s ease, color .2s ease, padding .2s ease;
}

.site-header.is-scrolled,
.site-header.compact,
.content-page .site-header {
  color: var(--ink);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 12px 35px rgba(18, 33, 29, .08);
  backdrop-filter: blur(18px);
}

.site-header.is-scrolled {
  padding-top: 12px;
  padding-bottom: 12px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  letter-spacing: 0;
  white-space: nowrap;
}

.brand-mark {
  display: inline-grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #1f7a5a, #2364a5);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.brand-logo {
  display: block;
  width: auto;
  max-width: 340px;
  height: 76px;
  object-fit: contain;
}

.site-header .brand-logo {
  max-width: 320px;
  height: 72px;
  transition: opacity .2s ease, transform .2s ease;
}

.home-page .site-header:not(.is-scrolled) .brand-logo {
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
}

.footer-brand .brand-logo {
  max-width: 320px;
  height: 72px;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 6px;
}

.site-nav a {
  padding: 10px 12px;
  border-radius: var(--radius);
  color: inherit;
  font-size: 14px;
  font-weight: 700;
}

.site-nav a:hover,
.site-nav a:focus-visible {
  background: rgba(255, 255, 255, .16);
  outline: none;
}

.site-header.is-scrolled .site-nav a:hover,
.site-header.compact .site-nav a:hover,
.content-page .site-nav a:hover {
  background: var(--soft);
}

.nav-cta {
  background: #fff;
  color: var(--deep) !important;
}

.site-header.is-scrolled .nav-cta,
.site-header.compact .nav-cta {
  background: var(--deep);
  color: #fff !important;
}

.nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .1);
  color: inherit;
  cursor: pointer;
}

.nav-toggle span:not(.sr-only) {
  display: block;
  width: 20px;
  height: 2px;
  margin: 4px auto;
  background: currentColor;
}

.hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: end;
  overflow: hidden;
  color: #fff;
}

.hero-image,
.hero-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-image {
  object-fit: cover;
  object-position: center;
}

.hero-overlay {
  background:
    linear-gradient(90deg, rgba(15, 47, 42, .92), rgba(15, 47, 42, .58) 48%, rgba(15, 47, 42, .22)),
    linear-gradient(0deg, rgba(15, 47, 42, .86), rgba(15, 47, 42, .08) 44%);
}

.hero-content {
  position: relative;
  z-index: 2;
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 150px 0 48px;
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero .eyebrow {
  color: #9ee6c6;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 780px;
  margin-bottom: 18px;
  font-size: clamp(46px, 8vw, 96px);
  line-height: .95;
  letter-spacing: 0;
}

h2 {
  margin-bottom: 16px;
  font-size: clamp(30px, 4vw, 54px);
  line-height: 1.04;
  letter-spacing: 0;
}

h3 {
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 1.2;
}

.hero-copy {
  max-width: 720px;
  margin-bottom: 26px;
  color: rgba(255, 255, 255, .88);
  font-size: clamp(18px, 2vw, 23px);
}

.hero-actions,
.hero-stats,
.footer-links,
.check-list,
.feature-strip,
.dash-metrics,
.start-grid,
.role-grid {
  display: grid;
  gap: 16px;
}

.hero-actions {
  grid-template-columns: repeat(2, max-content);
  margin-bottom: 22px;
}

.home-role-selector {
  width: min(100%, 1040px);
  margin: 0 0 32px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: var(--radius);
  background: rgba(15, 47, 42, .42);
  box-shadow: 0 22px 60px rgba(0, 0, 0, .18);
  backdrop-filter: blur(18px);
}

.home-role-selector p {
  margin: 0 0 12px;
  color: #9ee6c6;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.home-role-selector-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.home-role-selector-grid a {
  display: grid;
  gap: 6px;
  min-height: 92px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .12);
  color: #fff;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.home-role-selector-grid a:hover,
.home-role-selector-grid a:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(158, 230, 198, .7);
  background: rgba(255, 255, 255, .2);
  outline: none;
}

.home-role-selector-grid span {
  color: #9ee6c6;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.home-role-selector-grid strong {
  font-size: 14px;
  line-height: 1.25;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  font-weight: 800;
}

.button.primary {
  background: #fff;
  color: var(--deep);
}

.button.secondary {
  border-color: rgba(255, 255, 255, .5);
  color: #fff;
}

.button.dark {
  background: var(--deep);
  color: #fff;
}

.hero-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 900px;
}

.hero-stats div,
.role-card,
.operations-panel,
.dashboard-mock,
.portal-card,
.start-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.hero-stats div {
  padding: 16px;
  border-color: rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .12);
  box-shadow: none;
  backdrop-filter: blur(16px);
}

.hero-stats strong {
  display: block;
  margin-bottom: 2px;
  font-size: 24px;
}

.hero-stats span {
  color: rgba(255, 255, 255, .8);
  font-size: 13px;
  font-weight: 700;
}

.section {
  padding: clamp(70px, 8vw, 115px) 0;
}

.section-inner {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.split,
.two-column {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 5vw, 78px);
  align-items: center;
}

.intro-band {
  background: var(--soft);
}

.lead {
  color: var(--muted);
  font-size: 18px;
}

.section-heading {
  max-width: 860px;
  margin-bottom: 34px;
}

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

.role-card {
  position: relative;
  min-height: 230px;
  padding: 28px;
  overflow: hidden;
}

.role-card p,
.portal-card p,
.start-card p {
  color: var(--muted);
}

.icon-dot {
  display: inline-block;
  width: 38px;
  height: 38px;
  margin-bottom: 28px;
  border-radius: 50%;
  background: var(--green);
}

.accent-blue .icon-dot {
  background: var(--blue);
}

.accent-gold .icon-dot {
  background: var(--gold);
}

.muted {
  background: #eef4f1;
}

.check-list {
  margin-top: 26px;
}

.check-list span {
  position: relative;
  padding-left: 28px;
  color: var(--ink);
  font-weight: 700;
}

.check-list span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--gold);
}

.operations-panel,
.dashboard-mock {
  padding: 22px;
}

.panel-header,
.dash-top,
.pipeline-row,
.dash-table div {
  display: grid;
  align-items: center;
  gap: 16px;
}

.panel-header,
.dash-top {
  grid-template-columns: 1fr max-content;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.panel-header span,
.dash-top span,
.pipeline-row small,
.dash-table span {
  color: var(--muted);
  font-size: 13px;
}

.pipeline-row {
  grid-template-columns: 100px 1fr max-content;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.pipeline-row:last-child {
  border-bottom: 0;
}

.pipeline-row strong,
.pipeline-row small {
  display: block;
}

.pipeline-row button {
  min-width: 74px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--soft);
  color: var(--ink);
  font-weight: 800;
}

.status-pill {
  display: inline-flex;
  justify-content: center;
  padding: 6px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.status-pill.open {
  background: #e4f2ec;
  color: #15543f;
}

.status-pill.review {
  background: #e7eef7;
  color: #174b7d;
}

.status-pill.ready {
  background: #fff2dc;
  color: #795017;
}

.status-pill.placed {
  background: #f6e7e3;
  color: #7d3529;
}

.feature-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.feature-strip div {
  min-height: 150px;
  padding: 22px;
  border-top: 4px solid var(--green);
  background: var(--soft);
  border-radius: var(--radius);
}

.feature-strip div:nth-child(2) {
  border-color: var(--blue);
}

.feature-strip div:nth-child(3) {
  border-color: var(--gold);
}

.feature-strip div:nth-child(4) {
  border-color: var(--coral);
}

.feature-strip strong,
.feature-strip span {
  display: block;
}

.feature-strip span {
  margin-top: 10px;
  color: var(--muted);
}

.workflow-section {
  background: var(--deep);
  color: #fff;
}

.workflow-section .eyebrow {
  color: #9ee6c6;
}

.timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, .22);
}

.timeline article {
  padding: 24px 20px 0 0;
  border-right: 1px solid rgba(255, 255, 255, .18);
}

.timeline article:last-child {
  border-right: 0;
}

.timeline span {
  display: inline-block;
  margin-bottom: 22px;
  color: #9ee6c6;
  font-weight: 800;
}

.timeline p {
  color: rgba(255, 255, 255, .76);
}

.portal-preview {
  background: var(--soft);
}

.dash-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 20px 0;
}

.dash-metrics div {
  padding: 14px;
  border-radius: var(--radius);
  background: var(--soft);
}

.dash-metrics strong,
.dash-metrics span {
  display: block;
}

.dash-metrics strong {
  font-size: 26px;
}

.dash-metrics span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.dash-table {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}

.dash-table div {
  grid-template-columns: 1fr 1fr 1fr;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
}

.dash-table div:first-child {
  background: var(--deep);
}

.dash-table div:first-child span {
  color: #fff;
  font-weight: 800;
}

.dash-table div:last-child {
  border-bottom: 0;
}

.start-section {
  background: #fff;
}

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

.start-card {
  padding: 26px;
  transition: transform .18s ease, box-shadow .18s ease;
}

.start-card:hover,
.start-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(18, 33, 29, .16);
  outline: none;
}

.start-card span,
.role-label {
  display: inline-block;
  margin-bottom: 20px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #e4f2ec;
  color: #15543f;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.start-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 24px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--green);
  border-radius: var(--radius);
  background: var(--soft);
  color: var(--ink);
}

.start-note span {
  flex: 1;
  color: var(--muted);
}

.start-note a {
  flex: 0 0 auto;
  font-weight: 800;
  color: var(--green);
}

.start-note a:hover,
.start-note a:focus-visible {
  color: var(--deep);
  text-decoration: underline;
  outline: none;
}

.role-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

.role-switcher a {
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  background: #fff;
  font-size: 13px;
  font-weight: 800;
}

.audience-handoff {
  border-top: 1px solid var(--line);
}

.hospital-next-step,
.vendor-next-step,
.provider-next-step,
.candidate-next-step {
  padding-top: 38px;
  padding-bottom: 38px;
  background: #fff;
}

.hospital-next-step-panel,
.vendor-next-step-panel,
.provider-next-step-panel,
.candidate-next-step-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 26px;
  align-items: center;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid rgba(31, 122, 90, .22);
  border-radius: calc(var(--radius) * 2);
  background: linear-gradient(135deg, #f3f8f5, #ffffff);
  box-shadow: var(--shadow);
}

.vendor-next-step-panel {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 400px);
}

.provider-next-step-panel,
.candidate-next-step-panel {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
}

.hospital-next-step-panel h2,
.vendor-next-step-panel h2,
.provider-next-step-panel h2,
.candidate-next-step-panel h2 {
  margin-bottom: 12px;
  font-size: clamp(28px, 3vw, 42px);
}

.hospital-next-step-panel .lead,
.vendor-next-step-panel .lead,
.provider-next-step-panel .lead,
.candidate-next-step-panel .lead {
  margin-bottom: 0;
  max-width: 720px;
}

.hospital-next-step-actions,
.vendor-next-step-actions,
.provider-next-step-actions,
.candidate-next-step-actions {
  display: grid;
  gap: 12px;
}

.hospital-next-step-actions .button,
.vendor-next-step-actions .button,
.provider-next-step-actions .button,
.candidate-next-step-actions .button {
  width: 100%;
  justify-content: center;
  text-align: center;
}

.compact-heading {
  max-width: 760px;
}

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

.audience-handoff-card {
  display: grid;
  gap: 10px;
  min-height: 100%;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.audience-handoff-card span {
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.audience-handoff-card strong {
  font-size: 20px;
}

.audience-handoff-card p {
  margin: 0;
  color: var(--muted);
}

.audience-handoff-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 6px;
  padding: 10px 14px;
  border-radius: 999px;
  color: #fff;
  background: var(--deep);
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.audience-handoff-cta::after {
  content: "→";
  margin-left: 8px;
}

.audience-handoff-card:hover,
.audience-handoff-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(33, 136, 97, .35);
  box-shadow: 0 24px 60px rgba(18, 33, 29, .14);
  outline: none;
}

.mobile-role-actions {
  display: none;
}

@media (max-width: 760px) {
  .detail-page:has(.mobile-role-actions) {
    padding-bottom: calc(82px + env(safe-area-inset-bottom));
  }

  .mobile-role-actions {
    position: fixed;
    right: 10px;
    bottom: 10px;
    left: 10px;
    z-index: 30;
    display: grid;
    grid-template-columns: 1.15fr .85fr .85fr;
    gap: 8px;
    padding: 8px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
    border: 1px solid rgba(217, 227, 222, .92);
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 16px 42px rgba(18, 33, 29, .22);
    backdrop-filter: blur(16px);
  }

  .mobile-role-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 8px;
    border: 1px solid var(--line);
    border-radius: 13px;
    color: var(--deep);
    background: var(--soft);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
  }

  .mobile-role-actions .mobile-role-actions-primary {
    border-color: var(--deep);
    color: #fff;
    background: var(--deep);
  }

  .mobile-role-actions a:focus-visible {
    outline: 3px solid rgba(35, 100, 165, .32);
    outline-offset: 2px;
  }

  .hospital-next-step-panel,
  .vendor-next-step-panel,
  .provider-next-step-panel,
  .candidate-next-step-panel {
    grid-template-columns: 1fr;
  }

  .audience-handoff-grid {
    grid-template-columns: 1fr;
  }

  .audience-handoff-card {
    padding: 18px;
  }

  .audience-handoff-cta {
    width: 100%;
    min-height: 50px;
    margin-top: 2px;
    border-radius: 13px;
  }
}

.admin-logout {
  margin-left: 10px;
  border-color: var(--line);
  color: var(--deep);
}

.admin-metrics {
  margin-bottom: 22px;
}

.admin-metric-link {
  display: grid;
  gap: 4px;
  color: inherit;
  text-decoration: none;
}

.admin-filter-bar {
  display: grid;
  gap: 14px;
  padding: 18px;
  margin-bottom: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.admin-filter-bar > div {
  display: flex;
  gap: 10px;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
}

.admin-filter-bar span {
  color: var(--muted);
  font-size: 14px;
}

.admin-filter-bar nav,
.admin-quick-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.admin-quick-actions {
  margin-top: 12px;
}

.admin-quick-actions .button,
.admin-filter-bar .button {
  padding: 9px 13px;
  font-size: 13px;
}

.admin-empty-state {
  display: grid;
  gap: 8px;
}

.admin-list {
  display: grid;
  gap: 16px;
}

.admin-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.admin-item h2 {
  font-size: 24px;
}

.admin-item p,
.detail-list dd {
  color: var(--muted);
}

.detail-list {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
}

.detail-list div {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 12px;
}

.detail-list dt {
  color: var(--ink);
  font-weight: 800;
  text-transform: capitalize;
}

.detail-list dd {
  margin: 0;
}

.admin-update {
  display: grid;
  gap: 12px;
}

.admin-update label {
  display: grid;
  gap: 8px;
  font-size: 14px;
  font-weight: 800;
}

.admin-next-step {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.admin-update select,
.admin-update textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
}

.opportunity-list {
  display: grid;
  gap: 16px;
}

.opportunity-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: start;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.opportunity-card h2 {
  font-size: 26px;
}

.opportunity-card p {
  color: var(--muted);
}

.opportunity-actions {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.button.ghost {
  border-color: var(--line);
  background: #fff;
  color: var(--deep);
}

.registration-page {
  min-height: 100vh;
  background: #f5f7f6;
}

.vendor-register-wrap {
  width: min(1160px, calc(100% - 32px));
  margin: 0 auto;
  padding: 34px 0 70px;
}

.registration-brand {
  justify-content: center;
  margin: 0 auto 28px;
  color: var(--ink);
}

.registration-logo {
  max-width: min(420px, 86vw);
  height: auto;
}

.registration-card {
  padding: clamp(28px, 5vw, 70px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.registration-intro {
  max-width: 880px;
  margin: 0 auto 32px;
  text-align: center;
}

.registration-intro h1 {
  max-width: none;
  margin-bottom: 18px;
  color: #183150;
  font-size: clamp(38px, 5vw, 58px);
}

.registration-intro p {
  color: #29415d;
  font-size: 18px;
}

.vendor-register-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.register-section {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 30px rgba(18, 33, 29, .06);
}

.register-section h2 {
  margin-bottom: 18px;
  color: #183150;
  font-size: 26px;
}

.register-section label span {
  color: var(--coral);
}

.checkbox-line {
  display: flex !important;
  grid-template-columns: auto 1fr !important;
  align-items: start;
  gap: 10px !important;
}

.checkbox-line input {
  width: auto;
  min-height: auto;
  margin-top: 4px;
}

.registration-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 8px;
}

.registration-notice {
  margin: 0 auto 22px;
  max-width: 900px;
}

.muted-copy {
  margin-bottom: 16px;
  color: var(--muted);
  font-weight: 600;
}

.portal-shell {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  min-height: 100vh;
  padding-top: 74px;
  background: #f5f7f6;
}

.portal-sidebar {
  position: sticky;
  top: 74px;
  align-self: start;
  min-height: calc(100vh - 74px);
  padding: 26px;
  border-right: 1px solid var(--line);
  background: #fff;
}

.portal-brand {
  margin-bottom: 32px;
}

.portal-org {
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
}

.portal-org h1 {
  max-width: none;
  margin: 10px 0 8px;
  color: #183150;
  font-size: 28px;
  line-height: 1.1;
}

.portal-tabs {
  display: grid;
  gap: 6px;
  margin-top: 22px;
}

.portal-tabs a {
  padding: 12px 14px;
  border-radius: var(--radius);
  color: #29415d;
  font-weight: 800;
}

.portal-tabs a:hover,
.portal-tabs a.active {
  background: var(--deep);
  color: #fff;
}

.portal-workspace {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 42px 0 70px;
}

.portal-heading {
  margin-bottom: 24px;
}

.portal-heading h2 {
  max-width: 800px;
  color: #183150;
}

.portal-panel {
  margin-top: 20px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 30px rgba(18, 33, 29, .06);
}

.billing-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.billing-panel div {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--soft);
}

.billing-panel span {
  color: var(--muted);
  font-weight: 800;
}

.billing-panel strong {
  display: block;
  margin: 8px 0;
  color: #183150;
  font-size: 30px;
}

.vendor-vms {
  min-height: 100vh;
  padding-top: 116px;
  background: #eef2f5;
}

.vms-topbar {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 14px 22px;
  border-bottom: 1px solid #d6dde5;
  background: #fff;
}

.vms-brand {
  display: flex;
  align-items: center;
  min-height: 56px;
}

.vms-search {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f5f7fb;
  color: #6b7280;
  font-weight: 700;
}

.vms-logo {
  width: 184px;
  height: 56px;
  object-fit: contain;
  flex: 0 0 auto;
}

.vms-org {
  min-width: 0;
  text-align: left;
}

.vms-org strong,
.vms-org span {
  display: block;
}

.vms-org strong {
  color: #1f2937;
  font-size: 20px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.vms-org span {
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.vms-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid #c8d1dc;
  background: #2e6fa9;
  color: #fff;
}

.vms-tabs > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 12px;
  overflow: visible;
}

.vms-tabs strong {
  padding: 8px 6px;
  text-transform: uppercase;
  font-size: 13px;
  white-space: nowrap;
}

.vms-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 9px;
  border-radius: 6px;
  color: rgba(255, 255, 255, .9);
  line-height: 1.2;
  white-space: nowrap;
  font-weight: 700;
  font-size: 13px;
}

.vms-tabs a.active,
.vms-tabs a:hover {
  background: rgba(255, 255, 255, .16);
  color: #fff;
}

.provider-primary-tabs {
  grid-template-columns: 1fr;
}

.provider-primary-tabs > div {
  justify-content: center;
  gap: 8px;
}

.provider-primary-tabs a,
.provider-secondary-tabs a,
.provider-account-menu a {
  overflow-wrap: normal;
  word-break: normal;
  text-decoration: none;
}

.provider-secondary-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 22px;
  border-bottom: 1px solid #d8e1eb;
  background: #f6f9fc;
}

.provider-secondary-tabs a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 7px 10px;
  border: 1px solid #c8d7e6;
  border-radius: 999px;
  color: #24445f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.provider-secondary-tabs a.active,
.provider-secondary-tabs a:hover {
  border-color: #2e6fa9;
  background: #e8f2fb;
  color: #12324d;
}

.provider-account-menu {
  position: relative;
}

.provider-account-menu summary {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  cursor: pointer;
  border: 1px solid rgba(46, 111, 169, .26);
  border-radius: 999px;
  padding: 8px 13px;
  color: #24445f;
  font-weight: 800;
  list-style: none;
  white-space: nowrap;
}

.provider-account-menu summary::-webkit-details-marker {
  display: none;
}

.provider-account-menu summary::after {
  content: '▾';
  margin-left: 8px;
  font-size: 12px;
}

.provider-account-menu > div {
  position: absolute;
  right: 0;
  z-index: 20;
  display: grid;
  min-width: 220px;
  margin-top: 8px;
  padding: 8px;
  border: 1px solid #d6e0ea;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(13, 34, 56, .16);
}

.provider-account-menu a {
  border-radius: 10px;
  padding: 9px 10px;
  color: #24445f;
  font-weight: 700;
  white-space: nowrap;
}

.provider-account-menu a.active,
.provider-account-menu a:hover {
  background: #edf5fc;
  color: #12324d;
}

.provider-dashboard-sections,
.provider-workflow-group-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.provider-dashboard-sections {
  grid-template-columns: repeat(5, minmax(150px, 1fr));
}

.provider-dashboard-section,
.provider-next-action-row,
.provider-workflow-group-grid article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  min-width: 0;
  border: 1px solid #dce6ef;
  border-radius: 16px;
  background: #fff;
  padding: 14px;
}

.provider-dashboard-section {
  grid-template-columns: minmax(0, 1fr) auto;
}

.provider-dashboard-section > .vms-status-pill {
  grid-column: 1 / -1;
  justify-self: start;
}

.provider-workflow-group-grid article {
  grid-template-columns: minmax(0, 1fr) auto;
}

.provider-dashboard-section h3,
.provider-next-action-row strong,
.provider-workflow-group-grid h3 {
  margin: 0 0 5px;
  color: #102b43;
  line-height: 1.2;
}

.provider-dashboard-section p,
.provider-next-action-row p,
.provider-workflow-group-grid p {
  margin: 0;
  color: #51687d;
  line-height: 1.45;
}

.provider-dashboard-section strong,
.provider-workflow-group-grid strong {
  display: block;
  margin-bottom: 5px;
  color: #24445f;
}

.provider-next-action-list {
  display: grid;
  gap: 10px;
}

.provider-next-action-row em {
  display: block;
  margin-top: 6px;
  color: #62788c;
  font-style: normal;
  font-weight: 700;
}

.provider-next-action-row .button,
.provider-dashboard-section .button {
  white-space: nowrap;
}

.provider-readiness-breakdown {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.provider-readiness-breakdown article {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #dce6ef;
  border-radius: 8px;
  background: #f8fbfa;
}

.provider-readiness-breakdown strong {
  color: #102b43;
}

.provider-readiness-breakdown span {
  color: #24445f;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.provider-readiness-breakdown p {
  margin: 0;
  color: #51687d;
  font-size: 13px;
  line-height: 1.4;
}

.vms-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  padding: 18px 22px 44px;
}

.vms-main,
.vms-activity {
  display: grid;
  align-content: start;
  gap: 18px;
  min-width: 0;
}

.vms-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.vms-metric,
.vms-panel,
.vms-grid article {
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .06);
}

.vms-metric {
  position: relative;
  min-height: 118px;
  padding: 22px 58px 22px 22px;
}

.vms-metric strong {
  display: block;
  color: #111827;
  font-size: 32px;
  line-height: 1;
}

.vms-metric span {
  display: block;
  margin-top: 14px;
  color: #1f2937;
  font-size: 20px;
  font-weight: 800;
}

.vms-metric em {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 38px;
  height: 38px;
  border: 1px solid #2e6fa9;
  border-radius: 8px;
  color: transparent;
}

.vms-metric em::after {
  content: "→";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #2e6fa9;
  font-style: normal;
  font-weight: 900;
}

.vms-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
}

.vms-action-card {
  display: grid;
  min-height: 188px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fafc;
  color: #1f2937;
  align-content: start;
  gap: 8px;
}

.vms-action-card.is-selected {
  border-color: #2e6fa9;
  background: #eef6ff;
}

.vms-action-card.needs-action {
  border-color: #d8a63a;
  background: #fff8e8;
}

.vms-action-card span {
  color: #4b5563;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.vms-action-card strong {
  color: #183150;
  font-size: 34px;
  line-height: 1;
}

.vms-action-card p {
  margin: 0;
  color: #5f6b7a;
  font-size: 14px;
}

.vms-action-card em {
  align-self: end;
  color: #2e6fa9;
  font-style: normal;
  font-weight: 800;
}

.vms-action-card .card-link {
  align-self: end;
  display: inline-flex;
  justify-content: center;
  min-height: 38px;
  padding: 9px 12px;
  border: 1px solid #c5d6e8;
  border-radius: 8px;
  background: #fff;
  color: #1d4f86;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.vms-action-card .card-link:hover,
.vms-action-card .card-link:focus-visible {
  border-color: #2e6fa9;
  background: #eaf2fb;
  outline: none;
  transform: translateY(-1px);
}

.compact-head {
  margin-top: 20px;
}

.vendor-request-command {
  margin-bottom: 18px;
}

.vendor-request-list {
  display: grid;
  gap: 16px;
}

.vendor-request-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-request-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px;
}

.vendor-request-head h3 {
  margin: 8px 0 6px;
  color: #183150;
  font-size: 21px;
  line-height: 1.25;
}

.vendor-request-head p {
  margin: 0;
  color: #5f6b7a;
}

.vendor-request-rate {
  min-width: 150px;
  padding: 12px 14px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #f8fbfa;
  text-align: right;
}

.vendor-request-rate span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.vendor-request-rate strong {
  display: block;
  margin-top: 4px;
  color: #183150;
  font-size: 20px;
  line-height: 1.2;
}

.vendor-request-meta {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.vendor-request-notes {
  padding: 14px 16px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #f8fafc;
}

.vendor-request-notes strong {
  display: block;
  color: #183150;
}

.vendor-request-notes p {
  margin: 6px 0 0;
  color: #4b5563;
}

.vendor-request-response-strip {
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}

.vendor-request-response-strip > span:not(.vms-status-pill) {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #dce7e2;
  border-radius: 8px;
  background: #f9fcfb;
  color: #334155;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.vendor-request-response-strip strong {
  color: #64748b;
  font-size: 10px;
  text-transform: uppercase;
}

.vendor-request-response-note {
  margin: -4px 0 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.5;
}

.vendor-request-response-form {
  display: grid;
  grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
  gap: 10px;
  align-items: end;
}

.vendor-request-response-form label {
  display: grid;
  gap: 6px;
  color: #344457;
  font-size: 13px;
  font-weight: 900;
}

.vendor-request-response-form label.wide,
.vendor-request-response-actions {
  grid-column: 1 / -1;
}

.vendor-request-response-form input {
  width: 100%;
  min-height: 42px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  color: #1f2937;
  font: inherit;
}

.vendor-request-response-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.vendor-submit-disclosure {
  border-top: 1px solid #e2e8f0;
  padding-top: 10px;
}

.vendor-submit-disclosure summary {
  cursor: pointer;
  color: #183150;
  font-size: 13px;
  font-weight: 900;
}

.vendor-submit-disclosure .vendor-response-form {
  margin-top: 12px;
}

.vendor-response-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
  padding-top: 2px;
}

.vendor-response-form label {
  display: grid;
  gap: 6px;
  color: #344457;
  font-size: 13px;
  font-weight: 900;
}

.vendor-response-form label.wide {
  grid-column: span 2;
}

.vendor-response-form input,
.vendor-response-form select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  color: #1f2937;
  font: inherit;
}

.vendor-response-form .button {
  min-height: 42px;
}

.public-opportunity-card .vendor-request-head {
  align-items: center;
}

.vendor-submission-command {
  margin-bottom: 18px;
}

.vendor-submission-list {
  display: grid;
  gap: 16px;
}

.vendor-submission-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-submission-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.credential-review-actions {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
}

.credential-review-actions .review-note {
  flex: 1 1 220px;
  margin: 0;
}

.credential-review-actions .review-note input {
  min-width: 0;
  width: 100%;
}

.credential-review-actions .button {
  white-space: nowrap;
}

.vendor-confirmation-command {
  margin-bottom: 18px;
}

.vendor-confirmation-list {
  display: grid;
  gap: 16px;
}

.vendor-confirmation-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-confirmation-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}

.vendor-confirmation-checklist span {
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fafc;
  color: #4b5563;
  font-weight: 900;
}

.vendor-confirmation-checklist span.is-complete {
  border-color: #b7dec8;
  background: #eaf7ef;
  color: #15543f;
}

.vendor-schedule-list {
  display: grid;
  gap: 16px;
}

.vendor-schedule-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-assignment-row {
  display: grid;
  grid-template-columns: minmax(170px, 1.25fr) repeat(5, minmax(115px, 1fr)) minmax(132px, auto);
  gap: 12px;
  align-items: center;
}

.vendor-assignment-row > div {
  min-width: 0;
}

.vendor-assignment-row span {
  display: block;
  margin-bottom: 4px;
  color: #6b7280;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.vendor-assignment-row strong {
  display: block;
  color: #15233c;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: normal;
  word-break: normal;
}

.vendor-assignment-title strong {
  font-size: 15px;
}

.vendor-assignment-title span {
  color: #4b5563;
  font-size: 12px;
  font-weight: 800;
  text-transform: none;
}

.vendor-assignment-primary-action {
  display: flex;
  justify-content: flex-end;
}

.vendor-assignment-primary-action .button {
  min-width: 122px;
  justify-content: center;
  white-space: nowrap;
}

.vendor-assignment-detail {
  border: 1px solid #dfe8e3;
  border-radius: 8px;
  background: #f8fafc;
}

.vendor-assignment-detail > summary {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  list-style: none;
  padding: 11px 12px;
  color: #15233c;
}

.vendor-assignment-detail > summary::-webkit-details-marker {
  display: none;
}

.vendor-assignment-detail > summary span {
  color: #475569;
  font-size: 12px;
  font-weight: 900;
}

.vendor-assignment-detail > summary strong {
  color: #15233c;
  font-size: 12px;
  font-weight: 900;
}

.vendor-assignment-detail[open] > summary {
  border-bottom: 1px solid #e3ebe7;
}

.vendor-assignment-detail-body {
  display: grid;
  gap: 14px;
  padding: 14px;
  background: #fff;
}

.vendor-timesheet-command {
  margin-bottom: 18px;
}

.vendor-timesheet-submit {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #f8fbfa;
}

.vendor-finance-submit-drawer {
  overflow: hidden;
}

.vendor-finance-submit-drawer > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  list-style: none;
}

.vendor-finance-submit-drawer > summary::-webkit-details-marker {
  display: none;
}

.vendor-finance-submit-drawer > summary span {
  color: #183150;
  font-size: 15px;
  font-weight: 900;
}

.vendor-finance-submit-drawer > summary strong {
  color: #1f7a5a;
  font-size: 12px;
  font-weight: 900;
}

.vendor-finance-submit-drawer > form {
  margin-top: 12px;
}

.vendor-timesheet-list {
  display: grid;
  gap: 16px;
}

.vendor-timesheet-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-exception-command {
  margin-bottom: 18px;
}

.vendor-exception-list {
  display: grid;
  gap: 16px;
}

.vendor-exception-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-invoice-command {
  margin-bottom: 18px;
}

.vendor-invoice-list {
  display: grid;
  gap: 16px;
}

.vendor-invoice-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-provider-command {
  margin-bottom: 18px;
}

.provider-top-actions {
  margin-bottom: 16px;
}

.vendor-provider-list {
  display: grid;
  gap: 16px;
}

.vendor-provider-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-provider-drawer {
  border: 1px solid rgba(38, 105, 89, 0.16);
  border-radius: 8px;
  background: #f8fbfa;
  margin: 14px 0;
  padding: 0;
}

.vendor-provider-drawer > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  list-style: none;
  padding: 12px 14px;
}

.vendor-provider-drawer > summary::-webkit-details-marker {
  display: none;
}

.vendor-provider-drawer > summary strong,
.vendor-provider-drawer > summary small,
.vendor-provider-drawer > summary b {
  display: block;
}

.vendor-provider-drawer > summary strong {
  color: #173b34;
  font-size: 0.96rem;
}

.vendor-provider-drawer > summary small {
  color: #61756f;
  font-size: 0.82rem;
  font-weight: 800;
  margin-top: 2px;
}

.vendor-provider-drawer > summary b {
  border: 1px solid #cbded8;
  border-radius: 8px;
  color: #173b34;
  font-size: 0.78rem;
  padding: 7px 10px;
  white-space: nowrap;
}

.vendor-provider-drawer[open] {
  background: #fff;
}

.vendor-provider-drawer[open] > summary {
  border-bottom: 1px solid rgba(38, 105, 89, 0.12);
}

.vendor-provider-drawer .compact-form,
.vendor-provider-drawer .vendor-invite-list {
  margin: 14px;
}

.provider-crm-record {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(190px, 1.35fr) minmax(130px, 0.95fr) minmax(110px, 0.8fr) minmax(88px, 0.55fr) minmax(110px, 0.75fr) minmax(150px, 1fr) minmax(160px, 1fr) minmax(96px, auto);
}

.provider-crm-main,
.provider-crm-cell {
  border-right: 1px solid rgba(214, 221, 229, 0.82);
  min-width: 0;
  padding-right: 10px;
}

.provider-crm-main {
  display: grid;
  gap: 6px;
}

.provider-crm-main h3 {
  color: #132337;
  font-size: 1rem;
  line-height: 1.2;
  margin: 0;
}

.provider-crm-main p {
  color: #5e7083;
  font-size: 0.84rem;
  line-height: 1.35;
  margin: 0;
  overflow-wrap: anywhere;
}

.provider-crm-cell {
  color: #26384b;
  display: grid;
  font-size: 0.88rem;
  gap: 5px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.provider-crm-cell strong {
  color: #6b7b8d;
  font-size: 0.68rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.provider-crm-score {
  color: #0d5e55;
  font-weight: 900;
}

.provider-crm-primary {
  align-self: center;
  justify-self: stretch;
  white-space: nowrap;
}

.provider-crm-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.provider-secondary-disclosure {
  border-top: 1px solid #edf1f5;
  padding-top: 10px;
}

.provider-secondary-disclosure > summary {
  color: #5e7083;
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 900;
  list-style-position: inside;
}

.provider-secondary-disclosure[open] > summary {
  margin-bottom: 10px;
}

.vendor-document-command {
  margin-bottom: 18px;
}

.vendor-document-list {
  display: grid;
  gap: 16px;
}

.vendor-document-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-credentialing-command {
  margin-bottom: 18px;
}

.vendor-credentialing-list {
  display: grid;
  gap: 16px;
}

.vendor-credentialing-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-availability-command {
  margin-bottom: 18px;
}

.vendor-availability-list {
  display: grid;
  gap: 16px;
}

.vendor-availability-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-billing-command,
.vendor-billing-summary {
  margin-bottom: 18px;
}

.vendor-billing-list {
  display: grid;
  gap: 16px;
}

.vendor-billing-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-user-command {
  margin-bottom: 18px;
}

.vendor-user-list {
  display: grid;
  gap: 16px;
}

.vendor-user-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.user-card-actions {
  justify-content: flex-end;
  align-items: center;
}

.vendor-user-capabilities {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 2px 0;
}

.vendor-user-capabilities span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid #bfd6ca;
  border-radius: 999px;
  background: #eef8f3;
  color: #145d43;
  font-size: 12px;
  font-weight: 800;
}

.vendor-config-command {
  margin-bottom: 18px;
}

.vendor-config-list {
  display: grid;
  gap: 16px;
}

.vendor-config-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-relationship-command {
  margin-bottom: 18px;
}

.vendor-relationship-list {
  display: grid;
  gap: 16px;
}

.vendor-relationship-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-report-command,
.vendor-report-summary {
  margin-bottom: 18px;
}

.vendor-report-list {
  display: grid;
  gap: 16px;
}

.vendor-report-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.vendor-automation-command {
  margin-bottom: 18px;
}

.vendor-automation-list {
  display: grid;
  gap: 16px;
}

.vendor-automation-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.provider-command {
  margin-bottom: 18px;
}

.provider-action-center {
  display: grid;
  gap: 18px;
}

.provider-dashboard-center {
  display: grid;
  gap: 18px;
}

.provider-dashboard-center .provider-command-grid {
  margin-top: 0;
}

.provider-next-action {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) minmax(220px, 300px);
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid #d7e4de;
  border-radius: 14px;
  background: linear-gradient(135deg, #fbfdfc 0%, #f4f8f7 100%);
}

.provider-next-action-plan {
  display: grid;
  gap: 10px;
  align-content: start;
  min-width: 0;
  padding: 14px;
  border: 1px solid #d6dde5;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 3px rgb(16 24 40 / 0.05);
}

.provider-next-action-plan span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.provider-next-action-plan strong {
  color: #183150;
  font-size: 18px;
  line-height: 1.2;
}

.provider-next-action-plan p {
  margin: 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.45;
}

.provider-next-action-plan dl {
  display: grid;
  gap: 6px;
  margin: 0;
}

.provider-next-action-plan dl div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding-top: 6px;
  border-top: 1px solid #eef2f6;
}

.provider-next-action-plan dt,
.provider-next-action-plan dd {
  margin: 0;
  font-size: 12px;
}

.provider-next-action-plan dt {
  color: #64748b;
  font-weight: 800;
}

.provider-next-action-plan dd {
  color: #183150;
  font-weight: 900;
  text-align: right;
}

.provider-next-action-plan .button {
  width: 100%;
  justify-content: center;
  min-height: 42px;
}

@media (max-width: 900px) {
  .provider-next-action {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .provider-next-action-plan {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .provider-next-action {
    grid-template-columns: 1fr;
  }

  .next-action-icon {
    width: 46px;
    height: 46px;
  }

  .provider-next-action-plan dl div {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .provider-next-action-plan dd {
    text-align: left;
  }
}

.next-action-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 8px;
  background: #183150;
  color: #fff;
  font-size: 28px;
}

.next-action-copy {
  min-width: 0;
}

.next-action-copy .eyebrow {
  margin: 0 0 6px;
  color: #1f7a5a;
}

.next-action-copy h3 {
  margin: 0 0 8px;
  color: #183150;
  font-size: 24px;
  line-height: 1.15;
}

.next-action-copy p {
  margin: 0;
  color: #475569;
  line-height: 1.5;
}

.next-action-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.next-action-meta span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 7px 9px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-size: 12px;
  font-weight: 800;
}

.provider-next-action .provider-progress-box {
  min-width: 0;
}

.provider-next-action .button {
  width: 100%;
  justify-content: center;
  min-height: 44px;
}

.action-center-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.action-center-summary a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 58px;
  padding: 12px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  text-decoration: none;
}

.action-center-summary i {
  color: #1f7a5a;
  font-size: 21px;
}

.action-center-summary span {
  min-width: 0;
  color: #475569;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.25;
  text-transform: uppercase;
}

.action-center-summary strong {
  color: #183150;
  font-size: 24px;
}

.provider-action-queues {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.dashboard-queues {
  margin-bottom: 2px;
}

.provider-action-queues > section {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 16px;
  border: 1px solid #d6dde5;
  border-radius: 14px;
  background: #fff;
}

.queue-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.queue-heading h3 {
  margin: 0;
  color: #183150;
  font-size: 16px;
}

.queue-heading span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.provider-queue-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  padding: 16px;
  border: 1px solid #dfe7ef;
  border-radius: 14px;
  background: #fbfdff;
}

.provider-queue-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.provider-queue-status {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.provider-queue-status em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.35;
}

.provider-queue-item strong {
  display: block;
  color: #183150;
  font-size: 15px;
  line-height: 1.25;
  overflow-wrap: normal;
}

.provider-queue-item p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: break-word;
}

.provider-queue-action {
  align-self: start;
  white-space: nowrap;
}

.provider-queue-copy > details {
  margin-top: 2px;
  border: 1px solid #e8eef5;
  border-radius: 10px;
  background: #fff;
}

.provider-queue-copy > details > summary {
  padding: 8px 10px;
  color: #475569;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.3;
}

.provider-queue-copy > details[open] {
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, .04);
}

@media (max-width: 1100px) {
  .action-center-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .provider-action-queues {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .action-center-summary {
    grid-template-columns: 1fr;
  }

  .provider-queue-item {
    grid-template-columns: 1fr;
  }

  .provider-queue-action {
    width: 100%;
    justify-content: center;
  }
}

.resume-review-workspace {
  display: grid;
  gap: 16px;
}

.resume-review-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 16px;
  align-items: stretch;
  padding: 16px;
  border: 1px solid #bfd6ca;
  border-radius: 8px;
  background: #f8fbfa;
}

.resume-review-hero h3 {
  margin: 0 0 8px;
  color: #183150;
  font-size: 22px;
  line-height: 1.2;
}

.resume-review-hero p {
  margin: 0;
  color: #475569;
  line-height: 1.5;
}

.resume-review-owner-strip,
.document-trust-strip,
.provider-task-card-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.resume-review-owner-strip {
  margin-top: 12px;
}

.resume-review-owner-strip span,
.document-trust-strip span {
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
}

.resume-review-hero form {
  display: grid;
  gap: 8px;
  align-content: center;
  padding: 12px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.resume-review-hero form span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}

.resume-review-note {
  display: grid;
  gap: 6px;
  align-content: center;
  padding: 12px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.resume-review-note strong {
  color: #183150;
  font-size: 13px;
}

.resume-review-note span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.resume-section-grid,
.resume-item-grid,
.resume-review-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.resume-section-card,
.resume-suggestion-card,
.resume-item-card {
  min-width: 0;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.resume-section-card {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.resume-review-table,
.resume-item-table {
  display: grid;
  gap: 10px;
}

.resume-review-row,
.resume-item-row {
  display: grid;
  grid-template-columns: minmax(160px, .8fr) minmax(140px, .55fr) minmax(260px, 1.2fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
  padding: 12px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.resume-item-row {
  grid-template-columns: minmax(220px, .8fr) minmax(300px, 1.2fr);
}

.resume-review-row.requires-direct-review,
.resume-item-row.requires-direct-review {
  border-color: #e7c06a;
  background: #fffaf0;
}

.resume-review-field,
.resume-review-confidence,
.resume-item-summary {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.resume-review-field strong,
.resume-item-summary strong {
  color: #183150;
  overflow-wrap: anywhere;
}

.resume-review-field span,
.resume-item-summary p,
.resume-item-summary em {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  line-height: 1.4;
}

.resume-record-confirmation {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
}

.resume-record-confirmation .form-grid,
.resume-record-confirmation .resume-gap-notice {
  grid-column: 2;
}

.resume-record-timeline {
  display: flex;
  justify-content: center;
  padding-top: 6px;
}

.resume-record-timeline span {
  width: 10px;
  height: 10px;
  border: 2px solid #2463a6;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 0 0 4px #e7f0fb;
}

.resume-gap-notice {
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #e7c06a;
  border-radius: 6px;
  background: #fff7e6;
  color: #7c4a03;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.resume-review-confidence b {
  color: #8a5a00;
  font-size: 11px;
  text-transform: uppercase;
}

.resume-review-confidence small {
  color: #64748b;
  font-size: 11px;
  line-height: 1.35;
}

.resume-review-row.cv-decision-add {
  border-color: #90c8aa;
}

.resume-review-row.cv-decision-keep {
  border-color: #cbd5e1;
}

.resume-section-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.resume-section-head h3,
.resume-suggestion-card h4,
.resume-item-card h4 {
  margin: 0;
  color: #183150;
}

.resume-section-head p,
.resume-bucket-empty {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
}

.resume-section-head span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.resume-section-head em {
  display: block;
  margin-top: 6px;
  color: #176242;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.35;
}

.resume-suggestion-list {
  display: grid;
  gap: 10px;
}

.resume-suggestion-card,
.resume-item-card {
  display: grid;
  gap: 10px;
  padding: 13px;
  box-shadow: 0 8px 22px rgba(17, 24, 39, .06);
}

.resume-item-card {
  align-content: start;
}

.resume-card-topline,
.resume-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.resume-card-topline em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.resume-confidence {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 5px 8px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.confidence-high {
  background: #e9f7ef;
  color: #176242;
}

.confidence-medium {
  background: #fff8e7;
  color: #8a5a0a;
}

.confidence-low {
  background: #fff1f0;
  color: #a33a2c;
}

.resume-suggestion-card p,
.resume-item-card p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
}

.resume-card-form {
  display: grid;
  gap: 10px;
}

.resume-card-form label {
  display: grid;
  gap: 6px;
  color: #334155;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.resume-card-form input,
.resume-card-form textarea {
  width: 100%;
  min-width: 0;
  text-transform: none;
}

.provider-onboarding-task-card {
  align-items: start;
}

.provider-task-card-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.provider-task-card-pills {
  justify-content: flex-start;
}

.document-trust-strip {
  margin: 10px 0 12px;
}

.document-trust-strip span {
  flex: 1 1 150px;
}

.document-trust-strip strong {
  display: block;
  color: #183150;
}

@media (max-width: 900px) {
  .resume-review-hero,
  .resume-review-split,
  .resume-review-row,
  .resume-item-row {
    grid-template-columns: 1fr;
  }

  .resume-review-hero form,
  .resume-card-actions .button,
  .provider-onboarding-task-card .button {
    width: 100%;
  }

  .resume-section-head,
  .resume-card-topline {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  .resume-review-owner-strip span,
  .document-trust-strip span,
  .provider-task-card-pills .vms-status-pill {
    flex: 1 1 100%;
  }

  .resume-record-confirmation {
    grid-template-columns: 1fr;
  }

  .resume-record-confirmation .form-grid,
  .resume-record-confirmation .resume-gap-notice {
    grid-column: 1;
  }
}

.resume-card-actions {
  justify-content: flex-start;
}

.resume-card-actions .button {
  min-height: 40px;
}

.resume-conflict-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.resume-conflict-compare span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 8px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.resume-conflict-compare b {
  color: #64748b;
  font-size: 10px;
  text-transform: uppercase;
}

.provider-timesheet-workspace {
  display: grid;
  gap: 18px;
}

.timesheet-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid #bfd6ca;
  border-radius: 8px;
  background: #f8fbfa;
}

.timesheet-hero h3 {
  margin: 0 0 8px;
  color: #183150;
  font-size: 24px;
  line-height: 1.2;
}

.timesheet-hero p,
.timesheet-policy-panel p {
  margin: 0;
  color: #475569;
  line-height: 1.5;
}

.timesheet-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.pay-cycle-command {
  display: grid;
  gap: 14px;
}

.pay-cycle-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid #bfd6ca;
  border-radius: 8px;
  background: #f8fbfa;
}

.pay-cycle-hero h3 {
  margin: 0 0 8px;
  color: #183150;
  font-size: 24px;
  line-height: 1.2;
}

.pay-cycle-hero p,
.pay-cycle-primary em,
.pay-cycle-metric p,
.pay-cycle-step p {
  margin: 0;
  color: #475569;
  line-height: 1.45;
}

.pay-cycle-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.pay-cycle-primary {
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 14px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #fff;
}

.pay-cycle-primary span,
.pay-cycle-metric span,
.pay-cycle-step span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.pay-cycle-primary strong {
  color: #0f2f2a;
  font-size: 34px;
  line-height: 1;
}

.pay-cycle-primary em {
  font-style: normal;
  font-weight: 800;
}

.pay-cycle-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.pay-cycle-metric {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 13px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.pay-cycle-metric strong {
  color: #183150;
  font-size: 24px;
  line-height: 1;
}

.pay-cycle-metric.needs-action {
  border-color: #f0d3a2;
  background: #fffaf0;
}

.pay-cycle-metric.is-selected {
  border-color: #1f7a5a;
  box-shadow: inset 0 0 0 1px rgba(31, 122, 90, 0.2);
}

.pay-cycle-next {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pay-cycle-step {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.pay-cycle-step.warning {
  border-color: #f0d3a2;
  background: #fffaf0;
}

.pay-cycle-step.ready {
  border-color: #c8e1d3;
  background: #f7fbf9;
}

.pay-cycle-step em {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}

.pay-cycle-detail {
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.pay-cycle-detail summary {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 11px 13px;
  color: #183150;
  cursor: pointer;
  list-style: none;
}

.pay-cycle-detail summary::-webkit-details-marker {
  display: none;
}

.pay-cycle-detail summary span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.pay-cycle-detail summary strong {
  font-size: 13px;
}

.pay-cycle-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
  border-top: 1px solid #d9e3de;
  background: #f8fafc;
}

.pay-cycle-detail-grid span {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  font-size: 13px;
  line-height: 1.35;
}

.pay-cycle-detail-grid strong {
  color: #183150;
  font-size: 12px;
}

.readiness-command {
  margin-bottom: 16px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
  overflow: hidden;
}

.readiness-command-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 220px);
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.readiness-command-head h2 {
  margin: 4px 0 6px;
  color: #142b44;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.05;
}

.readiness-command-head p {
  max-width: 760px;
  margin: 0;
  color: #536675;
}

.readiness-command-head aside {
  display: grid;
  align-content: center;
  justify-items: stretch;
  gap: 4px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #cfdbd6;
  border-radius: 8px;
  background: #fff;
  text-align: center;
}

.readiness-command-head aside span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.readiness-command-head aside strong {
  color: #17324f;
  font-size: 34px;
  line-height: 1;
}

.readiness-command-head aside em {
  color: #536675;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
}

.readiness-command-head aside .button {
  justify-content: center;
  margin-top: 6px;
  white-space: normal;
}

.readiness-command-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: 12px;
  padding: 12px;
}

.readiness-command-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: 8px;
}

.readiness-command-metric {
  display: grid;
  gap: 6px;
  min-width: 0;
  min-height: 108px;
  padding: 12px;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #fbfcfd;
  color: inherit;
  text-decoration: none;
}

.readiness-command-metric span {
  color: #475569;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.readiness-command-metric strong {
  color: #142b44;
  font-size: 28px;
  line-height: 1;
}

.readiness-command-metric p {
  margin: 0;
  color: #5e6d79;
  font-size: 13px;
  line-height: 1.35;
}

.readiness-command-metric.needs-action {
  border-color: #f0d3a2;
  background: #fffaf0;
}

.readiness-command-metric.is-selected {
  border-color: #1f7a5a;
  box-shadow: inset 0 0 0 1px rgba(31, 122, 90, .22);
}

.readiness-command-metric.tone-critical {
  border-color: #f0b8a8;
  background: #fff6f3;
}

.readiness-command-metric.tone-active {
  border-color: #bed7ee;
  background: #f7fbff;
}

.readiness-command-metric.tone-ready {
  border-color: #cfe4da;
  background: #f8fcfa;
}

.readiness-command-side {
  display: grid;
  align-content: start;
  gap: 10px;
}

.readiness-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.readiness-command-detail {
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #fbfcfd;
  overflow: hidden;
}

.readiness-command-detail summary {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 11px 12px;
  cursor: pointer;
  list-style: none;
}

.readiness-command-detail summary::-webkit-details-marker {
  display: none;
}

.readiness-command-detail summary span {
  color: #142b44;
  font-size: 13px;
  font-weight: 900;
}

.readiness-command-detail summary em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.readiness-command-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border-top: 1px solid #e2e8f0;
  background: #fff;
}

.readiness-command-detail-grid span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #536675;
  font-size: 12px;
  line-height: 1.3;
}

.readiness-command-detail-grid strong {
  color: #17324f;
}

.schedule-command {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
  overflow: hidden;
}

.schedule-command-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 220px);
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fbfa;
}

.schedule-command-head h2 {
  margin: 4px 0 6px;
  color: #142b44;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.05;
}

.schedule-command-head p {
  max-width: 760px;
  margin: 0;
  color: #536675;
}

.schedule-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.schedule-command-head aside {
  display: grid;
  align-content: center;
  justify-items: stretch;
  gap: 7px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #cfdbd6;
  border-radius: 8px;
  background: #fff;
  text-align: center;
}

.schedule-command-head aside span,
.schedule-command-metric span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.schedule-command-head aside strong {
  color: #17324f;
  font-size: 36px;
  line-height: 1;
}

.schedule-command-head aside em {
  color: #536675;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
}

.schedule-command-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
  padding: 0 14px;
}

.schedule-command-metric {
  display: grid;
  gap: 5px;
  min-width: 0;
  min-height: 112px;
  padding: 12px;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #fbfcfd;
}

.schedule-command-metric strong {
  color: #142b44;
  font-size: 26px;
  line-height: 1;
}

.schedule-command-metric p {
  margin: 0;
  color: #5e6d79;
  font-size: 12px;
  line-height: 1.35;
}

.schedule-command-metric.needs-action {
  border-color: #f0d3a2;
  background: #fffaf0;
}

.schedule-command-metric.is-selected {
  border-color: #1f7a5a;
  box-shadow: inset 0 0 0 1px rgba(31, 122, 90, .22);
}

.schedule-command-metric.tone-critical,
.schedule-command-metric.tone-overdue {
  border-color: #f0b8a8;
  background: #fff6f3;
}

.schedule-command-metric.tone-ready {
  border-color: #cfe4da;
  background: #f8fcfa;
}

.schedule-command-detail {
  margin: 0 14px 14px;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #fbfcfd;
  overflow: hidden;
}

.schedule-command-detail summary {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 11px 12px;
  cursor: pointer;
  list-style: none;
}

.schedule-command-detail summary::-webkit-details-marker {
  display: none;
}

.schedule-command-detail summary span {
  color: #142b44;
  font-size: 13px;
  font-weight: 900;
}

.schedule-command-detail summary strong {
  color: #64748b;
  font-size: 12px;
}

.schedule-command-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border-top: 1px solid #e2e8f0;
  background: #fff;
}

.schedule-command-detail-grid span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #536675;
  font-size: 12px;
  line-height: 1.3;
}

.schedule-command-detail-grid strong {
  color: #17324f;
}

.coverage-pipeline-command {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid #d7e2ea;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.coverage-pipeline-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 260px);
  gap: 16px;
  align-items: stretch;
}

.coverage-pipeline-head h2 {
  margin: 5px 0 6px;
  color: #183150;
  font-size: 1.28rem;
  line-height: 1.2;
}

.coverage-pipeline-head p {
  max-width: 760px;
  margin: 0;
  color: #475569;
  line-height: 1.45;
}

.coverage-pipeline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.coverage-pipeline-head aside {
  display: grid;
  gap: 5px;
  align-content: center;
  justify-items: end;
  padding: 14px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #f8fafc;
  text-align: right;
}

.coverage-pipeline-head aside span,
.coverage-pipeline-metric span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.coverage-pipeline-head aside strong {
  color: #183150;
  font-size: 2.1rem;
  line-height: 1;
}

.coverage-pipeline-head aside em {
  color: #475569;
  font-size: .78rem;
  font-style: normal;
  font-weight: 800;
}

.coverage-pipeline-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.coverage-pipeline-metric {
  display: grid;
  gap: 5px;
  min-height: 112px;
  padding: 12px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fbfdff;
  color: inherit;
  text-decoration: none;
}

.coverage-pipeline-metric strong {
  color: #183150;
  font-size: 1.75rem;
  line-height: 1;
}

.coverage-pipeline-metric p {
  margin: 0;
  color: #475569;
  font-size: .83rem;
  line-height: 1.38;
}

.coverage-pipeline-metric.needs-action {
  border-left: 4px solid #b7791f;
  background: #fffaf0;
}

.coverage-pipeline-metric.is-selected {
  border-color: #183150;
  background: #eef7ff;
  outline: 2px solid rgba(24, 49, 80, .08);
}

.coverage-pipeline-metric.tone-critical,
.coverage-pipeline-metric.tone-overdue {
  border-left-color: #b91c1c;
  background: #fff7f7;
}

.coverage-pipeline-metric.tone-ready {
  background: #f6fcf8;
}

.coverage-pipeline-detail {
  border-top: 1px solid #e2e8f0;
  padding-top: 10px;
}

.coverage-pipeline-detail summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  color: #183150;
  font-weight: 900;
}

.coverage-pipeline-detail summary::-webkit-details-marker {
  display: none;
}

.coverage-pipeline-detail summary span {
  font-size: .88rem;
}

.coverage-pipeline-detail summary strong {
  color: #64748b;
  font-size: .76rem;
  text-transform: uppercase;
}

.coverage-pipeline-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.coverage-pipeline-detail-grid span {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #f8fafc;
  color: #475569;
  font-size: .82rem;
  line-height: 1.35;
}

.coverage-pipeline-detail-grid strong {
  color: #64748b;
  font-size: .72rem;
  text-transform: uppercase;
}

.assignment-flow-command {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
  overflow: hidden;
}

.assignment-flow-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 220px);
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.assignment-flow-head h2 {
  margin: 4px 0 6px;
  color: #142b44;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.05;
}

.assignment-flow-head p {
  max-width: 760px;
  margin: 0;
  color: #536675;
}

.assignment-flow-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.assignment-flow-head aside {
  display: grid;
  align-content: center;
  justify-items: stretch;
  gap: 7px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #cfdbd6;
  border-radius: 8px;
  background: #fff;
  text-align: center;
}

.assignment-flow-head aside span,
.assignment-flow-metric span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.assignment-flow-head aside strong {
  color: #17324f;
  font-size: 36px;
  line-height: 1;
}

.assignment-flow-head aside em {
  color: #536675;
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
}

.assignment-flow-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  padding: 0 14px;
}

.assignment-flow-metric {
  display: grid;
  gap: 5px;
  min-width: 0;
  min-height: 112px;
  padding: 12px;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #fbfcfd;
}

.assignment-flow-metric strong {
  color: #142b44;
  font-size: 26px;
  line-height: 1;
}

.assignment-flow-metric p {
  margin: 0;
  color: #5e6d79;
  font-size: 12px;
  line-height: 1.35;
}

.assignment-flow-metric.needs-action {
  border-color: #f0d3a2;
  background: #fffaf0;
}

.assignment-flow-metric.is-selected {
  border-color: #1f7a5a;
  box-shadow: inset 0 0 0 1px rgba(31, 122, 90, .22);
}

.assignment-flow-metric.tone-critical,
.assignment-flow-metric.tone-overdue {
  border-color: #f0b8a8;
  background: #fff6f3;
}

.assignment-flow-metric.tone-ready {
  border-color: #cfe4da;
  background: #f8fcfa;
}

.assignment-flow-detail {
  margin: 0 14px 14px;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #fbfcfd;
  overflow: hidden;
}

.assignment-flow-detail summary {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 11px 12px;
  cursor: pointer;
  list-style: none;
}

.assignment-flow-detail summary::-webkit-details-marker {
  display: none;
}

.assignment-flow-detail summary span {
  color: #142b44;
  font-size: 13px;
  font-weight: 900;
}

.assignment-flow-detail summary strong {
  color: #64748b;
  font-size: 12px;
}

.assignment-flow-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border-top: 1px solid #e2e8f0;
  background: #fff;
}

.assignment-flow-detail-grid span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #536675;
  font-size: 12px;
  line-height: 1.3;
}

.assignment-flow-detail-grid strong {
  color: #17324f;
}

.timesheet-selector,
.timesheet-policy-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.timesheet-selector {
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto;
  align-items: end;
}

.timesheet-selector label {
  display: grid;
  gap: 6px;
  color: #334155;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.timesheet-selector select,
.timesheet-selector input {
  width: 100%;
}

.timesheet-policy-panel strong {
  color: #183150;
  font-size: 16px;
}

.timesheet-policy-panel span {
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

.timesheet-policy-panel em {
  justify-self: start;
  padding: 6px 9px;
  border: 1px solid #f0d3a2;
  border-radius: 999px;
  background: #fff8ea;
  color: #79510e;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.timesheet-smart-prefill {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 1fr);
  gap: 16px;
  align-items: stretch;
  padding: 16px;
  border: 1px solid #bfd6ca;
  border-radius: 12px;
  background: linear-gradient(135deg, #f8fbfa 0%, #eef7f3 100%);
  box-shadow: 0 12px 30px rgba(17, 24, 39, .06);
}

.timesheet-smart-prefill h3 {
  margin: 6px 0;
  color: #142b44;
  font-size: clamp(1.2rem, 2vw, 1.65rem);
  line-height: 1.15;
}

.timesheet-smart-prefill p {
  max-width: 680px;
  margin: 0;
  color: #536675;
  line-height: 1.45;
}

.timesheet-smart-prefill dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
}

.timesheet-smart-prefill dl div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #d7e5df;
  border-radius: 10px;
  background: #fff;
}

.timesheet-smart-prefill dt {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.timesheet-smart-prefill dd {
  margin: 0;
  color: #183150;
  font-weight: 900;
}

.timesheet-layout {
  display: grid;
  grid-template-columns: minmax(310px, 420px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.timesheet-schedule-panel,
.timesheet-history {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.timesheet-shift-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(118px, auto);
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

.timesheet-shift-card.needs-signature {
  border-color: #bfd6ca;
  background: #f7fbf9;
}

.timesheet-shift-card.is-submitted {
  opacity: .82;
}

.timesheet-shift-card .button {
  width: auto;
  justify-content: center;
  white-space: nowrap;
}

.timesheet-shift-actions,
.timesheet-quick-confirm-form {
  display: grid;
  gap: 8px;
  justify-items: stretch;
}

.timesheet-shift-actions .button,
.timesheet-quick-confirm-form .button {
  width: 100%;
}

.timesheet-shift-card em {
  display: inline-block;
  margin-top: 4px;
  color: #536675;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.timesheet-shift-state {
  justify-self: end;
  padding: 7px 9px;
  border: 1px solid #c8e1d3;
  border-radius: 999px;
  background: #f4fbf7;
  color: #1f6f50;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.timesheet-shift-card strong,
.timesheet-entry-card h3 {
  display: block;
  color: #183150;
}

.timesheet-shift-card p,
.timesheet-entry-card p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.4;
}

.timesheet-entry-form {
  margin: 0;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(17, 24, 39, .06);
}

.timesheet-easy-picker {
  display: grid;
  gap: 8px;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid #bfd6ca;
  border-radius: 12px;
  background: #f7fbf9;
}

.timesheet-easy-picker label {
  display: grid;
  gap: 8px;
  color: #17324f;
  font-size: 13px;
  font-weight: 900;
}

.timesheet-easy-picker select {
  width: 100%;
  min-height: 48px;
  border-color: #9dc7b4;
  font-size: 16px;
  font-weight: 800;
}

.timesheet-easy-picker p,
.timesheet-manual-details p {
  margin: 0;
  color: #536675;
  line-height: 1.45;
}

.timesheet-manual-details {
  margin: 0 0 14px;
  border: 1px solid #dbe4ec;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.timesheet-manual-details summary {
  padding: 12px 14px;
  color: #17324f;
  cursor: pointer;
  font-weight: 900;
  list-style-position: inside;
}

.timesheet-manual-details > p {
  padding: 0 14px 12px;
}

.timesheet-manual-details .form-grid {
  padding: 0 14px 14px;
}

.timesheet-warning-list {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
}

.timesheet-warning-list span {
  padding: 9px 11px;
  border: 1px solid #f0d3a2;
  border-radius: 8px;
  background: #fff8ea;
  color: #79510e;
  font-size: 13px;
  font-weight: 800;
}

.timesheet-entry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.timesheet-entry-card {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(17, 24, 39, .06);
}

.timesheet-entry-card dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.timesheet-entry-card dl div {
  padding: 8px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

.timesheet-review-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.timesheet-review-chips span {
  padding: 5px 8px;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: 12px;
  font-weight: 850;
}

.timesheet-entry-card dt {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.timesheet-entry-card dd {
  margin: 2px 0 0;
  color: #183150;
  font-size: 14px;
  font-weight: 900;
}

.provider-expense-workspace {
  display: grid;
  gap: 18px;
}

.expense-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid #bfd6ca;
  border-radius: 8px;
  background: #f8fbfa;
}

.expense-hero h3 {
  margin: 0 0 8px;
  color: #183150;
  font-size: 24px;
  line-height: 1.2;
}

.expense-hero p,
.expense-policy-panel p {
  margin: 0;
  color: #475569;
  line-height: 1.5;
}

.expense-policy-panel {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.expense-policy-panel strong {
  color: #183150;
  font-size: 16px;
}

.expense-policy-panel span {
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

.expense-entry-form {
  margin: 0;
}

.expense-type-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 14px;
}

.expense-type-grid label {
  display: block;
}

.expense-type-grid input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.expense-type-grid span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.expense-type-grid input:checked + span {
  border-color: #1f7a5a;
  background: #eef8f3;
  color: #145d43;
}

.expense-react-note,
.expense-step-strip,
.expense-type-picker,
.expense-primary-card,
.expense-help-card,
.expense-optional-details,
.expense-submit-row {
  border: 1px solid #d6dde5;
  border-radius: 12px;
  background: #fff;
}

.expense-react-note {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border-color: #c7d7fe;
  background: #f5f7ff;
  color: #334155;
  font-size: 13px;
}

.expense-react-note strong {
  color: #1d4ed8;
  white-space: nowrap;
}

.expense-step-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  background: #f8fafc;
}

.expense-step-strip span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #334155;
  font-size: 12px;
  font-weight: 900;
}

.expense-step-strip strong {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #183150;
  color: #fff;
  font-size: 12px;
}

.expense-type-picker {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 14px;
}

.expense-type-picker legend,
.expense-primary-card h3,
.expense-help-card h3,
.expense-optional-details summary,
.expense-submit-row strong {
  color: #183150;
  font-weight: 950;
}

.expense-type-picker legend {
  padding: 0 6px;
  font-size: 17px;
}

.expense-type-picker p,
.expense-primary-card p,
.expense-help-card li,
.expense-submit-row span {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
}

.expense-type-grid {
  margin: 0;
}

.expense-type-grid span {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;
  min-height: 70px;
  text-align: left;
}

.expense-type-grid span strong,
.expense-type-grid span small {
  display: block;
}

.expense-type-grid span strong {
  font-size: 13px;
  color: inherit;
}

.expense-type-grid span small {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}

.expense-form-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 34%);
  gap: 14px;
  align-items: start;
}

.expense-primary-card,
.expense-help-card {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.expense-primary-card {
  border-color: #bfd6ca;
  background: #fbfefd;
}

.expense-help-card {
  background: #f8fafc;
}

.expense-help-card ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
}

.receipt-drop-zone input[type="file"] {
  padding: 12px;
  border: 1px dashed #9ab8aa;
  background: #fff;
}

.receipt-drop-zone span {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.expense-optional-details {
  overflow: hidden;
}

.expense-optional-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  cursor: pointer;
  list-style: none;
}

.expense-optional-details summary::-webkit-details-marker {
  display: none;
}

.expense-optional-details summary strong {
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef2ff;
  color: #3730a3;
  font-size: 11px;
  text-transform: uppercase;
}

.expense-optional-details .expense-detail-grid {
  margin: 0;
  padding: 0 14px 14px;
}

.expense-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  background: #f8fbfa;
}

.expense-submit-row div {
  display: grid;
  gap: 3px;
}

.expense-submit-row .button {
  min-width: 160px;
  justify-content: center;
}

.expense-summary-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 10px;
  align-items: stretch;
}

.expense-summary-bar a {
  display: grid;
  gap: 3px;
  padding: 13px 14px;
  border: 1px solid #d6dde5;
  border-radius: 12px;
  background: #fff;
  color: #183150;
  text-decoration: none;
}

.expense-summary-bar span {
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.expense-summary-bar strong {
  color: #183150;
  font-size: 26px;
  line-height: 1;
}

.expense-summary-bar .expense-summary-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  border-color: #0b3b32;
  background: #0b3b32;
  color: #fff;
  font-size: 14px;
  font-weight: 950;
}

.expense-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid #d6dde5;
  border-radius: 14px 14px 0 0;
  background: #fff;
}

.expense-card-head h2 {
  margin: 0;
  color: #183150;
  font-size: 22px;
  letter-spacing: -.02em;
}

.expense-card-head span {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

.provider-expense-workspace .expense-entry-form {
  padding: 0;
  overflow: hidden;
  border: 1px solid #d6dde5;
  border-radius: 14px;
  background: #f8fafc;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
}

.provider-expense-workspace .expense-type-picker {
  border: 0;
  border-radius: 0;
  border-top: 1px solid #e2e8f0;
  padding: 14px 18px 8px;
  background: #fff;
}

.provider-expense-workspace .expense-type-picker legend {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0 0 8px;
  color: #475569;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.compact-expense-types {
  clear: both;
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  gap: 8px;
}

.compact-expense-types span {
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 12px;
  text-align: center;
  white-space: normal;
}

/* locumfriends-expense-readable-flow */

.provider-expense-workspace .expense-entry-form {
  background: #eef4f1;
}

.provider-expense-workspace .professional-expense-types {
  padding: 18px 20px 16px;
}

.professional-expense-form {
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid #e2e8f0;
  background: #fff;
}

.professional-expense-form .expense-primary-card,
.professional-expense-form .expense-help-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.professional-expense-form .expense-primary-card {
  padding: 22px 20px;
  background: #fff;
}

.professional-expense-form .expense-help-card {
  padding: 20px;
  border-top: 1px solid #e2e8f0;
  border-left: 0;
  background: #f8fafc;
}

.professional-expense-review {
  grid-template-columns: 1fr;
}

.professional-expense-review dl {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.professional-expense-review label {
  margin-top: 0;
}

.professional-expense-review label:nth-of-type(1),
.professional-expense-review label:nth-of-type(2) {
  max-width: none;
}

.expense-core-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 16px;
  align-items: start;
}

.expense-core-grid label,
.professional-expense-review label,
.expense-detail-grid label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.expense-core-grid .full-width {
  grid-column: 1 / -1;
}

.expense-core-grid input,
.expense-core-grid select,
.expense-core-grid textarea,
.professional-expense-review input,
.expense-detail-grid input,
.expense-detail-grid select,
.expense-detail-grid textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  color: #183150;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
}

.expense-core-grid textarea,
.expense-detail-grid textarea {
  min-height: 88px;
  resize: vertical;
}

.currency-input {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: stretch;
}

.currency-input em {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cbd5e1;
  border-right: 0;
  border-radius: 10px 0 0 10px;
  background: #f1f5f9;
  color: #183150;
  font-style: normal;
  font-weight: 950;
}

.currency-input input {
  border-radius: 0 10px 10px 0 !important;
}

.professional-receipt-zone {
  display: grid;
  gap: 9px;
  align-content: start;
  min-height: 0;
  padding: 14px;
  border: 1px dashed #9ab8aa;
  border-radius: 14px;
  background: #fbfefd;
}

.provider-expense-workspace .receipt-drop-zone input[type="file"] {
  padding: 12px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #ffffff;
}

.professional-receipt-zone small {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: normal;
  text-transform: none;
}

.professional-expense-submit {
  border: 0;
  border-top: 1px solid #e2e8f0;
  border-radius: 0;
  background: #ffffff;
}

.compact-expense-policy h3 {
  margin: 0;
  color: #183150;
  font-size: 16px;
}

.compact-expense-policy dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.compact-expense-policy dl div {
  padding: 9px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}

.compact-expense-policy dt {
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.compact-expense-policy dd {
  margin: 2px 0 0;
  color: #183150;
  font-size: 13px;
  font-weight: 900;
}

.provider-expense-workspace .receipt-drop-zone input[type="file"] {
  padding: 10px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #ffffff;
}

.professional-receipt-zone {
  align-content: start;
  min-height: 116px;
}

.compact-expense-details {
  border: 0;
  border-top: 1px solid #e2e8f0;
  border-radius: 0;
  background: #fff;
}

.compact-expense-details summary {
  padding: 12px 18px;
  color: #183150;
}

.compact-expense-details summary strong {
  background: #eef8f3;
  color: #145d43;
}

.compact-expense-details .expense-detail-grid {
  padding: 0 18px 18px;
}

/* locumfriends-professional-expense-ui */

.professional-expense-head {
  background: linear-gradient(135deg, #0f2f28 0%, #183150 100%);
  border: 0;
  color: #fff;
}

.professional-expense-head h2,
.professional-expense-head span,
.professional-expense-head .expense-form-eyebrow {
  color: #fff !important;
}

.professional-expense-head h2 {
  text-shadow: 0 1px 0 rgba(0, 0, 0, .18);
}

.professional-expense-head > div {
  max-width: 720px;
}

.expense-form-eyebrow {
  display: inline-flex;
  margin: 0 0 6px;
  padding: 4px 9px;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.professional-expense-head .button {
  border-color: #ffffff;
  background: #ffffff;
  color: #0f2f28;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .22);
}

.provider-expense-workspace .professional-expense-types {
  padding-top: 16px;
}

.expense-core-card,
.professional-expense-review {
  gap: 14px;
}

.expense-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e2e8f0;
}

.expense-section-title span {
  color: #183150;
  font-size: 15px;
  font-weight: 950;
}

.expense-section-title strong {
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef8f3;
  color: #145d43;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.expense-core-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.expense-core-grid label,
.professional-expense-review label,
.expense-detail-grid label {
  display: grid;
  gap: 6px;
  color: #475569;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .02em;
}

.expense-core-grid label > span:first-child,
.professional-expense-review label > span:first-child {
  color: #334155;
}

.expense-core-grid .full-width {
  grid-column: 1 / -1;
}

.expense-core-grid input,
.expense-core-grid select,
.expense-core-grid textarea,
.professional-expense-review input,
.expense-detail-grid input,
.expense-detail-grid select,
.expense-detail-grid textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 42px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  background: #fff;
  color: #183150;
  font: inherit;
}

.expense-core-grid textarea,
.expense-detail-grid textarea {
  min-height: 76px;
  resize: vertical;
}

.currency-input {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: stretch;
}

.currency-input em {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cbd5e1;
  border-right: 0;
  border-radius: 9px 0 0 9px;
  background: #f8fafc;
  color: #183150;
  font-style: normal;
  font-weight: 950;
}

.currency-input input {
  border-radius: 0 9px 9px 0 !important;
}

.professional-receipt-zone {
  padding: 12px;
  border: 1px dashed #9ab8aa;
  border-radius: 12px;
  background: #fbfefd;
}

.professional-receipt-zone small {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.professional-expense-review label {
  margin-top: 2px;
}

.professional-expense-submit {
  border: 0;
  border-top: 1px solid #e2e8f0;
  border-radius: 0;
  background: #ffffff;
}

.expense-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.expense-detail-grid section {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  padding: 16px;
  border: 1px solid #d6dde5;
  border-radius: 12px;
  background: #f8fafc;
}

.expense-detail-grid section h3 {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
}

.expense-detail-grid section h3::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #145d43;
}

.expense-detail-grid .wide-field {
  grid-column: span 2;
}

.expense-detail-grid label > span:first-child {
  color: #334155;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.expense-detail-grid section[hidden],
.expense-particulars-grid [data-expense-particulars][hidden] {
  display: none !important;
}

.expense-particulars-grid {
  grid-template-columns: minmax(0, 1fr);
}

.expense-detail-grid h3 {
  margin: 0;
  color: #183150;
  font-size: 15px;
}

.expense-entry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.expense-entry-card {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(17, 24, 39, .06);
}

.expense-entry-card h3 {
  margin: 0;
  color: #183150;
}

.expense-entry-card dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.expense-entry-card dl div {
  min-width: 0;
  padding: 8px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

.expense-entry-card dt {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.expense-entry-card dd {
  margin: 2px 0 0;
  color: #183150;
  font-size: 14px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.expense-entry-card p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
}

.expense-review-panel {
  display: grid;
  gap: 12px;
  padding: 13px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fafc;
}

.expense-review-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.expense-review-head h4 {
  margin: 8px 0 4px;
  color: #183150;
  font-size: 15px;
}

.expense-review-head p,
.expense-review-note {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
}

.expense-review-state {
  min-width: 128px;
  padding: 9px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  text-align: right;
}

.expense-review-state strong,
.expense-review-state span {
  display: block;
}

.expense-review-state strong {
  color: #183150;
  font-size: 13px;
}

.expense-review-state span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}

.expense-review-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.expense-review-meta span {
  min-width: 0;
  padding: 8px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.expense-review-meta strong {
  display: block;
  color: #64748b;
  font-size: 10px;
  text-transform: uppercase;
}

.expense-review-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.expense-review-form label {
  display: grid;
  gap: 6px;
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.expense-review-form input,
.expense-review-form select,
.expense-review-form textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #cbd5e1;
  border-radius: 9px;
  background: #fff;
  color: #183150;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
}

.expense-review-form small {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: normal;
  text-transform: none;
}

.provider-expense-correction-editor {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #d9e3de;
  border-radius: 10px;
  background: #f8fafc;
}

.provider-expense-correction-editor strong {
  color: #183150;
  font-size: 14px;
  font-weight: 950;
}

.provider-expense-correction-editor span {
  color: #64748b;
  font-size: 13px;
  font-weight: 750;
}

.provider-expense-field-issues,
.provider-expense-change-history,
.provider-expense-timeline,
.provider-expense-issue-picker {
  border: 1px solid rgba(148, 163, 184, .34);
  background: #f8fafc;
  padding: 12px;
}

.provider-expense-field-issues > strong,
.provider-expense-change-history > strong,
.provider-expense-timeline > strong,
.provider-expense-issue-picker legend {
  color: #183150;
  display: block;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 8px;
}

.provider-expense-field-issues ul,
.provider-expense-change-history ul,
.provider-expense-timeline ol {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.provider-expense-field-issues li,
.provider-expense-change-history li,
.provider-expense-timeline li {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  padding: 8px 10px;
}

.provider-expense-field-issues li span,
.provider-expense-change-history li span,
.provider-expense-timeline li span {
  color: #183150;
  display: block;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.provider-expense-field-issues li p,
.provider-expense-change-history li p,
.provider-expense-timeline li p {
  color: #64748b;
  margin: 3px 0 0;
}

.provider-expense-field-issue-table-wrap {
  overflow-x: auto;
}

.provider-expense-field-issue-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  background: #fff;
  font-size: 13px;
}

.provider-expense-field-issue-table th,
.provider-expense-field-issue-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  vertical-align: top;
}

.provider-expense-field-issue-table th {
  color: #475569;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.provider-expense-field-issue-table tr.is-open td:first-child {
  color: #8a2f16;
  font-weight: 900;
}

.expense-review-form label.is-requested-correction {
  border-color: #f59e0b;
  background: #fff7ed;
  box-shadow: inset 0 0 0 1px rgba(245, 158, 11, .24);
}

.provider-expense-issue-picker {
  display: grid;
  gap: 8px;
}

.provider-expense-issue-picker label {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 8px;
  min-height: 32px;
}

.provider-expense-issue-picker input[type="checkbox"] {
  height: 16px;
  margin: 0;
  width: 16px;
}

.expense-entry-card-correction {
  grid-column: 1 / -1;
  max-width: 760px;
}

.expense-entry-card-correction .finance-resolution-panel {
  max-width: 520px;
}

.expense-entry-card-correction .expense-review-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.expense-review-form .full-width,
.expense-review-actions {
  grid-column: 1 / -1;
}

.expense-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.settlement-ack-form {
  margin-top: 10px;
  border-top: 1px solid #d6dde5;
  padding-top: 12px;
}

.expense-review-panel .vms-status-pill + .vms-status-pill {
  margin-left: 6px;
}

.finance-resolution-panel {
  gap: 10px;
}

.finance-resolution-panel .expense-review-head p,
.finance-resolution-panel .finance-review-head p {
  max-width: 56rem;
}

.finance-resolution-panel .expense-review-meta,
.finance-resolution-panel .finance-review-meta {
  gap: 7px;
}

.finance-resolution-detail {
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.finance-resolution-detail summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  color: #183150;
  cursor: pointer;
  list-style: none;
}

.finance-resolution-detail summary::-webkit-details-marker {
  display: none;
}

.finance-resolution-detail summary span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 900;
}

.finance-resolution-detail summary span::before {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #edf5f2;
  color: #1f7a5a;
  font-size: 12px;
  line-height: 1;
}

.finance-resolution-detail[open] summary span::before {
  content: "-";
}

.finance-resolution-detail summary strong {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
  text-align: right;
}

.finance-resolution-body {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-top: 1px solid #d6dde5;
  background: #fbfcfb;
}

.finance-resolution-body .finance-review-note,
.finance-resolution-body .expense-review-note {
  padding: 9px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
}

.finance-resolution-body .finance-review-form,
.finance-resolution-body .expense-review-form {
  padding: 12px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #fff;
}

.finance-resolution-strip + .finance-resolution-detail {
  margin-top: 8px;
}

.provider-document-vault {
  display: grid;
  gap: 18px;
}

.document-vault-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid #bfd6ca;
  border-radius: 8px;
  background: #f8fbfa;
}

.document-vault-hero h3 {
  margin: 0 0 8px;
  color: #183150;
  font-size: 24px;
  line-height: 1.2;
}

.document-vault-hero p {
  margin: 0;
  color: #475569;
}

.document-bucket-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
}

.document-bucket-card {
  display: grid;
  gap: 7px;
  min-height: 150px;
  padding: 13px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  text-decoration: none;
}

.document-bucket-card.needs-action {
  border-color: #e0b4a8;
  background: #fff8f6;
}

.document-bucket-card i {
  color: #1f7a5a;
  font-size: 22px;
}

.document-bucket-card span {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.document-bucket-card strong {
  color: #183150;
  font-size: 30px;
  line-height: 1;
}

.document-bucket-card p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.document-upload-panel {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.document-upload-panel h3,
.document-bucket-section h3,
.document-vault-card h3 {
  margin: 0;
  color: #183150;
}

.document-upload-panel p {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 14px;
}

.provider-document-upload-locks {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
}

.provider-document-upload-locks div {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #d8e4df;
  border-radius: 8px;
  background: #f8fbfa;
}

.provider-document-upload-locks dt {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.provider-document-upload-locks dd {
  margin: 3px 0 0;
  color: #1f2937;
  font-size: 13px;
  font-weight: 800;
}

.document-upload-panel .compact-form {
  margin: 0;
}

.document-bucket-section {
  display: grid;
  gap: 12px;
  padding-top: 8px;
}

.document-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.document-vault-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.document-card-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.document-card-head > span:last-child {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.document-vault-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.document-vault-card dl div {
  min-width: 0;
  padding: 9px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

.document-vault-card dt {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.document-vault-card dd {
  margin: 3px 0 0;
  color: #1f2937;
  font-size: 13px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.document-lifecycle-rows {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.document-lifecycle-rows li {
  display: grid;
  grid-template-columns: 10px 150px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
}

.document-lifecycle-rows li::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #94a3b8;
}

.document-lifecycle-rows li strong {
  color: #183150;
  font-size: 12px;
}

.document-lifecycle-rows li span {
  color: #64748b;
  font-size: 12px;
}

.document-lifecycle-rows li.complete {
  border-color: #b9dec9;
  background: #f0fbf5;
}

.document-lifecycle-rows li.complete::before {
  background: #1f7a5a;
}

.document-lifecycle-rows li.waiting::before,
.document-lifecycle-rows li.pending::before {
  background: #d08a1e;
}

.document-lifecycle-rows li.failed {
  border-color: #efc4b8;
  background: #fff5f2;
}

.document-lifecycle-rows li.failed::before {
  background: #b84539;
}

.document-alert,
.document-vendor-note {
  margin: 0;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.4;
}

.document-alert {
  border: 1px solid #efc4b8;
  background: #fff3f0;
  color: #9f3f30;
  font-weight: 800;
}

.document-vendor-note {
  border: 1px solid #cfe0f3;
  background: #f1f7fe;
  color: #1d4f86;
}

.document-file-link {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  overflow-wrap: anywhere;
}

.document-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.document-card-actions form {
  margin: 0;
}

.document-report-form {
  display: flex;
  flex: 1 1 260px;
  gap: 8px;
}

.document-report-form input,
.document-replace-form input {
  min-height: 42px;
  border: 1px solid #cfd9d4;
  border-radius: 8px;
  padding: 10px 11px;
}

.document-report-form input {
  min-width: 0;
  flex: 1;
}

.document-replace-form {
  display: grid;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
}

.document-replace-form .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.provider-command-grid .vms-action-card strong {
  min-height: 38px;
}

.provider-profile-hub {
  display: grid;
  gap: 16px;
  margin-bottom: 18px;
}

.provider-profile-hero-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 18px;
  align-items: stretch;
  padding: 22px;
  border: 1px solid #bfd6ca;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fbfa 0%, #ffffff 55%, #eef7f4 100%);
  box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}

.provider-profile-hero-card h2 {
  margin: 0 0 8px;
  color: #183150;
  font-size: 28px;
  line-height: 1.12;
}

.provider-profile-hero-card p {
  margin: 0;
  color: #475569;
  line-height: 1.55;
}

.provider-profile-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.hospital-interface-hub .provider-profile-hero-card {
  grid-template-columns: minmax(0, 1fr) minmax(250px, 330px);
  align-items: center;
  border-color: rgba(31, 122, 90, .18);
  background: linear-gradient(135deg, #ffffff 0%, #f6faf8 62%, #edf6f1 100%);
  box-shadow: 0 12px 30px rgba(24, 49, 80, .07);
}

.hospital-interface-hub .provider-profile-hero-card h2 {
  max-width: 660px;
  font-size: clamp(24px, 3vw, 34px);
  letter-spacing: -.02em;
}

.hospital-hub-brief {
  max-width: 520px;
  font-size: 15px;
}

.hospital-hub-actions .button {
  min-width: 0;
  padding-inline: 14px;
}

.hospital-focus-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #d9e7df;
  border-radius: 16px;
  background: rgba(255, 255, 255, .92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 8px 22px rgba(15, 23, 42, .05);
}

.hospital-focus-card > span {
  color: #1f7a5a;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hospital-focus-card > strong {
  color: #183150;
  font-size: 22px;
  line-height: 1.15;
}

.hospital-focus-card dl {
  display: grid;
  gap: 8px;
  margin: 0;
}

.hospital-focus-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 10px;
  border-radius: 10px;
  background: #f7faf8;
}

.hospital-focus-card dt,
.hospital-focus-card dd {
  margin: 0;
  font-size: 13px;
}

.hospital-focus-card dt {
  color: #64748b;
  font-weight: 800;
}

.hospital-focus-card dd {
  color: #183150;
  font-weight: 900;
}

.hospital-focus-card .button {
  justify-content: center;
  width: 100%;
}

.provider-profile-score-card {
  display: grid;
  gap: 10px;
  align-content: center;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 12px;
  background: #fff;
}

.provider-profile-score-card.ready {
  border-color: #a7d7bf;
  background: #f2fbf6;
}

.provider-profile-score-card.critical {
  border-color: #efc4b8;
  background: #fff7f4;
}

.provider-profile-score-card.active {
  border-color: #cfe0f3;
  background: #f2f7fd;
}

.provider-profile-score-card span,
.provider-friendly-form-intro span {
  color: #1f7a5a;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.provider-profile-score-card strong {
  color: #183150;
  font-size: 42px;
  line-height: 1;
}

.provider-profile-score-card p {
  color: #64748b;
  font-size: 13px;
  line-height: 1.4;
}

.provider-profile-card-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.vendor-interface-card-grid,
.hospital-interface-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.provider-profile-status-card {
  position: relative;
  display: grid;
  gap: 8px;
  min-width: 0;
  min-height: 220px;
  padding: 16px;
  border: 1px solid #d6dde5;
  border-radius: 12px;
  background: #fff;
  color: #183150;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
}

.provider-profile-status-card.is-current {
  border-color: #1f7a5a;
  box-shadow: 0 0 0 3px rgba(31, 122, 90, .12), 0 14px 30px rgba(15, 23, 42, .08);
}

.provider-profile-status-card.tone-critical {
  background: #fff8f6;
  border-color: #e0b4a8;
}

.provider-profile-status-card.tone-watch {
  background: #fffaf0;
  border-color: #efd49a;
}

.provider-profile-status-card.tone-ready {
  background: #f7fcf9;
  border-color: #b7dcc8;
}

.provider-profile-status-card i {
  color: #1f7a5a;
  font-size: 22px;
}

.provider-profile-status-card span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.provider-profile-status-card strong {
  color: #183150;
  font-size: 26px;
  line-height: 1;
}

.provider-profile-status-card p {
  margin: 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.4;
}

.provider-profile-status-card em {
  margin-top: auto;
  color: #334155;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.provider-profile-status-card b {
  color: #1f7a5a;
  font-size: 12px;
}

.provider-profile-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.provider-profile-steps a {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid #d6dde5;
  border-radius: 12px;
  background: #fff;
  color: #183150;
  text-decoration: none;
}

.provider-profile-steps a.is-done {
  border-color: #b7dcc8;
  background: #f7fcf9;
}

.provider-profile-steps a.needs-work {
  border-color: #e9c7b7;
  background: #fffaf7;
}

.provider-profile-steps strong {
  font-size: 14px;
}

.provider-profile-steps span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.4;
}

.provider-profile-steps em {
  color: #1f7a5a;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.provider-profile-center-overview {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
}

.provider-profile-center-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fafc;
}

.provider-profile-center-hero h2 {
  margin: 4px 0 6px;
  color: #142b44;
  font-size: clamp(1.45rem, 2.4vw, 2.1rem);
  line-height: 1.05;
}

.provider-profile-center-hero p {
  margin: 0;
  color: #536675;
}

.provider-profile-center-hero aside {
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #cfdbd6;
  border-radius: 8px;
  background: #fff;
}

.provider-profile-center-hero aside span,
.provider-profile-center-identity strong,
.provider-profile-center-section-head span,
.provider-profile-readiness-card span,
.provider-profile-section-card span,
.provider-profile-blocker-list article > span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.provider-profile-center-hero aside strong {
  color: #17324f;
  font-size: 34px;
  line-height: 1;
}

.provider-profile-center-hero aside em,
.provider-profile-section-card em {
  color: #536675;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.35;
}

.provider-profile-center-identity {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.provider-profile-center-identity span {
  display: grid;
  gap: 3px;
  min-width: 120px;
  padding: 9px 11px;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #fff;
  color: #183150;
  font-size: 13px;
  overflow-wrap: anywhere;
}

.provider-profile-center-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 14px;
}

.provider-profile-readiness-summary,
.provider-profile-blockers,
.provider-profile-section-cards {
  display: grid;
  gap: 10px;
}

.provider-profile-readiness-summary,
.provider-profile-blockers {
  align-content: start;
}

.provider-profile-readiness-summary,
.provider-profile-section-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.provider-profile-readiness-card,
.provider-profile-section-card,
.provider-profile-blocker-list article {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #dbe4ec;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.provider-profile-readiness-card strong,
.provider-profile-section-card strong,
.provider-profile-blocker-list strong {
  color: #142b44;
  font-size: 24px;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.provider-profile-readiness-card p,
.provider-profile-section-card p,
.provider-profile-blocker-list p {
  margin: 0;
  color: #5e6d79;
  font-size: 13px;
  line-height: 1.35;
}

.provider-profile-readiness-card .provider-profile-score-detail {
  color: #30475c;
  font-size: 12px;
  font-weight: 700;
}

.provider-profile-readiness-card.tone-critical,
.provider-profile-section-card.tone-critical {
  border-color: #f0b8a8;
  background: #fff6f3;
}

.provider-profile-readiness-card.tone-watch,
.provider-profile-section-card.tone-watch {
  border-color: #efd49a;
  background: #fffaf0;
}

.provider-profile-readiness-card.tone-ready,
.provider-profile-section-card.tone-ready {
  border-color: #cfe4da;
  background: #f8fcfa;
}

.provider-profile-readiness-card.tone-active,
.provider-profile-section-card.tone-active {
  border-color: #bed7ee;
  background: #f7fbff;
}

.provider-profile-center-section-head {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.provider-profile-center-section-head h3 {
  margin: 0;
  color: #183150;
  font-size: 17px;
}

.provider-profile-blocker-list,
.provider-profile-section-card-grid {
  display: grid;
  gap: 10px;
}

.provider-profile-blocker-list article {
  border-color: #efd49a;
  background: #fffaf0;
}

.provider-profile-blocker-list article.is-clear {
  border-color: #cfe4da;
  background: #f8fcfa;
}

.provider-profile-blocker-list .button {
  justify-content: center;
  margin-top: 4px;
  white-space: normal;
}

.provider-friendly-form-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 12px;
  background: #fff;
}

.provider-friendly-form-intro {
  display: grid;
  gap: 8px;
}

.provider-friendly-form-intro h3 {
  margin: 0;
  color: #183150;
  font-size: 20px;
}

.provider-friendly-form-intro p,
.provider-friendly-form-intro li {
  color: #5f6b7a;
  font-size: 13px;
  line-height: 1.45;
}

.provider-friendly-form-intro p,
.provider-friendly-form-intro ul {
  margin: 0;
}

.provider-friendly-form-intro ul {
  padding-left: 18px;
}

.provider-friendly-form-shell .compact-form {
  margin: 0;
}

.provider-credential-workspace {
  display: grid;
  gap: 16px;
}

.credential-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.credential-summary-card {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid #d6dde5;
  border-radius: 12px;
  background: #fff;
  color: #183150;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .05);
}

.credential-summary-card span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.credential-summary-card strong {
  color: #183150;
  font-size: 28px;
  line-height: 1;
}

.credential-summary-card em {
  color: #475569;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.credential-summary-card.tone-critical {
  border-color: #e0b4a8;
  background: #fff8f6;
}

.credential-summary-card.tone-watch {
  border-color: #efd49a;
  background: #fffaf0;
}

.credential-summary-card.tone-ready {
  border-color: #b7dcc8;
  background: #f7fcf9;
}

.credential-summary-card.tone-active {
  border-color: #cfe0f3;
  background: #f2f7fd;
}

.credential-work-grid {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.credential-entry-card,
.credential-record-card {
  border: 1px solid #d6dde5;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.credential-entry-card {
  position: sticky;
  top: 12px;
  display: grid;
  gap: 10px;
  padding: 18px;
}

.credential-entry-card h3,
.credential-entry-card p {
  margin: 0;
}

.credential-entry-card h3 {
  color: #183150;
}

.credential-entry-card p {
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
}

.credential-tight-form {
  grid-template-columns: 1fr;
}

.credential-record-list {
  display: grid;
  gap: 12px;
}

.credential-record-card {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.credential-record-card.missing-proof {
  border-left: 5px solid #d97706;
}

.credential-record-card.has-proof {
  border-left: 5px solid #1f7a5a;
}

.credential-record-head {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.credential-record-head strong {
  color: #183150;
  font-size: 17px;
}

.credential-record-card dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.credential-record-card dl div {
  padding: 10px;
  border-radius: 10px;
  background: #f8fafc;
}

.credential-record-card dt {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.credential-record-card dd {
  margin: 4px 0 0;
  color: #183150;
  font-size: 13px;
  font-weight: 800;
}

.provider-profile-readiness-list {
  grid-template-columns: 1fr;
  gap: 8px;
}

.provider-profile-readiness-list .provider-profile-status-card {
  display: grid;
  grid-template-columns: minmax(150px, 1.2fr) minmax(70px, .45fr) minmax(120px, 1fr) minmax(76px, .45fr);
  min-height: auto;
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .045);
}

.provider-profile-status-title {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  color: #183150 !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
}

.provider-profile-status-title i {
  flex: 0 0 auto;
  font-size: 18px;
}

.provider-profile-readiness-list .provider-profile-status-card strong {
  font-size: 22px;
  text-align: right;
  white-space: nowrap;
}

.provider-profile-readiness-list .provider-profile-status-card em {
  margin: 0;
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
}

.provider-profile-readiness-list .provider-profile-status-card b {
  justify-self: end;
  white-space: nowrap;
}

.provider-profile-freshness-panel {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.provider-freshness-list {
  display: grid;
  gap: .75rem;
}

.provider-freshness-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 8px;
  padding: .85rem;
  background: #fff;
}

.provider-freshness-row.tone-critical {
  border-color: rgba(185, 28, 28, .28);
  background: #fff8f8;
}

.provider-freshness-row.tone-watch {
  border-color: rgba(180, 83, 9, .28);
  background: #fffbeb;
}

.provider-freshness-row.tone-ready {
  border-color: rgba(22, 101, 52, .2);
  background: #f7fdf9;
}

.provider-freshness-row strong,
.provider-freshness-row p {
  display: block;
  margin: .25rem 0 0;
}

.provider-freshness-row p {
  color: #475569;
  font-size: .9rem;
}

.provider-freshness-confirm-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .5rem;
}

.credential-summary-row {
  grid-template-columns: repeat(4, minmax(120px, 1fr));
}

.credential-summary-row .credential-summary-card {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
}

.credential-summary-row .credential-summary-card strong {
  font-size: 24px;
}

.credential-summary-row .credential-summary-card span {
  min-width: 0;
  letter-spacing: 0;
  line-height: 1.2;
  overflow-wrap: normal;
  text-transform: none;
  word-break: normal;
}

.credential-entry-card .credential-tight-form {
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 12px;
}

.credential-entry-card .credential-tight-form label,
.credential-entry-card .credential-tight-form span,
.credential-entry-card .credential-tight-form input,
.credential-entry-card .button,
.credential-record-card,
.credential-record-card * {
  overflow-wrap: normal;
  word-break: normal;
}

.credential-entry-card .credential-tight-form label span {
  white-space: nowrap;
}

.credential-entry-card input[type="file"] {
  min-width: 0;
  padding: 10px;
  white-space: normal;
}

.credential-entry-card .button {
  width: 100%;
  white-space: nowrap;
}

.credential-record-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 10px;
  margin: 0;
}

.credential-record-meta.four-up {
  grid-template-columns: repeat(4, minmax(120px, 1fr));
}

.credential-record-meta div {
  min-width: 0;
}

.credential-record-meta dd {
  line-height: 1.35;
}

@media (max-width: 760px) {
  .provider-profile-hero-card {
    grid-template-columns: 1fr;
  }

  .provider-profile-readiness-list .provider-profile-status-card {
    grid-template-columns: minmax(125px, 1fr) auto;
    grid-template-areas:
      "title value"
      "status cta";
  }

  .provider-profile-status-title {
    grid-area: title;
  }

  .provider-profile-readiness-list .provider-profile-status-card strong {
    grid-area: value;
  }

  .provider-profile-readiness-list .provider-profile-status-card em {
    grid-area: status;
  }

  .provider-profile-readiness-list .provider-profile-status-card b {
    grid-area: cta;
  }

  .provider-freshness-row {
    grid-template-columns: 1fr;
  }

  .provider-freshness-confirm-form {
    justify-content: stretch;
  }

  .provider-freshness-confirm-form .button {
    flex: 1 1 10rem;
  }

  .credential-summary-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .credential-entry-card .credential-tight-form {
    grid-template-columns: 1fr;
  }

  .credential-record-meta,
  .credential-record-meta.four-up {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1100px) {
  .provider-profile-card-grid,
  .credential-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .provider-profile-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .credential-work-grid {
    grid-template-columns: 1fr;
  }

  .credential-entry-card {
    position: static;
  }
}

@media (max-width: 760px) {
  .provider-profile-hero-card,
  .provider-friendly-form-shell {
    grid-template-columns: 1fr;
  }

  .provider-profile-card-grid,
  .provider-profile-steps,
  .provider-detail-grid,
  .credential-summary-strip,
  .credential-record-card dl {
    grid-template-columns: 1fr;
  }

  .provider-profile-hero-card {
    padding: 16px;
  }

  .provider-profile-status-card {
    min-height: 0;
  }

  .provider-profile-quick-actions .button {
    width: 100%;
    justify-content: center;
  }

  .hospital-interface-hub .provider-profile-hero-card {
    grid-template-columns: 1fr;
  }

  .hospital-hub-actions .button {
    width: auto;
    flex: 1 1 130px;
  }
}

.provider-profile-hero-card {
  grid-template-columns: minmax(0, 1fr) 210px;
  padding: 16px;
}

.provider-profile-hero-card h2 {
  font-size: 24px;
}

.provider-profile-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 8px;
}

.provider-profile-status-card {
  grid-template-columns: auto 1fr;
  align-items: center;
  min-height: 0;
  padding: 11px 12px;
  gap: 5px 8px;
}

.provider-profile-status-card i {
  grid-row: span 3;
  font-size: 18px;
}

.provider-profile-status-card span,
.provider-profile-status-card em,
.provider-profile-status-card b {
  overflow-wrap: normal;
  word-break: normal;
}

.provider-profile-status-card strong {
  font-size: 22px;
}

.provider-profile-status-card p,
.provider-profile-steps {
  display: none;
}

.provider-credential-workspace {
  gap: 12px;
}

.credential-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.credential-summary-card {
  grid-template-columns: auto auto;
  align-items: center;
  gap: 8px;
  min-width: 118px;
  padding: 10px 12px;
}

.credential-summary-card strong {
  font-size: 22px;
}

.credential-summary-card em {
  display: none;
}

.credential-work-grid {
  grid-template-columns: 1fr;
}

.credential-entry-card {
  position: static;
  gap: 8px;
  padding: 14px;
}

.credential-entry-card p {
  display: none;
}

.credential-tight-form {
  grid-template-columns: repeat(4, minmax(135px, 1fr));
  align-items: end;
}

.credential-tight-form label {
  display: grid;
  gap: 5px;
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
}

.credential-tight-form label > span {
  color: #334155;
  font-size: 12px;
  font-weight: 900;
}

.credential-tight-form input[type="file"] {
  width: 100%;
  min-width: 0;
  white-space: normal;
}

.credential-record-card {
  gap: 10px;
  padding: 13px 14px;
}

.credential-record-head {
  justify-content: flex-start;
}

.credential-record-head strong {
  overflow-wrap: normal;
  word-break: normal;
}

.credential-record-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.credential-record-meta span {
  display: inline-flex;
  gap: 5px;
  align-items: baseline;
  padding: 7px 9px;
  border-radius: 999px;
  background: #f8fafc;
  color: #183150;
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: normal;
  word-break: normal;
}

.credential-record-meta b {
  color: #64748b;
  font-size: 11px;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .credential-tight-form {
    grid-template-columns: 1fr;
  }

  .credential-summary-card {
    flex: 1 1 120px;
  }

  .credential-record-meta {
    display: grid;
    grid-template-columns: 1fr;
  }

  .credential-record-meta span {
    border-radius: 10px;
  }
}

/* Provider credential/readiness readability overrides: keep mobile and narrow panes from
   splitting words like Number, Proof, and Verification. */
.provider-profile-readiness-list {
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 8px;
}

.provider-profile-readiness-list .provider-profile-status-card {
  grid-template-columns: minmax(150px, 1.2fr) minmax(70px, .45fr) minmax(120px, 1fr) minmax(76px, .45fr) !important;
  min-height: auto;
  gap: 12px;
}

.provider-profile-readiness-list .provider-profile-status-title {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
}

.provider-profile-readiness-list .provider-profile-status-title i {
  grid-row: auto;
}

.credential-summary-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr)) !important;
}

.credential-summary-row .credential-summary-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
}

.credential-entry-card .credential-tight-form {
  grid-template-columns: repeat(2, minmax(135px, 1fr)) !important;
}

.credential-entry-card .credential-tight-form .wide {
  grid-column: 1 / -1;
}

.credential-record-meta,
.credential-record-meta.four-up {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 10px;
}

.credential-record-meta div {
  padding: 10px;
  border-radius: 10px;
  background: #f8fafc;
}

.credential-record-meta dt {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.credential-record-meta dd {
  margin: 4px 0 0;
  color: #183150;
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 760px) {
  .provider-profile-hero-card {
    grid-template-columns: 1fr !important;
  }

  .provider-profile-readiness-list .provider-profile-status-card {
    grid-template-columns: minmax(125px, 1fr) auto !important;
    grid-template-areas:
      "title value"
      "status cta";
  }

  .provider-profile-readiness-list .provider-profile-status-title {
    grid-area: title;
  }

  .provider-profile-readiness-list .provider-profile-status-card strong {
    grid-area: value;
    text-align: right;
  }

  .provider-profile-readiness-list .provider-profile-status-card em {
    grid-area: status;
  }

  .provider-profile-readiness-list .provider-profile-status-card b {
    grid-area: cta;
  }

  .credential-summary-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .credential-entry-card .credential-tight-form {
    grid-template-columns: 1fr !important;
  }

  .credential-record-meta,
  .credential-record-meta.four-up {
    grid-template-columns: 1fr !important;
  }
}

.provider-section-grid {
  margin-bottom: 16px;
}

.provider-command-list {
  display: grid;
  gap: 16px;
}

.provider-command-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .07);
}

.provider-card-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.provider-card-body h3 {
  margin: 0 0 6px;
  color: #183150;
  font-size: 18px;
}

.provider-card-body p {
  margin: 3px 0 0;
  color: #5f6b7a;
  font-size: 14px;
  line-height: 1.45;
}

.provider-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.provider-detail-grid article {
  min-width: 0;
  padding: 14px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fafc;
}

.provider-detail-grid span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.provider-detail-grid strong {
  display: block;
  margin-top: 5px;
  color: #183150;
  font-size: 15px;
  overflow-wrap: anywhere;
}

.provider-detail-grid p {
  margin: 6px 0 0;
  color: #5f6b7a;
  font-size: 13px;
  line-height: 1.45;
}

.provider-mini-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.provider-mini-metrics a {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  color: #183150;
  text-decoration: none;
}

.provider-mini-metrics span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.provider-mini-metrics strong {
  font-size: 20px;
}

.provider-account-tray {
  display: grid;
  gap: 12px;
}

.provider-account-tray .provider-mini-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.provider-account-disclosure {
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.provider-account-disclosure > summary {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 12px;
  color: #183150;
  cursor: pointer;
  font-weight: 900;
}

.provider-account-disclosure > summary::-webkit-details-marker {
  display: none;
}

.provider-account-disclosure > summary span {
  color: #1f7a5a;
  font-size: .76rem;
  text-transform: uppercase;
}

.provider-account-disclosure > summary strong {
  color: #64748b;
  font-size: .82rem;
}

.provider-account-disclosure[open] {
  display: grid;
  gap: 10px;
  padding-bottom: 10px;
}

.provider-account-disclosure[open] .vms-note {
  margin: 0 10px;
}

.vms-status-list {
  display: grid;
  gap: 12px;
}

.vms-status-list div,
.vms-note {
  padding: 14px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fafc;
}

.vms-status-list strong,
.vms-note strong {
  display: block;
  color: #1f2937;
}

.vms-status-list p,
.vms-note p {
  margin: 5px 0 0;
  color: #5f6b7a;
}

.notification-work-queue {
  display: grid;
  gap: 12px;
}

.notification-work-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e2e8f0;
}

.notification-work-head span {
  display: block;
  color: #1f7a5a;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.notification-work-head strong {
  display: block;
  color: #183150;
  font-size: 1.05rem;
}

.notification-work-head em {
  flex: 0 0 auto;
  color: #64748b;
  font-size: .78rem;
  font-style: normal;
  font-weight: 850;
}

.notification-work-item {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #d6dde5;
  border-left: 4px solid #2563eb;
  border-radius: 8px;
  background: #f8fafc;
}

.notification-work-copy h3 {
  margin: 8px 0 6px;
  color: #183150;
  font-size: 1rem;
}

.notification-work-copy p {
  margin: 0;
  color: #475569;
  font-size: .86rem;
  line-height: 1.45;
}

.notification-work-copy footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.notification-work-copy footer span {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 4px 8px;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: .72rem;
  font-weight: 850;
}

.notification-work-open {
  display: inline-flex;
  width: fit-content;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 7px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #183150;
  font-size: .8rem;
  font-weight: 900;
  text-decoration: none;
}

.notification-work-form {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
}

.notification-work-form label {
  display: grid;
  gap: 6px;
  color: #334155;
  font-size: .78rem;
  font-weight: 850;
}

.notification-work-form input {
  width: 100%;
  min-width: 0;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 9px 10px;
}

.notification-work-form div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.notification-work-form .button {
  min-height: 36px;
  padding: 8px 10px;
}

.notification-work-queue.is-compact {
  gap: 10px;
}

.notification-work-queue.has-collapsed-actions {
  gap: 9px;
}

.notification-work-queue.is-compact .notification-work-item {
  padding: 12px;
}

.notification-work-queue.is-compact .notification-work-copy h3 {
  font-size: .94rem;
}

.notification-work-queue.is-compact .notification-work-copy p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.notification-work-actions {
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.notification-work-actions > summary {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  color: #183150;
  cursor: pointer;
  font-weight: 900;
}

.notification-work-actions > summary::-webkit-details-marker {
  display: none;
}

.notification-work-actions > summary span {
  color: #1f7a5a;
  font-size: .76rem;
  text-transform: uppercase;
}

.notification-work-actions > summary strong {
  color: #64748b;
  font-size: .78rem;
}

.notification-work-actions[open] {
  display: grid;
  gap: 8px;
  padding-bottom: 10px;
}

.notification-work-actions[open] .notification-work-form {
  margin: 0 10px;
}

.notification-overflow-disclosure {
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
}

.notification-overflow-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  color: #183150;
  cursor: pointer;
  font-weight: 900;
}

.notification-overflow-disclosure > summary::-webkit-details-marker {
  display: none;
}

.notification-overflow-disclosure > summary span {
  color: #1f7a5a;
  font-size: .76rem;
  text-transform: uppercase;
}

.notification-overflow-disclosure > summary strong {
  font-size: .84rem;
}

.notification-overflow-disclosure[open] {
  display: grid;
  gap: 10px;
  padding-bottom: 10px;
}

.notification-overflow-disclosure[open] > .notification-work-item {
  margin: 0 10px;
}

.notification-work-empty {
  padding: 14px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
}

.notification-work-empty strong {
  display: block;
  color: #183150;
}

.notification-work-empty p {
  margin: 5px 0 0;
  color: #64748b;
}

.communication-hub {
  display: grid;
  gap: 14px;
}

.communication-hub-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: 16px;
  align-items: start;
  padding: 16px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #f8fafc;
}

.communication-hub-head span {
  display: block;
  margin-bottom: 4px;
  color: #1f7a5a;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.communication-hub-head h2 {
  margin: 0;
  color: #183150;
  font-size: 1.35rem;
}

.communication-hub-head p {
  margin: 6px 0 0;
  max-width: 760px;
  color: #475569;
  font-size: .9rem;
  line-height: 1.45;
}

.communication-hub-head > strong {
  display: block;
  padding: 12px;
  border: 1px solid #bfe0d7;
  border-radius: 8px;
  background: #eefcf8;
  color: #0f5f58;
  font-size: .86rem;
  line-height: 1.45;
}

.communication-hub-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.communication-hub-summary a {
  display: grid;
  min-height: 74px;
  align-content: center;
  gap: 4px;
  padding: 12px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  text-decoration: none;
}

.communication-hub-summary a.needs-action {
  border-color: #f2c46d;
  background: #fffbeb;
  color: #7c4a03;
}

.communication-hub-summary span {
  font-size: .76rem;
  font-weight: 850;
}

.communication-hub-summary strong {
  color: #183150;
  font-size: 1.45rem;
  line-height: 1;
}

.communication-route-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.communication-route {
  display: grid;
  min-height: 116px;
  align-content: start;
  gap: 7px;
  padding: 13px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  text-decoration: none;
}

.communication-route.is-primary {
  border-color: #0f766e;
  background: #eefcf8;
}

.communication-route.needs-action:not(.is-primary) {
  border-color: #f2c46d;
  background: #fffbeb;
}

.communication-route span {
  color: #183150;
  font-size: .8rem;
  font-weight: 900;
}

.communication-route strong {
  color: #0f5f58;
  font-size: 1.5rem;
  line-height: 1;
}

.communication-route p {
  margin: 0;
  color: inherit;
  font-size: .78rem;
  line-height: 1.38;
}

.communication-compose {
  margin-bottom: 0;
}

.communication-notices {
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
}

.communication-notices summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  padding: 12px 14px;
  color: #183150;
  font-size: .86rem;
  font-weight: 900;
}

.communication-notices summary strong {
  color: #64748b;
  font-size: .78rem;
}

.communication-notices[open] {
  padding-bottom: 12px;
}

.communication-notices[open] > .notification-work-queue {
  padding: 0 12px;
}

.message-work-queue {
  display: grid;
  gap: 12px;
}

.message-work-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e2e8f0;
}

.message-work-head span {
  display: block;
  color: #1f7a5a;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.message-work-head strong {
  display: block;
  color: #183150;
  font-size: 1.05rem;
}

.message-work-head em {
  flex: 0 0 auto;
  color: #64748b;
  font-size: .78rem;
  font-style: normal;
  font-weight: 850;
}

.message-work-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.message-work-filters a {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  text-decoration: none;
}

.message-work-filters a.is-active {
  border-color: #0f766e;
  background: #eefcf8;
  color: #0f5f58;
}

.message-work-filters span {
  font-size: .78rem;
  font-weight: 850;
}

.message-work-filters strong {
  color: #183150;
  font-size: .95rem;
}

.message-work-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 14px;
  padding: 14px;
  border: 1px solid #d6dde5;
  border-left: 4px solid #0f766e;
  border-radius: 8px;
  background: #f8fafc;
}

.message-work-item.state-waiting {
  border-left-color: #d97706;
  background: #fffaf0;
}

.message-work-item.state-closed {
  border-left-color: #16a34a;
  background: #f7fdf9;
}

.message-work-copy h3 {
  margin: 8px 0 6px;
  color: #183150;
  font-size: 1rem;
}

.message-work-copy p {
  margin: 0;
  color: #475569;
  font-size: .88rem;
  line-height: 1.5;
}

.message-work-copy footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.message-work-copy footer span {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 4px 8px;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: .72rem;
  font-weight: 850;
}

.message-work-thread {
  display: grid;
  gap: 6px;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
}

.message-work-thread summary {
  cursor: pointer;
  color: #183150;
  font-size: .78rem;
  font-weight: 900;
}

.message-work-thread p {
  font-size: .78rem;
}

.message-work-overflow {
  display: grid;
  gap: 10px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
}

.message-work-overflow summary {
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  color: #183150;
  font-size: .82rem;
  font-weight: 900;
}

.message-work-overflow summary strong {
  color: #64748b;
  font-size: .76rem;
}

.message-work-overflow[open] {
  padding: 0 12px 12px;
}

.message-work-overflow[open] > .message-work-item {
  margin-top: 10px;
}

.message-work-form {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
}

.message-work-form label {
  display: grid;
  gap: 6px;
  color: #334155;
  font-size: .78rem;
  font-weight: 850;
}

.message-work-form input,
.message-work-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 9px 10px;
}

.message-work-form textarea {
  resize: vertical;
}

.message-work-form div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.message-work-form .button {
  min-height: 36px;
  padding: 8px 10px;
}

.message-compose-form {
  margin-top: 12px;
}

.message-compose-disclosure {
  margin-bottom: 14px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
}

.message-compose-disclosure summary {
  cursor: pointer;
  padding: 11px 12px;
  color: #183150;
  font-size: .84rem;
  font-weight: 900;
}

.message-compose-disclosure[open] {
  padding: 0 12px 12px;
}

.message-work-empty {
  padding: 14px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
}

.message-work-empty strong {
  display: block;
  color: #183150;
}

.message-work-empty p {
  margin: 5px 0 0;
  color: #64748b;
}

.status-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 8px;
  border-radius: 50%;
}

.status-dot.red {
  background: #ba5b4a;
}

.status-dot.yellow {
  background: #d8a63a;
}

.status-dot.green {
  background: #1f7a5a;
}

.vms-checklist {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.vms-checklist span,
.vms-checklist .provider-file-link {
  padding: 11px 12px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fafc;
  color: #1f2937;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.provider-file-link {
  color: #174ea6;
  text-decoration: none;
}

.provider-file-link:hover {
  text-decoration: underline;
}

.provider-file-link.inline {
  font-weight: 800;
}

.provider-file-status {
  display: block;
  margin-top: 6px;
  color: #5f6c7b;
  font-size: 0.85rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

/* Site-wide UI system layer: keeps the brand intact while aligning public pages and portals. */
.button,
.nav-cta,
.start-card,
.portal-card,
.role-card,
.solution-block,
.operations-panel,
.timeline article,
.feature-strip > *,
.vms-action-card,
.provider-command-card,
.provider-queue-item,
.register-section {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.portal-card:hover,
.role-card:hover,
.solution-block:hover,
.operations-panel:hover,
.timeline article:hover,
.feature-strip > *:hover,
.start-card:hover,
.vms-action-card:hover,
.provider-command-card:hover,
.provider-queue-item:hover {
  border-color: rgba(31, 122, 90, .35);
  box-shadow: 0 16px 38px rgba(18, 33, 29, .11);
  transform: translateY(-2px);
}

.button,
.nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  border-radius: 8px;
}

.button:focus-visible,
.nav-cta:focus-visible,
.site-nav a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(35, 100, 165, .28);
  outline-offset: 2px;
}

.intake-form input,
.intake-form select,
.intake-form textarea,
.vendor-register-form input,
.vendor-register-form select,
.vendor-register-form textarea {
  border-color: #cfd9d4;
  box-shadow: 0 1px 0 rgba(18, 33, 29, .03);
}

.intake-form input:focus,
.intake-form select:focus,
.intake-form textarea:focus,
.vendor-register-form input:focus,
.vendor-register-form select:focus,
.vendor-register-form textarea:focus {
  border-color: #1f7a5a;
  box-shadow: 0 0 0 4px rgba(31, 122, 90, .1);
}

.flatpickr-calendar {
  border-radius: 8px;
  box-shadow: 0 18px 50px rgba(18, 33, 29, .14);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.Toastify__toast,
.toastify {
  border-radius: 8px;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 800;
}

.vms-activity .vms-checklist {
  grid-template-columns: 1fr;
}

.vms-request-form {
  margin-top: 8px;
}

.vms-record-list {
  display: grid;
  gap: 12px;
}

.vms-record-card,
.vms-record-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.vms-record-card h3,
.vms-record-hero h3 {
  margin: 4px 0;
  color: #183150;
}

.vms-record-card p,
.vms-record-hero p {
  margin: 0;
  color: #5f6b7a;
}

.vms-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eef5f2;
  color: #0f2f2a;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.vms-status-pill.status-green {
  background: #e8f5ee;
  color: #126342;
}

.vms-status-pill.status-blue {
  background: #eaf2fb;
  color: #1d4f86;
}

.vms-status-pill.status-red {
  background: #fff0ed;
  color: #9f3f30;
}

.vms-status-pill.status-yellow {
  background: #fff7df;
  color: #8a5b00;
}

.vms-status-pill.status-muted {
  background: #f1f5f9;
  color: #475569;
}

.candidate-review-list {
  gap: 14px;
}

.candidate-review-card {
  align-items: start;
}

.candidate-card-topline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: #5f6b7a;
  font-size: 12px;
  font-weight: 800;
}

.candidate-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.candidate-meta-grid span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #f8fafc;
  color: #183150;
  font-size: 13px;
  font-weight: 800;
}

.candidate-meta-grid strong {
  color: #6b7280;
  font-size: 11px;
  text-transform: uppercase;
}

.candidate-decision-note {
  display: block;
  padding: 10px 12px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #f8fafc;
  color: #5f6b7a;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.candidate-work-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 14px;
}

.candidate-work-filters a {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #fff;
  color: #29415d;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.candidate-work-filters a.is-active {
  border-color: #1f7a5a;
  background: #eff8f3;
  color: #0f3f32;
}

.candidate-work-filters span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-work-filters strong {
  flex: 0 0 auto;
  font-size: 16px;
}

.credentialing-filter-strip {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  margin-bottom: 16px;
}

.credentialing-filter-strip a {
  min-height: 42px;
}

.operation-filter-strip {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  margin-bottom: 16px;
}

.operation-filter-strip a {
  min-height: 42px;
}

.schedule-filter-strip {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  margin-bottom: 16px;
}

.schedule-filter-strip a {
  min-height: 42px;
}

.vendor-request-filter-strip {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  margin-bottom: 16px;
}

.vendor-request-filter-strip a {
  min-height: 42px;
}

.candidate-decision-center {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #fbfcfb;
}

.candidate-decision-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.candidate-decision-head div {
  display: grid;
  gap: 3px;
}

.candidate-decision-head span {
  color: #1f7a5a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.candidate-decision-head strong {
  color: #15233c;
  font-size: 15px;
}

.candidate-decision-head em {
  color: #5f6b7a;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.candidate-work-strip {
  display: grid;
  grid-template-columns: auto minmax(120px, 0.8fr) minmax(110px, 0.7fr) minmax(0, 1.5fr);
  gap: 8px;
  align-items: stretch;
}

.candidate-work-strip > span:not(.vms-status-pill) {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #e3ebe7;
  border-radius: 8px;
  background: #fff;
  color: #29415d;
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.candidate-work-strip .vms-status-pill {
  align-self: stretch;
  justify-content: center;
  min-height: 100%;
}

.candidate-work-strip strong {
  color: #6b7280;
  font-size: 10px;
  text-transform: uppercase;
}

.candidate-decision-log {
  border: 1px solid #e3ebe7;
  border-radius: 8px;
  background: #fff;
}

.candidate-decision-log summary {
  cursor: pointer;
  padding: 10px 12px;
  color: #15233c;
  font-size: 12px;
  font-weight: 900;
  list-style-position: inside;
}

.candidate-decision-log[open] summary {
  border-bottom: 1px solid #e3ebe7;
}

.candidate-decision-state {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.candidate-decision-state span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #e3ebe7;
  border-radius: 8px;
  background: #fff;
  color: #29415d;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.candidate-decision-state strong {
  color: #6b7280;
  font-size: 10px;
  text-transform: uppercase;
}

.candidate-decision-actions,
.packet-exception-details {
  border: 1px solid #dfe8e3;
  border-radius: 8px;
  background: #fff;
}

.candidate-decision-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.candidate-decision-modal {
  min-width: 0;
}

.candidate-decision-actions summary,
.packet-exception-details summary {
  cursor: pointer;
  color: #15233c;
  font-size: 13px;
  font-weight: 900;
  list-style-position: inside;
  padding: 11px 12px;
}

.candidate-decision-modal summary {
  display: grid;
  gap: 4px;
}

.candidate-decision-modal summary em {
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.35;
}

.candidate-decision-actions[open] summary,
.packet-exception-details[open] summary {
  border-bottom: 1px solid #e3ebe7;
}

.candidate-decision-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 220px);
  gap: 10px;
  padding: 12px;
}

.candidate-decision-form label {
  display: grid;
  gap: 6px;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
}

.candidate-decision-form label.wide,
.candidate-decision-form div {
  grid-column: 1 / -1;
}

.candidate-decision-form input,
.candidate-decision-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px 11px;
  background: #fff;
  color: #15233c;
  font: inherit;
}

.candidate-decision-form div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.candidate-decision-form .button {
  min-height: 38px;
}

.candidate-workspace-grid,
.candidate-compare-shell {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.candidate-workspace-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.candidate-workspace-panel,
.candidate-comparison-panel,
.request-cost-estimate {
  min-width: 0;
  padding: 13px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
}

.candidate-workspace-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.candidate-workspace-head span {
  color: #1f7a5a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.candidate-workspace-head strong {
  color: #183150;
  font-size: 13px;
}

.candidate-fit-table,
.candidate-comparison-table {
  display: grid;
  gap: 7px;
}

.candidate-fit-table div,
.candidate-comparison-table div {
  display: grid;
  grid-template-columns: minmax(120px, .7fr) repeat(var(--candidate-compare-cols, 2), minmax(120px, 1fr));
  gap: 8px;
  align-items: stretch;
}

.candidate-fit-table div {
  --candidate-compare-cols: 2;
}

.candidate-fit-table strong,
.candidate-fit-table span,
.candidate-fit-table em,
.candidate-comparison-table strong,
.candidate-comparison-table span {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
  color: #29415d;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.candidate-fit-table strong,
.candidate-comparison-table strong {
  color: #64748b;
  text-transform: uppercase;
}

.candidate-comparison-table div {
  grid-template-columns: minmax(120px, .7fr) repeat(auto-fit, minmax(120px, 1fr));
}

.candidate-comparison-header strong,
.candidate-comparison-header span {
  background: #eef5f2;
  color: #0f3f32;
}

.candidate-compare-form {
  margin: 0;
}

.request-cost-estimate {
  display: grid;
  grid-column: 1 / -1;
  gap: 5px;
  background: #f8fbfb;
}

.request-cost-estimate strong {
  color: #183150;
  font-size: 12px;
}

.request-cost-estimate span,
.request-cost-estimate em {
  color: #475569;
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}

.request-cost-estimate em:not(:empty) {
  color: #a33b17;
}

@media (max-width: 900px) {
  .candidate-decision-action-grid,
  .candidate-workspace-grid {
    grid-template-columns: 1fr;
  }

  .candidate-fit-table div,
  .candidate-comparison-table div {
    grid-template-columns: 1fr;
  }
}

.candidate-assignment-handoff {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #cfe2d8;
  border-radius: 8px;
  background: #f6fbf8;
}

.candidate-assignment-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.candidate-assignment-head div {
  display: grid;
  gap: 3px;
}

.candidate-assignment-head span {
  color: #1f7a5a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.candidate-assignment-head strong {
  color: #102a43;
  font-size: 15px;
}

.candidate-assignment-head em {
  color: #47606f;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.candidate-assignment-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.candidate-assignment-summary span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px;
  border: 1px solid #dcebe4;
  border-radius: 8px;
  background: #fff;
  color: #29415d;
  font-size: 12px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.candidate-assignment-summary strong {
  color: #64748b;
  font-size: 10px;
  text-transform: uppercase;
}

.candidate-assignment-note {
  margin: 0;
  color: #4b5f6d;
  font-size: 13px;
  font-weight: 750;
}

.candidate-assignment-details {
  border-top: 1px solid #dcebe4;
  padding-top: 10px;
}

.candidate-assignment-details summary {
  cursor: pointer;
  color: #0f2f2a;
  font-size: 13px;
  font-weight: 900;
}

.candidate-assignment-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.candidate-assignment-form label {
  display: grid;
  gap: 6px;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
}

.candidate-assignment-form label.wide,
.candidate-assignment-form div {
  grid-column: 1 / -1;
}

.candidate-assignment-form input,
.candidate-assignment-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px 11px;
  background: #fff;
  color: #15233c;
  font: inherit;
}

.candidate-score-rubric {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #fbfcfb;
}

.candidate-score-rubric summary {
  cursor: pointer;
  color: #15233c;
  font-size: 14px;
  font-weight: 900;
}

.candidate-score-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.candidate-score-grid article {
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid #e3ebe7;
  border-radius: 8px;
  background: #fff;
}

.candidate-score-grid span {
  color: #1f7a5a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.candidate-score-grid strong {
  color: #102a43;
  font-size: 13px;
}

.candidate-score-grid p {
  margin: 0;
  color: #5f6b7a;
  font-size: 12px;
  line-height: 1.45;
}

.request-release-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #d9e7e0;
  border-radius: 8px;
  background: #f9fcfb;
}

.request-release-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.request-release-head div {
  display: grid;
  gap: 3px;
}

.request-release-head span {
  color: #17614a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.request-release-head strong {
  color: #15233c;
  font-size: 15px;
}

.request-release-head em {
  color: #5f6b7a;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.request-release-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.request-release-meta span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #e1ebe6;
  border-radius: 8px;
  background: #fff;
  color: #29415d;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.request-release-meta strong {
  color: #6b7280;
  font-size: 10px;
  text-transform: uppercase;
}

.request-vendor-response-strip {
  display: grid;
  grid-template-columns: auto repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.request-vendor-response-strip > span:not(.vms-status-pill) {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #e1ebe6;
  border-radius: 8px;
  background: #fff;
  color: #29415d;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.request-vendor-response-strip strong {
  color: #64748b;
  font-size: 10px;
  text-transform: uppercase;
}

.request-release-note {
  margin: 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.55;
}

.request-release-form {
  display: grid;
  grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
  gap: 10px;
}

.request-release-form label {
  display: grid;
  gap: 6px;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
}

.request-release-form label.wide,
.request-release-actions {
  grid-column: 1 / -1;
}

.request-release-form input {
  width: 100%;
  min-width: 0;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px 11px;
  background: #fff;
  color: #15233c;
  font: inherit;
}

.request-release-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.request-release-actions .button {
  min-height: 38px;
}

.assignment-start-panel {
  background: #f7fbf9;
  border: 1px solid #d8eadf;
  border-radius: 8px;
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
}

.assignment-start-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.assignment-start-head h4 {
  color: #10231f;
  font-size: 1rem;
  margin: 8px 0 4px;
}

.assignment-start-head p,
.assignment-start-note {
  color: #435d55;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
}

.assignment-start-head > strong {
  background: #fff;
  border: 1px solid #dcebe4;
  border-radius: 8px;
  color: #0f5138;
  display: grid;
  flex: 0 0 120px;
  font-size: 1rem;
  gap: 3px;
  padding: 10px;
  text-align: right;
}

.assignment-start-head > strong span {
  color: #64746f;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.assignment-start-meta {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.assignment-start-meta span {
  background: #fff;
  border: 1px solid #e1eee7;
  border-radius: 8px;
  color: #526660;
  display: grid;
  font-size: 0.86rem;
  gap: 3px;
  min-width: 0;
  padding: 10px;
}

.assignment-start-meta span.is-done {
  border-color: #b9dfc7;
  color: #1f7a5a;
}

.assignment-start-meta strong {
  color: #64748b;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.assignment-start-form {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(220px, 1fr) max-content;
}

.assignment-start-form label {
  color: #31443f;
  display: grid;
  font-size: 0.82rem;
  font-weight: 800;
  gap: 6px;
}

.assignment-start-form input {
  background: #fff;
  border: 1px solid #cfded7;
  border-radius: 8px;
  color: #10231f;
  font: inherit;
  min-width: 0;
  padding: 10px 11px;
  width: 100%;
}

.assignment-start-form div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.assignment-start-form .button {
  min-height: 40px;
}

.assignment-closeout-panel {
  background: #f8fbf9;
  border: 1px solid #dce8e1;
  border-radius: 8px;
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
}

.assignment-closeout-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.assignment-closeout-head h4 {
  color: #10231f;
  font-size: 1rem;
  margin: 8px 0 4px;
}

.assignment-closeout-head p,
.assignment-closeout-note {
  color: #47605a;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
}

.assignment-closeout-state {
  background: #fff;
  border: 1px solid #e1ece6;
  border-radius: 8px;
  color: #5a6c67;
  display: grid;
  flex: 0 0 170px;
  gap: 4px;
  padding: 10px;
  text-align: right;
}

.assignment-closeout-state strong {
  color: #10231f;
  font-size: 0.95rem;
}

.assignment-closeout-meta {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.assignment-closeout-meta span {
  background: #fff;
  border: 1px solid #e7eee9;
  border-radius: 8px;
  color: #47605a;
  display: grid;
  font-size: 0.86rem;
  gap: 3px;
  min-width: 0;
  padding: 10px;
}

.assignment-closeout-meta strong {
  color: #10231f;
  font-size: 0.72rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.assignment-closeout-clearance {
  background: #fff;
  border: 1px solid #e1ece6;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 10px;
}

.assignment-closeout-clearance-head {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.assignment-closeout-clearance-head strong {
  color: #10231f;
  font-size: 0.92rem;
}

.assignment-closeout-clearance-head span {
  color: #5a6c67;
  font-size: 0.82rem;
  font-weight: 800;
}

.assignment-closeout-clearance-item {
  align-items: start;
  background: #f8fbf9;
  border: 1px solid #e7eee9;
  border-radius: 8px;
  color: inherit;
  display: grid;
  gap: 6px 10px;
  grid-template-columns: max-content minmax(0, 1fr);
  padding: 10px;
  text-decoration: none;
}

.assignment-closeout-clearance-item:hover {
  border-color: #b7cec4;
}

.assignment-closeout-clearance-item strong {
  color: #10231f;
  font-size: 0.9rem;
}

.assignment-closeout-clearance-item p {
  color: #47605a;
  font-size: 0.84rem;
  grid-column: 1 / -1;
  line-height: 1.45;
  margin: 0;
}

.assignment-closeout-form {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(160px, 1.1fr) minmax(140px, 1fr) minmax(132px, 0.8fr);
}

.assignment-closeout-form label {
  color: #31443f;
  display: grid;
  font-size: 0.82rem;
  font-weight: 800;
  gap: 6px;
}

.assignment-closeout-form .full-width {
  grid-column: 1 / -1;
}

.assignment-closeout-form input,
.assignment-closeout-form select,
.assignment-closeout-form textarea {
  background: #fff;
  border: 1px solid #cfded7;
  border-radius: 8px;
  color: #10231f;
  font: inherit;
  min-width: 0;
  padding: 10px 11px;
}

.assignment-closeout-form .button {
  min-height: 40px;
  width: fit-content;
}

.assignment-onboarding-panel {
  background: #f7fbff;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
}

.assignment-onboarding-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.assignment-onboarding-head h4 {
  color: #12233f;
  font-size: 1rem;
  margin: 8px 0 4px;
}

.assignment-onboarding-head p,
.assignment-onboarding-task p {
  color: #40556f;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
}

.assignment-onboarding-score {
  background: #fff;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  color: #52667e;
  display: grid;
  flex: 0 0 150px;
  gap: 3px;
  padding: 10px;
  text-align: right;
}

.assignment-onboarding-score strong {
  color: #10233d;
  font-size: 1rem;
}

.assignment-onboarding-meta {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.assignment-onboarding-meta span {
  background: #fff;
  border: 1px solid #e0ecff;
  border-radius: 8px;
  color: #40556f;
  display: grid;
  font-size: 0.86rem;
  gap: 3px;
  min-width: 0;
  padding: 10px;
}

.assignment-onboarding-meta strong {
  color: #64748b;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.assignment-onboarding-clearance {
  align-items: center;
  background: #fff;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 10px 12px;
}

.assignment-onboarding-clearance strong {
  color: #10233d;
  font-size: 0.92rem;
}

.assignment-onboarding-clearance span {
  color: #52667e;
  font-size: 0.82rem;
  font-weight: 800;
  text-align: right;
}

.assignment-onboarding-clearance.is-cleared {
  border-color: #b9dfc7;
}

.assignment-onboarding-clearance.needs-clearance {
  border-color: #f2d18a;
}

.assignment-onboarding-list {
  display: grid;
  gap: 10px;
}

.assignment-onboarding-list.compact {
  gap: 8px;
  margin-top: 10px;
}

.assignment-onboarding-task {
  background: #fff;
  border: 1px solid #e0ecff;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.assignment-onboarding-task.is-actionable {
  border-color: #bdd7ff;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.08);
}

.assignment-onboarding-list.compact .assignment-onboarding-task {
  background: #fbfdff;
  grid-template-columns: 1fr;
  padding: 10px;
}

.assignment-onboarding-task strong {
  color: #132640;
  display: block;
  font-size: 0.95rem;
  margin: 7px 0 3px;
}

.assignment-onboarding-form {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(180px, 1fr) max-content;
}

.assignment-onboarding-form label {
  color: #475569;
  display: grid;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 5px;
}

.assignment-onboarding-form input {
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  color: #132640;
  font: inherit;
  min-width: 0;
  padding: 9px 10px;
  width: 100%;
}

.assignment-onboarding-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.assignment-onboarding-actions .button {
  min-height: 38px;
}

.assignment-onboarding-details {
  background: #fff;
  border: 1px solid #e0ecff;
  border-radius: 8px;
  padding: 10px 12px;
}

.assignment-onboarding-details summary {
  color: #27466c;
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 900;
}

.assignment-issue-panel {
  background: #fffaf7;
  border: 1px solid #f0d8c8;
  border-radius: 8px;
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
}

.assignment-issue-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.assignment-issue-head h4 {
  color: #2d1f18;
  font-size: 1rem;
  margin: 8px 0 4px;
}

.assignment-issue-head p,
.assignment-issue-item p {
  color: #674d3f;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
}

.assignment-issue-head > strong {
  background: #fff;
  border: 1px solid #f0d8c8;
  border-radius: 8px;
  color: #2d1f18;
  flex: 0 0 96px;
  padding: 10px;
  text-align: center;
}

.assignment-issue-list {
  display: grid;
  gap: 10px;
}

.assignment-issue-item {
  background: #fff;
  border: 1px solid #f2dfd2;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.assignment-issue-item strong {
  color: #2d1f18;
  display: block;
  font-size: 0.96rem;
  margin: 7px 0 3px;
}

.assignment-issue-form,
.assignment-issue-create-form {
  display: grid;
  gap: 9px;
}

.assignment-issue-form {
  grid-template-columns: minmax(180px, 1fr) minmax(140px, 0.75fr);
}

.assignment-issue-create-form {
  align-items: end;
  grid-template-columns: minmax(170px, 1.1fr) minmax(130px, 0.8fr) minmax(120px, 0.65fr) minmax(130px, 0.75fr) max-content;
}

.assignment-issue-create-form .wide {
  grid-column: 1 / -2;
}

.assignment-issue-form label,
.assignment-issue-create-form label {
  color: #573d30;
  display: grid;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 5px;
}

.assignment-issue-form input,
.assignment-issue-form select,
.assignment-issue-form textarea,
.assignment-issue-create-form input,
.assignment-issue-create-form select,
.assignment-issue-create-form textarea {
  background: #fff;
  border: 1px solid #dec7b8;
  border-radius: 8px;
  color: #2d1f18;
  font: inherit;
  min-width: 0;
  padding: 9px 10px;
  width: 100%;
}

.assignment-issue-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  grid-column: 1 / -1;
}

.assignment-disruption-panel {
  background: #f8fbfd;
  border: 1px solid #d8e5ee;
  border-radius: 8px;
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
}

.assignment-disruption-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.assignment-disruption-head h4 {
  color: #122437;
  font-size: 1rem;
  margin: 8px 0 4px;
}

.assignment-disruption-head p,
.assignment-disruption-item p {
  color: #455a6b;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
}

.assignment-disruption-head > strong {
  background: #fff;
  border: 1px solid #d8e5ee;
  border-radius: 8px;
  color: #122437;
  flex: 0 0 96px;
  padding: 10px;
  text-align: center;
}

.assignment-disruption-list {
  display: grid;
  gap: 10px;
}

.assignment-disruption-item {
  background: #fff;
  border: 1px solid #dde9f1;
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.assignment-disruption-item strong {
  color: #122437;
  display: block;
  font-size: 0.96rem;
  margin: 7px 0 3px;
}

.assignment-recovery-strip {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  margin-top: 10px;
}

.assignment-recovery-strip span {
  background: #f4f8fb;
  border: 1px solid #d8e5ee;
  border-radius: 8px;
  color: #375166;
  font-size: 0.82rem;
  line-height: 1.4;
  padding: 9px 10px;
}

.assignment-recovery-strip a {
  align-items: center;
  align-self: stretch;
  background: #183150;
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 900;
  justify-content: center;
  padding: 9px 10px;
  text-decoration: none;
}

.assignment-recovery-strip strong {
  color: #183150;
  font-size: 0.72rem;
  letter-spacing: 0;
  margin: 0 0 2px;
  text-transform: uppercase;
}

.assignment-disruption-form,
.assignment-disruption-create-form {
  display: grid;
  gap: 9px;
}

.assignment-disruption-form {
  grid-template-columns: minmax(180px, 1fr) minmax(140px, 0.75fr);
}

.assignment-disruption-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  grid-column: 1 / -1;
}

.assignment-disruption-create {
  border-top: 1px solid #d8e5ee;
  padding-top: 10px;
}

.assignment-disruption-create summary {
  color: #183150;
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 900;
}

.assignment-disruption-create-form {
  align-items: end;
  margin-top: 10px;
  grid-template-columns: minmax(150px, 0.9fr) minmax(130px, 0.75fr) minmax(130px, 0.75fr) minmax(140px, 0.8fr) max-content;
}

.assignment-disruption-create-form .wide {
  grid-column: 1 / -2;
}

.assignment-disruption-form label,
.assignment-disruption-create-form label {
  color: #2e4658;
  display: grid;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 5px;
}

.assignment-disruption-create-form .checkline {
  align-items: center;
  display: flex;
  gap: 7px;
  min-height: 42px;
}

.assignment-disruption-form input,
.assignment-disruption-form select,
.assignment-disruption-form textarea,
.assignment-disruption-create-form input,
.assignment-disruption-create-form select,
.assignment-disruption-create-form textarea {
  background: #fff;
  border: 1px solid #c9d9e3;
  border-radius: 8px;
  color: #122437;
  font: inherit;
  min-width: 0;
  padding: 9px 10px;
  width: 100%;
}

.finance-review-panel {
  background: #fbfcfb;
  border: 1px solid rgba(33, 71, 82, 0.16);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding: 16px;
}

.finance-review-head {
  align-items: flex-start;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.finance-review-head h4 {
  color: #102a2a;
  font-size: 1rem;
  margin: 8px 0 4px;
}

.finance-review-head p,
.finance-review-note {
  color: #516360;
  line-height: 1.55;
  margin: 0;
}

.finance-review-state {
  background: #eef5f2;
  border-radius: 8px;
  min-width: 132px;
  padding: 10px 12px;
  text-align: right;
}

.finance-review-state .vms-status-pill {
  display: inline-flex;
  margin-bottom: 8px;
}

.finance-review-state strong,
.finance-review-state span {
  display: block;
}

.finance-review-state strong {
  color: #102a2a;
  font-size: 0.9rem;
}

.finance-review-state span {
  color: #60706d;
  font-size: 0.78rem;
  margin-top: 4px;
}

.finance-review-meta {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finance-review-meta span {
  background: #fff;
  border: 1px solid rgba(33, 71, 82, 0.12);
  border-radius: 8px;
  color: #50635f;
  display: grid;
  font-size: 0.82rem;
  gap: 3px;
  padding: 10px 12px;
}

.finance-review-meta strong {
  color: #1a3432;
  font-size: 0.72rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.finance-review-form {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finance-review-form label {
  color: #29413d;
  display: grid;
  font-size: 0.82rem;
  font-weight: 800;
  gap: 6px;
}

.finance-review-form .full-width,
.finance-review-actions {
  grid-column: 1 / -1;
}

.finance-review-form input,
.finance-review-form textarea {
  background: #fff;
  border: 1px solid #ccd8d4;
  border-radius: 8px;
  color: #142522;
  font: inherit;
  padding: 10px 11px;
  width: 100%;
}

.finance-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.finance-review-actions .button,
.finance-review-form > .button {
  min-width: 150px;
}

.settlement-ack-form {
  background: #fff;
  border: 1px solid rgba(33, 71, 82, 0.12);
  border-radius: 8px;
  padding: 12px;
}

.timesheet-correction-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 12px;
  border: 1px solid #f0d3a2;
  border-radius: 8px;
  background: #fffaf0;
}

.timesheet-correction-form .full-width {
  grid-column: 1 / -1;
}

.timesheet-correction-form .finance-review-actions {
  justify-content: flex-end;
}

.invoice-builder-disclosure {
  background: #f7fbf9;
  border: 1px solid rgba(38, 105, 89, 0.2);
  border-radius: 8px;
  margin: 12px 0;
  overflow: hidden;
}

.invoice-builder-disclosure summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  list-style: none;
  padding: 12px 14px;
}

.invoice-builder-disclosure summary::-webkit-details-marker {
  display: none;
}

.invoice-builder-disclosure summary span {
  color: #132c29;
  font-weight: 900;
}

.invoice-builder-disclosure summary em {
  color: #56716b;
  font-size: 0.82rem;
  font-style: normal;
  text-align: right;
}

.invoice-builder-form {
  border-top: 1px solid rgba(38, 105, 89, 0.14);
  padding: 12px 14px 14px;
}

.vendor-directory-controls {
  background: #f8fbfa;
  border: 1px solid rgba(38, 105, 89, 0.14);
  border-radius: 14px;
  margin: 16px 0;
  padding: 14px;
}

.vendor-directory-filter-form {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(240px, 1fr) minmax(180px, 240px) auto;
}

.vendor-directory-filter-form label {
  color: #46615b;
  display: grid;
  font-size: 0.82rem;
  font-weight: 900;
  gap: 6px;
}

.vendor-directory-filter-form input,
.vendor-directory-filter-form select {
  border: 1px solid #cbded8;
  border-radius: 10px;
  color: #173b34;
  font: inherit;
  min-height: 42px;
  padding: 9px 11px;
}

.directory-control-note {
  color: #5a716b;
  font-size: 0.88rem;
  margin: 10px 0 0;
}

.invoice-ready-list {
  display: grid;
  gap: 12px;
  padding: 0 14px 14px;
}

.invoice-ready-card {
  align-items: start;
  background: #fff;
  border: 1px solid rgba(33, 71, 82, 0.12);
  border-radius: 12px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(220px, 0.8fr) minmax(320px, 1.2fr);
  padding: 12px;
}

.invoice-ready-card strong {
  color: #102f2a;
  display: block;
  font-size: 1rem;
  margin-bottom: 4px;
}

.invoice-ready-card p,
.invoice-ready-card span {
  color: #5a716b;
  font-size: 0.86rem;
  margin: 2px 0;
}

.invoice-ready-inline-form {
  border: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  margin: 0;
  padding: 0;
}

.invoice-ready-inline-form .full-width {
  grid-column: 1 / 3;
}

@media (max-width: 760px) {
  .vendor-directory-filter-form,
  .invoice-ready-card,
  .invoice-ready-inline-form {
    grid-template-columns: 1fr;
  }

  .vendor-provider-drawer > summary {
    align-items: stretch;
    flex-direction: column;
  }

  .vendor-provider-drawer > summary b {
    text-align: center;
    white-space: normal;
  }

  .provider-crm-record {
    grid-template-columns: 1fr;
  }

  .provider-crm-main,
  .provider-crm-cell {
    border-bottom: 1px solid rgba(214, 221, 229, 0.72);
    border-right: 0;
    padding: 0 0 10px;
  }

  .provider-crm-primary {
    width: 100%;
  }

  .invoice-ready-inline-form .full-width {
    grid-column: auto;
  }
}

.invoice-review-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.invoice-card-main {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.invoice-card-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.invoice-card-header h3 {
  margin: 8px 0 4px;
  color: #183150;
  font-size: 18px;
}

.invoice-card-header p {
  color: #5f6b7a;
  font-size: 14px;
}

.invoice-amount-block {
  min-width: 150px;
  padding: 12px 14px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #f8fafc;
  text-align: right;
}

.invoice-amount-block span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.invoice-amount-block strong {
  display: block;
  margin-top: 4px;
  color: #0f2f2a;
  font-size: 20px;
}

.invoice-settlement-strip {
  display: grid;
  grid-template-columns: 0.8fr 1.6fr 0.8fr;
  gap: 10px;
}

.invoice-settlement-strip span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #cfe0da;
  border-radius: 8px;
  background: #f6fbf8;
  color: #183150;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.invoice-settlement-strip strong {
  color: #64748b;
  font-size: 11px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.provider-payout-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #f8fbfa;
}

.provider-payout-strip span {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: #183150;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.provider-payout-strip strong {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.provider-payout-form {
  margin-top: 10px;
}

.provider-payout-form .button {
  align-self: end;
}

.invoice-detail-disclosure {
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.invoice-detail-disclosure summary {
  cursor: pointer;
  padding: 11px 12px;
  color: #183150;
  font-size: 13px;
  font-weight: 900;
  list-style-position: inside;
}

.invoice-detail-disclosure[open] summary {
  border-bottom: 1px solid #d9e3de;
  background: #f8fafc;
}

.invoice-detail-disclosure .invoice-detail-grid {
  padding: 10px;
}

.invoice-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
}

.invoice-detail-grid span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #fff;
  color: #183150;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.invoice-detail-grid strong {
  color: #64748b;
  font-size: 11px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.invoice-card-actions {
  min-width: 148px;
  justify-content: flex-start;
}

.report-library-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.report-card-main {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.report-card-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.report-card-head h3 {
  margin: 8px 0 4px;
  color: #183150;
  font-size: 18px;
}

.report-card-head p {
  color: #5f6b7a;
  font-size: 14px;
}

.report-owner-block {
  min-width: 140px;
  padding: 12px 14px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #f8fafc;
  text-align: right;
}

.report-owner-block span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.report-owner-block strong {
  display: block;
  margin-top: 4px;
  color: #0f2f2a;
  font-size: 14px;
}

.report-metric-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.report-metric-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid #d9e3de;
  border-radius: 999px;
  background: #fff;
  color: #183150;
  font-size: 12px;
  font-weight: 900;
}

.report-setup-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, 1fr));
  gap: 10px;
}

.report-setup-grid span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #fff;
  color: #183150;
  font-size: 13px;
  font-weight: 800;
}

.report-setup-grid strong {
  color: #64748b;
  font-size: 11px;
  text-transform: uppercase;
}

.report-card-actions {
  min-width: 150px;
}

.config-action-note {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #d9e3de;
  border-radius: 8px;
  background: #f8fafc;
  color: #183150;
  font-size: 14px;
  line-height: 1.45;
}

.config-action-note strong {
  color: #0f2f2a;
}

.vms-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.vms-detail-grid article {
  padding: 14px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fafc;
}

.vms-detail-grid span {
  display: block;
  color: #6b7280;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.vms-detail-grid strong {
  display: block;
  margin-top: 6px;
  color: #183150;
  font-size: 15px;
  line-height: 1.35;
}

.vms-panel {
  padding: 22px;
}

.vms-panel-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.vms-panel h2 {
  margin: 0;
  color: #1f2937;
  font-size: 24px;
}

.vms-panel-head span,
.vms-panel-head a {
  color: #6b7280;
  font-weight: 700;
}

.vms-task-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid #d6dde5;
}

.vms-task-tabs a {
  padding: 14px;
  color: #6b7280;
  text-align: center;
  font-weight: 800;
}

.vms-task-tabs a.active {
  border-bottom: 3px solid #2e6fa9;
  color: #2e6fa9;
}

.vms-empty {
  display: grid;
  place-items: center;
  min-height: 260px;
  color: #6b7280;
  text-align: center;
}

.vms-empty::before {
  content: "✓";
  display: grid;
  width: 46px;
  height: 46px;
  margin-bottom: 14px;
  place-items: center;
  border-radius: 50%;
  background: #78a942;
  color: #fff;
  font-size: 26px;
  font-weight: 900;
}

.vms-empty strong {
  color: #4b5563;
  font-size: 18px;
}

.vms-empty.small {
  min-height: 160px;
}

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

.vms-grid article {
  padding: 20px;
}

.vms-grid h3 {
  color: #183150;
}

.vms-activity-search {
  display: block;
  width: 100%;
  padding: 14px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  color: #6b7280;
  background: #f9fafb;
  font-weight: 700;
}

.start-card strong {
  display: block;
  margin-bottom: 10px;
  font-size: 22px;
}

.site-footer {
  padding: 42px 0;
  background: #0b201d;
  color: #fff;
}

.footer-inner {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 28px;
}

.footer-inner > * {
  min-width: 0;
}

.footer-inner p {
  max-width: 440px;
  margin: 14px 0 0;
  color: rgba(255, 255, 255, .7);
}

.footer-links {
  max-width: 650px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 18px;
}

.footer-links a {
  color: rgba(255, 255, 255, .75);
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.portal-hero {
  padding: 150px 0 70px;
  background: var(--deep);
  color: #fff;
}

.portal-hero .eyebrow {
  color: #9ee6c6;
}

.portal-hero h1 {
  font-size: clamp(42px, 6vw, 76px);
}

.portal-hero .lead {
  max-width: 820px;
  color: rgba(255, 255, 255, .78);
}

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

.portal-card {
  padding: 26px;
}

.portal-card h2 {
  font-size: 24px;
}

.portal-card ul {
  margin: 20px 0 0;
  padding-left: 20px;
  color: var(--muted);
}

.portal-card li + li {
  margin-top: 8px;
}

.legal-wrap {
  width: min(820px, calc(100% - 40px));
  margin: 0 auto;
  padding: 145px 0 80px;
}

.legal-wrap h1 {
  color: var(--ink);
  font-size: clamp(40px, 5vw, 64px);
}

.legal-wrap h2 {
  margin-top: 34px;
  font-size: 24px;
}

.legal-wrap p {
  color: var(--muted);
}

.legal-wrap a {
  color: var(--blue);
  font-weight: 800;
}

.detail-hero {
  padding: 150px 0 76px;
  background: linear-gradient(135deg, #eef4f1, #fff);
}

.detail-hero h1 {
  max-width: 980px;
  color: var(--ink);
  font-size: clamp(42px, 6vw, 76px);
}

.detail-hero .lead {
  max-width: 820px;
}

.detail-hero .button {
  margin-top: 12px;
}

.solution-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.solution-block {
  min-height: 250px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.solution-block span {
  display: inline-block;
  margin-bottom: 40px;
  color: var(--green);
  font-weight: 800;
}

.solution-block h2 {
  font-size: 26px;
}

.solution-block p {
  color: var(--muted);
}

.intake-layout {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  gap: 24px;
  align-items: start;
}

.intake-side,
.intake-form {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.intake-side h2 {
  font-size: 28px;
}

.intake-side p {
  color: var(--muted);
}

.handoff-summary {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(56, 163, 165, .28);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(56, 163, 165, .12), rgba(246, 248, 244, .86));
}

.handoff-summary h3 {
  margin: 0 0 10px;
  font-size: 16px;
}

.handoff-summary ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}

.mini-steps {
  display: grid;
  gap: 10px;
  margin-top: 24px;
}

.mini-steps span {
  padding: 12px 14px;
  border-radius: var(--radius);
  background: var(--soft);
  font-weight: 800;
}

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

.form-grid label {
  display: grid;
  gap: 8px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
}

.field-help {
  display: block;
  margin-top: -2px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.form-grid input,
.form-grid select,
.form-grid textarea {
  width: 100%;
  min-height: 46px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink);
  background: #fff;
}

.form-grid textarea {
  resize: vertical;
}

.form-grid .wide {
  grid-column: 1 / -1;
}

.intake-form .button {
  margin-top: 18px;
}

.mobile-form-submit {
  display: none;
}

.form-privacy-note {
  margin: 16px 0 0;
  padding: 12px 14px;
  border-left: 4px solid var(--green);
  border-radius: var(--radius);
  background: var(--soft);
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.hp-field {
  position: absolute;
  left: -10000px;
}

.notice {
  display: grid;
  gap: 6px;
  margin-bottom: 18px;
  padding: 14px;
  border-radius: var(--radius);
  font-weight: 800;
}

.notice.success {
  background: #e4f2ec;
  color: #15543f;
}

.notice.error {
  background: #f6e7e3;
  color: #7d3529;
}

@media (max-width: 920px) {
  .nav-toggle {
    display: inline-block;
  }

  .site-nav {
    position: absolute;
    top: calc(100% + 10px);
    left: 20px;
    right: 20px;
    display: none;
    grid-template-columns: 1fr;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    color: var(--ink);
    box-shadow: var(--shadow);
  }

  .site-nav.is-open,
  .site-nav.always-visible {
    display: grid;
  }

  .site-nav.always-visible {
    position: static;
    display: flex;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .split,
  .two-column,
  .role-grid,
  .feature-strip,
  .timeline,
  .start-grid,
  .portal-grid,
  .solution-layout,
  .intake-layout,
  .admin-item,
  .opportunity-card,
  .vendor-request-head,
  .vendor-request-response-strip,
  .vendor-request-response-form,
  .vendor-response-form,
  .provider-card-body,
  .provider-detail-grid {
    grid-template-columns: 1fr;
  }

  .vendor-request-rate {
    text-align: left;
  }

  .vendor-response-form label.wide,
  .vendor-request-response-form label.wide,
  .vendor-request-response-actions {
    grid-column: auto;
  }

  .vendor-request-response-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .vendor-request-response-actions .button {
    justify-content: center;
    min-width: 0;
    width: 100%;
  }

  .vendor-submission-actions {
    justify-content: stretch;
  }

.vendor-submission-actions .button {
    width: 100%;
  }

  .hero-stats,
  .dash-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .timeline {
    border-top: 0;
  }

  .timeline article {
    padding: 22px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
  }
}

@media (max-width: 620px) {
  .site-header {
    padding: 14px 18px;
  }

  .site-header .brand-logo {
    max-width: 168px;
    height: 44px;
  }

  .vendor-vms {
    padding-top: 88px;
  }

  .vms-topbar {
    align-items: start;
    gap: 12px;
    padding: 16px;
  }

  .vms-brand {
    min-height: 0;
  }

  .vms-logo {
    width: 156px;
    height: 48px;
  }

  .vms-topbar .button {
    justify-self: start;
  }

  .hero {
    min-height: 94vh;
  }

  .hero-content {
    width: min(100% - 32px, 1180px);
    padding-bottom: 32px;
  }

  .hero-actions,
  .hero-stats,
  .dash-metrics,
  .home-role-selector-grid {
    grid-template-columns: 1fr;
  }

  .home-role-selector {
    padding: 14px;
  }

  .home-role-selector-grid a {
    min-height: 74px;
  }

  .start-note {
    align-items: flex-start;
    flex-direction: column;
  }

  .start-note a {
    width: 100%;
  }

  .button {
    width: 100%;
  }

  .pipeline-row {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .pipeline-row button {
    width: 100%;
  }

  .dash-table {
    overflow-x: auto;
  }

  .dash-table div {
    min-width: 520px;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .intake-form {
    padding-bottom: 96px;
  }

  .mobile-form-submit {
    position: sticky;
    bottom: 0;
    z-index: 5;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin: 20px -28px -28px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--line);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 -12px 28px rgba(18, 33, 29, .12);
    backdrop-filter: blur(12px);
  }

  .mobile-form-submit span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
  }

  .mobile-form-submit .button {
    width: 100%;
    min-height: 48px;
    margin-top: 0;
    justify-content: center;
  }

  .vendor-register-form {
    grid-template-columns: 1fr;
  }

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

  .vms-topbar,
  .vms-tabs,
  .vms-layout,
  .vms-metrics,
  .vms-grid,
  .vms-action-grid,
  .vms-checklist,
  .access-role-grid,
  .vms-record-card,
  .vms-record-hero,
  .candidate-meta-grid,
  .invoice-review-card,
  .invoice-settlement-strip,
  .provider-payout-strip,
  .invoice-detail-grid,
  .pay-cycle-hero,
  .pay-cycle-metrics,
  .pay-cycle-next,
  .pay-cycle-step,
  .pay-cycle-detail-grid,
  .report-library-card,
  .report-setup-grid,
  .vms-detail-grid,
  .provider-card-body,
  .provider-detail-grid {
    grid-template-columns: 1fr;
  }

.provider-command-card {
    padding: 14px;
  }

  .invoice-card-header {
    display: grid;
  }

  .invoice-amount-block {
    text-align: left;
  }

  .report-card-head {
    display: grid;
  }

  .report-owner-block {
    text-align: left;
  }

  .vms-tabs > div {
    display: grid;
    grid-template-columns: 1fr;
  }

  .vms-org {
    text-align: left;
  }

  .portal-sidebar {
    position: static;
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .portal-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .billing-panel {
    grid-template-columns: 1fr;
  }

  .registration-actions {
    display: grid;
  }

  .footer-inner {
    display: grid;
  }

  .footer-links {
    max-width: none;
    justify-content: flex-start;
  }
}

.compact-form {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbfa;
}

.compact-form .form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.compact-form textarea,
.compact-form select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 11px 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.compact-form textarea {
  resize: vertical;
}

.compact-form .full-width {
  grid-column: 1 / -1;
}

.registration-checks {
  display: grid;
  grid-template-columns: 1fr;
  margin: 12px 0 18px;
}

.registration-checks label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.compact-provider-form {
  margin: 18px 0;
  padding: 18px;
  background: #fff;
}

.vendor-invite-list {
  margin: 12px 0 20px;
}

.provider-action-tools {
  display: grid;
  gap: 14px;
  margin: 16px 0;
}

.provider-action-wizard {
  margin-top: 4px;
}

.provider-priority-form {
  border-color: #bfd6ca;
  background: #f8fbfa;
}

.provider-field-group {
  display: grid;
  gap: 8px;
}

.provider-field-group > strong {
  color: #334155;
  font-size: 13px;
}

.provider-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.provider-checkbox-grid label {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
}

.compact-action-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.compact-action-card p {
  margin: 4px 0 0;
}

.provider-wizard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 16px;
  align-items: stretch;
  margin-bottom: 16px;
  padding: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fbfa;
}

.provider-wizard-hero h3 {
  margin: 4px 0 8px;
  color: #183150;
  font-size: 24px;
}

.provider-progress-box {
  display: grid;
  gap: 7px;
  align-content: center;
  padding: 14px;
  border: 1px solid #bfd6ca;
  border-radius: 8px;
  background: #fff;
}

.provider-progress-box span,
.provider-progress-box em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

.provider-progress-box strong {
  color: #183150;
  font-size: 30px;
}

.provider-progress {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.provider-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #1f7a5a;
}

.provider-wizard-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 16px;
}

.provider-wizard-steps span,
.provider-wizard-steps a {
  padding: 10px 12px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.provider-wizard-steps .is-current {
  border-color: #1f7a5a;
  background: #eef8f3;
  color: #145d43;
}

.provider-wizard-steps .is-done {
  background: #183150;
  color: #fff;
}

.provider-wizard-step-panel {
  position: relative;
}

.provider-wizard-step-panel.is-current {
  border-color: #1f7a5a;
  box-shadow: 0 0 0 3px rgba(31, 122, 90, .11);
}

.provider-server-draft-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-top: 4px;
}

.provider-server-draft-actions .draft-save-status {
  margin-right: auto;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.provider-server-draft-actions .draft-save-status[data-draft-tone="success"] {
  color: #166534;
}

.provider-server-draft-actions .draft-save-status[data-draft-tone="warning"] {
  color: #8a5d10;
}

.provider-server-draft-actions .draft-save-status[data-draft-tone="error"] {
  color: #9f1239;
}

.form-alert.success {
  border-color: #a7d9be;
  background: #eefaf3;
  color: #165c35;
}

.vendor-dashboard-center {
  overflow: hidden;
}

.vendor-dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: 20px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fbfa;
}

.vendor-dashboard-hero h2 {
  margin: 4px 0 8px;
  color: #183150;
  font-size: 26px;
}

.vendor-dashboard-hero p {
  max-width: 760px;
  margin: 0 0 14px;
  color: #475569;
}

.vendor-readiness-score {
  display: grid;
  gap: 7px;
  align-content: center;
  padding: 18px;
  border: 1px solid #bfd6ca;
  border-radius: 8px;
  background: #fff;
}

.vendor-readiness-score span,
.vendor-readiness-summary span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.vendor-readiness-score strong {
  color: #183150;
  font-size: 44px;
  line-height: 1;
}

.vendor-readiness-score p,
.vendor-readiness-summary p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
}

.vendor-readiness-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.vendor-readiness-summary article {
  display: grid;
  gap: 5px;
  min-height: 128px;
  padding: 15px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.vendor-readiness-summary strong {
  color: #183150;
  font-size: 30px;
  line-height: 1.05;
}

.vendor-readiness-table,
.vendor-alert-list {
  display: grid;
  gap: 10px;
}

.vendor-readiness-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.35fr) minmax(110px, .6fr) minmax(130px, .75fr) minmax(140px, .7fr) auto;
  gap: 10px;
  align-items: center;
  padding: 13px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.vendor-readiness-head {
  border: 0;
  background: transparent;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.vendor-readiness-row strong {
  display: block;
  color: #183150;
}

.vendor-readiness-row small {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-weight: 700;
}

.vendor-readiness-row b {
  display: block;
  margin-bottom: 5px;
  color: #183150;
}

.vendor-readiness-row i {
  display: block;
  width: 100%;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}

.vendor-readiness-row i em {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #1f7a5a;
}

.vendor-alert-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.vendor-alert-card h3 {
  margin: 0 0 5px;
  color: #183150;
}

.vendor-alert-card p {
  margin: 0;
  color: #475569;
}

.vendor-secondary-disclosure {
  margin-top: 12px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fbfa;
}

.vendor-secondary-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 50px;
  padding: 12px 14px;
  color: #183150;
  cursor: pointer;
  list-style: none;
}

.vendor-secondary-disclosure > summary::-webkit-details-marker {
  display: none;
}

.vendor-secondary-disclosure > summary span {
  color: #1f7a5a;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.vendor-secondary-disclosure > summary strong {
  font-size: 13px;
}

.vendor-secondary-disclosure p {
  margin: 0;
  padding: 0 14px 12px;
  color: #475569;
}

.vendor-secondary-disclosure .vendor-submission-actions {
  padding: 0 14px 14px;
}

.hospital-action-workspace {
  overflow: hidden;
}

.hospital-action-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 230px;
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: 20px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fbfa;
}

.hospital-action-hero h2 {
  margin: 4px 0 8px;
  color: #183150;
  font-size: 26px;
}

.hospital-action-hero p {
  max-width: 780px;
  margin: 0 0 14px;
  color: #475569;
}

.hospital-action-score {
  display: grid;
  gap: 7px;
  align-content: center;
  padding: 18px;
  border: 1px solid #bfd6ca;
  border-radius: 8px;
  background: #fff;
}

.hospital-action-score span,
.hospital-action-summary span {
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.hospital-action-score strong {
  color: #183150;
  font-size: 44px;
  line-height: 1;
}

.hospital-action-score p,
.hospital-action-summary p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
}

.hospital-action-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.hospital-action-summary article,
.hospital-visibility-grid article {
  display: grid;
  gap: 6px;
  padding: 15px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.hospital-action-summary article {
  min-height: 132px;
}

.hospital-action-summary strong {
  color: #183150;
  font-size: 30px;
  line-height: 1.05;
}

.hospital-queue-list {
  display: grid;
  gap: 12px;
}

.hospital-action-card {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(160px, .9fr) auto;
  gap: 14px;
  align-items: center;
  padding: 15px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
}

.hospital-action-card h3 {
  margin: 5px 0;
  color: #183150;
}

.hospital-action-card p {
  margin: 0;
  color: #475569;
}

.hospital-card-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.hospital-card-meta span {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
}

.hospital-card-meta strong {
  color: #64748b;
  font-size: 11px;
  text-transform: uppercase;
}

.hospital-visibility-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.hospital-visibility-grid strong {
  color: #183150;
  font-size: 18px;
}

.hospital-visibility-grid p {
  margin: 0;
  color: #475569;
}

@media (max-width: 980px) {
  .compact-form .form-grid {
    grid-template-columns: 1fr;
  }

  .provider-wizard-hero,
  .provider-wizard-steps,
  .vendor-dashboard-hero,
  .vendor-readiness-summary,
  .hospital-action-hero,
  .hospital-action-summary,
  .hospital-visibility-grid,
  .provider-next-action,
  .provider-action-queues,
  .provider-dashboard-sections,
  .provider-workflow-group-grid,
  .provider-readiness-breakdown,
  .document-vault-hero,
  .resume-review-hero,
  .resume-section-grid,
  .resume-item-grid,
  .resume-review-split,
  .resume-review-row,
  .resume-item-row,
  .timesheet-hero,
  .timesheet-summary-grid,
  .pay-cycle-hero,
  .pay-cycle-metrics,
  .pay-cycle-next,
  .pay-cycle-step,
  .pay-cycle-detail-grid,
  .timesheet-selector,
  .timesheet-smart-prefill,
  .timesheet-layout,
  .timesheet-entry-grid,
  .expense-hero,
  .expense-summary-bar,
  .expense-step-strip,
  .expense-type-grid,
  .expense-form-shell,
  .expense-detail-grid,
  .expense-entry-grid,
  .document-upload-panel,
  .document-card-grid,
  .resume-conflict-compare {
    grid-template-columns: 1fr;
  }

  .document-lifecycle-rows li {
    grid-template-columns: 10px minmax(0, 1fr);
  }

  .document-lifecycle-rows li span {
    grid-column: 2;
  }

  .timesheet-shift-card {
    grid-template-columns: 1fr;
  }

  .timesheet-shift-card .button,
  .timesheet-shift-actions,
  .timesheet-shift-state {
    width: 100%;
    justify-content: center;
    justify-self: stretch;
    text-align: center;
  }

  .timesheet-smart-prefill dl {
    grid-template-columns: 1fr;
  }

  .vendor-readiness-row,
  .vendor-alert-card,
  .hospital-action-card,
  .hospital-card-meta {
    grid-template-columns: 1fr;
  }

  .provider-checkbox-grid,
  .expense-core-grid,
  .action-center-summary,
  .document-bucket-grid,
  .document-vault-card dl,
  .timesheet-entry-card dl,
  .expense-entry-card dl,
  .expense-review-meta,
  .expense-review-form,
  .timesheet-correction-form,
  .document-replace-form .form-grid {
    grid-template-columns: 1fr;
  }

  .expense-review-head,
  .expense-react-note,
  .expense-submit-row {
    display: grid;
  }

  .expense-submit-row .button {
    width: 100%;
  }

  .expense-review-state {
    text-align: left;
  }

  .next-action-icon {
    width: 48px;
    height: 48px;
    font-size: 24px;
  }

  .provider-queue-item {
    grid-template-columns: 1fr;
  }

  .provider-queue-item .button {
    width: 100%;
    justify-content: center;
  }

  .document-card-actions,
  .document-report-form {
    display: grid;
    grid-template-columns: 1fr;
  }

.document-card-actions .button,
.resume-card-actions .button,
.timesheet-selector .button,
.document-report-form .button,
.document-replace-form .button {
    width: 100%;
  }

  .resume-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}

.document-version-history {
  display: grid;
  gap: 6px;
  margin: 12px 0;
  padding: 10px 12px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  background: #f8fafc;
  color: #475569;
  font-size: 0.86rem;
}

.document-version-history strong {
  color: #0f172a;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0;
}

.document-version-history span {
  overflow-wrap: anywhere;
}

.staff-document-history {
  display: grid;
  gap: 6px;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #f8fafc;
  color: #475569;
  font-size: 0.88rem;
}

.staff-document-history strong {
  color: #0f172a;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0;
}

.staff-document-history span {
  overflow-wrap: anywhere;
}

.staff-document-history a {
  color: #0f766e;
  font-weight: 700;
}

.assignment-readiness-alert {
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid #facc15;
  border-radius: 8px;
  background: #fefce8;
  color: #713f12;
  font-size: 0.9rem;
}

.assignment-readiness-alert strong {
  color: #422006;
}

.assignment-readiness-alert.high,
.assignment-readiness-alert.critical {
  border-color: #f97316;
  background: #fff7ed;
  color: #7c2d12;
}

.assignment-readiness-alert.critical {
  border-color: #ef4444;
  background: #fef2f2;
  color: #7f1d1d;
}

.assignment-escalation-panel {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(15, 47, 42, 0.14);
  border-radius: 8px;
  background: #f8fbfa;
}

.assignment-escalation-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.assignment-escalation-summary span {
  display: grid;
  gap: 2px;
  color: #4b615b;
  font-size: 0.84rem;
}

.assignment-escalation-summary strong {
  color: #0f2f2a;
  font-size: 0.72rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.assignment-sla-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 2px 0 10px;
}

.assignment-sla-badges span {
  display: grid;
  gap: 2px;
  min-width: 116px;
  padding: 8px 10px;
  border: 1px solid #d5e2df;
  border-radius: 8px;
  background: #fff;
  color: #4b615b;
  font-size: 0.78rem;
  font-weight: 700;
}

.assignment-sla-badges strong {
  color: #0f2f2a;
  font-size: 0.68rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.assignment-sla-badges span.ok {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.assignment-sla-badges span.due {
  border-color: #fde68a;
  background: #fffbeb;
  color: #92400e;
}

.assignment-sla-badges span.overdue {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.assignment-sla-badges span.resolved {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
}

.assignment-escalation-form {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr);
  gap: 10px;
  align-items: end;
  margin-top: 10px;
}

.assignment-escalation-form label {
  display: grid;
  gap: 5px;
  color: #29415d;
  font-size: 0.82rem;
  font-weight: 700;
}

.assignment-escalation-form input,
.assignment-escalation-form select,
.assignment-escalation-form textarea {
  width: 100%;
  border: 1px solid #d5e2df;
  border-radius: 8px;
  padding: 9px 10px;
  font: inherit;
  background: #fff;
}

.assignment-escalation-form textarea {
  min-height: 42px;
  resize: vertical;
}

.assignment-escalation-form label:nth-child(6) {
  grid-column: 1 / -1;
}

.assignment-escalation-form .button {
  justify-self: start;
}

.assignment-notice-form {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #dbe7e4;
}

.assignment-notice-form label {
  display: grid;
  gap: 5px;
  color: #29415d;
  font-size: 0.82rem;
  font-weight: 700;
}

.assignment-notice-form input {
  width: 100%;
  border: 1px solid #d5e2df;
  border-radius: 8px;
  padding: 9px 10px;
  font: inherit;
  background: #fff;
}

.assignment-notice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.assignment-notice-actions .button {
  min-height: 36px;
}

.assignment-quick-notice-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: #fff7f7;
}

.assignment-quick-notice-form span {
  color: #991b1b;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.assignment-quick-notice-form .button {
  min-height: 34px;
}

.assignment-thread-form {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #dbe7e4;
}

.assignment-thread-form label {
  display: grid;
  gap: 5px;
  color: #29415d;
  font-size: 0.82rem;
  font-weight: 700;
}

.assignment-thread-form input {
  width: 100%;
  border: 1px solid #d5e2df;
  border-radius: 8px;
  padding: 9px 10px;
  font: inherit;
  background: #fff;
}

.assignment-thread-form .button {
  justify-self: start;
}

.provider-readiness-response-panel {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #dbe7e4;
  border-radius: 8px;
  background: #f8fbfa;
}

.provider-readiness-response-form {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.provider-readiness-response-form label {
  display: grid;
  gap: 5px;
  color: #29415d;
  font-size: 0.82rem;
  font-weight: 700;
}

.provider-readiness-response-form input {
  width: 100%;
  border: 1px solid #d5e2df;
  border-radius: 8px;
  padding: 9px 10px;
  font: inherit;
  background: #fff;
}

.provider-readiness-response-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.assignment-escalation-events {
  display: grid;
  gap: 5px;
  margin-top: 10px;
}

.assignment-escalation-events p {
  margin: 0;
  color: #4b615b;
  font-size: 0.82rem;
}

.assignment-timeline {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #dbe7e4;
}

.assignment-timeline-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.assignment-timeline-head strong {
  color: #0f2f2a;
  font-size: 0.9rem;
}

.assignment-timeline-head span {
  color: #667a74;
  font-size: 0.78rem;
  font-weight: 700;
}

.assignment-timeline-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.assignment-timeline-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}

.assignment-timeline-filters label {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 9px;
  border: 1px solid #d5e2df;
  border-radius: 8px;
  background: #fff;
  color: #29415d;
  font-size: 0.76rem;
  font-weight: 800;
  cursor: pointer;
}

.assignment-timeline-filter-all:checked ~ .assignment-timeline-filters label[for$="_all"],
.assignment-timeline-filter-messages:checked ~ .assignment-timeline-filters label[for$="_messages"],
.assignment-timeline-filter-documents:checked ~ .assignment-timeline-filters label[for$="_documents"],
.assignment-timeline-filter-reviews:checked ~ .assignment-timeline-filters label[for$="_reviews"],
.assignment-timeline-filter-reminders:checked ~ .assignment-timeline-filters label[for$="_reminders"],
.assignment-timeline-filter-unresolved:checked ~ .assignment-timeline-filters label[for$="_unresolved"] {
  border-color: #0f766e;
  background: #e6f4f1;
  color: #0f2f2a;
}

.assignment-timeline-filter-messages:checked ~ ol li:not(.message):not(.provider),
.assignment-timeline-filter-documents:checked ~ ol li:not(.document),
.assignment-timeline-filter-reviews:checked ~ ol li:not(.review):not(.resolved),
.assignment-timeline-filter-reminders:checked ~ ol li:not(.notice),
.assignment-timeline-filter-unresolved:checked ~ ol li:not(.unresolved) {
  display: none;
}

.assignment-timeline ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.assignment-timeline li {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
}

.assignment-timeline li > span {
  width: 10px;
  height: 10px;
  margin-top: 4px;
  border-radius: 999px;
  background: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.assignment-timeline li.notice > span {
  background: #d97706;
  box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.12);
}

.assignment-timeline li.provider > span,
.assignment-timeline li.message > span {
  background: #0f766e;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.12);
}

.assignment-timeline li.document > span,
.assignment-timeline li.review > span {
  background: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.12);
}

.assignment-timeline li.resolved > span {
  background: #16a34a;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12);
}

.assignment-timeline li strong {
  display: block;
  color: #183150;
  font-size: 0.84rem;
}

.assignment-timeline li p {
  margin: 2px 0 0;
  color: #4b615b;
  font-size: 0.8rem;
  overflow-wrap: anywhere;
}

@media (max-width: 720px) {
  .assignment-escalation-form {
    grid-template-columns: 1fr;
  }

  .assignment-escalation-form label:nth-child(6) {
    grid-column: auto;
  }
}

.start-readiness-command {
  margin-top: 18px;
  border: 1px solid #d9e4df;
  border-left: 5px solid #2d6a5b;
  border-radius: 8px;
  background: #fbfdfc;
  padding: 18px;
  display: grid;
  gap: 16px;
}

.start-readiness-command.tone-overdue {
  border-left-color: #b42318;
  background: #fffafa;
}

.start-readiness-command.tone-due {
  border-left-color: #b7791f;
  background: #fffdf7;
}

.packet-exception-panel {
  margin-top: 18px;
  border: 1px solid #d8e2ee;
  border-left: 5px solid #315f9f;
  border-radius: 8px;
  background: #fbfdff;
  padding: 18px;
  display: grid;
  gap: 14px;
}

.packet-exception-panel.is-ready {
  border-left-color: #2d6a5b;
  background: #fbfdfc;
}

.requirement-matrix-slice {
  margin-top: 18px;
  border: 1px solid #d8e2ee;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  display: grid;
  gap: 12px;
}

.requirement-matrix-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.requirement-matrix-head strong {
  color: #12211d;
  font-size: .96rem;
}

.requirement-matrix-head span {
  color: #53625e;
  font-size: .82rem;
  font-weight: 700;
  white-space: nowrap;
}

.requirement-matrix-table {
  margin: 0;
}

.requirement-matrix-table .portal-record-table {
  min-width: 720px;
}

.packet-exception-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.packet-exception-head span {
  color: #315f9f;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}

.packet-exception-head h4 {
  margin: 4px 0;
  color: #12211d;
  font-size: 1.05rem;
}

.packet-exception-head p,
.packet-exception-row p,
.packet-exception-empty {
  margin: 0;
  color: #53625e;
  line-height: 1.45;
}

.packet-exception-head > strong {
  border: 1px solid #d8e2ee;
  border-radius: 8px;
  background: #fff;
  color: #193861;
  min-width: 118px;
  padding: 9px 11px;
  text-align: center;
}

.packet-exception-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 10px;
}

.packet-exception-summary span {
  border: 1px solid #d8e2ee;
  border-radius: 8px;
  background: #fff;
  color: #42556b;
  padding: 10px 12px;
}

.packet-exception-summary strong {
  display: block;
  color: #12211d;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: 0;
}

.packet-exception-list {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.packet-exception-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
  gap: 12px;
  border: 1px solid #e0e8f0;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}

.packet-exception-row.tone-critical {
  border-left: 4px solid #b42318;
}

.packet-exception-row.tone-missing {
  border-left: 4px solid #b7791f;
}

.packet-exception-row.tone-warning {
  border-left: 4px solid #d9822b;
}

.packet-exception-row.tone-review {
  border-left: 4px solid #315f9f;
}

.packet-exception-row strong {
  display: block;
  color: #12211d;
  margin: 4px 0;
}

.packet-exception-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #eef5ff;
  color: #193861;
  font-size: .78rem;
  font-weight: 800;
  padding: 4px 9px;
}

.packet-exception-note {
  margin-top: 6px !important;
}

.packet-exception-actions {
  display: grid;
  align-content: start;
  gap: 8px;
}

.packet-exception-actions > span {
  color: #53625e;
  font-size: .9rem;
  max-width: 260px;
}

.packet-exception-review,
.packet-exception-reminder {
  display: grid;
  gap: 9px;
}

.packet-exception-review label,
.packet-exception-reminder label {
  color: #53625e;
  font-size: .84rem;
  font-weight: 700;
}

.packet-exception-review input,
.packet-exception-reminder input {
  width: 100%;
  border: 1px solid #d8e2ee;
  border-radius: 8px;
  padding: 9px 10px;
}

.packet-exception-review div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.start-command-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.start-command-kicker {
  display: inline-flex;
  width: fit-content;
  color: #2d6a5b;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}

.start-command-head h4 {
  margin: 4px 0;
  color: #12211d;
  font-size: 1.1rem;
}

.start-command-head p,
.start-command-next p,
.start-command-note p {
  margin: 0;
  color: #53625e;
  line-height: 1.45;
}

.start-command-status {
  min-width: 170px;
  border: 1px solid #d9e4df;
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
  text-align: right;
}

.start-command-status strong,
.start-command-status span {
  display: block;
}

.start-command-status strong {
  color: #12211d;
}

.start-command-status span {
  color: #53625e;
  font-size: .85rem;
}

.start-command-metrics,
.start-command-actions {
  display: grid;
  gap: 12px;
}

.start-command-metrics {
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
}

.start-command-metrics span {
  min-height: 66px;
  border: 1px solid #dfe7e3;
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
  color: #12211d;
}

.start-command-metrics strong {
  display: block;
  color: #53625e;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: 0;
  margin-bottom: 4px;
}

.start-command-metrics .overdue {
  border-color: #f3c4bf;
  background: #fff4f2;
}

.start-command-metrics .due {
  border-color: #efd49d;
  background: #fff9e8;
}

.start-command-next,
.start-command-note {
  border: 1px solid #dfe7e3;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}

.start-command-next {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.start-command-next > span {
  flex: 0 0 auto;
  border: 1px solid #dfe7e3;
  border-radius: 999px;
  background: #f4f8f6;
  color: #2d6a5b;
  font-size: .78rem;
  font-weight: 800;
  padding: 5px 9px;
}

.start-command-next > span.overdue {
  border-color: #f3c4bf;
  background: #fff4f2;
  color: #9b1c12;
}

.start-command-next > span.due {
  border-color: #efd49d;
  background: #fff9e8;
  color: #8a5b10;
}

.start-command-next strong,
.start-command-note strong {
  display: block;
  margin-bottom: 4px;
  color: #12211d;
}

.start-command-actions {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  align-items: start;
}

.start-command-form,
.start-command-quick,
.start-command-detail {
  border: 1px solid #dfe7e3;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}

.start-command-form,
.start-command-quick {
  display: grid;
  gap: 10px;
}

.start-command-detail {
  display: block;
}

.start-command-detail summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
  color: #12211d;
  font-weight: 800;
}

.start-command-detail summary::-webkit-details-marker {
  display: none;
}

.start-command-detail summary span::before {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-right: 7px;
  border-radius: 999px;
  background: #edf5f2;
  color: #2d6a5b;
  font-size: .82rem;
}

.start-command-detail[open] summary span::before {
  content: "-";
}

.start-command-detail summary em {
  color: #53625e;
  font-size: .78rem;
  font-style: normal;
  font-weight: 700;
  text-align: right;
}

.start-command-detail .start-command-form,
.start-command-detail .start-command-note,
.start-command-detail .assignment-readiness-timeline {
  margin-top: 12px;
}

.start-command-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.start-command-detail-grid span {
  border: 1px solid #dfe7e3;
  border-radius: 8px;
  background: #fbfdfc;
  padding: 10px 12px;
  color: #12211d;
}

.start-command-detail-grid strong {
  display: block;
  color: #53625e;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: 0;
  margin-bottom: 4px;
}

.start-command-form label {
  color: #53625e;
  font-size: .82rem;
  font-weight: 800;
}

.start-command-form input,
.start-command-form select,
.start-command-form textarea {
  width: 100%;
  margin-top: 5px;
}

.start-command-form div,
.start-command-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.start-command-quick strong {
  width: 100%;
  color: #12211d;
}

@media (max-width: 720px) {
  .start-command-head {
    grid-template-columns: 1fr;
  }

  .start-command-status {
    text-align: left;
  }

  .start-command-next,
  .start-command-detail summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .start-command-detail summary em {
    text-align: left;
  }
}

.portal-priority-workbench {
  margin-bottom: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
  overflow: hidden;
}

.portal-priority-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 18px;
  align-items: stretch;
  padding: 18px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.portal-priority-hero h2 {
  margin: 5px 0 8px;
  color: #122437;
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.1;
}

.portal-priority-hero p {
  max-width: 850px;
  margin: 0;
  color: #536675;
}

.portal-priority-focus {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 10px;
}

.portal-priority-score {
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 12px;
  border: 1px solid #cfdae3;
  border-radius: 8px;
  background: #fff;
  text-align: center;
}

.portal-priority-focus-item {
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #d8e2ea;
  border-radius: 8px;
  background: #fff;
}

.portal-priority-score span,
.portal-priority-metric span,
.portal-priority-focus-item em {
  color: #5b6b78;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-priority-score strong {
  color: #17324f;
  font-size: 2rem;
  line-height: 1;
}

.portal-priority-score p,
.portal-priority-metric p,
.portal-priority-focus-item p {
  margin: 0;
  color: #5b6b78;
  font-size: .85rem;
}

.portal-priority-focus-item strong {
  color: #142b44;
}

.portal-priority-focus-item b {
  justify-self: start;
  border-radius: 999px;
  background: #17324f;
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  padding: 4px 8px;
}

.portal-priority-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-bottom: 1px solid #e2e8f0;
}

.portal-priority-metric {
  display: grid;
  gap: 4px;
  min-height: 94px;
  padding: 12px;
  border-right: 1px solid #e2e8f0;
  background: #fff;
}

.portal-priority-metric:last-child {
  border-right: 0;
}

.portal-priority-metric strong {
  color: #102a45;
  font-size: 1.45rem;
  line-height: 1;
}

.portal-priority-main {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
  gap: 0;
}

.portal-priority-list,
.portal-priority-side {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 14px;
}

.portal-priority-list {
  border-right: 1px solid #e2e8f0;
}

.portal-priority-section-head,
.portal-priority-side summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.portal-priority-section-head strong,
.portal-priority-side summary span {
  color: #142b44;
  font-weight: 900;
}

.portal-priority-section-head span,
.portal-priority-side summary em {
  color: #64748b;
  font-size: .82rem;
  font-style: normal;
  font-weight: 800;
}

.portal-priority-item {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 10px;
  padding: 11px;
  border: 1px solid #d8e2ea;
  border-radius: 8px;
  background: #fbfcfd;
}

.portal-priority-item > span {
  display: grid;
  place-items: center;
  min-height: 44px;
  border-radius: 8px;
  background: #eef5f2;
  color: #102f2a;
  font-size: 1.05rem;
  font-weight: 900;
}

.portal-priority-item strong {
  color: #142b44;
  display: block;
}

.portal-priority-item p {
  margin: 2px 0 7px;
  color: #536675;
}

.portal-priority-item footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.portal-priority-item footer em,
.portal-priority-item footer b {
  border-radius: 999px;
  background: #eef2f7;
  color: #415365;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
  padding: 4px 8px;
}

.portal-priority-item footer b {
  background: #17324f;
  color: #fff;
}

.portal-priority-side details {
  border: 1px solid #d8e2ea;
  border-radius: 8px;
  background: #fbfcfd;
  overflow: hidden;
}

.portal-priority-side summary {
  cursor: pointer;
  list-style: none;
  padding: 12px 13px;
}

.portal-priority-side summary::-webkit-details-marker {
  display: none;
}

.portal-priority-side textarea {
  width: 100%;
  min-height: 155px;
  border: 0;
  border-top: 1px solid #e2e8f0;
  background: #fff;
  color: #334155;
  font: 0.82rem/1.45 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  resize: vertical;
  padding: 12px;
}

.portal-priority-modules {
  display: grid;
  gap: 12px;
  border-top: 1px solid #e2e8f0;
  padding: 12px;
}

.portal-priority-modules section {
  display: grid;
  gap: 6px;
}

.portal-priority-modules section > strong {
  color: #142b44;
  font-size: .82rem;
}

.portal-priority-module {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 8px;
  padding: 9px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #e0e7ef;
}

.portal-priority-module > span {
  align-self: start;
  padding: 6px 4px;
  border-radius: 7px;
  background: #eef5f2;
  color: #16352f;
  font-size: .82rem;
  font-weight: 900;
  text-align: center;
}

.portal-priority-module b,
.portal-priority-module em {
  display: block;
  font-style: normal;
}

.portal-priority-module b {
  color: #142b44;
  font-size: .86rem;
}

.portal-priority-module em {
  color: #64748b;
  font-size: .76rem;
}

.portal-priority-metric.tone-critical,
.portal-priority-item.tone-critical,
.portal-priority-module.tone-critical,
.portal-priority-focus-item.tone-critical {
  border-color: #f0b8a8;
  background: #fff6f3;
}

.portal-priority-metric.tone-watch,
.portal-priority-item.tone-watch,
.portal-priority-module.tone-watch,
.portal-priority-focus-item.tone-watch {
  border-color: #efd69d;
  background: #fffaf0;
}

.portal-priority-metric.tone-ready,
.portal-priority-item.tone-ready,
.portal-priority-module.tone-ready,
.portal-priority-focus-item.tone-ready {
  border-color: #cfe4da;
  background: #f8fcfa;
}

.dashboard-detail-disclosure {
  margin-bottom: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .06);
  overflow: hidden;
}

.dashboard-detail-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
  padding: 14px 18px;
}

.dashboard-detail-disclosure > summary::-webkit-details-marker {
  display: none;
}

.dashboard-detail-disclosure > summary span {
  color: #142b44;
  font-weight: 900;
}

.dashboard-detail-disclosure > summary em {
  color: #64748b;
  font-size: .82rem;
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.dashboard-detail-disclosure > .vms-panel {
  margin: 0;
  border-width: 1px 0 0;
  border-radius: 0;
  box-shadow: none;
}

.portal-command-overview {
  margin-bottom: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
  overflow: hidden;
}

.portal-command-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  gap: 18px;
  align-items: stretch;
  padding: 22px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.portal-command-kicker {
  display: inline-flex;
  color: #1f7a5a;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}

.portal-command-hero h2 {
  margin: 5px 0 7px;
  color: #183150;
  font-size: 1.65rem;
  line-height: 1.2;
}

.portal-command-hero p {
  max-width: 820px;
  margin: 0;
  color: #4b5563;
  line-height: 1.5;
}

.portal-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}

.portal-command-score {
  display: grid;
  align-content: center;
  justify-items: end;
  gap: 3px;
  min-height: 132px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  text-align: right;
}

.portal-command-score span,
.portal-command-metric span {
  color: #64748b;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}

.portal-command-score strong {
  color: #183150;
  font-size: 3rem;
  line-height: 1;
}

.portal-command-score p,
.portal-command-metric p {
  margin: 0;
  color: #4b5563;
  line-height: 1.4;
}

.portal-command-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
}

.portal-command-metric {
  display: grid;
  align-content: start;
  min-height: 136px;
  padding: 16px;
  border-right: 1px solid #e2e8f0;
  border-bottom: 3px solid transparent;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.portal-command-metric:last-child {
  border-right: 0;
}

.portal-command-metric strong {
  margin: 7px 0;
  color: #183150;
  font-size: 2rem;
  line-height: 1;
  overflow-wrap: anywhere;
}

.portal-command-metric.tone-critical {
  border-bottom-color: #b42318;
  background: #fff8f7;
}

.portal-command-metric.tone-watch {
  border-bottom-color: #b7791f;
  background: #fffdf7;
}

.portal-command-metric.tone-active {
  border-bottom-color: #2563eb;
  background: #f8fbff;
}

.portal-command-metric.tone-ready {
  border-bottom-color: #15803d;
  background: #f8fdf9;
}

.portal-command-metric:hover {
  background: #f1f5f9;
}

.portal-workspace-directory {
  margin-bottom: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
  overflow: hidden;
}

.portal-workspace-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid #e2e8f0;
  background: #fbfdff;
}

.portal-workspace-head span {
  color: #1f7a5a;
  font-size: .74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-workspace-head h2 {
  margin: 4px 0 6px;
  color: #183150;
  font-size: 1.35rem;
  line-height: 1.2;
}

.portal-workspace-head p {
  margin: 0;
  color: #4b5563;
  line-height: 1.45;
}

.portal-workspace-head aside {
  display: grid;
  justify-items: end;
  gap: 3px;
  padding: 14px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  text-align: right;
}

.portal-workspace-head aside strong {
  color: #183150;
  font-size: 2.2rem;
  line-height: 1;
}

.portal-workspace-head aside em {
  color: #64748b;
  font-size: .78rem;
  font-style: normal;
  font-weight: 800;
}

.portal-workspace-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portal-workspace-group {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border-right: 1px solid #e2e8f0;
}

.portal-workspace-group:last-child {
  border-right: 0;
}

.portal-workspace-group header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.portal-workspace-group header strong {
  color: #183150;
}

.portal-workspace-group header p {
  margin: 3px 0 0;
  color: #64748b;
  font-size: .82rem;
  line-height: 1.35;
}

.portal-workspace-group header > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #eef5f2;
  color: #0f2f2a;
  font-weight: 900;
}

.portal-workspace-list {
  display: grid;
  gap: 10px;
}

.portal-workspace-module {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 10px;
  min-height: 116px;
  padding: 12px;
  border: 1px solid #dbe5ef;
  border-left: 4px solid #2563eb;
  border-radius: 8px;
  background: #f8fafc;
  color: inherit;
  text-decoration: none;
}

.portal-workspace-module > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: start;
  min-width: 42px;
  min-height: 34px;
  padding: 4px 6px;
  border-radius: 8px;
  background: #fff;
  color: #183150;
  font-size: .95rem;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  overflow-wrap: anywhere;
}

.portal-workspace-module strong {
  color: #183150;
  font-size: .95rem;
}

.portal-workspace-module p {
  margin: 4px 0 0;
  color: #4b5563;
  font-size: .84rem;
  line-height: 1.35;
}

.portal-workspace-module footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}

.portal-workspace-module footer em,
.portal-workspace-module footer b {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: .72rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1.2;
}

.portal-workspace-module footer b {
  background: #183150;
  color: #fff;
}

.portal-workspace-module.tone-critical {
  border-left-color: #b91c1c;
  background: #fff8f7;
}

.portal-workspace-module.tone-watch,
.portal-workspace-module.tone-overdue {
  border-left-color: #b7791f;
  background: #fffaf0;
}

.portal-workspace-module.tone-ready {
  border-left-color: #1f7a5a;
  background: #f8fdf9;
}

.portal-workspace-module:hover {
  background: #eef7ff;
}

.today-focus-board {
  margin-bottom: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
  overflow: hidden;
}

.today-focus-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid #e2e8f0;
  background: #fbfdff;
}

.today-focus-head span {
  color: #1f7a5a;
  font-size: .74rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.today-focus-head h2 {
  margin: 4px 0 6px;
  color: #183150;
  font-size: 1.35rem;
  line-height: 1.2;
}

.today-focus-head p {
  margin: 0;
  color: #4b5563;
  line-height: 1.45;
}

.today-focus-head aside {
  display: grid;
  justify-items: end;
  gap: 2px;
  padding: 14px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  text-align: right;
}

.today-focus-head aside strong {
  color: #183150;
  font-size: 2.2rem;
  line-height: 1;
}

.today-focus-lanes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.today-focus-lane {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border-right: 1px solid #e2e8f0;
}

.today-focus-lane:last-child {
  border-right: 0;
}

.today-focus-lane header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.today-focus-lane header strong {
  color: #183150;
}

.today-focus-lane header p {
  margin: 3px 0 0;
  color: #64748b;
  font-size: .82rem;
  line-height: 1.35;
}

.today-focus-lane header > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #eef5f2;
  color: #0f2f2a;
  font-weight: 900;
}

.today-focus-items {
  display: grid;
  gap: 10px;
}

.today-focus-item,
.today-focus-empty {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #dbe5ef;
  border-left: 4px solid #2563eb;
  border-radius: 8px;
  background: #f8fafc;
  color: inherit;
  text-decoration: none;
}

.today-focus-item.tone-critical {
  border-left-color: #b91c1c;
  background: #fff8f7;
}

.today-focus-item.tone-watch,
.today-focus-item.tone-overdue {
  border-left-color: #b7791f;
  background: #fffaf0;
}

.today-focus-item.tone-ready {
  border-left-color: #1f7a5a;
  background: #f6fcf8;
}

.today-focus-item:hover {
  border-color: #b8c7d9;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .08);
}

.today-focus-item span {
  display: inline-flex;
  margin-bottom: 6px;
  color: #64748b;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.today-focus-item strong,
.today-focus-empty strong {
  display: block;
  color: #183150;
  font-size: .95rem;
  line-height: 1.25;
}

.today-focus-item p,
.today-focus-empty p {
  margin: 4px 0 0;
  color: #475569;
  font-size: .84rem;
  line-height: 1.42;
}

.today-focus-item footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.today-focus-item footer em,
.today-focus-item footer b {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
}

.today-focus-item footer b {
  background: #183150;
  color: #fff;
}

.today-focus-empty {
  border-style: dashed;
  border-left-color: #cbd5e1;
  background: #fbfdff;
}

.work-session-planner {
  margin-bottom: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
  overflow: hidden;
}

.work-session-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.work-session-head span {
  color: #1f7a5a;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.work-session-head h2 {
  margin: 4px 0 6px;
  color: #183150;
  font-size: 1.35rem;
  line-height: 1.2;
}

.work-session-head p {
  margin: 0;
  color: #4b5563;
  line-height: 1.45;
}

.work-session-head aside {
  display: grid;
  justify-items: end;
  gap: 2px;
  padding: 14px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  text-align: right;
}

.work-session-head aside strong {
  color: #183150;
  font-size: 2.2rem;
  line-height: 1;
}

.work-session-head aside em,
.work-session-head aside span {
  color: #64748b;
  font-size: .76rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.work-session-progress {
  height: 8px;
  background: #e2e8f0;
}

.work-session-progress span {
  display: block;
  height: 100%;
  min-width: 6px;
  background: #1f7a5a;
}

.work-session-context {
  display: grid;
  grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr);
  gap: 0;
  border-bottom: 1px solid #e2e8f0;
  background: #fbfdff;
}

.work-session-context span {
  display: grid;
  gap: 3px;
  padding: 12px 16px;
  border-right: 1px solid #e2e8f0;
  color: #475569;
  font-size: .86rem;
  line-height: 1.35;
}

.work-session-context span:last-child {
  border-right: 0;
}

.work-session-context strong {
  color: #183150;
  font-size: .74rem;
  text-transform: uppercase;
}

.work-session-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.work-session-phase {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border-right: 1px solid #e2e8f0;
}

.work-session-phase:last-child {
  border-right: 0;
}

.work-session-phase header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.work-session-phase header strong {
  color: #183150;
}

.work-session-phase header p {
  margin: 3px 0 0;
  color: #64748b;
  font-size: .82rem;
  line-height: 1.35;
}

.work-session-phase header > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #eef5f2;
  color: #0f2f2a;
  font-weight: 900;
}

.work-session-steps {
  display: grid;
  gap: 10px;
}

.work-session-step,
.work-session-empty {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid #dbe5ef;
  border-left: 4px solid #2563eb;
  border-radius: 8px;
  background: #f8fafc;
  color: inherit;
  text-decoration: none;
}

.work-session-step.tone-critical {
  border-left-color: #b91c1c;
  background: #fff8f7;
}

.work-session-step.tone-watch {
  border-left-color: #b7791f;
  background: #fffaf0;
}

.work-session-step.tone-ready {
  border-left-color: #1f7a5a;
  background: #f6fcf8;
}

.work-session-step:hover {
  border-color: #b8c7d9;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .08);
}

.work-session-step > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #fff;
  color: #183150;
  font-size: .86rem;
  font-weight: 900;
}

.work-session-step strong,
.work-session-empty strong {
  display: block;
  color: #183150;
  font-size: .95rem;
  line-height: 1.25;
}

.work-session-step p,
.work-session-empty p {
  margin: 4px 0 0;
  color: #475569;
  font-size: .84rem;
  line-height: 1.42;
}

.work-session-step footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-top: 9px;
}

.work-session-step footer em,
.work-session-step footer b {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
}

.work-session-step footer b {
  background: #183150;
  color: #fff;
}

.work-session-step small {
  display: block;
  margin-top: 8px;
  color: #475569;
  font-size: .78rem;
  line-height: 1.35;
}

.work-session-finish {
  display: grid;
  grid-template-columns: minmax(120px, .2fr) minmax(0, 1fr);
  gap: 14px;
  padding: 14px 16px;
  border-top: 1px solid #e2e8f0;
  background: #fbfdff;
}

.work-session-finish strong {
  color: #183150;
}

.work-session-finish ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.work-session-finish li {
  padding: 7px 10px;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: .8rem;
  font-weight: 800;
}

.work-session-empty {
  grid-template-columns: 1fr;
  border-style: dashed;
  border-left-color: #cbd5e1;
  background: #fbfdff;
}

.operational-readiness-radar {
  margin-bottom: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
  overflow: hidden;
}

.operational-readiness-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid #e2e8f0;
  background: #f7fafc;
}

.operational-readiness-head span {
  color: #1f7a5a;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.operational-readiness-head h2 {
  margin: 4px 0 6px;
  color: #183150;
  font-size: 1.35rem;
  line-height: 1.2;
}

.operational-readiness-head p {
  margin: 0;
  color: #4b5563;
  line-height: 1.45;
}

.operational-readiness-head aside {
  display: grid;
  justify-items: end;
  gap: 2px;
  padding: 14px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  text-align: right;
}

.operational-readiness-head aside strong {
  color: #183150;
  font-size: 2.25rem;
  line-height: 1;
}

.operational-readiness-head aside span,
.operational-readiness-head aside em {
  color: #64748b;
  font-size: .76rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.operational-readiness-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
  gap: 0;
}

.operational-readiness-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}

.operational-readiness-item {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  padding: 13px;
  border: 1px solid #dbe5ef;
  border-left: 4px solid #2563eb;
  border-radius: 8px;
  background: #f8fafc;
  color: inherit;
  text-decoration: none;
}

.operational-readiness-item.tone-critical {
  border-left-color: #b91c1c;
  background: #fff8f7;
}

.operational-readiness-item.tone-watch {
  border-left-color: #b7791f;
  background: #fffaf0;
}

.operational-readiness-item.tone-active {
  border-left-color: #2563eb;
  background: #f8fbff;
}

.operational-readiness-item.tone-ready {
  border-left-color: #1f7a5a;
  background: #f7fbf8;
}

.operational-readiness-item > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  color: #183150;
  font-weight: 900;
}

.operational-readiness-item strong {
  display: block;
  color: #183150;
  line-height: 1.25;
}

.operational-readiness-item p {
  margin: 4px 0 0;
  color: #4b5563;
  font-size: .86rem;
  line-height: 1.45;
}

.operational-readiness-item footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.operational-readiness-item footer em,
.operational-readiness-item footer b {
  padding: 5px 8px;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
}

.operational-readiness-item footer b {
  background: #183150;
  color: #fff;
}

.operational-readiness-checks {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 16px;
  border-left: 1px solid #e2e8f0;
  background: #fbfdff;
}

.operational-readiness-checks strong {
  color: #183150;
}

.operational-readiness-checks ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.operational-readiness-checks li {
  position: relative;
  padding: 9px 10px 9px 28px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  font-size: .84rem;
  font-weight: 750;
  line-height: 1.35;
}

.operational-readiness-checks li::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 13px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #1f7a5a;
}

.handoff-brief {
  margin-bottom: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
  overflow: hidden;
}

.handoff-brief-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fbfa;
}

.handoff-brief-head span {
  color: #1f7a5a;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.handoff-brief-head h2 {
  margin: 4px 0 6px;
  color: #183150;
  font-size: 1.35rem;
  line-height: 1.2;
}

.handoff-brief-head p {
  margin: 0;
  color: #4b5563;
  line-height: 1.45;
}

.handoff-brief-head aside {
  display: grid;
  justify-items: end;
  gap: 2px;
  padding: 14px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  text-align: right;
}

.handoff-brief-head aside strong {
  color: #183150;
  font-size: 2.2rem;
  line-height: 1;
}

.handoff-brief-head aside em,
.handoff-brief-head aside span {
  color: #64748b;
  font-size: .76rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.handoff-brief-grid {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.4fr);
  gap: 0;
}

.handoff-copy {
  display: grid;
  gap: 12px;
  align-content: start;
  min-width: 0;
  padding: 16px;
  border-right: 1px solid #e2e8f0;
  background: #fbfdff;
}

.handoff-copy div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.handoff-copy strong {
  color: #183150;
}

.handoff-copy span {
  color: #64748b;
  font-size: .78rem;
  font-weight: 800;
}

.handoff-copy textarea {
  width: 100%;
  min-height: 172px;
  resize: vertical;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  color: #1f2937;
  font: 500 .86rem/1.5 Inter, system-ui, sans-serif;
}

.handoff-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}

.handoff-item {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #dbe5ef;
  border-left: 4px solid #2563eb;
  border-radius: 8px;
  background: #f8fafc;
  color: inherit;
  text-decoration: none;
}

.handoff-item.tone-critical {
  border-left-color: #b91c1c;
  background: #fff8f7;
}

.handoff-item.tone-watch {
  border-left-color: #b7791f;
  background: #fffaf0;
}

.handoff-item.tone-ready {
  border-left-color: #1f7a5a;
  background: #f6fcf8;
}

.handoff-item:hover {
  border-color: #b8c7d9;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .08);
}

.handoff-item > span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.handoff-item strong {
  color: #183150;
  font-size: 1.8rem;
  line-height: 1;
}

.handoff-item p {
  margin: 0;
  color: #475569;
  font-size: .84rem;
  line-height: 1.42;
}

.handoff-item footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.handoff-item footer em,
.handoff-item footer b {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
}

.handoff-item footer b {
  background: #183150;
  color: #fff;
}

.portal-context-command {
  display: grid;
  gap: 0;
  margin-bottom: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
  overflow: hidden;
}

.portal-context-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(270px, 390px);
  gap: 18px;
  align-items: stretch;
  padding: 18px 20px;
}

.portal-context-copy span,
.portal-context-details summary span {
  color: #1f7a5a;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.portal-context-copy h1 {
  margin: 5px 0 7px;
  color: #183150;
  font-size: 1.55rem;
  line-height: 1.2;
}

.portal-context-copy p,
.portal-context-next p {
  margin: 0;
  color: #4b5563;
  line-height: 1.5;
}

.portal-context-next {
  display: grid;
  gap: 8px;
  align-content: center;
  border-left: 1px solid #e2e8f0;
  padding-left: 18px;
}

.portal-context-next strong,
.portal-context-handoff strong,
.portal-context-step strong {
  color: #183150;
}

.portal-context-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.portal-context-actions .button {
  display: inline-grid;
  gap: 2px;
  align-content: center;
  min-height: 42px;
}

.portal-context-actions .button em {
  font-size: .72rem;
  font-style: normal;
  font-weight: 700;
  opacity: .78;
}

.portal-context-details {
  border-top: 1px solid #e2e8f0;
}

.portal-context-details summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px 20px;
  cursor: pointer;
  list-style: none;
  background: #f8fafc;
}

.portal-context-details summary::-webkit-details-marker {
  display: none;
}

.portal-context-details summary em {
  color: #64748b;
  font-size: .78rem;
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.portal-context-details summary b {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border: 1px solid #c8d6e1;
  border-radius: 999px;
  background: #fff;
  color: #16352f;
  font-size: .7rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.portal-context-details summary b::before {
  content: "Show";
}

.portal-context-details[open] summary b::before {
  content: "Hide";
}

.portal-context-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  gap: 0;
  border-top: 1px solid #e2e8f0;
}

.portal-context-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portal-context-step {
  display: grid;
  gap: 10px;
  min-height: 126px;
  padding: 14px;
  border-right: 1px solid #e2e8f0;
  color: inherit;
}

.portal-context-step > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef5f2;
  color: #0f2f2a;
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-context-step p,
.portal-context-handoff p {
  margin: 5px 0 0;
  color: #475569;
  font-size: .86rem;
  line-height: 1.45;
}

.portal-context-step footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}

.portal-context-step footer em,
.portal-context-step footer b {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 4px 8px;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: .7rem;
  font-style: normal;
  font-weight: 850;
  line-height: 1.2;
}

.portal-context-step footer b {
  border-color: #b9d4ea;
  background: #eef7ff;
  color: #183150;
}

.portal-context-step.tone-critical {
  background: #fff7f7;
}

.portal-context-step.tone-watch {
  background: #fffaf0;
}

.portal-context-step.tone-ready {
  background: #f4fbf7;
}

.portal-context-handoff {
  display: grid;
  gap: 10px;
  align-content: center;
  padding: 14px;
  background: #fbfdff;
}

.portal-context-rail {
  margin-bottom: 12px;
  box-shadow: 0 8px 20px rgba(17, 24, 39, .06);
}

.portal-context-rail .portal-context-main {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
}

.portal-context-rail .portal-context-copy h1 {
  margin: 3px 0 5px;
  font-size: 1.18rem;
}

.portal-context-rail .portal-context-copy p {
  color: #334155;
  font-size: .88rem;
}

.portal-context-rail .portal-context-copy p strong {
  color: #183150;
}

.portal-context-rail .portal-context-actions {
  justify-content: flex-end;
  margin-top: 0;
}

.portal-context-rail .portal-context-actions .button {
  min-height: 36px;
  padding: 8px 12px;
}

.portal-context-rail .portal-context-actions .button em {
  display: none;
}

.portal-context-rail .portal-context-details summary {
  min-height: 42px;
  padding: 9px 14px;
}

.portal-context-rail .portal-context-details summary em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portal-context-rail .portal-context-detail-grid {
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
}

.portal-context-rail .portal-context-handoff {
  border-right: 1px solid #e2e8f0;
}

.portal-context-rail .portal-context-steps {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.portal-context-rail .portal-context-step {
  min-height: 0;
  padding: 12px;
}

.portal-lens-command {
  display: grid;
  gap: 0;
  margin-bottom: 16px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(17, 24, 39, .07);
  overflow: hidden;
}

.portal-lens-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 18px;
  align-items: stretch;
  padding: 16px 18px;
}

.portal-lens-copy span,
.portal-lens-current span,
.portal-lens-details summary span,
.portal-lens-detail-items span {
  color: #1f7a5a;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.portal-lens-copy h2 {
  margin: 5px 0 7px;
  color: #183150;
  font-size: 1.28rem;
  line-height: 1.2;
}

.portal-lens-copy p,
.portal-lens-current p,
.portal-lens-detail-items p {
  margin: 0;
  color: #4b5563;
  line-height: 1.45;
}

.portal-lens-current {
  display: grid;
  gap: 7px;
  align-content: center;
  border-left: 1px solid #e2e8f0;
  padding-left: 18px;
}

.portal-lens-current strong {
  color: #183150;
  font-size: 1.02rem;
}

.portal-lens-current em {
  color: #64748b;
  font-size: .78rem;
  font-style: normal;
  font-weight: 800;
}

.portal-lens-current .button {
  justify-self: start;
  min-height: 38px;
}

.portal-lens-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 1px;
  border-top: 1px solid #e2e8f0;
  background: #e2e8f0;
}

.portal-lens-chip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 58px;
  padding: 11px 13px;
  background: #f8fafc;
  color: #334155;
  text-decoration: none;
}

.portal-lens-chip:hover,
.portal-lens-chip:focus-visible {
  background: #edf7f3;
}

.portal-lens-chip.is-selected {
  background: #16352f;
  color: #fff;
}

.portal-lens-chip.needs-action:not(.is-selected) {
  background: #fff7ed;
}

.portal-lens-chip span {
  min-width: 0;
  font-size: .84rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.portal-lens-chip strong {
  display: inline-flex;
  min-width: 34px;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff;
  color: #183150;
  font-size: .86rem;
}

.portal-lens-chip.is-selected strong {
  background: rgba(255, 255, 255, .16);
  color: #fff;
}

.portal-lens-details {
  border-top: 1px solid #e2e8f0;
}

.portal-lens-details summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 18px;
  background: #f8fafc;
  cursor: pointer;
  list-style: none;
}

.portal-lens-details summary::-webkit-details-marker {
  display: none;
}

.portal-lens-details summary em {
  color: #64748b;
  font-size: .78rem;
  font-style: normal;
  font-weight: 800;
  text-align: right;
}

.portal-lens-details summary b {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 4px 9px;
  border: 1px solid #c8d6e1;
  border-radius: 999px;
  background: #fff;
  color: #16352f;
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-lens-details summary b::before {
  content: "Show";
}

.portal-lens-details[open] summary b::before {
  content: "Hide";
}

.portal-lens-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  padding: 14px 18px;
  border-top: 1px solid #e2e8f0;
}

.portal-lens-detail-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.portal-lens-detail-items article {
  display: grid;
  gap: 4px;
  min-height: 82px;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
}

.portal-lens-detail-items strong {
  color: #183150;
  font-size: 1.04rem;
}

.portal-lens-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-content: start;
  justify-content: flex-end;
}

.portal-page-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
  border: 1px solid #d6dde5;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
  padding: 20px;
}

.portal-page-intro span,
.vms-tabs small {
  color: #1f7a5a;
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}

.portal-page-intro h1 {
  margin: 5px 0 7px;
  color: #183150;
  font-size: 1.55rem;
  line-height: 1.2;
}

.portal-page-intro p {
  margin: 0;
  color: #4b5563;
  line-height: 1.5;
}

.portal-page-intro aside {
  display: grid;
  gap: 8px;
  align-content: center;
  border-left: 1px solid #e2e8f0;
  padding-left: 18px;
}

.portal-page-intro aside strong {
  color: #183150;
}

.portal-page-intro aside div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.vms-tabs small {
  display: block;
  width: 100%;
  color: rgba(255, 255, 255, .72);
  text-transform: none;
}

.vms-tabs a[aria-current="page"] {
  box-shadow: inset 0 -2px 0 rgba(255, 255, 255, .85);
}

.portal-empty-state {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 20px;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
  color: #475569;
}

.portal-empty-state span {
  display: inline-flex;
  margin-bottom: 5px;
  color: #1f7a5a;
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}

.portal-empty-state strong {
  display: block;
  color: #183150;
  font-size: 1rem;
}

.portal-empty-state p {
  margin: 4px 0 0;
  line-height: 1.5;
}

.portal-empty-state.tone-ready {
  border-color: #b7dfc2;
  background: #f6fcf8;
}

.portal-empty-actions,
.portal-action-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.portal-action-rail {
  justify-content: flex-start;
  margin: 12px 0 18px;
}

.portal-action-rail .button {
  display: inline-grid;
  gap: 2px;
  align-content: center;
  min-height: 44px;
}

.portal-action-rail .button em {
  font-style: normal;
  font-size: .72rem;
  font-weight: 700;
  opacity: .78;
}

.vms-panel form.form-grid,
.vms-panel .compact-form,
.vms-panel .intake-form.compact-form {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fbfdff;
  padding: 16px;
}

.vms-panel form label {
  color: #334155;
  font-weight: 800;
}

.vms-panel form input,
.vms-panel form select,
.vms-panel form textarea {
  border-color: #cbd5e1;
}

.vms-panel form input:focus,
.vms-panel form select:focus,
.vms-panel form textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.hospital-action-card,
.vendor-alert-card,
.provider-queue-item,
.provider-command-card {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.hospital-action-card:hover,
.vendor-alert-card:hover,
.provider-queue-item:hover,
.provider-command-card:hover {
  border-color: #b8c7d9;
  box-shadow: 0 12px 26px rgba(15, 23, 42, .08);
  transform: translateY(-1px);
}

.record-trust-bar {
  margin-top: 10px;
}

.record-trust-summary {
  display: block;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.record-trust-summary summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 6px 8px;
  cursor: pointer;
  list-style: none;
}

.record-trust-summary summary::-webkit-details-marker {
  display: none;
}

.record-trust-bar span,
.record-trust-summary summary em {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: .73rem;
  font-weight: 800;
  line-height: 1.2;
}

.record-trust-bar span:first-child {
  border-color: #b9d4ea;
  background: #eef7ff;
  color: #183150;
}

.record-trust-summary summary em {
  margin-left: auto;
  border-color: #c8d6e1;
  background: #fff;
  color: #183150;
  font-style: normal;
  text-transform: uppercase;
}

.record-trust-summary summary em::before {
  content: "+";
  margin-right: 5px;
}

.record-trust-summary[open] summary em::before {
  content: "-";
}

.record-trust-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 8px 8px;
  border-top: 1px solid #edf2f7;
}

.portal-completion-guide {
  margin: 0 0 18px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .08);
  overflow: hidden;
}

.portal-completion-summary {
  display: block;
  cursor: pointer;
  list-style: none;
}

.portal-completion-summary::-webkit-details-marker {
  display: none;
}

.portal-completion-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 220px);
  gap: 18px;
  padding: 18px 20px;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(135deg, #f8fafc 0%, #eef7ff 100%);
}

.portal-completion-guide:not([open]) .portal-completion-head {
  border-bottom: 0;
}

.portal-completion-head span {
  color: #1f7a5a;
  font-size: .75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-completion-head h2 {
  margin: 4px 0 6px;
  color: #183150;
  font-size: 1.25rem;
  line-height: 1.2;
}

.portal-completion-head p {
  margin: 0;
  color: #475569;
  line-height: 1.45;
}

.portal-completion-head aside {
  display: grid;
  justify-items: end;
  align-content: center;
  gap: 3px;
  text-align: right;
}

.portal-completion-head aside strong {
  color: #183150;
  font-size: 2.15rem;
  line-height: 1;
}

.portal-completion-head aside em {
  color: #64748b;
  font-size: .78rem;
  font-style: normal;
  font-weight: 800;
}

.portal-completion-toggle {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  margin-top: 6px;
  padding: 4px 10px;
  border: 1px solid #c8d6e1;
  border-radius: 999px;
  background: #fff;
  color: #16352f;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
}

.portal-completion-toggle::before {
  content: "Show guide";
}

.portal-completion-guide[open] .portal-completion-toggle::before {
  content: "Hide guide";
}

.portal-completion-summary:hover .portal-completion-toggle {
  border-color: #183150;
}

.portal-completion-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portal-completion-step {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 12px;
  min-height: 146px;
  padding: 16px;
  border-right: 1px solid #e2e8f0;
  color: inherit;
}

.portal-completion-step:last-child {
  border-right: 0;
}

.portal-completion-step > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 32px;
  border-radius: 999px;
  background: #eef5f2;
  color: #0f2f2a;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-completion-step strong {
  color: #183150;
  font-size: .98rem;
}

.portal-completion-step p {
  margin: 6px 0 0;
  color: #475569;
  font-size: .86rem;
  line-height: 1.45;
}

.portal-completion-step footer {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.portal-completion-step footer em,
.portal-completion-step footer b {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: .72rem;
  font-style: normal;
  font-weight: 850;
  line-height: 1.2;
}

.portal-completion-step footer b {
  border-color: #b9d4ea;
  background: #eef7ff;
  color: #183150;
}

.portal-completion-step.tone-critical {
  background: #fff7f7;
}

.portal-completion-step.tone-watch {
  background: #fffaf0;
}

.portal-completion-step.tone-ready {
  background: #f4fbf7;
}

.portal-completion-step:hover {
  background: #f8fafc;
}

.workflow-resolution-panel {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #dbe5ef;
  border-left: 4px solid #2563eb;
  border-radius: 8px;
  background: #f8fafc;
}

.workflow-resolution-panel.tone-critical {
  border-left-color: #b91c1c;
  background: #fff7f7;
}

.workflow-resolution-panel.tone-review {
  border-left-color: #b7791f;
  background: #fffaf0;
}

.workflow-resolution-panel.tone-ready {
  border-left-color: #1f7a5a;
  background: #f4fbf7;
}

.workflow-resolution-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.workflow-resolution-head div {
  display: grid;
  gap: 2px;
}

.workflow-resolution-head span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.workflow-resolution-head strong {
  color: #183150;
  font-size: .92rem;
}

.workflow-resolution-next {
  margin: 0;
  color: #475569;
  font-size: .84rem;
  line-height: 1.45;
}

.workflow-resolution-detail {
  border-top: 1px solid rgba(203, 213, 225, .8);
  padding-top: 2px;
}

.workflow-resolution-detail summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 30px;
  cursor: pointer;
  color: #183150;
  font-size: .78rem;
  font-weight: 900;
  list-style: none;
  text-transform: uppercase;
}

.workflow-resolution-detail summary::-webkit-details-marker {
  display: none;
}

.workflow-resolution-detail summary span::before {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-right: 6px;
  border-radius: 999px;
  background: #eef5f2;
  color: #0f2f2a;
}

.workflow-resolution-detail[open] summary span::before {
  content: "-";
}

.workflow-resolution-detail summary em {
  color: #64748b;
  font-size: .72rem;
  font-style: normal;
  font-weight: 850;
}

.workflow-resolution-detail ol {
  display: grid;
  gap: 5px;
  margin: 2px 0 0;
  padding-left: 18px;
  color: #334155;
  font-size: .8rem;
  line-height: 1.35;
}

.workflow-resolution-panel .button {
  width: fit-content;
  min-height: 34px;
  padding: 7px 10px;
}

.record-history-panel {
  margin-top: 10px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.record-history-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 40px;
  padding: 10px 12px;
  cursor: pointer;
  color: #183150;
  font-weight: 800;
  list-style: none;
}

.record-history-panel summary::-webkit-details-marker {
  display: none;
}

.record-history-panel summary span::before {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-right: 7px;
  border-radius: 999px;
  background: #eef5f2;
  color: #0f2f2a;
  font-size: .85rem;
}

.record-history-panel[open] summary span::before {
  content: "-";
}

.record-history-panel summary em {
  color: #64748b;
  font-size: .74rem;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

.record-history-body {
  display: grid;
  gap: 10px;
  padding: 0 12px 12px;
  color: #475569;
}

.record-history-body > strong {
  color: #183150;
  font-size: .8rem;
}

.record-history-body ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.record-history-body li {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 10px;
}

.record-history-body li > span {
  width: 10px;
  height: 10px;
  margin-top: 5px;
  border-radius: 999px;
  background: #2563eb;
}

.record-history-body li.status > span,
.record-history-body li.review > span {
  background: #1f7a5a;
}

.record-history-body li.audit > span {
  background: #b7791f;
}

.record-history-body li.message > span,
.record-history-body li.note > span {
  background: #7c3aed;
}

.record-history-body li strong {
  color: #1f2937;
  font-size: .9rem;
}

.record-history-body p {
  margin: 2px 0 0;
  line-height: 1.45;
}

.vms-panel,
.vms-metric,
.portal-command-overview,
.portal-completion-guide,
.portal-context-command,
.work-session-planner,
.handoff-brief,
.portal-page-intro,
.provider-command-card,
.start-readiness-command {
  min-width: 0;
}

.vms-panel-head,
.vms-record-head,
.candidate-card-head,
.invoice-card-header,
.report-card-head {
  flex-wrap: wrap;
}

.vms-panel table,
.vms-panel .dash-table,
.vms-panel .table-wrap {
  max-width: 100%;
}

.portal-command-actions .button,
.portal-context-actions .button,
.portal-action-rail .button,
.portal-empty-actions .button {
  min-width: max-content;
}

@media (max-width: 1180px) {
  .portal-priority-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .portal-priority-metric:nth-child(3n) {
    border-right: 0;
  }

  .portal-priority-main {
    grid-template-columns: 1fr;
  }

  .portal-priority-focus {
    grid-template-columns: 120px minmax(0, 1fr);
  }

  .portal-priority-list {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }

  .portal-command-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .today-focus-lanes {
    grid-template-columns: 1fr;
  }

  .portal-workspace-groups {
    grid-template-columns: 1fr;
  }

  .work-session-grid {
    grid-template-columns: 1fr;
  }

  .operational-readiness-grid,
  .operational-readiness-items,
  .portal-completion-steps,
  .portal-context-steps {
    grid-template-columns: 1fr;
  }

  .operational-readiness-checks {
    border-left: 0;
    border-top: 1px solid #e2e8f0;
  }

  .today-focus-lane {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }

  .portal-workspace-group {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }

  .work-session-phase {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }

  .today-focus-lane:last-child {
    border-bottom: 0;
  }

  .portal-workspace-group:last-child {
    border-bottom: 0;
  }

  .work-session-phase:last-child {
    border-bottom: 0;
  }

  .portal-completion-step {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }

  .portal-completion-step:last-child {
    border-bottom: 0;
  }

  .portal-context-detail-grid {
    grid-template-columns: 1fr;
  }

  .portal-lens-main,
  .portal-lens-detail-grid {
    grid-template-columns: 1fr;
  }

  .portal-lens-current {
    border-left: 0;
    border-top: 1px solid #e2e8f0;
    padding-left: 0;
    padding-top: 14px;
  }

  .portal-lens-actions {
    justify-content: flex-start;
  }

  .portal-context-step {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }

  .portal-context-step:last-child {
    border-bottom: 0;
  }

  .handoff-brief-grid,
  .handoff-items {
    grid-template-columns: 1fr;
  }

  .handoff-copy {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }

  .portal-command-metric:nth-child(3n) {
    border-right: 0;
  }
}

@media (max-width: 760px) {
  .portal-priority-hero {
    grid-template-columns: 1fr;
  }

  .portal-priority-score {
    justify-items: start;
    text-align: left;
  }

  .portal-priority-focus {
    grid-template-columns: 1fr;
  }

  .portal-priority-metrics {
    grid-template-columns: 1fr;
  }

  .portal-priority-metric {
    min-height: 0;
    border-right: 0;
  }

  .portal-priority-item {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .portal-priority-item > span {
    min-height: 42px;
    font-size: 1rem;
  }

  .dashboard-detail-disclosure > summary {
    align-items: flex-start;
    display: grid;
  }

  .portal-command-hero {
    grid-template-columns: 1fr;
  }

  .today-focus-head {
    grid-template-columns: 1fr;
  }

  .portal-workspace-head {
    grid-template-columns: 1fr;
  }

  .work-session-head,
  .work-session-context,
  .work-session-finish,
  .operational-readiness-head,
  .portal-completion-head,
  .portal-context-main {
    grid-template-columns: 1fr;
  }

  .handoff-brief-head {
    grid-template-columns: 1fr;
  }

  .today-focus-head aside {
    justify-items: start;
    text-align: left;
  }

  .portal-workspace-head aside {
    justify-items: start;
    text-align: left;
  }

  .work-session-head aside {
    justify-items: start;
    text-align: left;
  }

  .operational-readiness-head aside {
    justify-items: start;
    text-align: left;
  }

  .portal-completion-head aside {
    justify-items: start;
    text-align: left;
  }

  .work-session-context span {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }

  .work-session-context span:last-child {
    border-bottom: 0;
  }

  .work-session-step {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .portal-workspace-module {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .portal-workspace-module > span {
    min-width: 34px;
    font-size: .82rem;
  }

  .operational-readiness-item {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .portal-completion-step {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .operational-readiness-item > span {
    width: 36px;
    height: 36px;
  }

  .work-session-finish ul {
    display: grid;
  }

  .handoff-brief-head aside {
    justify-items: start;
    text-align: left;
  }

  .handoff-copy div {
    display: grid;
  }

  .handoff-item strong {
    font-size: 1.45rem;
  }

  .portal-command-score {
    justify-items: start;
    text-align: left;
  }

  .portal-context-next {
    border-left: 0;
    border-top: 1px solid #e2e8f0;
    padding: 14px 0 0;
  }

  .portal-context-rail .portal-context-main,
  .portal-context-rail .portal-context-detail-grid {
    grid-template-columns: 1fr;
  }

  .portal-context-rail .portal-context-actions {
    justify-content: flex-start;
  }

  .portal-context-rail .portal-context-handoff {
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
  }

  .portal-context-details summary {
    grid-template-columns: 1fr auto;
  }

  .portal-context-details summary em {
    text-align: left;
  }

  .portal-context-rail .portal-context-details summary em {
    white-space: normal;
  }

  .portal-command-metrics {
    grid-template-columns: 1fr;
  }

  .portal-command-metric {
    min-height: 0;
    border-right: 0;
  }

  .portal-page-intro {
    grid-template-columns: 1fr;
  }

  .portal-page-intro aside {
    border-left: 0;
    border-top: 1px solid #e2e8f0;
    padding: 14px 0 0;
  }

  .portal-empty-state {
    grid-template-columns: 1fr;
  }

  .portal-empty-actions {
    justify-content: flex-start;
  }
}

.provider-opportunity-meta {
  margin: 12px 0;
}

.provider-interest-state {
  align-items: flex-start;
  background: #eef7f4;
  border: 1px solid #cfe3dc;
  border-radius: 8px;
  display: grid;
  gap: 4px;
  margin: 14px 0;
  padding: 12px;
}

.provider-interest-state strong {
  color: #12342d;
  font-size: .95rem;
}

.provider-interest-state span,
.provider-interest-state em {
  color: #445c56;
  font-size: .88rem;
  line-height: 1.45;
}

.provider-interest-form,
.provider-interest-triage {
  background: #f8fbfa;
  border: 1px solid #dce8e4;
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
  padding: 14px;
}

.provider-interest-form label,
.provider-interest-triage label {
  color: #25413a;
  display: grid;
  font-size: .82rem;
  font-weight: 700;
  gap: 6px;
}

.provider-interest-form label.wide,
.provider-interest-triage label.wide {
  grid-column: 1 / -1;
}

.provider-interest-form input,
.provider-interest-triage input {
  min-width: 0;
}

.provider-interest-queue {
  display: grid;
  gap: 16px;
}

.provider-interest-card {
  border-color: #cfe3dc;
}

.provider-interest-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  grid-column: 1 / -1;
}

.document-renewal-callout {
  display: grid;
  gap: 0.35rem;
  margin: 0.85rem 0;
  padding: 0.85rem;
  border: 1px solid rgba(190, 120, 35, 0.28);
  border-radius: 8px;
  background: #fff7ed;
  color: #663c12;
}

.document-renewal-callout strong {
  font-size: 0.92rem;
}

.document-renewal-callout p,
.document-renewal-callout span {
  margin: 0;
  font-size: 0.84rem;
}

.document-renewal-callout.staff {
  background: #f8fafc;
  border-color: rgba(15, 47, 42, 0.18);
  color: #21312f;
}

.document-renewal-callout.status-red {
  background: #fef2f2;
  border-color: rgba(185, 28, 28, 0.24);
  color: #7f1d1d;
}

.document-renewal-callout.status-yellow {
  background: #fff7ed;
  border-color: rgba(190, 120, 35, 0.28);
  color: #663c12;
}

.document-renewal-callout.status-blue {
  background: #eff6ff;
  border-color: rgba(37, 99, 235, 0.22);
  color: #1e3a8a;
}

.document-renewal-callout.status-green {
  background: #ecfdf5;
  border-color: rgba(22, 101, 52, 0.2);
  color: #14532d;
}

.document-renewal-form {
  display: grid;
  grid-template-columns: minmax(9rem, 0.8fr) minmax(14rem, 1.4fr) auto;
  gap: 0.65rem;
  align-items: end;
  width: 100%;
}

.document-renewal-form label {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--muted);
}

.document-renewal-form input {
  min-height: 2.35rem;
}

.document-renewal-form .wide {
  min-width: 0;
}

.document-action-disclosure {
  width: 100%;
  border: 1px solid rgba(15, 47, 42, 0.12);
  border-radius: 8px;
  background: #fbfcfb;
}

.document-action-disclosure + .document-action-disclosure {
  margin-top: 0.65rem;
}

.document-action-disclosure summary {
  cursor: pointer;
  padding: 0.75rem 0.85rem;
  font-size: 0.84rem;
  font-weight: 800;
  color: #123c35;
  list-style-position: inside;
}

.document-action-disclosure[open] summary {
  border-bottom: 1px solid rgba(15, 47, 42, 0.1);
}

.document-action-disclosure form {
  padding: 0.85rem;
}

.document-action-drawer {
  width: 100%;
  border: 1px solid rgba(15, 47, 42, 0.14);
  border-radius: 8px;
  background: #fbfcfb;
  overflow: hidden;
}

.document-action-drawer summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 11px 13px;
  cursor: pointer;
  color: #123c35;
  list-style: none;
}

.document-action-drawer summary::-webkit-details-marker {
  display: none;
}

.document-action-drawer summary span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.84rem;
  font-weight: 900;
}

.document-action-drawer summary span::before {
  content: "+";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #eef5f2;
  color: #0f2f2a;
  font-size: 0.86rem;
}

.document-action-drawer[open] summary span::before {
  content: "-";
}

.document-action-drawer summary strong {
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 850;
  text-align: right;
  text-transform: uppercase;
}

.document-action-drawer[open] summary {
  border-bottom: 1px solid rgba(15, 47, 42, 0.1);
}

.document-action-drawer-body {
  display: grid;
  gap: 12px;
  padding: 12px 13px 13px;
}

.document-action-section {
  margin: 0;
}

.document-action-section + .document-action-section,
.document-action-drawer .staff-document-history,
.document-action-drawer .document-version-history {
  margin-top: 0;
}

.document-action-drawer .credential-review-actions,
.document-action-drawer .vendor-submission-actions.credential-review-actions {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
}

.document-action-drawer .credential-review-actions .review-note {
  grid-column: 1 / -1;
}

.document-action-drawer .credential-review-actions .button,
.document-action-drawer .document-renewal-form .button {
  justify-content: center;
  min-width: 0;
  white-space: normal;
}

.document-action-drawer .document-report-form {
  max-width: 100%;
}

.provider-document-replace-disclosure {
  margin-top: 0.75rem;
}

#credentialing-documents .opportunity-card,
#credentialing-checklist .opportunity-card {
  overflow: hidden;
}

#credentialing-documents .opportunity-actions,
#credentialing-checklist .opportunity-actions {
  overflow-wrap: anywhere;
}

#credentialing-documents .document-renewal-form {
  grid-template-columns: 1fr;
}

#credentialing-documents .document-renewal-form .button,
#credentialing-documents .credential-review-actions .button,
#credentialing-checklist .credential-review-actions .button {
  justify-content: center;
  min-width: 0;
  white-space: normal;
  width: 100%;
}

@media (max-width: 1180px) {
  .vms-layout {
    grid-template-columns: 1fr;
  }

  .vms-activity {
    order: 2;
  }

  #notification-work-queue {
    max-width: none;
  }

  .schedule-command-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .communication-hub-head,
  .communication-route-grid,
  .message-work-item {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .vendor-vms {
    padding-top: 78px;
  }

  .vms-topbar {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px 16px 16px;
  }

  .vms-topbar .button {
    width: 100%;
  }

  .vms-org strong {
    font-size: 1.1rem;
  }

  .vms-tabs {
    display: flex;
    gap: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding: 10px 10px 12px;
  }

  .vms-tabs > div {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    min-width: max-content;
    padding: 0 10px 0 0;
    scroll-snap-align: start;
  }

  .vms-tabs strong {
    padding: 8px 4px;
    font-size: .74rem;
  }

  .vms-tabs small {
    display: none;
  }

  .vms-tabs a {
    min-height: 32px;
    padding: 7px 9px;
    font-size: .78rem;
  }

  .vms-layout {
    gap: 14px;
    padding: 14px 14px 34px;
  }

  .portal-command-overview,
  .portal-workspace-directory,
  .portal-completion-guide,
  .portal-context-command,
  .portal-page-intro,
  .vms-panel {
    border-radius: 8px;
  }

  .portal-command-hero,
  .portal-workspace-head,
  .portal-completion-head,
  .portal-context-main,
  .portal-page-intro {
    padding: 18px;
  }

  .portal-command-hero h2,
  .portal-workspace-head h2,
  .portal-completion-head h2,
  .portal-context-copy h1,
  .portal-page-intro h1,
  .vms-panel h2 {
    font-size: clamp(1.25rem, 8vw, 1.55rem);
  }

  .portal-command-actions,
  .portal-context-actions,
  .portal-action-rail,
  .portal-empty-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .portal-command-actions .button,
  .portal-action-rail .button,
  .portal-empty-actions .button {
    width: 100%;
    min-width: 0;
  }

  .portal-command-score {
    min-height: 0;
  }

  .communication-hub-head,
  .communication-route-grid,
  .communication-hub-summary,
  .message-work-filters {
    grid-template-columns: 1fr;
  }

  .communication-hub-head {
    padding: 14px;
  }

  .communication-route {
    min-height: 0;
  }

  .portal-command-score strong {
    font-size: 2.35rem;
  }

  .portal-command-metric {
    min-height: 96px;
  }

  .portal-command-metric strong {
    font-size: 1.75rem;
  }

  .record-trust-bar {
    display: grid;
    grid-template-columns: 1fr;
  }

  .record-trust-summary summary,
  .workflow-resolution-head {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .record-trust-summary summary {
    flex-direction: column;
  }

  .record-trust-summary summary em {
    margin-left: 0;
    width: 100%;
  }

  .record-trust-bar span {
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .workflow-resolution-panel .button {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }

  .notification-work-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .message-work-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .communication-hub-head {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .communication-hub-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .communication-notices summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .message-work-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .message-work-item {
    grid-template-columns: 1fr;
  }

  .notification-work-form div {
    display: grid;
    grid-template-columns: 1fr;
  }

  .message-work-form div {
    display: grid;
    grid-template-columns: 1fr;
  }

  .notification-work-form .button {
    width: 100%;
    min-width: 0;
  }

  .message-work-form .button {
    width: 100%;
    min-width: 0;
  }

  .candidate-decision-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .candidate-decision-head em {
    text-align: left;
  }

  .candidate-work-filters,
  .candidate-work-strip {
    grid-template-columns: 1fr;
  }

  .candidate-work-filters a {
    min-height: 44px;
  }

  .candidate-decision-state,
  .candidate-decision-form {
    grid-template-columns: 1fr;
  }

  .candidate-decision-form div {
    display: grid;
    grid-template-columns: 1fr;
  }

  .candidate-decision-form .button {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }

  .candidate-assignment-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .candidate-assignment-head em {
    text-align: left;
  }

  .candidate-assignment-summary,
  .candidate-assignment-form,
  .candidate-score-grid {
    grid-template-columns: 1fr;
  }

  .candidate-assignment-form .button {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }

  .request-release-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .request-release-head em {
    text-align: left;
  }

  .request-release-meta,
  .request-vendor-response-strip,
  .request-release-form {
    grid-template-columns: 1fr;
  }

  .request-release-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .request-release-actions .button {
    justify-content: center;
    min-width: 0;
    width: 100%;
  }

  .assignment-start-head,
  .assignment-closeout-head {
    flex-direction: column;
  }

  .assignment-closeout-clearance-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .assignment-closeout-clearance-item {
    grid-template-columns: 1fr;
  }

  .packet-exception-head {
    flex-direction: column;
  }

  .packet-exception-head > strong {
    width: 100%;
  }

  .packet-exception-row {
    grid-template-columns: 1fr;
  }

  .packet-exception-review div,
  .packet-exception-reminder {
    display: grid;
    grid-template-columns: 1fr;
  }

  .packet-exception-review .button,
  .packet-exception-reminder .button {
    justify-content: center;
    min-width: 0;
    width: 100%;
  }

  .assignment-onboarding-head {
    flex-direction: column;
  }

  .assignment-onboarding-clearance {
    align-items: flex-start;
    flex-direction: column;
  }

  .assignment-onboarding-clearance span {
    text-align: left;
  }

  .assignment-disruption-head {
    flex-direction: column;
  }

  .assignment-disruption-head > strong {
    width: 100%;
  }

  .assignment-start-head > strong,
  .assignment-closeout-state {
    text-align: left;
    width: 100%;
  }

  .assignment-onboarding-score {
    text-align: left;
    width: 100%;
  }

  .assignment-start-meta,
  .assignment-start-form,
  .assignment-closeout-meta,
  .assignment-closeout-form,
  .assignment-onboarding-meta,
  .assignment-onboarding-form,
  .assignment-issue-form,
  .assignment-issue-create-form,
  .assignment-disruption-form,
  .assignment-disruption-create-form,
  .assignment-recovery-strip,
  .finance-review-meta,
  .finance-review-form {
    grid-template-columns: 1fr;
  }

  .assignment-start-form .button,
  .assignment-closeout-form .button,
  .assignment-onboarding-form .button,
  .assignment-issue-form .button,
  .assignment-issue-create-form .button,
  .assignment-disruption-form .button,
  .assignment-disruption-create-form .button {
    justify-content: center;
    min-width: 0;
    width: 100%;
  }

  .invoice-builder-disclosure summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .invoice-builder-disclosure summary em {
    text-align: left;
  }

  .assignment-start-form div {
    display: grid;
    grid-template-columns: 1fr;
  }

  .assignment-onboarding-actions {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
  }

  .assignment-issue-create-form .wide,
  .assignment-disruption-create-form .wide,
  .assignment-issue-actions,
  .assignment-disruption-actions {
    grid-column: auto;
  }

  .finance-review-head {
    flex-direction: column;
  }

  .finance-review-state {
    text-align: left;
    width: 100%;
  }

  .finance-review-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .finance-review-actions .button,
  .finance-review-form > .button {
    justify-content: center;
    min-width: 0;
    width: 100%;
  }

  .finance-resolution-detail summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .finance-resolution-detail summary strong {
    text-align: left;
  }

  .provider-interest-form,
  .provider-interest-triage,
  .document-renewal-form {
    grid-template-columns: 1fr;
  }

  .document-action-drawer .credential-review-actions,
  .document-action-drawer .vendor-submission-actions.credential-review-actions {
    grid-template-columns: 1fr;
  }

  .readiness-command-head,
  .readiness-command-body,
  .readiness-command-metrics,
  .readiness-command-detail-grid,
  .schedule-command-head,
  .schedule-command-metrics,
  .schedule-command-detail-grid,
  .coverage-pipeline-head,
  .coverage-pipeline-metrics,
  .coverage-pipeline-detail-grid,
  .assignment-flow-head,
  .assignment-flow-metrics,
  .assignment-flow-detail-grid,
  .provider-profile-center-hero,
  .provider-profile-center-body,
  .provider-profile-readiness-summary,
  .provider-profile-section-card-grid {
    grid-template-columns: 1fr;
  }

  .readiness-command-head aside,
  .schedule-command-head aside,
  .coverage-pipeline-head aside,
  .assignment-flow-head aside,
  .readiness-command-detail summary em {
    text-align: left;
  }

  .readiness-command-detail summary,
  .schedule-command-detail summary,
  .coverage-pipeline-detail summary,
  .assignment-flow-detail summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .provider-interest-actions .button {
    justify-content: center;
    min-width: 0;
    width: 100%;
  }

  .record-history-panel summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .vms-panel form.form-grid,
  .vms-panel .compact-form,
  .vms-panel .intake-form.compact-form {
    padding: 14px;
  }

  .vms-panel table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}

.action-center-section {
  padding-top: 18px;
}

.action-center-metrics {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  margin-bottom: 20px;
}

.action-center-metric {
  display: block;
  padding: 16px;
  border: 1px solid #d6dde5;
  border-radius: 10px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 10px 28px rgba(17, 24, 39, .06);
}

.action-center-metric strong,
.action-center-metric span,
.action-center-metric small {
  display: block;
}

.action-center-metric strong {
  font-size: 30px;
  line-height: 1;
}

.action-center-metric span {
  margin-top: 8px;
  color: #111827;
  font-weight: 800;
}

.action-center-metric small {
  margin-top: 8px;
  color: #6b7280;
  line-height: 1.35;
}

.action-center-layout {
  padding: 0;
}

.action-center-guidance {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: -4px 0 20px;
  padding: 12px 14px;
  border: 1px solid #bfdbfe;
  border-radius: 12px;
  background: #eff6ff;
  color: #1e3a8a;
  line-height: 1.45;
}

.action-center-guidance strong {
  white-space: nowrap;
}

.action-center-guidance span {
  color: #334155;
}

.action-item {
  border-left: 6px solid #2e6fa9;
}

.action-tone-critical {
  border-color: #dc2626;
}

.action-tone-watch {
  border-color: #f59e0b;
}

.action-tone-active {
  border-color: #2e6fa9;
}

.action-tone-ready {
  border-color: #16a34a;
}

.action-lifecycle {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 20px;
}

.action-lifecycle li {
  padding: 10px 0;
  border-bottom: 1px solid #e5e7eb;
}

.action-lifecycle strong,
.action-lifecycle span {
  display: block;
}

.action-lifecycle span {
  margin-top: 4px;
  color: #6b7280;
  font-size: 13px;
}

/* Mobile admin dashboard cleanup: keeps Action Center and Documents usable on phones. */
@media (max-width: 760px) {
  .detail-hero .section-inner > .button,
  .detail-hero .section-inner > .admin-logout {
    width: 100%;
    justify-content: center;
    margin-top: 8px;
  }

  .action-center-section .section-inner {
    width: min(100% - 24px, 1180px);
  }

  .action-center-section .vms-panel-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .action-center-section .vms-panel-head > span {
    padding: 8px 10px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 12px;
    line-height: 1.35;
  }

  .action-center-metrics {
    grid-template-columns: 1fr;
  }

  .action-center-metric {
    padding: 14px;
  }

  .action-center-metric strong {
    font-size: 26px;
  }

  .action-center-guidance {
    display: block;
    margin-top: -8px;
  }

  .action-center-guidance strong,
  .action-center-guidance span {
    display: block;
  }

  .action-center-guidance span {
    margin-top: 4px;
  }

  .action-center-layout,
  .document-center-section .action-center-layout {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .action-item.opportunity-card,
  .document-center-section .opportunity-card {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .action-item .button,
  .document-center-section .button {
    width: 100%;
    justify-content: center;
  }
}

/* Shared queue search/sort/PDF controls for hospital, vendor, and provider workflow queues. */
.queue-control-bar {
  display: grid;
  grid-template-columns: minmax(240px, 1.6fr) minmax(180px, .8fr) auto;
  align-items: end;
  gap: 14px;
  margin: 16px 0 18px;
  padding: 14px;
  border: 1px solid rgba(31, 122, 90, .18);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(243, 247, 245, .94));
  box-shadow: 0 14px 36px rgba(18, 33, 29, .08);
}

.queue-control-bar label {
  display: grid;
  gap: 6px;
  margin: 0;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.queue-control-bar input,
.queue-control-bar select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d9e3de;
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  padding: 11px 15px;
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.queue-control-bar input:focus,
.queue-control-bar select:focus {
  outline: 3px solid rgba(31, 122, 90, .16);
  border-color: rgba(31, 122, 90, .56);
}

.queue-control-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.queue-control-bar > p {
  grid-column: 1 / -1;
  margin: -2px 4px 0;
  color: #64748b;
  font-size: 13px;
}

@media (max-width: 860px) {
  .queue-control-bar {
    grid-template-columns: 1fr;
    border-radius: 18px;
  }

  .queue-control-actions,
  .queue-control-actions .button {
    width: 100%;
    justify-content: center;
  }
}

body.print-mode .no-print,
body.print-mode .site-header,
body.print-mode .site-footer {
  display: none !important;
}

body.print-mode {
  background: #f6f8f7;
}

.print-letterhead {
  display: none;
}

body.print-mode .print-letterhead {
  display: block;
  width: min(1120px, calc(100% - 40px));
  margin: 24px auto 22px;
  padding: 28px;
  color: #12211d;
  background:
    linear-gradient(135deg, rgba(15, 47, 42, .98), rgba(31, 122, 90, .92)) top/100% 10px no-repeat,
    #fff;
  border: 1px solid #d9e3de;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(18, 33, 29, .12);
}

.print-letterhead-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid #d9e3de;
}

.print-letterhead-brand img {
  max-width: 260px;
  height: auto;
}

.print-letterhead-brand div {
  text-align: right;
}

.print-letterhead-brand span,
.print-letterhead-title p,
.print-particulars span {
  display: block;
  color: #1f7a5a;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.print-letterhead-brand strong {
  display: block;
  margin-top: 4px;
  color: #29415d;
  font-size: 15px;
}

.print-letterhead-title {
  padding: 22px 0 18px;
}

.print-letterhead-title h1 {
  margin: 6px 0 8px;
  color: #0f2f2a;
  font-size: clamp(28px, 5vw, 48px);
  line-height: 1.02;
}

.print-letterhead-title > span {
  color: #64748b;
  font-weight: 700;
}

.print-particulars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.print-particulars article {
  padding: 13px 14px;
  border: 1px solid #d9e3de;
  border-radius: 12px;
  background: #f8fbfa;
}

.print-particulars strong {
  display: block;
  margin-top: 6px;
  color: #12211d;
  font-size: 14px;
  line-height: 1.35;
}

.print-confidentiality {
  margin: 18px 0 0;
  padding: 12px 14px;
  color: #475569;
  background: #f3f8f5;
  border-left: 4px solid #1f7a5a;
  border-radius: 10px;
  font-size: 13px;
}

/* Admin Access Review */
.access-review-page .vms-topbar {
  align-items: center;
}

.access-review-layout {
  grid-template-columns: minmax(0, 1fr) 340px;
}

.access-review-metrics .vms-metric p {
  margin: 10px 0 0;
  color: #64748b;
  font-size: 14px;
  line-height: 1.4;
}

.access-review-portal .vms-panel-head p {
  margin: 6px 0 0;
  color: #64748b;
}

.access-role-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.access-role-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid #dbe4ee;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}

.access-role-head {
  display: grid;
  gap: 6px;
}

.access-role-head strong {
  color: #0f172a;
  font-size: 20px;
}

.access-role-card > p {
  margin: 0;
  color: #475569;
  line-height: 1.55;
}

.access-review-matrix {
  display: grid;
  gap: 10px;
  margin: 0;
}

.access-review-matrix div {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
}

.access-review-matrix dt {
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.access-review-matrix dd {
  margin: 0;
  color: #334155;
  font-weight: 700;
  line-height: 1.35;
}

.access-audit-list {
  display: grid;
  gap: 12px;
}

.access-audit-list article {
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
}

.access-audit-list strong {
  color: #0f172a;
}

.access-audit-list p {
  margin: 6px 0;
  color: #475569;
}

.access-audit-list span {
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.access-review-sidebar .vms-panel {
  display: grid;
  gap: 12px;
}

.permission-change-summary {
  margin: 18px 0;
  border-color: #99f6e4;
  background: linear-gradient(180deg, #f0fdfa 0%, #ffffff 100%);
}

.admin-access-review-editor {
  display: grid;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid #e2e8f0;
}

.access-toggle-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.access-toggle {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid #dbe4ee;
  border-radius: 12px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}

.access-toggle input {
  margin-top: 2px;
  accent-color: #0f766e;
}

.access-impact-note {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
}

@media (max-width: 760px) {
  .access-toggle-grid {
    grid-template-columns: 1fr;
  }
}

/* 2026-07 portal UX polish: inspired by open-source Tabler/AdminLTE/Flowbite dashboard patterns.
   Focus: scan-first cards, clearer hierarchy, friendly blocker mode, and touch-safe CTAs. */
.vendor-vms .vms-panel,
.vendor-vms .vms-metric,
.vendor-vms .vms-grid article,
.portal-priority-workbench,
.readiness-command,
.assignment-flow-command,
.schedule-command,
.provider-profile-hub {
  border-radius: 18px !important;
  border-color: #dbe5ee !important;
  box-shadow: 0 18px 46px rgba(15, 23, 42, .08) !important;
}

.vendor-vms .vms-panel-head h2,
.provider-action-center .vms-panel-head h2,
.portal-priority-copy h2,
.readiness-command-head h2,
.assignment-flow-head h2,
.schedule-command-head h2,
.provider-profile-hero-card h2 {
  letter-spacing: -.035em;
}

.vms-action-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 16px !important;
}

.vms-action-card {
  position: relative;
  overflow: hidden;
  min-height: 164px !important;
  padding: 18px 18px 16px !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.vms-action-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: #2e6fa9;
  opacity: .18;
}

.vms-action-card.needs-action::before,
.vms-action-card.tone-critical::before {
  background: #dc2626;
  opacity: .8;
}

.vms-action-card.is-selected::before {
  background: #0f766e;
  opacity: 1;
}

.vms-action-card:hover,
.vms-action-card:focus-visible {
  transform: translateY(-2px);
  border-color: #93b7d8 !important;
  box-shadow: 0 18px 40px rgba(46, 111, 169, .14) !important;
  outline: none;
}

.vms-action-card span {
  color: #475569 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.vms-action-card strong {
  letter-spacing: -.045em;
}

.vms-action-card em,
.vms-action-card .card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 36px;
  padding: 8px 12px !important;
  border: 1px solid #bdd4e9;
  border-radius: 999px !important;
  background: #fff !important;
  color: #1d4f86 !important;
  font-size: 13px;
  font-weight: 900;
}

.vms-action-card em::after,
.vms-action-card .card-link::after {
  content: "→";
  margin-left: 7px;
}

.provider-focus-banner {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid #b7dccd;
  border-radius: 18px;
  background: linear-gradient(135deg, #f0fdf8 0%, #eff6ff 100%);
  box-shadow: 0 16px 36px rgba(15, 118, 110, .12);
}

.provider-focus-icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 16px;
  background: #0f766e;
  color: #fff;
  font-size: 26px;
}

.provider-focus-banner span,
.portal-command-kicker,
.portal-priority-section-head span {
  letter-spacing: .08em;
  text-transform: uppercase;
}

.provider-focus-banner span {
  color: #0f766e;
  font-size: 12px;
  font-weight: 900;
}

.provider-focus-banner strong {
  display: block;
  margin-top: 2px;
  color: #142b44;
  font-size: 21px;
  line-height: 1.15;
}

.provider-focus-banner p {
  margin: 4px 0 0;
  color: #475569;
}

.provider-focus-banner .button {
  min-height: 42px;
  justify-content: center;
  white-space: nowrap;
}

.portal-priority-workbench {
  padding: 18px !important;
  background: #fff !important;
}

.portal-priority-hero,
.readiness-command-head,
.assignment-flow-head,
.schedule-command-head,
.provider-profile-hero-card {
  border-radius: 18px !important;
  background: linear-gradient(135deg, #0f172a 0%, #183150 52%, #1f7a5a 100%) !important;
  color: #fff !important;
}

.portal-priority-hero p,
.readiness-command-head p,
.assignment-flow-head p,
.schedule-command-head p,
.provider-profile-hero-card p {
  color: rgba(255, 255, 255, .82) !important;
}

.portal-priority-copy h2,
.readiness-command-head h2,
.assignment-flow-head h2,
.schedule-command-head h2,
.provider-profile-hero-card h2 {
  color: #fff !important;
}

.portal-priority-focus,
.readiness-command-head aside,
.assignment-flow-head aside,
.schedule-command-head aside,
.provider-profile-score-card {
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  backdrop-filter: blur(8px);
}

.portal-priority-focus span,
.portal-priority-focus p,
.readiness-command-head aside span,
.readiness-command-head aside em,
.assignment-flow-head aside span,
.assignment-flow-head aside em,
.schedule-command-head aside span,
.schedule-command-head aside em,
.provider-profile-score-card span,
.provider-profile-score-card p {
  color: rgba(255,255,255,.78) !important;
}

.portal-priority-focus strong,
.readiness-command-head aside strong,
.assignment-flow-head aside strong,
.schedule-command-head aside strong,
.provider-profile-score-card strong {
  color: #fff !important;
}

.portal-priority-focus .portal-priority-score strong {
  color: #17324f !important;
}

.portal-priority-focus .portal-priority-score span,
.portal-priority-focus .portal-priority-score p {
  color: #475569 !important;
}

.portal-priority-focus .portal-priority-focus-item strong {
  color: #142b44 !important;
}

.portal-priority-focus .portal-priority-focus-item p,
.portal-priority-focus .portal-priority-focus-item em {
  color: #475569 !important;
}

.portal-priority-focus-item,
.portal-priority-metric,
.portal-priority-item,
.readiness-command-metric,
.assignment-flow-metric,
.schedule-command-metric,
.provider-profile-status-card {
  border-radius: 16px !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06) !important;
}

.portal-priority-focus-item,
.portal-priority-item,
.provider-profile-status-card {
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.portal-priority-focus-item:hover,
.portal-priority-item:hover,
.portal-priority-metric:hover,
.readiness-command-metric:hover,
.assignment-flow-metric:hover,
.schedule-command-metric:hover,
.provider-profile-status-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(15, 23, 42, .12) !important;
}

.portal-priority-focus-item.tone-critical,
.portal-priority-item.tone-critical,
.portal-priority-metric.tone-critical,
.readiness-command-metric.tone-critical,
.assignment-flow-metric.tone-critical,
.schedule-command-metric.tone-critical,
.provider-profile-status-card.tone-critical {
  border-color: #fecaca !important;
  background: linear-gradient(180deg, #fff7f7 0%, #fff 100%) !important;
}

.portal-priority-focus-item.tone-watch,
.portal-priority-item.tone-watch,
.portal-priority-metric.tone-watch,
.readiness-command-metric.needs-action,
.assignment-flow-metric.needs-action,
.schedule-command-metric.needs-action,
.provider-profile-status-card.tone-watch {
  border-color: #fde68a !important;
  background: linear-gradient(180deg, #fffbeb 0%, #fff 100%) !important;
}

.portal-priority-focus-item.tone-ready,
.portal-priority-item.tone-ready,
.portal-priority-metric.tone-ready,
.readiness-command-metric.tone-ready,
.assignment-flow-metric.tone-ready,
.schedule-command-metric.tone-ready,
.provider-profile-status-card.tone-ready {
  border-color: #bbf7d0 !important;
  background: linear-gradient(180deg, #f0fdf4 0%, #fff 100%) !important;
}

.provider-profile-card-grid,
.vendor-interface-card-grid,
.hospital-interface-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
}

.provider-profile-status-card b,
.portal-priority-focus-item b,
.portal-priority-item b {
  display: inline-flex;
  width: fit-content;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: #183150;
  color: #fff !important;
  font-size: 12px;
  font-weight: 900;
}

.provider-profile-status-card b::after,
.portal-priority-focus-item b::after,
.portal-priority-item b::after {
  content: "→";
  margin-left: 6px;
}

.provider-profile-steps a {
  border-radius: 16px !important;
  background: #fff !important;
}

@media (max-width: 900px) {
  .provider-focus-banner,
  .portal-priority-hero,
  .readiness-command-head,
  .assignment-flow-head,
  .schedule-command-head,
  .provider-profile-hero-card {
    grid-template-columns: 1fr !important;
  }

  .provider-focus-banner .button {
    width: 100%;
  }
}

@media print {
  .no-print,
  .site-header,
  .vms-tabs,
  .dashboard-actions,
  .opportunity-actions,
  .provider-interest-form,
  form:not(.print-keep) {
    display: none !important;
  }

  body {
    background: #fff !important;
    color: #111827 !important;
  }

  .detail-hero,
  .vms-panel,
  .provider-command-card,
  .candidate-review-card,
  .vendor-submission-card,
  .vms-action-card,
  .assignment-command-card {
    break-inside: avoid;
    box-shadow: none !important;
    border-color: #cbd5e1 !important;
  }

  a[href]::after {
    content: "" !important;
  }
}

/* locumfriends-expense-readable-flow-final-overrides */
.provider-expense-workspace { gap: 20px !important; }
.provider-expense-workspace .expense-page-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 22px 24px !important;
  border: 1px solid #d6dde5 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06) !important;
}
.provider-expense-workspace .expense-page-head h2 {
  margin: 2px 0 4px !important;
  color: #183150 !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
}
.provider-expense-workspace .expense-page-head span {
  color: #64748b !important;
  font-weight: 800 !important;
}
.provider-expense-workspace .expense-page-head .button,
.provider-expense-workspace .professional-expense-submit .button,
.provider-expense-workspace .expense-empty-state .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
.provider-expense-workspace .expense-summary-bar {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.provider-expense-workspace .expense-summary-bar a {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 76px !important;
  padding: 16px !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .05) !important;
}
.provider-expense-workspace .expense-summary-bar i {
  display: inline-flex !important;
  width: 38px !important;
  height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  background: #eef8f3 !important;
  color: #145d43 !important;
  font-size: 20px !important;
}
.provider-expense-workspace .expense-summary-bar span { letter-spacing: .04em !important; }
.provider-expense-workspace .expense-summary-bar strong { font-size: 30px !important; text-align: right !important; }
.provider-expense-workspace .expense-entry-form {
  overflow: hidden !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .08) !important;
}
.provider-expense-workspace .professional-expense-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(135deg, #12382f 0%, #183150 100%) !important;
}
.provider-expense-workspace .expense-head-steps {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  max-width: 360px !important;
}
.provider-expense-workspace .expense-head-steps span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.provider-expense-workspace .professional-expense-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 34%) !important;
  gap: 0 !important;
  border-top: 1px solid #e2e8f0 !important;
  background: #fff !important;
}
.provider-expense-workspace .professional-expense-form .expense-primary-card,
.provider-expense-workspace .professional-expense-form .expense-help-card { border-radius: 0 !important; box-shadow: none !important; }
.provider-expense-workspace .professional-expense-form .expense-primary-card { padding: 24px !important; border: 0 !important; background: #fff !important; }
.provider-expense-workspace .professional-expense-form .expense-help-card { padding: 24px !important; border: 0 !important; border-left: 1px solid #e2e8f0 !important; background: #f8fafc !important; }
.provider-expense-workspace .professional-expense-types {
  padding: 18px 24px !important;
  border-top: 1px solid #e2e8f0 !important;
  background: #fbfcfd !important;
}
.provider-expense-workspace .expense-assignment-first {
  display: grid !important;
  gap: 16px !important;
  padding: 20px 24px !important;
  border-top: 1px solid #e2e8f0 !important;
  background: #fff !important;
}
.provider-expense-workspace .expense-assignment-grid {
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) minmax(320px, 1.3fr) !important;
  gap: 16px !important;
  align-items: start !important;
}
.provider-expense-workspace .expense-assignment-select,
.provider-expense-workspace .expense-vendor-fallback label {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .expense-assignment-select select,
.provider-expense-workspace .expense-vendor-fallback select {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 10px 12px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #183150 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.provider-expense-workspace .expense-derived-context {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.provider-expense-workspace .expense-derived-context span {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
  padding: 12px !important;
  border: 1px solid #d6dde5 !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
}
.provider-expense-workspace .expense-derived-context strong {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .expense-derived-context em {
  color: #183150 !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}
.provider-expense-workspace .expense-vendor-fallback {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 8px !important;
  background: #fbfcfd !important;
}
.provider-expense-workspace .expense-vendor-fallback summary {
  cursor: pointer !important;
  color: #183150 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.provider-expense-workspace .expense-vendor-fallback label { margin-top: 10px !important; }
.provider-expense-workspace .compact-expense-types { grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)) !important; gap: 10px !important; }
.provider-expense-workspace .compact-expense-types span {
  display: flex !important;
  min-height: 46px !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  white-space: normal !important;
}
.provider-expense-workspace .compact-expense-types i { color: #1f7a5a !important; font-size: 18px !important; }
.provider-expense-workspace .compact-expense-types input:checked + span i { color: #145d43 !important; }
.provider-expense-workspace .expense-section-title { margin-bottom: 14px !important; padding-bottom: 12px !important; }
.provider-expense-workspace .expense-section-title span,
.provider-expense-workspace .expense-section-title strong { display: inline-flex !important; align-items: center !important; white-space: nowrap !important; }
.provider-expense-workspace .expense-section-title span,
.provider-expense-workspace .compact-expense-details summary span {
  gap: 7px !important;
}
.provider-expense-workspace .expense-section-title i,
.provider-expense-workspace .compact-expense-details summary i {
  color: #1f7a5a !important;
  font-size: 17px !important;
}
.provider-expense-workspace .expense-section-title strong {
  letter-spacing: .05em !important;
}
.provider-expense-workspace .expense-core-grid { display: grid !important; grid-template-columns: repeat(2, minmax(180px, 1fr)) !important; gap: 16px !important; align-items: start !important; }
.provider-expense-workspace .expense-core-grid .full-width { grid-column: 1 / -1 !important; }
.provider-expense-workspace .expense-core-grid label,
.provider-expense-workspace .professional-expense-review label,
.provider-expense-workspace .expense-detail-grid label { display: grid !important; gap: 8px !important; min-width: 0 !important; margin: 0 !important; color: #334155 !important; font-size: 12px !important; font-weight: 950 !important; letter-spacing: .04em !important; line-height: 1.2 !important; text-transform: uppercase !important; white-space: normal !important; }
.provider-expense-workspace .expense-core-grid label > span:first-child,
.provider-expense-workspace .professional-expense-review label > span:first-child,
.provider-expense-workspace .expense-detail-grid label > span:first-child { display: block !important; color: #334155 !important; font-size: 12px !important; font-weight: 950 !important; letter-spacing: .04em !important; line-height: 1.2 !important; text-transform: uppercase !important; }
.provider-expense-workspace .expense-core-grid input,
.provider-expense-workspace .expense-core-grid select,
.provider-expense-workspace .expense-core-grid textarea,
.provider-expense-workspace .professional-expense-review input,
.provider-expense-workspace .expense-detail-grid input,
.provider-expense-workspace .expense-detail-grid select,
.provider-expense-workspace .expense-detail-grid textarea { width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; min-height: 46px !important; padding: 10px 12px !important; border: 1px solid #cbd5e1 !important; border-radius: 8px !important; background: #fff !important; color: #183150 !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: normal !important; text-transform: none !important; }
.provider-expense-workspace .expense-core-grid textarea,
.provider-expense-workspace .expense-detail-grid textarea { min-height: 88px !important; }
.provider-expense-workspace .currency-input { display: grid !important; grid-template-columns: 42px minmax(0, 1fr) !important; align-items: stretch !important; }
.provider-expense-workspace .currency-input em { display: flex !important; align-items: center !important; justify-content: center !important; border: 1px solid #cbd5e1 !important; border-right: 0 !important; border-radius: 8px 0 0 8px !important; background: #f1f5f9 !important; color: #183150 !important; font-style: normal !important; font-weight: 950 !important; }
.provider-expense-workspace .currency-input input { border-radius: 0 8px 8px 0 !important; }
.provider-expense-workspace .professional-receipt-zone { display: grid !important; gap: 9px !important; min-height: 0 !important; padding: 16px !important; border: 1px dashed #9ab8aa !important; border-radius: 8px !important; background: #fbfefd !important; }
.provider-expense-workspace .professional-receipt-zone.is-dragging { border-color: #2563eb !important; background: #eff6ff !important; }
.provider-expense-workspace .professional-receipt-zone input[type="file"] { display: block !important; width: 100% !important; padding: 12px !important; border: 1px solid #cbd5e1 !important; border-radius: 8px !important; background: #fff !important; }
.provider-expense-workspace .professional-receipt-zone small { color: #64748b !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: normal !important; text-transform: none !important; }
.provider-expense-workspace .professional-receipt-head,
.provider-expense-workspace .professional-receipt-native-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
}
.provider-expense-workspace .professional-receipt-head span,
.provider-expense-workspace .professional-receipt-native-grid label > span {
  color: #183150 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .professional-receipt-head em,
.provider-expense-workspace .receipt-camera-note,
.provider-expense-workspace .receipt-upload-status {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}
.provider-expense-workspace .professional-receipt-uploader {
  min-height: 420px !important;
}
.provider-expense-workspace .professional-receipt-uploader .uppy-Dashboard-inner {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 420px !important;
  border-color: #d6dde5 !important;
  border-radius: 8px !important;
}
.provider-expense-workspace .professional-receipt-uploader .uppy-Webcam-footer,
.provider-expense-workspace .professional-receipt-uploader .uppy-Webcam-buttonContainer {
  min-height: 75px !important;
  overflow: visible !important;
}
.provider-expense-workspace .provider-native-camera-actions {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.provider-expense-workspace .provider-native-camera-button {
  width: fit-content !important;
  min-width: 128px !important;
}
.provider-expense-workspace .receipt-upload-status {
  padding: 10px 12px !important;
  border: 1px solid #d6e4df !important;
  border-radius: 8px !important;
  background: #f8fcfa !important;
  color: #14352d !important;
}
.provider-expense-workspace .expense-network-status {
  display: inline-flex !important;
  width: fit-content !important;
  margin-top: 6px !important;
  padding: 5px 9px !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 999px !important;
  background: #eff6ff !important;
  color: #1e3a8a !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.provider-expense-workspace [data-provider-expense-online="0"] .expense-network-status {
  border-color: #fed7aa !important;
  background: #fff7ed !important;
  color: #9a3412 !important;
}
.provider-expense-workspace .expense-option-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: -2px !important;
}
.provider-expense-workspace .expense-option-chip {
  min-height: 32px !important;
  padding: 7px 10px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #183150 !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.provider-expense-workspace .expense-option-chip[aria-pressed="true"] {
  border-color: #1f7a5a !important;
  background: #ecfdf5 !important;
  color: #145d43 !important;
}
.provider-expense-workspace .expense-validation-message {
  min-height: 16px !important;
  color: #b42318 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.provider-expense-workspace [aria-invalid="true"] {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .12) !important;
}
.provider-expense-workspace .provider-receipt-inbox {
  display: grid !important;
  gap: 12px !important;
  margin: 14px 0 !important;
  padding: 14px !important;
  border: 1px solid #d6e4df !important;
  border-radius: 8px !important;
  background: #fbfefd !important;
}
.provider-expense-workspace .provider-receipt-inbox > p {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.provider-expense-workspace .provider-receipt-inbox-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 10px !important;
}
.provider-expense-workspace .provider-receipt-inbox-card {
  display: grid !important;
  gap: 10px !important;
  padding: 12px !important;
  border: 1px solid #d6dde5 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.provider-expense-workspace .provider-receipt-inbox-card h3 {
  margin: 0 !important;
  color: #183150 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
}
.provider-expense-workspace .provider-receipt-inbox-card dl {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
}
.provider-expense-workspace .provider-receipt-inbox-card dt {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .provider-receipt-inbox-card dd {
  margin: 0 !important;
  color: #14352d !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  overflow-wrap: anywhere !important;
}
.provider-expense-workspace .provider-receipt-inbox-card p {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}
.provider-expense-workspace .provider-receipt-warning-list {
  display: grid !important;
  gap: 6px !important;
  margin: 0 !important;
  padding-left: 18px !important;
  color: #991b1b !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}
.provider-expense-workspace .provider-expense-receipt-preview,
.provider-expense-workspace .provider-expense-attachment-list {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.provider-expense-workspace .provider-expense-receipt-preview li,
.provider-expense-workspace .provider-expense-attachment-list li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, .85fr) auto auto auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border: 1px solid #d6dde5 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.provider-expense-workspace .provider-expense-receipt-preview li:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .28) !important;
  outline-offset: 2px !important;
}
.provider-expense-workspace .provider-expense-receipt-preview .sortable-ghost {
  opacity: .55 !important;
}
.provider-expense-workspace .receipt-order-controls {
  display: inline-flex !important;
  gap: 6px !important;
  justify-content: flex-end !important;
}
.provider-expense-workspace .receipt-order-controls .button {
  min-height: 34px !important;
  padding: 7px 9px !important;
  font-size: 12px !important;
}
.provider-expense-workspace .provider-expense-receipt-preview span,
.provider-expense-workspace .provider-expense-attachment-list span {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  color: #183150 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}
.provider-expense-workspace .provider-expense-receipt-preview em,
.provider-expense-workspace .provider-expense-attachment-list em {
  color: #64748b !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 800 !important;
}
.provider-expense-workspace .provider-expense-pdf-preview {
  display: grid !important;
  gap: 10px !important;
  padding: 12px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.provider-expense-workspace .provider-expense-pdf-preview[hidden] {
  display: none !important;
}
.provider-expense-workspace .provider-expense-pdf-preview > div {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.provider-expense-workspace .provider-expense-pdf-preview canvas {
  width: 100% !important;
  max-height: 520px !important;
  border: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  object-fit: contain !important;
}
.provider-expense-workspace .provider-expense-pdf-preview p {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.provider-expense-workspace .professional-expense-review dl { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; margin: 0 0 14px !important; }
.provider-expense-workspace .professional-expense-review dl div { padding: 12px !important; border-radius: 8px !important; }
.provider-expense-workspace .professional-expense-review { grid-template-columns: 1fr !important; align-content: start !important; }
.provider-expense-workspace .compact-expense-details {
  border: 0 !important;
  border-top: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
}
.provider-expense-workspace .expense-detail-grid section { border-radius: 8px !important; }
.provider-expense-workspace .professional-expense-submit { padding: 18px 24px !important; border-radius: 0 !important; }
.provider-expense-workspace .professional-expense-submit p {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.provider-expense-workspace .professional-expense-submit p strong {
  display: inline !important;
  color: #183150 !important;
}
.provider-expense-workspace .expense-draft-actions,
.provider-expense-workspace .expense-review-final-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}
.provider-expense-workspace .provider-expense-review-step {
  display: grid !important;
  gap: 16px !important;
  padding: 20px 24px 24px !important;
  border-top: 1px solid #e2e8f0 !important;
  background: #fff !important;
}
.provider-expense-workspace .provider-expense-review-step[hidden] {
  display: none !important;
}
.provider-expense-workspace .provider-expense-review-summary {
  display: grid !important;
  gap: 14px !important;
  padding: 16px !important;
  border: 1px solid #bfd6ca !important;
  border-radius: 8px !important;
  background: #fbfefd !important;
}
.provider-expense-workspace .provider-expense-review-summary dl {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
}
.provider-expense-workspace .provider-expense-review-summary dl div,
.provider-expense-workspace .provider-expense-policy-checks,
.provider-expense-workspace .provider-expense-duplicate-warnings {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
  padding: 12px !important;
  border: 1px solid #d6dde5 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.provider-expense-workspace .provider-expense-review-summary dt,
.provider-expense-workspace .provider-expense-policy-checks strong,
.provider-expense-workspace .provider-expense-duplicate-warnings strong {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .provider-expense-review-summary dd {
  margin: 0 !important;
  color: #183150 !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  overflow-wrap: anywhere !important;
}
.provider-expense-workspace .provider-expense-duplicate-warnings ul,
.provider-expense-workspace .provider-expense-policy-checks ul {
  display: grid !important;
  gap: 6px !important;
  margin: 0 !important;
  padding-left: 18px !important;
  color: #334155 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.provider-expense-workspace .expense-policy-automation-panel,
.expense-review-panel .expense-policy-automation-panel {
  display: grid !important;
  gap: 12px !important;
  padding: 14px !important;
  border: 1px solid #d6e4df !important;
  border-radius: 8px !important;
  background: #f8fcfa !important;
}
.provider-expense-workspace .expense-policy-automation-head,
.expense-review-panel .expense-policy-automation-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.provider-expense-workspace .expense-policy-automation-head span,
.expense-review-panel .expense-policy-automation-head span,
.provider-expense-workspace .expense-policy-automation-head strong,
.expense-review-panel .expense-policy-automation-head strong {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  color: #14352d !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.provider-expense-workspace .expense-policy-automation-panel p,
.expense-review-panel .expense-policy-automation-panel p {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.provider-expense-workspace .expense-policy-source-grid,
.expense-review-panel .expense-policy-source-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
}
.provider-expense-workspace .expense-policy-source-grid div,
.expense-review-panel .expense-policy-source-grid div {
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.provider-expense-workspace .expense-policy-source-grid dt,
.expense-review-panel .expense-policy-source-grid dt {
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .expense-policy-source-grid dd,
.expense-review-panel .expense-policy-source-grid dd {
  margin: 3px 0 0 !important;
  color: #183150 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  overflow-wrap: anywhere !important;
}
.provider-expense-workspace .expense-policy-sources ul,
.provider-expense-workspace .expense-policy-check-list,
.expense-review-panel .expense-policy-sources ul,
.expense-review-panel .expense-policy-check-list {
  display: grid !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.provider-expense-workspace .expense-policy-sources li,
.provider-expense-workspace .expense-policy-check-list li,
.expense-review-panel .expense-policy-sources li,
.expense-review-panel .expense-policy-check-list li {
  display: grid !important;
  gap: 3px !important;
  padding: 9px 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.provider-expense-workspace .expense-policy-check-list li.severity-warning,
.expense-review-panel .expense-policy-check-list li.severity-warning {
  border-color: #efd69d !important;
  background: #fffaf0 !important;
}
.provider-expense-workspace .expense-policy-check-list li.severity-blocker,
.expense-review-panel .expense-policy-check-list li.severity-blocker {
  border-color: #f0b8a8 !important;
  background: #fff6f3 !important;
}
.provider-expense-workspace .expense-policy-sources strong,
.expense-review-panel .expense-policy-sources strong,
.provider-expense-workspace .expense-policy-sources span,
.expense-review-panel .expense-policy-sources span,
.provider-expense-workspace .expense-policy-check-list span,
.expense-review-panel .expense-policy-check-list span {
  color: #183150 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}
.provider-expense-workspace .expense-policy-sources em,
.expense-review-panel .expense-policy-sources em {
  color: #64748b !important;
  font-size: 11px !important;
  font-style: normal !important;
  overflow-wrap: anywhere !important;
}
.provider-expense-workspace .provider-expense-attestation-copy {
  margin: 0 !important;
  color: #145d43 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}
.provider-expense-workspace .expense-attestation-checks {
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid #bfd6ca !important;
  border-radius: 8px !important;
  background: #eef8f3 !important;
}
.provider-expense-workspace .expense-history-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding-top: 2px !important;
}
.provider-expense-workspace .expense-history-head h3 {
  margin: 0 !important;
  color: #183150 !important;
  font-size: 20px !important;
}
.provider-expense-workspace .expense-history-head > span {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .expense-empty-state {
  display: grid !important;
  justify-items: center !important;
  gap: 10px !important;
  grid-column: 1 / -1 !important;
  padding: 30px 20px !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 8px !important;
  background: #fff !important;
  text-align: center !important;
}
.provider-expense-workspace .expense-empty-state i {
  color: #64748b !important;
  font-size: 32px !important;
}
.provider-expense-workspace .expense-empty-state h3 {
  margin: 0 !important;
  color: #183150 !important;
}
.provider-expense-workspace .expense-empty-state p {
  max-width: 560px !important;
  margin: 0 !important;
  color: #64748b !important;
}
.provider-expense-workspace .provider-expense-add-action {
  min-height: 44px !important;
}
.provider-expense-workspace .provider-expense-status-tabs {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.provider-expense-workspace .provider-expense-status-tabs a {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
  min-height: 94px !important;
  padding: 14px !important;
  border: 1px solid #d6dde5 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #183150 !important;
  text-decoration: none !important;
}
.provider-expense-workspace .provider-expense-status-tabs a.is-active {
  border-color: #1f7a5a !important;
  background: #eef8f3 !important;
  box-shadow: inset 0 0 0 1px #1f7a5a !important;
}
.provider-expense-workspace .provider-expense-status-tabs span {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .provider-expense-status-tabs strong {
  color: #183150 !important;
  font-size: 24px !important;
  line-height: 1 !important;
}
.provider-expense-workspace .provider-expense-status-tabs em {
  color: #475569 !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}
.provider-expense-workspace .provider-expense-list-tools,
.provider-expense-workspace .provider-receipt-inbox-toolbar,
.provider-expense-workspace .expense-fast-paths {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: end !important;
  gap: 8px !important;
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid #d6dde5 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.provider-expense-workspace .provider-expense-list-tools label {
  display: grid !important;
  flex: 1 1 260px !important;
  gap: 6px !important;
  min-width: 0 !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .provider-expense-list-tools input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  color: #183150 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.provider-expense-workspace .provider-expense-list-tools [role="status"],
.provider-expense-workspace .provider-receipt-inbox-toolbar [role="status"] {
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}
.provider-expense-workspace .provider-receipt-inbox-toolbar .button,
.provider-expense-workspace .expense-fast-paths .button {
  min-height: 42px !important;
  min-width: 0 !important;
  gap: 6px !important;
}
.provider-expense-workspace .provider-receipt-inbox-toolbar .button strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 22px !important;
  min-height: 22px !important;
  border-radius: 999px !important;
  background: #eef8f3 !important;
  color: #145d43 !important;
  font-size: 11px !important;
}
.provider-expense-workspace .provider-receipt-inbox-toolbar .button.is-active,
.provider-expense-workspace .expense-head-steps button.is-active {
  border-color: #8fb9a6 !important;
  background: #eef8f3 !important;
  color: #145d43 !important;
}
.provider-expense-workspace .provider-expense-trip-grid,
.provider-expense-workspace .provider-expense-report-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 12px !important;
}
.provider-expense-workspace .provider-expense-trip-card,
.provider-expense-workspace .provider-expense-report-card {
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
  padding: 16px !important;
  border: 1px solid #dbe7df !important;
  border-radius: 8px !important;
  background: #fbfefd !important;
  box-shadow: none !important;
}
.provider-expense-workspace .provider-expense-trip-card {
  border-color: #d8e0ef !important;
  background: #f8fbff !important;
}
.provider-expense-workspace .provider-expense-trip-card h3,
.provider-expense-workspace .provider-expense-report-card h3 {
  margin: 0 !important;
  color: #183150 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  letter-spacing: normal !important;
}
.provider-expense-workspace .provider-expense-trip-card p {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 13px !important;
}
.provider-expense-workspace .provider-expense-trip-card dl,
.provider-expense-workspace .provider-expense-report-card dl {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
}
.provider-expense-workspace .provider-expense-trip-card dl div,
.provider-expense-workspace .provider-expense-report-card dl div {
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.provider-expense-workspace .provider-expense-trip-card dt,
.provider-expense-workspace .provider-expense-report-card dt {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .provider-expense-trip-card dd,
.provider-expense-workspace .provider-expense-report-card dd {
  margin: 4px 0 0 !important;
  color: #183150 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  overflow-wrap: anywhere !important;
}
.provider-expense-workspace .expense-create-panel {
  overflow: hidden !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.provider-expense-workspace .expense-create-panel > summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 64px !important;
  padding: 16px 20px !important;
  cursor: pointer !important;
  list-style: none !important;
}
.provider-expense-workspace .expense-create-panel > summary::-webkit-details-marker {
  display: none !important;
}
.provider-expense-workspace .expense-create-panel > summary span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: #183150 !important;
  font-size: 16px !important;
  font-weight: 950 !important;
}
.provider-expense-workspace .expense-create-panel > summary span i {
  color: #1f7a5a !important;
  font-size: 20px !important;
}
.provider-expense-workspace .expense-create-panel > summary em {
  color: #64748b !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  text-align: right !important;
}
.provider-expense-workspace .expense-create-panel .expense-entry-form {
  border-top: 1px solid #e2e8f0 !important;
}
.provider-expense-workspace .expense-head-steps {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-end !important;
}
.provider-expense-workspace .expense-head-steps button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 38px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255, 255, 255, .35) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
  font: inherit !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}
.provider-expense-workspace .expense-head-steps button:focus-visible,
.provider-expense-workspace .provider-receipt-inbox-toolbar .button:focus-visible,
.provider-expense-workspace .expense-fast-paths .button:focus-visible,
.provider-expense-workspace .provider-expense-list-tools .button:focus-visible {
  outline: 3px solid #facc15 !important;
  outline-offset: 2px !important;
}
.provider-expense-workspace [data-expense-wizard-panel] {
  scroll-margin-top: 88px !important;
}
.provider-expense-workspace [data-expense-wizard-panel].is-current-step {
  box-shadow: inset 3px 0 0 #1f7a5a !important;
}
.provider-expense-workspace .expense-summary-bar a em {
  color: #64748b !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
}
.provider-expense-workspace .provider-expense-table-shell .portal-record-table-wrap {
  margin: 0 !important;
}
.provider-expense-workspace .provider-expense-indicators {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
}
.provider-expense-workspace .provider-expense-indicators span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}
.provider-expense-workspace .provider-expense-indicators i {
  flex: 0 0 auto !important;
  color: #1f7a5a !important;
  font-size: 15px !important;
}
.provider-expense-workspace .provider-expense-mobile-cards {
  display: none !important;
}
.provider-expense-workspace .provider-expense-detail-section {
  display: grid !important;
  gap: 12px !important;
}
.provider-expense-workspace .provider-expense-detail-record {
  overflow: hidden !important;
  border: 1px solid #d6dde5 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.provider-expense-workspace .expense-detail-basics {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
  gap: 16px !important;
  padding: 0 18px 14px !important;
}
.provider-expense-workspace .expense-detail-basics label {
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .expense-detail-basics input,
.provider-expense-workspace .expense-detail-basics textarea {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 10px 12px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #183150 !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.provider-expense-workspace .expense-detail-basics textarea {
  min-height: 88px !important;
}
.provider-expense-workspace .expense-detail-basics .full-width,
.provider-expense-workspace .calculated-readout {
  grid-column: 1 / -1 !important;
}
.provider-expense-workspace .calculated-readout {
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #d6dde5 !important;
  border-left: 3px solid #1f7a5a !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-weight: 850 !important;
}
.provider-expense-workspace .professional-receipt-zone {
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr) !important;
}
.provider-expense-workspace .professional-receipt-head,
.provider-expense-workspace .professional-receipt-native-grid,
.provider-expense-workspace .receipt-camera-note,
.provider-expense-workspace .receipt-upload-status,
.provider-expense-workspace [data-receipt-uploaded-fields] {
  grid-column: 1 / -1 !important;
}
.provider-expense-workspace .professional-receipt-uploader {
  min-width: 0 !important;
}
.provider-expense-workspace .provider-expense-receipt-preview,
.provider-expense-workspace .provider-expense-pdf-preview {
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: 360px !important;
  overflow: auto !important;
  border: 1px solid #d6dde5 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.provider-expense-workspace .provider-expense-pdf-preview canvas {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
.provider-expense-workspace .compact-empty {
  padding: 20px !important;
}
.provider-expense-workspace .provider-expense-detail-record > summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  cursor: pointer !important;
  list-style: none !important;
}
.provider-expense-workspace .provider-expense-detail-record > summary::-webkit-details-marker {
  display: none !important;
}
.provider-expense-workspace .provider-expense-detail-record > summary span {
  color: #183150 !important;
  font-size: 15px !important;
  font-weight: 950 !important;
}
.provider-expense-workspace .provider-expense-detail-record > summary em {
  color: #475569 !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 900 !important;
}
.provider-expense-workspace .provider-expense-detail-body {
  display: grid !important;
  gap: 14px !important;
  padding: 0 16px 16px !important;
  border-top: 1px solid #e2e8f0 !important;
}
.provider-expense-workspace .provider-expense-detail-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 16px 0 0 !important;
}
.provider-expense-workspace .provider-expense-detail-grid div {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
  padding: 12px !important;
  border: 1px solid #d6dde5 !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
}
.provider-expense-workspace .provider-expense-detail-grid dt {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.provider-expense-workspace .provider-expense-detail-grid dd {
  margin: 0 !important;
  color: #183150 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  overflow-wrap: anywhere !important;
}
.provider-expense-workspace .provider-expense-detail-note {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.provider-expense-workspace,
.provider-expense-workspace *,
.provider-expense-workspace *::before,
.provider-expense-workspace *::after {
  box-sizing: border-box !important;
}
.provider-expense-workspace,
.provider-expense-workspace > *,
.provider-expense-workspace .expense-entry-form,
.provider-expense-workspace .professional-expense-form,
.provider-expense-workspace .expense-primary-card,
.provider-expense-workspace .expense-help-card,
.provider-expense-workspace .expense-optional-details,
.provider-expense-workspace .expense-detail-grid,
.provider-expense-workspace .expense-detail-grid section,
.provider-expense-workspace .expense-entry-grid,
.provider-expense-workspace .expense-entry-card,
.provider-expense-workspace .expense-empty-state,
.provider-expense-workspace .provider-expense-status-tabs,
.provider-expense-workspace .provider-expense-trip-grid,
.provider-expense-workspace .provider-expense-trip-card,
.provider-expense-workspace .provider-expense-report-grid,
.provider-expense-workspace .provider-expense-report-card,
.provider-expense-workspace .expense-create-panel,
.provider-expense-workspace .provider-expense-detail-section,
.provider-expense-workspace .provider-expense-detail-record {
  max-width: 100% !important;
  min-width: 0 !important;
}
.provider-expense-workspace .expense-page-head > div,
.provider-expense-workspace .professional-expense-head > div,
.provider-expense-workspace .expense-history-head > div,
.provider-expense-workspace .expense-section-title,
.provider-expense-workspace .expense-head-steps,
.provider-expense-workspace .expense-summary-bar a {
  min-width: 0 !important;
}
.provider-expense-workspace .expense-page-head span,
.provider-expense-workspace .professional-expense-head span,
.provider-expense-workspace .expense-history-head > span,
.provider-expense-workspace .provider-expense-status-tabs *,
.provider-expense-workspace .expense-section-title span,
.provider-expense-workspace .expense-section-title strong,
.provider-expense-workspace .expense-head-steps span,
.provider-expense-workspace .button,
.provider-expense-workspace .compact-expense-types span {
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}
.provider-expense-workspace .expense-head-steps {
  max-width: min(360px, 100%) !important;
}
@media (max-width: 1000px) {
  .provider-expense-workspace .professional-expense-form,
  .provider-expense-workspace .expense-assignment-grid,
  .provider-expense-workspace .expense-summary-bar,
  .provider-expense-workspace .provider-expense-status-tabs,
  .provider-expense-workspace .provider-expense-report-grid,
  .provider-expense-workspace .provider-expense-detail-grid,
  .provider-expense-workspace .expense-policy-source-grid,
  .expense-review-panel .expense-policy-source-grid { grid-template-columns: 1fr !important; }
  .provider-expense-workspace .professional-expense-form .expense-help-card { border-left: 0 !important; border-top: 1px solid #e2e8f0 !important; }
  .provider-expense-workspace .expense-core-grid,
  .provider-expense-workspace .professional-expense-review dl { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .provider-expense-workspace .provider-expense-table-shell { display: none !important; }
  .provider-expense-workspace .provider-expense-mobile-cards { display: grid !important; }
  .provider-expense-workspace .professional-receipt-zone,
  .provider-expense-workspace .expense-detail-basics {
    grid-template-columns: 1fr !important;
  }
  .provider-expense-workspace .provider-expense-receipt-preview,
  .provider-expense-workspace .provider-expense-pdf-preview {
    max-height: 300px !important;
  }
}
@media (max-width: 700px) {
  .provider-expense-workspace .expense-page-head,
  .provider-expense-workspace .professional-expense-head,
  .provider-expense-workspace .expense-history-head { display: grid !important; }
  .provider-expense-workspace .expense-page-head .button { width: 100% !important; }
  .provider-expense-workspace .expense-create-panel > summary {
    display: grid !important;
  }
  .provider-expense-workspace .expense-create-panel > summary em {
    text-align: left !important;
  }
  .provider-expense-workspace .expense-head-steps { justify-content: flex-start !important; }
  .provider-expense-workspace .expense-core-grid,
  .provider-expense-workspace .professional-expense-review dl { grid-template-columns: 1fr !important; }
  .provider-expense-workspace .expense-detail-grid section,
  .provider-expense-workspace .expense-detail-grid .wide-field {
    grid-column: 1 / -1 !important;
    grid-template-columns: 1fr !important;
  }
  .provider-expense-workspace .provider-expense-receipt-preview li {
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
  }
  .provider-expense-workspace .receipt-order-controls {
    justify-content: stretch !important;
  }
  .provider-expense-workspace .receipt-order-controls .button {
    flex: 1 1 0 !important;
  }
  .provider-expense-workspace .professional-expense-submit { display: grid !important; }
  .provider-expense-workspace .expense-draft-actions,
  .provider-expense-workspace .expense-review-final-actions { justify-content: stretch !important; }
  .provider-expense-workspace .expense-draft-actions .button,
  .provider-expense-workspace .expense-review-final-actions .button { width: 100% !important; }
  .provider-expense-workspace .provider-expense-review-summary dl { grid-template-columns: 1fr !important; }
  .provider-expense-workspace .provider-expense-list-tools,
  .provider-expense-workspace .provider-receipt-inbox-toolbar,
  .provider-expense-workspace .expense-fast-paths {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .provider-expense-workspace .provider-expense-list-tools .button,
  .provider-expense-workspace .provider-receipt-inbox-toolbar .button,
  .provider-expense-workspace .expense-fast-paths .button {
    width: 100% !important;
    justify-content: center !important;
  }
  .provider-expense-workspace .provider-expense-pdf-preview[hidden] {
    display: none !important;
  }
  .provider-expense-workspace .provider-expense-pdf-preview:not([hidden]) {
    display: grid !important;
  }
}

/* Provider form validation */
.portal-field {
  display: grid;
  gap: 6px;
  align-content: start;
}
.portal-field-label {
  color: #183150;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
}
.portal-field-label em {
  margin-left: 4px;
  color: #a54232;
  font-style: normal;
}
.portal-field-help {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}
.portal-field [aria-invalid="true"] {
  border-color: #c85845 !important;
  background: #fff8f6 !important;
  box-shadow: 0 0 0 3px rgba(200, 88, 69, .12) !important;
}
.registration-page [aria-invalid="true"],
.intake-form [aria-invalid="true"] {
  border-color: #c85845 !important;
  background: #fff8f6 !important;
  box-shadow: 0 0 0 3px rgba(200, 88, 69, .12) !important;
}
.field-error { display: block; margin: 6px 0 0; color: #8a1f16; font-size: .88rem; font-weight: 700; }
.form-error-summary { grid-column: 1 / -1; margin: 0 0 14px; padding: 12px 14px; border: 1px solid #f0b4aa; border-radius: 8px; background: #fff4f2; color: #6f1d16; }
.provider-profile-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.nppes-confirmation-card {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #d8e2ea;
  border-radius: 8px;
  background: #f8fbfd;
  color: #10233f;
}
.nppes-confirmation-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  justify-content: space-between;
}
.nppes-confirmation-status {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
}
.nppes-confirmation-status.found {
  background: #e8f5ee;
  color: #14633e;
}
.nppes-confirmation-status.unavailable {
  background: #fff4e5;
  color: #7a4200;
}
.nppes-confirmation-details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px 14px;
  margin: 0;
}
.nppes-confirmation-details div {
  min-width: 0;
}
.nppes-confirmation-details dt {
  color: #64748b;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.nppes-confirmation-details dd {
  margin: 2px 0 0;
  overflow-wrap: anywhere;
  font-weight: 800;
}
.nppes-confirmation-card p {
  margin: 0;
  color: #52657a;
  font-size: 13px;
  line-height: 1.45;
}
.portal-flash-stack {
  width: min(1180px, calc(100% - 32px));
  margin: 16px auto 0;
  display: grid;
  gap: 10px;
}
.portal-flash {
  padding: 12px 14px;
  border: 1px solid #dce4ec;
  border-left: 4px solid #2f6fa8;
  border-radius: 8px;
  background: #fff;
  color: #10233f;
  font-weight: 750;
  box-shadow: 0 10px 28px rgba(15, 35, 63, .055);
}
.portal-flash--error {
  border-left-color: #a54232;
  background: #fff8f6;
  color: #6f1d16;
}
.portal-flash--warning {
  border-left-color: #8a5d10;
  background: #fffaf0;
  color: #67440b;
}
.sticky-form-actions {
  position: sticky;
  bottom: 12px;
  z-index: 5;
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 12px;
  border: 1px solid #dce4ec;
  border-radius: 8px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 28px rgba(15, 35, 63, .08);
  backdrop-filter: blur(12px);
}
.sticky-form-actions .draft-save-status {
  margin-right: auto;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}
.registration-actions .draft-save-status {
  margin-right: auto;
  align-self: center;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

/* Hospital interface polish: calm clinical operations workspace. */
.hospital-interface-hub {
  gap: 8px !important;
  margin-bottom: 10px !important;
}
.hospital-interface-hub .hospital-command-card {
  grid-template-columns: minmax(0, 1fr) minmax(214px, 260px) !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 12px 14px !important;
  border: 1px solid #dce4ec !important;
  border-left: 3px solid #2f6fa8 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 6px 18px rgba(15, 35, 63, .04) !important;
}
.hospital-command-kicker {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px 8px !important;
  margin-bottom: 3px !important;
}
.hospital-command-kicker .eyebrow {
  margin: 0 !important;
  color: #2f6fa8 !important;
  font-size: 11px !important;
  letter-spacing: .06em !important;
}
.hospital-command-kicker span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 22px !important;
  padding: 3px 8px !important;
  border: 1px solid #dce4ec !important;
  border-radius: 999px !important;
  background: #f6f8fb !important;
  color: #183150 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.hospital-interface-hub .provider-profile-hero-card h2 {
  max-width: 520px !important;
  margin-bottom: 4px !important;
  color: #183150 !important;
  font-size: 20px !important;
  line-height: 1.18 !important;
  letter-spacing: 0 !important;
}
.hospital-interface-hub .provider-profile-hero-card p {
  max-width: 500px !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.hospital-interface-hub .provider-profile-quick-actions {
  margin-top: 9px !important;
  gap: 7px !important;
}
.hospital-interface-hub .provider-profile-quick-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}
.hospital-interface-hub .provider-profile-quick-actions .button i {
  font-size: 15px !important;
}
.hospital-interface-hub .hospital-focus-card {
  gap: 6px !important;
  padding: 10px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  background: #fbfcfd !important;
  box-shadow: none !important;
}
.hospital-focus-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.hospital-interface-hub .hospital-focus-card-head > span {
  color: #64748b !important;
  font-size: 10px !important;
  letter-spacing: .06em !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}
.hospital-interface-hub .hospital-focus-card-head > strong {
  padding: 3px 7px !important;
  border-radius: 8px !important;
  background: #edf5fc !important;
  color: #174f7f !important;
  font-size: 11px !important;
  line-height: 1 !important;
}
.hospital-interface-hub .hospital-focus-card dl {
  gap: 3px !important;
}
.hospital-interface-hub .hospital-focus-card dl div {
  min-height: 24px !important;
  padding: 3px 0 !important;
  border-top: 1px solid #edf2f7 !important;
  background: transparent !important;
}
.hospital-interface-hub .hospital-focus-card dt,
.hospital-interface-hub .hospital-focus-card dd {
  font-size: 12px !important;
}
.hospital-interface-hub .hospital-focus-card .button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 32px !important;
  margin-top: 1px !important;
  padding: 6px 9px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}
.hospital-interface-hub .hospital-focus-card .button i {
  font-size: 15px !important;
}
.hospital-interface-hub .hospital-interface-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card {
  min-height: 0 !important;
  grid-template-columns: auto 1fr !important;
  grid-template-areas:
    "icon label"
    "icon value"
    "cta cta" !important;
  align-items: center !important;
  gap: 4px 8px !important;
  padding: 11px 12px !important;
  border: 1px solid #dce4ec !important;
  border-left: 3px solid #2f6fa8 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(24, 49, 80, .035) !important;
}
.hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card.tone-critical,
.hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card.tone-watch {
  background: #ffffff !important;
}
.hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card.tone-critical {
  border-left-color: #b35c4a !important;
}
.hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card.tone-watch {
  border-left-color: #c79a23 !important;
}
.hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card i {
  grid-area: icon !important;
  color: #2f6fa8 !important;
  font-size: 16px !important;
}
.hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card span {
  grid-area: label !important;
  color: #64748b !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
}
.hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card strong {
  grid-area: value !important;
  color: #183150 !important;
  font-size: 21px !important;
  line-height: 1 !important;
}
.hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card em,
.hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card p {
  display: none !important;
}
.hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card b {
  grid-area: cta !important;
  justify-self: start !important;
  margin-top: 6px !important;
  padding: 7px 10px !important;
  border-radius: 8px !important;
  background: #10233f !important;
  color: #ffffff !important;
  font-size: 12px !important;
}
@media (max-width: 1100px) {
  .hospital-interface-hub .hospital-interface-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .hospital-interface-hub .hospital-command-card {
    grid-template-columns: 1fr !important;
  }
  .hospital-interface-hub .hospital-interface-card-grid {
    grid-template-columns: 1fr !important;
  }
}

.hospital-dashboard-simple {
  display: grid !important;
  gap: 14px !important;
  padding: 16px !important;
  border: 1px solid #dce4ec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(15, 35, 63, .045) !important;
}
.hospital-dashboard-summary {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) !important;
  gap: 14px !important;
  align-items: end !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #edf2f7 !important;
}
.hospital-dashboard-summary .eyebrow {
  margin: 0 0 4px !important;
  color: #2f6fa8 !important;
  font-size: 11px !important;
  letter-spacing: .06em !important;
}
.hospital-dashboard-summary h2 {
  margin: 0 !important;
  color: #10233f !important;
  font-size: 24px !important;
  line-height: 1.18 !important;
}
.hospital-dashboard-summary p {
  max-width: 640px !important;
  margin: 5px 0 0 !important;
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
.hospital-dashboard-total {
  display: grid !important;
  justify-items: end !important;
  gap: 5px !important;
}
.hospital-dashboard-total span {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.hospital-dashboard-total strong {
  color: #10233f !important;
  font-size: 32px !important;
  line-height: 1 !important;
}
.hospital-dashboard-total .button {
  border-radius: 8px !important;
}
.hospital-dashboard-metrics {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.hospital-dashboard-metric {
  display: grid !important;
  gap: 5px !important;
  min-height: 126px !important;
  padding: 12px !important;
  border: 1px solid #dce4ec !important;
  border-left: 3px solid #2f6fa8 !important;
  border-radius: 8px !important;
  background: #fbfcfd !important;
  color: inherit !important;
  text-decoration: none !important;
}
.hospital-dashboard-metric.tone-critical,
.hospital-dashboard-metric.tone-overdue {
  border-left-color: #a54232 !important;
}
.hospital-dashboard-metric.tone-warning,
.hospital-dashboard-metric.tone-watch {
  border-left-color: #8a5d10 !important;
}
.hospital-dashboard-metric span {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}
.hospital-dashboard-metric strong {
  color: #10233f !important;
  font-size: 30px !important;
  line-height: 1 !important;
}
.hospital-dashboard-metric em {
  color: #64748b !important;
  font-size: 12px !important;
  font-style: normal !important;
  line-height: 1.35 !important;
}
.hospital-dashboard-queue {
  display: grid !important;
  border: 1px solid #dce4ec !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}
.hospital-dashboard-queue-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 12px !important;
  background: #f6f8fb !important;
  border-bottom: 1px solid #dce4ec !important;
}
.hospital-dashboard-queue-head h3 {
  margin: 0 !important;
  color: #10233f !important;
  font-size: 18px !important;
}
.hospital-dashboard-queue-head p {
  margin: 3px 0 0 !important;
  color: #64748b !important;
  font-size: 13px !important;
}
.hospital-dashboard-queue-head > span {
  flex: 0 0 auto !important;
  color: #183150 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.hospital-dashboard-queue-row {
  display: grid !important;
  grid-template-columns: minmax(160px, 220px) minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 12px !important;
  border-top: 1px solid #edf2f7 !important;
  color: inherit !important;
  text-decoration: none !important;
}
.hospital-dashboard-queue-row:first-of-type {
  border-top: 0 !important;
}
.hospital-dashboard-queue-row strong {
  color: #10233f !important;
  font-size: 14px !important;
}
.hospital-dashboard-queue-row span {
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.hospital-dashboard-queue-row b {
  min-width: 34px !important;
  padding: 5px 9px !important;
  border-radius: 8px !important;
  background: #edf5fc !important;
  color: #174f7f !important;
  font-size: 13px !important;
  text-align: center !important;
}
.hospital-dashboard-queue-row.tone-critical b {
  background: #fff1ee !important;
  color: #a54232 !important;
}
.hospital-dashboard-queue-row.tone-watch b {
  background: #fff8e7 !important;
  color: #8a5d10 !important;
}
@media (max-width: 980px) {
  .hospital-dashboard-summary,
  .hospital-dashboard-metrics {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 700px) {
  .hospital-dashboard-summary,
  .hospital-dashboard-metrics,
  .hospital-dashboard-queue-row {
    grid-template-columns: 1fr !important;
  }
  .hospital-dashboard-total {
    justify-items: start !important;
  }
  .hospital-dashboard-queue-head {
    display: grid !important;
  }
}
.form-error-summary ul { margin: 8px 0 0 18px; padding: 0; }
.form-error-summary li { margin: 3px 0; }

/* Portal foundation stage 1: scoped away from public marketing pages and admin tools. */
.vendor-vms:not(.admin-vms) {
  --portal-ink: #10233f;
  --portal-muted: #64748b;
  --portal-line: #dce4ec;
  --portal-soft-line: #edf2f7;
  --portal-paper: #ffffff;
  --portal-soft: #f6f8fb;
  --portal-soft-blue: #edf5fc;
  --portal-navy: #10233f;
  --portal-navy-hover: #18375f;
  --portal-blue: #2f6fa8;
  --portal-blue-ink: #174f7f;
  --portal-red: #a54232;
  --portal-red-soft: #fff1ee;
  --portal-amber: #8a5d10;
  --portal-amber-soft: #fff8e7;
  --portal-green: #176142;
  --portal-green-soft: #ecf8f1;
  --portal-shadow: 0 10px 28px rgba(15, 35, 63, .055);
  --portal-radius: 8px;
  min-height: 100vh;
  background: var(--portal-soft);
  color: var(--portal-ink);
}

.vendor-vms:not(.admin-vms) .vms-topbar {
  border-bottom: 1px solid var(--portal-line);
  background: var(--portal-paper);
  box-shadow: none;
}

.vendor-vms:not(.admin-vms) .vms-org strong,
.vendor-vms:not(.admin-vms) h1,
.vendor-vms:not(.admin-vms) h2,
.vendor-vms:not(.admin-vms) h3,
.vendor-vms:not(.admin-vms) .vms-panel h2,
.vendor-vms:not(.admin-vms) .vms-record-card h3,
.vendor-vms:not(.admin-vms) .vms-record-hero h3,
.vendor-vms:not(.admin-vms) .vms-detail-grid strong {
  color: var(--portal-ink);
  letter-spacing: 0 !important;
}

.vendor-vms:not(.admin-vms) .vms-org span,
.vendor-vms:not(.admin-vms) .portal-page-intro span {
  color: var(--portal-blue);
}

.vendor-vms:not(.admin-vms) .vms-search,
.vendor-vms:not(.admin-vms) .vms-activity-search {
  border-color: var(--portal-line);
  background: var(--portal-soft);
  color: var(--portal-muted);
  box-shadow: none;
}

.vendor-vms:not(.admin-vms) .vms-tabs {
  border-bottom: 1px solid var(--portal-line);
  background: var(--portal-paper);
  color: var(--portal-ink);
}

.vendor-vms:not(.admin-vms) .vms-tabs > div {
  gap: 8px;
  padding: 10px 14px;
}

.vendor-vms:not(.admin-vms) .vms-tabs strong {
  color: var(--portal-muted);
  font-size: 12px;
}

.vendor-vms:not(.admin-vms) .vms-tabs small {
  color: var(--portal-muted);
}

.vendor-vms:not(.admin-vms) .vms-tabs a {
  min-height: 36px;
  border: 1px solid transparent;
  color: var(--portal-muted);
  font-size: 13px;
}

.vendor-vms:not(.admin-vms) .vms-tabs a.active,
.vendor-vms:not(.admin-vms) .vms-tabs a:hover,
.vendor-vms:not(.admin-vms) .vms-tabs a[aria-current="page"] {
  border-color: #c9dceb;
  background: var(--portal-soft-blue);
  color: var(--portal-blue-ink);
  box-shadow: none;
}

.vendor-vms:not(.admin-vms) .vms-layout {
  gap: 22px;
  padding: 22px 24px 52px;
}

.vendor-vms:not(.admin-vms) .vms-main,
.vendor-vms:not(.admin-vms) .vms-activity {
  gap: 22px;
}

.vendor-vms:not(.admin-vms) .vms-panel,
.vendor-vms:not(.admin-vms) .vms-metric,
.vendor-vms:not(.admin-vms) .vms-grid article,
.vendor-vms:not(.admin-vms) .vms-record-card,
.vendor-vms:not(.admin-vms) .vms-record-hero,
.vendor-vms:not(.admin-vms) .portal-page-intro,
.vendor-vms:not(.admin-vms) .vms-detail-grid article {
  border-color: var(--portal-line) !important;
  border-radius: var(--portal-radius) !important;
  background: var(--portal-paper) !important;
  box-shadow: var(--portal-shadow) !important;
}

.vendor-vms:not(.admin-vms) .vms-panel,
.vendor-vms:not(.admin-vms) .portal-page-intro {
  padding: 24px;
}

.vendor-vms:not(.admin-vms) .vms-panel-head {
  gap: 18px;
  margin-bottom: 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--portal-soft-line);
}

.vendor-vms:not(.admin-vms) .vms-panel-head h2,
.vendor-vms:not(.admin-vms) .portal-page-intro h1 {
  font-size: clamp(1.5rem, 1.2vw + 1.15rem, 2rem);
  line-height: 1.16;
}

.vendor-vms:not(.admin-vms) .vms-panel-head span,
.vendor-vms:not(.admin-vms) .vms-panel-head a,
.vendor-vms:not(.admin-vms) .vms-record-card p,
.vendor-vms:not(.admin-vms) .vms-record-hero p,
.vendor-vms:not(.admin-vms) .portal-page-intro p,
.vendor-vms:not(.admin-vms) .vms-detail-grid span {
  color: var(--portal-muted);
  font-size: 13px;
}

.vendor-vms:not(.admin-vms) .vms-metric {
  min-height: 126px;
  padding: 24px;
}

.vendor-vms:not(.admin-vms) .vms-metric strong {
  color: var(--portal-ink);
  font-size: 34px;
}

.vendor-vms:not(.admin-vms) .vms-metric span {
  color: var(--portal-muted);
  font-size: 15px;
}

.vendor-vms:not(.admin-vms) .vms-metric em {
  border-color: #c9dceb;
  background: var(--portal-soft-blue);
}

.vendor-vms:not(.admin-vms) .vms-metric em::after {
  color: var(--portal-blue-ink);
}

.vendor-vms:not(.admin-vms) .vms-action-card {
  border-color: var(--portal-line) !important;
  border-radius: var(--portal-radius) !important;
  background: var(--portal-paper) !important;
  box-shadow: none !important;
}

.vendor-vms:not(.admin-vms) .vms-action-card::before {
  background: var(--portal-blue);
  opacity: .22;
}

.vendor-vms:not(.admin-vms) .vms-action-card.needs-action::before,
.vendor-vms:not(.admin-vms) .vms-action-card.tone-critical::before {
  background: var(--portal-red);
  opacity: .78;
}

.vendor-vms:not(.admin-vms) .vms-action-card.is-selected {
  border-color: #aac9e4 !important;
  background: var(--portal-soft-blue) !important;
}

.vendor-vms:not(.admin-vms) .vms-action-card:hover,
.vendor-vms:not(.admin-vms) .vms-action-card:focus-visible {
  border-color: #b9cfdf !important;
  box-shadow: 0 12px 28px rgba(15, 35, 63, .07) !important;
}

.vendor-vms:not(.admin-vms) .button {
  min-height: 42px;
  border-radius: var(--portal-radius);
  box-shadow: none;
  font-size: 13px;
  font-weight: 800;
}

.vendor-vms:not(.admin-vms) .button.dark,
.vendor-vms:not(.admin-vms) .button.primary {
  border-color: var(--portal-navy);
  background: var(--portal-navy);
  color: #fff;
}

.vendor-vms:not(.admin-vms) .button.dark:hover,
.vendor-vms:not(.admin-vms) .button.primary:hover,
.vendor-vms:not(.admin-vms) .button.dark:focus-visible,
.vendor-vms:not(.admin-vms) .button.primary:focus-visible {
  border-color: var(--portal-navy-hover);
  background: var(--portal-navy-hover);
}

.vendor-vms:not(.admin-vms) .button.ghost,
.vendor-vms:not(.admin-vms) .button.secondary {
  border-color: var(--portal-line);
  background: var(--portal-paper);
  color: var(--portal-blue-ink);
}

.vendor-vms:not(.admin-vms) .button.ghost:hover,
.vendor-vms:not(.admin-vms) .button.secondary:hover,
.vendor-vms:not(.admin-vms) .button.ghost:focus-visible,
.vendor-vms:not(.admin-vms) .button.secondary:focus-visible {
  border-color: #c9dceb;
  background: var(--portal-soft-blue);
}

.vendor-vms:not(.admin-vms) .vms-status-pill {
  border: 1px solid transparent;
  background: #eef2f6;
  color: #475569;
  font-size: 11px;
  letter-spacing: 0;
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-green {
  border-color: #ccebd8;
  background: var(--portal-green-soft);
  color: var(--portal-green);
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-blue {
  border-color: #c9dceb;
  background: var(--portal-soft-blue);
  color: var(--portal-blue-ink);
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-red {
  border-color: #f2c4bc;
  background: var(--portal-red-soft);
  color: var(--portal-red);
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-yellow,
.vendor-vms:not(.admin-vms) .vms-status-pill.status-orange {
  border-color: #f3ddb1;
  background: var(--portal-amber-soft);
  color: var(--portal-amber);
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-muted {
  border-color: var(--portal-line);
  background: var(--portal-soft);
  color: var(--portal-muted);
}

.vendor-vms:not(.admin-vms) .vms-panel form.form-grid,
.vendor-vms:not(.admin-vms) .vms-panel .compact-form,
.vendor-vms:not(.admin-vms) .vms-panel .intake-form.compact-form {
  border-color: var(--portal-soft-line);
  background: #fbfcfe;
  box-shadow: none;
}

.vendor-vms:not(.admin-vms) .vms-panel form label {
  color: var(--portal-ink);
}

.vendor-vms:not(.admin-vms) .vms-panel form input,
.vendor-vms:not(.admin-vms) .vms-panel form select,
.vendor-vms:not(.admin-vms) .vms-panel form textarea {
  border-color: var(--portal-line);
  background: var(--portal-paper);
}

.vendor-vms:not(.admin-vms) .vms-panel form input:focus,
.vendor-vms:not(.admin-vms) .vms-panel form select:focus,
.vendor-vms:not(.admin-vms) .vms-panel form textarea:focus {
  border-color: var(--portal-blue);
  box-shadow: 0 0 0 3px rgba(47, 111, 168, .12);
}

/* Portal foundation stage 2: desktop left navigation with mobile horizontal tabs. */
.vendor-vms:not(.admin-vms) {
  --portal-topbar-height: 86px;
  --portal-sidebar-width: 264px;
  padding-top: 0;
}

.vendor-vms:not(.admin-vms) .vms-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  min-height: var(--portal-topbar-height);
}

.vendor-vms:not(.admin-vms) .vms-tabs {
  position: fixed;
  top: var(--portal-topbar-height);
  bottom: 0;
  left: 0;
  z-index: 30;
  display: block;
  width: var(--portal-sidebar-width);
  overflow-y: auto;
  border-right: 1px solid var(--portal-line);
  border-bottom: 0;
}

.vendor-vms:not(.admin-vms) .vms-tabs > div {
  display: grid;
  gap: 6px;
  padding: 16px 14px;
  border-bottom: 1px solid var(--portal-soft-line);
}

.vendor-vms:not(.admin-vms) .vms-tabs strong {
  padding: 0;
}

.vendor-vms:not(.admin-vms) .vms-tabs small {
  display: block;
  margin-bottom: 4px;
  line-height: 1.35;
}

.vendor-vms:not(.admin-vms) .vms-tabs a {
  width: 100%;
  justify-content: flex-start;
  min-height: 38px;
  padding: 9px 10px;
}

.vendor-vms:not(.admin-vms) .provider-primary-tabs > div {
  justify-content: stretch;
}

.vendor-vms:not(.admin-vms) .provider-secondary-tabs {
  margin-left: var(--portal-sidebar-width);
}

.vendor-vms:not(.admin-vms) .vms-layout {
  margin-left: var(--portal-sidebar-width);
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
  align-items: start;
}

.vendor-vms:not(.admin-vms) .vms-layout.vms-layout--focus {
  grid-template-columns: minmax(0, 1fr);
}

.vendor-vms:not(.admin-vms) .vms-layout--focus .vms-activity {
  display: none;
}

.vendor-vms:not(.admin-vms) .vms-activity {
  position: sticky;
  top: calc(var(--portal-topbar-height) + 22px);
  max-height: calc(100vh - var(--portal-topbar-height) - 44px);
  overflow-y: auto;
  padding-right: 2px;
}

body:has(> .vendor-vms:not(.admin-vms)) .site-footer {
  position: relative;
  z-index: 35;
  margin-left: var(--portal-sidebar-width, 264px);
}

@media (max-width: 1180px) {
  .vendor-vms:not(.admin-vms) {
    --portal-topbar-height: 82px;
  }

  .vendor-vms:not(.admin-vms) .vms-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .vendor-vms:not(.admin-vms) .vms-activity {
    position: static;
    max-height: none;
    overflow: visible;
  }
}

@media (max-width: 900px) {
  .vendor-vms:not(.admin-vms) {
    --portal-topbar-height: auto;
  }

  .vendor-vms:not(.admin-vms) .vms-topbar {
    position: sticky;
    top: 0;
    min-height: 0;
  }

  .vendor-vms:not(.admin-vms) .vms-tabs {
    position: sticky;
    top: 0;
    display: flex;
    width: auto;
    max-width: 100%;
    margin-left: 0;
    overflow-x: auto;
    overflow-y: hidden;
    border-right: 0;
    border-bottom: 1px solid var(--portal-line);
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }

  .vendor-vms:not(.admin-vms) .vms-tabs > div {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    min-width: max-content;
    padding: 10px 12px;
    border-right: 1px solid var(--portal-soft-line);
    border-bottom: 0;
    scroll-snap-align: start;
  }

  .vendor-vms:not(.admin-vms) .vms-tabs small {
    display: none;
  }

  .vendor-vms:not(.admin-vms) .vms-tabs a {
    width: auto;
    min-height: 34px;
    padding: 8px 10px;
  }

  .vendor-vms:not(.admin-vms) .provider-secondary-tabs,
  .vendor-vms:not(.admin-vms) .vms-layout {
    margin-left: 0;
  }

  body:has(> .vendor-vms:not(.admin-vms)) .site-footer {
    margin-left: 0;
  }
}

/* Portal foundation stage 4: shared primitive cleanup across hospital, vendor, and provider portals. */
.vendor-vms:not(.admin-vms) {
  --portal-panel-shadow: 0 6px 18px rgba(15, 35, 63, .045);
  --portal-panel-shadow-hover: 0 10px 24px rgba(15, 35, 63, .07);
  --portal-button-shadow: 0 1px 2px rgba(15, 35, 63, .08);
  --portal-danger: #9f3d31;
  --portal-danger-hover: #843126;
  --portal-danger-soft: #fff4f2;
  --portal-amber-soft: #fff9e9;
  --portal-blue-soft: #eef6fd;
  --portal-green-soft: #eef8f2;
}

.vendor-vms:not(.admin-vms) .vms-panel,
.vendor-vms:not(.admin-vms) .vms-metric,
.vendor-vms:not(.admin-vms) .vms-grid article,
.vendor-vms:not(.admin-vms) .vms-record-card,
.vendor-vms:not(.admin-vms) .vms-record-hero,
.vendor-vms:not(.admin-vms) .portal-page-intro,
.vendor-vms:not(.admin-vms) .vms-detail-grid article,
.vendor-vms:not(.admin-vms) .provider-command-card,
.vendor-vms:not(.admin-vms) .candidate-review-card,
.vendor-vms:not(.admin-vms) .vendor-submission-card,
.vendor-vms:not(.admin-vms) .assignment-command-card,
.vendor-vms:not(.admin-vms) .provider-profile-status-card {
  border-color: var(--portal-line) !important;
  border-radius: var(--portal-radius) !important;
  background: var(--portal-paper) !important;
  box-shadow: var(--portal-panel-shadow) !important;
}

.vendor-vms:not(.admin-vms) .vms-panel {
  padding: 20px !important;
}

.vendor-vms:not(.admin-vms) .vms-panel .vms-panel,
.vendor-vms:not(.admin-vms) .vms-panel .provider-command-card,
.vendor-vms:not(.admin-vms) .vms-panel .candidate-review-card,
.vendor-vms:not(.admin-vms) .vms-panel .vendor-submission-card,
.vendor-vms:not(.admin-vms) .vms-panel .assignment-command-card,
.vendor-vms:not(.admin-vms) .vms-panel .provider-profile-status-card {
  background: #fbfcfd !important;
  box-shadow: none !important;
}

.vendor-vms:not(.admin-vms) .vms-panel-head,
.vendor-vms:not(.admin-vms) .compact-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 16px;
  margin: 0 0 16px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--portal-soft-line);
}

.vendor-vms:not(.admin-vms) .compact-head {
  margin-top: 18px !important;
  padding: 10px 0 !important;
}

.vendor-vms:not(.admin-vms) .vms-panel-head h2,
.vendor-vms:not(.admin-vms) .compact-head h2 {
  margin: 0;
  color: var(--portal-ink) !important;
  font-size: clamp(1.12rem, .38vw + 1rem, 1.38rem) !important;
  line-height: 1.22;
  letter-spacing: 0 !important;
}

.vendor-vms:not(.admin-vms) .vms-panel-head span,
.vendor-vms:not(.admin-vms) .vms-panel-head a,
.vendor-vms:not(.admin-vms) .compact-head span,
.vendor-vms:not(.admin-vms) .compact-head a {
  color: var(--portal-muted) !important;
  font-size: 13px;
  line-height: 1.45;
}

.vendor-vms:not(.admin-vms) .vms-subsection,
.vendor-vms:not(.admin-vms) .vms-panel form.form-grid,
.vendor-vms:not(.admin-vms) .vms-panel .compact-form,
.vendor-vms:not(.admin-vms) .vms-panel .intake-form.compact-form {
  border: 1px solid var(--portal-soft-line) !important;
  border-radius: var(--portal-radius) !important;
  background: #fbfcfd !important;
  box-shadow: none !important;
}

.vendor-vms:not(.admin-vms) .button {
  gap: 7px;
  min-height: 38px !important;
  padding: 9px 13px !important;
  border-radius: var(--portal-radius) !important;
  box-shadow: var(--portal-button-shadow) !important;
  line-height: 1.15;
  text-decoration: none;
  transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.vendor-vms:not(.admin-vms) .button:hover,
.vendor-vms:not(.admin-vms) .button:focus-visible {
  box-shadow: var(--portal-panel-shadow-hover) !important;
  transform: translateY(-1px);
}

.vendor-vms:not(.admin-vms) .button.dark,
.vendor-vms:not(.admin-vms) .button.primary {
  border-color: var(--portal-navy) !important;
  background: var(--portal-navy) !important;
  color: #fff !important;
}

.vendor-vms:not(.admin-vms) .button.dark:hover,
.vendor-vms:not(.admin-vms) .button.dark:focus-visible,
.vendor-vms:not(.admin-vms) .button.primary:hover,
.vendor-vms:not(.admin-vms) .button.primary:focus-visible {
  border-color: var(--portal-navy-hover) !important;
  background: var(--portal-navy-hover) !important;
}

.vendor-vms:not(.admin-vms) .button.ghost,
.vendor-vms:not(.admin-vms) .button.secondary {
  border-color: var(--portal-line) !important;
  background: var(--portal-paper) !important;
  color: var(--portal-blue-ink) !important;
}

.vendor-vms:not(.admin-vms) .button.ghost:hover,
.vendor-vms:not(.admin-vms) .button.ghost:focus-visible,
.vendor-vms:not(.admin-vms) .button.secondary:hover,
.vendor-vms:not(.admin-vms) .button.secondary:focus-visible {
  border-color: #c7daea !important;
  background: var(--portal-blue-soft) !important;
}

.vendor-vms:not(.admin-vms) .button.danger {
  border-color: var(--portal-danger) !important;
  background: var(--portal-danger) !important;
  color: #fff !important;
}

.vendor-vms:not(.admin-vms) .button.danger:hover,
.vendor-vms:not(.admin-vms) .button.danger:focus-visible {
  border-color: var(--portal-danger-hover) !important;
  background: var(--portal-danger-hover) !important;
}

.vendor-vms:not(.admin-vms) .button.text {
  min-height: 0 !important;
  padding: 3px 0 !important;
  border-color: transparent !important;
  background: transparent !important;
  color: var(--portal-blue-ink) !important;
  box-shadow: none !important;
}

.vendor-vms:not(.admin-vms) .button.text:hover,
.vendor-vms:not(.admin-vms) .button.text:focus-visible {
  color: var(--portal-navy) !important;
  text-decoration: underline;
  box-shadow: none !important;
  transform: none;
}

.vendor-vms:not(.admin-vms) .vms-status-pill {
  min-height: 22px !important;
  padding: 3px 8px !important;
  border: 1px solid var(--portal-line) !important;
  border-radius: 999px !important;
  background: #f3f6f9 !important;
  color: var(--portal-muted) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .01em !important;
  line-height: 1.15;
  text-transform: uppercase;
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-green {
  border-color: #d4ebdc !important;
  background: var(--portal-green-soft) !important;
  color: #246244 !important;
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-blue {
  border-color: #cfe1ef !important;
  background: var(--portal-blue-soft) !important;
  color: var(--portal-blue-ink) !important;
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-yellow,
.vendor-vms:not(.admin-vms) .vms-status-pill.status-orange {
  border-color: #efdba9 !important;
  background: var(--portal-amber-soft) !important;
  color: var(--portal-amber) !important;
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-red {
  border-color: #efc8c1 !important;
  background: var(--portal-danger-soft) !important;
  color: var(--portal-danger) !important;
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-muted {
  border-color: var(--portal-line) !important;
  background: #f5f7fa !important;
  color: var(--portal-muted) !important;
}

@media (max-width: 760px) {
  .vendor-vms:not(.admin-vms) .vms-panel {
    padding: 16px !important;
  }

  .vendor-vms:not(.admin-vms) .vms-panel-head,
  .vendor-vms:not(.admin-vms) .compact-head {
    display: grid;
  }
}

/* Portal styling stage 5: denser record cards and candidate queues. */
.vendor-vms:not(.admin-vms) .vms-record-list {
  gap: 10px !important;
}

.vendor-vms:not(.admin-vms) .vms-record-card {
  grid-template-columns: minmax(0, 1fr) minmax(150px, 190px) !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 14px 16px !important;
}

.vendor-vms:not(.admin-vms) .vms-record-hero {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.vendor-vms:not(.admin-vms) .vms-record-card > div:first-child,
.vendor-vms:not(.admin-vms) .vms-record-hero > div:first-child {
  min-width: 0;
}

.vendor-vms:not(.admin-vms) .vms-record-card h3,
.vendor-vms:not(.admin-vms) .vms-record-hero h3 {
  margin: 6px 0 3px !important;
  font-size: clamp(1rem, .2vw + .96rem, 1.13rem) !important;
  line-height: 1.25 !important;
}

.vendor-vms:not(.admin-vms) .vms-record-card p,
.vendor-vms:not(.admin-vms) .vms-record-hero p {
  max-width: 86ch;
  line-height: 1.45;
}

.vendor-vms:not(.admin-vms) .candidate-review-list {
  gap: 10px !important;
}

.vendor-vms:not(.admin-vms) .candidate-review-card {
  position: relative;
}

.vendor-vms:not(.admin-vms) .candidate-review-card::before {
  content: "";
  position: absolute;
  inset: 12px auto 12px 0;
  width: 3px;
  border-radius: 0 999px 999px 0;
  background: var(--portal-blue);
  opacity: .55;
}

.vendor-vms:not(.admin-vms) .candidate-card-topline {
  gap: 6px !important;
  color: var(--portal-muted) !important;
  font-size: 12px !important;
  line-height: 1.3;
}

.vendor-vms:not(.admin-vms) .candidate-card-topline > span:not(.vms-status-pill) {
  min-width: 0;
  color: var(--portal-muted);
  font-weight: 750;
}

.vendor-vms:not(.admin-vms) .candidate-meta-grid {
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)) !important;
  gap: 0 !important;
  margin: 12px 0 8px !important;
  border: 1px solid var(--portal-soft-line);
  border-radius: var(--portal-radius);
  background: #fbfcfd;
  overflow: hidden;
}

.vendor-vms:not(.admin-vms) .candidate-meta-grid span {
  gap: 5px !important;
  min-height: 58px;
  padding: 9px 11px !important;
  border: 0 !important;
  border-right: 1px solid var(--portal-soft-line) !important;
  border-bottom: 1px solid var(--portal-soft-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--portal-ink) !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  line-height: 1.25;
}

.vendor-vms:not(.admin-vms) .candidate-meta-grid strong {
  color: var(--portal-muted) !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  letter-spacing: .04em !important;
}

.vendor-vms:not(.admin-vms) .opportunity-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
}

.vendor-vms:not(.admin-vms) .opportunity-actions .button {
  justify-content: center;
  width: 100%;
  min-width: 0;
  white-space: normal;
  text-align: center;
}

.vendor-vms:not(.admin-vms) .opportunity-actions .button:not(.dark):not(.primary):not(:first-child) {
  min-height: 34px !important;
  padding: 7px 10px !important;
}

.vendor-vms:not(.admin-vms) .candidate-decision-note {
  padding: 9px 10px !important;
  border-color: var(--portal-soft-line) !important;
  background: #f7f9fb !important;
  color: var(--portal-muted) !important;
  font-size: 12px !important;
  line-height: 1.25;
}

.vendor-vms:not(.admin-vms) .candidate-card-drawer {
  margin-top: 10px;
  border: 1px solid var(--portal-soft-line);
  border-radius: var(--portal-radius);
  background: #fbfcfd;
}

.vendor-vms:not(.admin-vms) .candidate-card-drawer summary {
  cursor: pointer;
  padding: 10px 12px;
  color: var(--portal-blue-ink);
  font-size: 13px;
  font-weight: 850;
}

.vendor-vms:not(.admin-vms) .candidate-card-drawer > :not(summary) {
  margin: 10px !important;
}

@media (max-width: 860px) {
  .vendor-vms:not(.admin-vms) .vms-record-card,
  .vendor-vms:not(.admin-vms) .vms-record-hero {
    grid-template-columns: 1fr !important;
  }

  .vendor-vms:not(.admin-vms) .opportunity-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  }
}

/* locumfriends-portal-stage6-forms-filters-finance */
.vendor-vms:not(.admin-vms) .vms-panel form.form-grid.vms-request-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
  border-color: #d8e2ea;
  background: #f8fbfb;
}

.vms-request-form .form-section-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-column: 1 / -1;
  gap: 13px 14px;
  min-width: 0;
  margin: 0;
  padding: 16px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .04);
}

.vms-request-form .form-section-card legend {
  padding: 0 8px;
  color: #183150;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
}

.vms-request-form .form-section-card label,
.vendor-vms:not(.admin-vms) .form-grid label {
  min-width: 0;
}

.vendor-vms:not(.admin-vms) .form-grid input,
.vendor-vms:not(.admin-vms) .form-grid select,
.vendor-vms:not(.admin-vms) .form-grid textarea {
  min-height: 44px;
  border-color: #cad6e2;
  background: #fff;
  color: #1f2937;
}

.vendor-vms:not(.admin-vms) .form-grid input:hover,
.vendor-vms:not(.admin-vms) .form-grid select:hover,
.vendor-vms:not(.admin-vms) .form-grid textarea:hover {
  border-color: #9fb2c7;
}

.vms-request-form > .button[type="submit"] {
  grid-column: 1 / -1;
  justify-self: end;
  min-width: 210px;
}

.queue-control-bar {
  grid-template-columns: minmax(260px, 1.45fr) minmax(180px, .65fr) auto;
  align-items: end;
  gap: 12px;
  padding: 13px;
  border-color: #d5e0e8;
  border-radius: 8px;
  background: #f8fbfb;
  box-shadow: none;
}

.queue-control-bar label {
  gap: 5px;
  color: #526173;
  letter-spacing: 0;
}

.queue-control-bar input,
.queue-control-bar select {
  min-height: 42px;
  border-color: #cad6e2;
  border-radius: 8px;
  padding: 9px 11px;
  box-shadow: none;
}

.queue-control-actions .button {
  min-height: 42px;
}

.queue-control-bar > p {
  margin: 0;
  padding-top: 2px;
  color: #64748b;
  font-size: 12px;
}

#credentialing-documents .opportunity-card,
#credentialing-checklist .opportunity-card,
#credentialing-assignments .opportunity-card {
  grid-template-columns: minmax(0, 1fr) minmax(140px, auto);
  gap: 16px;
  border-color: #d8e2ea;
  background: #fff;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .04);
}

#credentialing-documents .opportunity-card h3,
#credentialing-checklist .opportunity-card h3,
#credentialing-assignments .opportunity-card h3 {
  color: #183150;
}

#credentialing-documents .role-label,
#credentialing-checklist .role-label,
#credentialing-assignments .role-label {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 5px 8px;
  border: 1px solid #dbe5ef;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: 11px;
  font-weight: 900;
}

.document-action-drawer {
  border-color: #d6e1e8;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
}

.document-action-drawer summary {
  min-height: 42px;
  background: #f8fbfb;
}

.document-action-drawer[open] summary {
  background: #eef6f3;
}

.document-action-drawer-body {
  background: #fff;
}

.document-action-drawer .credential-review-actions,
.document-action-drawer .vendor-submission-actions.credential-review-actions {
  gap: 8px;
  padding: 10px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fbfdff;
}

.invoice-review-card {
  gap: 16px;
  border-color: #d8e2ea;
  background: #fff;
  box-shadow: 0 12px 24px rgba(15, 23, 42, .05);
}

.invoice-card-header {
  align-items: stretch;
}

.invoice-card-header h3 {
  color: #123c35;
}

.invoice-amount-block {
  display: grid;
  align-content: center;
  min-width: 172px;
  border-color: #cfe0da;
  background: #f6fbf8;
}

.invoice-amount-block strong {
  color: #123c35;
  font-size: 22px;
}

.invoice-settlement-strip,
.provider-payout-strip {
  gap: 8px;
  padding: 8px;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #fbfdff;
}

.invoice-settlement-strip span,
.provider-payout-strip span,
.invoice-detail-grid span {
  border-color: #dbe5ef;
  background: #fff;
  overflow-wrap: anywhere;
}

.finance-review-panel,
.expense-review-panel {
  border-color: #d8e2ea;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .04);
}

@media (max-width: 860px) {
  .vendor-vms:not(.admin-vms) .vms-panel form.form-grid.vms-request-form,
  .vms-request-form .form-section-card,
  #credentialing-documents .opportunity-card,
  #credentialing-checklist .opportunity-card,
  #credentialing-assignments .opportunity-card {
    grid-template-columns: 1fr;
  }

  .vms-request-form > .button[type="submit"] {
    justify-self: stretch;
    min-width: 0;
  }
}

/* Portal styling stage 7: provider and vendor parity over the shared operations shell. */
.vendor-vms:not(.admin-vms) .portal-context-command,
.vendor-vms:not(.admin-vms) .portal-priority-workbench,
.vendor-vms:not(.admin-vms) .handoff-brief,
.vendor-vms:not(.admin-vms) .provider-profile-hero-card,
.vendor-vms:not(.admin-vms) .provider-next-action,
.vendor-vms:not(.admin-vms) .provider-next-action-plan,
.vendor-vms:not(.admin-vms) .provider-dashboard-section,
.vendor-vms:not(.admin-vms) .provider-next-action-row,
.vendor-vms:not(.admin-vms) .provider-workflow-group-grid article,
.vendor-vms:not(.admin-vms) .provider-action-queues > section,
.vendor-vms:not(.admin-vms) .provider-queue-item,
.vendor-vms:not(.admin-vms) .provider-profile-steps a,
.vendor-vms:not(.admin-vms) .provider-friendly-form-shell,
.vendor-vms:not(.admin-vms) .vendor-request-card,
.vendor-vms:not(.admin-vms) .vendor-submission-card,
.vendor-vms:not(.admin-vms) .vendor-confirmation-card,
.vendor-vms:not(.admin-vms) .vendor-schedule-card,
.vendor-vms:not(.admin-vms) .vendor-timesheet-card,
.vendor-vms:not(.admin-vms) .vendor-exception-card,
.vendor-vms:not(.admin-vms) .vendor-invoice-card,
.vendor-vms:not(.admin-vms) .vendor-provider-card,
.vendor-vms:not(.admin-vms) .vendor-document-card,
.vendor-vms:not(.admin-vms) .vendor-credentialing-card,
.vendor-vms:not(.admin-vms) .vendor-availability-card,
.vendor-vms:not(.admin-vms) .vendor-billing-card,
.vendor-vms:not(.admin-vms) .vendor-user-card,
.vendor-vms:not(.admin-vms) .vendor-config-card,
.vendor-vms:not(.admin-vms) .vendor-relationship-card,
.vendor-vms:not(.admin-vms) .vendor-report-card,
.vendor-vms:not(.admin-vms) .vendor-automation-card,
.vendor-vms:not(.admin-vms) .vendor-alert-card,
.vendor-vms:not(.admin-vms) .vendor-priority-row,
.vendor-vms:not(.admin-vms) .vendor-readiness-row,
.vendor-vms:not(.admin-vms) .vms-empty,
.vendor-vms:not(.admin-vms) .vms-note {
  border-color: var(--portal-line) !important;
  border-radius: var(--portal-radius) !important;
  background: var(--portal-paper) !important;
  box-shadow: var(--portal-panel-shadow) !important;
}

.vendor-vms:not(.admin-vms) .portal-context-command,
.vendor-vms:not(.admin-vms) .portal-priority-workbench,
.vendor-vms:not(.admin-vms) .handoff-brief,
.vendor-vms:not(.admin-vms) .provider-profile-hero-card,
.vendor-vms:not(.admin-vms) .provider-next-action {
  background: linear-gradient(135deg, #ffffff 0%, #fbfdff 62%, var(--portal-blue-soft) 100%) !important;
}

.vendor-vms:not(.admin-vms) .provider-profile-score-card,
.vendor-vms:not(.admin-vms) .provider-profile-status-card,
.vendor-vms:not(.admin-vms) .credential-summary-card,
.vendor-vms:not(.admin-vms) .readiness-command-metric,
.vendor-vms:not(.admin-vms) .schedule-command-metric,
.vendor-vms:not(.admin-vms) .portal-command-metric,
.vendor-vms:not(.admin-vms) .portal-priority-metric,
.vendor-vms:not(.admin-vms) .portal-priority-item,
.vendor-vms:not(.admin-vms) .portal-priority-module,
.vendor-vms:not(.admin-vms) .portal-priority-focus-item,
.vendor-vms:not(.admin-vms) .handoff-item,
.vendor-vms:not(.admin-vms) .action-center-summary a {
  border-color: var(--portal-line) !important;
  border-radius: var(--portal-radius) !important;
  background: #fbfcfd !important;
  color: var(--portal-ink) !important;
  box-shadow: none !important;
}

.vendor-vms:not(.admin-vms) .provider-profile-status-card.is-current,
.vendor-vms:not(.admin-vms) .portal-command-metric.is-selected,
.vendor-vms:not(.admin-vms) .portal-priority-metric.is-selected,
.vendor-vms:not(.admin-vms) .readiness-command-metric.is-selected,
.vendor-vms:not(.admin-vms) .schedule-command-metric.is-selected {
  border-color: #aac9e4 !important;
  background: var(--portal-blue-soft) !important;
  box-shadow: inset 3px 0 0 var(--portal-blue) !important;
}

.vendor-vms:not(.admin-vms) .provider-profile-score-card.ready,
.vendor-vms:not(.admin-vms) .provider-profile-status-card.tone-ready,
.vendor-vms:not(.admin-vms) .provider-profile-steps a.is-done,
.vendor-vms:not(.admin-vms) .credential-summary-card.tone-ready,
.vendor-vms:not(.admin-vms) .portal-priority-metric.tone-ready,
.vendor-vms:not(.admin-vms) .portal-priority-item.tone-ready,
.vendor-vms:not(.admin-vms) .portal-priority-module.tone-ready,
.vendor-vms:not(.admin-vms) .portal-priority-focus-item.tone-ready,
.vendor-vms:not(.admin-vms) .handoff-item.tone-ready {
  border-color: #d4ebdc !important;
  background: var(--portal-green-soft) !important;
}

.vendor-vms:not(.admin-vms) .provider-profile-score-card.critical,
.vendor-vms:not(.admin-vms) .provider-profile-status-card.tone-critical,
.vendor-vms:not(.admin-vms) .provider-profile-steps a.needs-work,
.vendor-vms:not(.admin-vms) .credential-summary-card.tone-critical,
.vendor-vms:not(.admin-vms) .readiness-command-metric.tone-critical,
.vendor-vms:not(.admin-vms) .schedule-command-metric.tone-critical,
.vendor-vms:not(.admin-vms) .schedule-command-metric.tone-overdue,
.vendor-vms:not(.admin-vms) .portal-command-metric.tone-critical,
.vendor-vms:not(.admin-vms) .portal-priority-metric.tone-critical,
.vendor-vms:not(.admin-vms) .portal-priority-item.tone-critical,
.vendor-vms:not(.admin-vms) .portal-priority-module.tone-critical,
.vendor-vms:not(.admin-vms) .portal-priority-focus-item.tone-critical,
.vendor-vms:not(.admin-vms) .handoff-item.tone-critical {
  border-color: #efc8c1 !important;
  background: var(--portal-danger-soft) !important;
}

.vendor-vms:not(.admin-vms) .provider-profile-status-card.tone-watch,
.vendor-vms:not(.admin-vms) .credential-summary-card.tone-watch,
.vendor-vms:not(.admin-vms) .portal-command-metric.tone-watch,
.vendor-vms:not(.admin-vms) .portal-priority-metric.tone-watch,
.vendor-vms:not(.admin-vms) .portal-priority-item.tone-watch,
.vendor-vms:not(.admin-vms) .portal-priority-module.tone-watch,
.vendor-vms:not(.admin-vms) .portal-priority-focus-item.tone-watch,
.vendor-vms:not(.admin-vms) .handoff-item.tone-watch {
  border-color: #efdba9 !important;
  background: var(--portal-amber-soft) !important;
}

.vendor-vms:not(.admin-vms) .provider-profile-status-card i,
.vendor-vms:not(.admin-vms) .provider-profile-status-card b,
.vendor-vms:not(.admin-vms) .provider-profile-steps em,
.vendor-vms:not(.admin-vms) .provider-profile-score-card span,
.vendor-vms:not(.admin-vms) .provider-friendly-form-intro span,
.vendor-vms:not(.admin-vms) .next-action-copy .eyebrow,
.vendor-vms:not(.admin-vms) .action-center-summary i,
.vendor-vms:not(.admin-vms) .vms-action-card em,
.vendor-vms:not(.admin-vms) .vms-action-card .card-link {
  color: var(--portal-blue-ink) !important;
}

.vendor-vms:not(.admin-vms) .hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card b {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: stretch !important;
  margin-top: 8px !important;
  padding: 10px 12px !important;
  border: 1px solid #10233f !important;
  border-radius: 8px !important;
  background: #10233f !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-shadow: none !important;
}

.vendor-vms:not(.admin-vms) .hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card b::after {
  content: none !important;
}

.vendor-vms:not(.admin-vms) .hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card:focus-visible b,
.vendor-vms:not(.admin-vms) .hospital-interface-hub .hospital-interface-card-grid .provider-profile-status-card:hover b {
  background: #18375f !important;
  border-color: #18375f !important;
}

.vendor-vms:not(.admin-vms) .next-action-icon {
  border-radius: var(--portal-radius);
  background: var(--portal-navy);
  color: #fff;
}

.vendor-vms:not(.admin-vms) .vendor-request-rate,
.vendor-vms:not(.admin-vms) .invoice-amount-block,
.vendor-vms:not(.admin-vms) .vendor-request-notes,
.vendor-vms:not(.admin-vms) .vendor-request-response-strip > span:not(.vms-status-pill),
.vendor-vms:not(.admin-vms) .vendor-confirmation-checklist span,
.vendor-vms:not(.admin-vms) .vendor-user-capabilities span,
.vendor-vms:not(.admin-vms) .report-metric-chips span,
.vendor-vms:not(.admin-vms) .timesheet-review-chips span,
.vendor-vms:not(.admin-vms) .provider-mini-metrics a,
.vendor-vms:not(.admin-vms) .mini-steps span,
.vendor-vms:not(.admin-vms) .handoff-summary,
.vendor-vms:not(.admin-vms) .candidate-decision-note,
.vendor-vms:not(.admin-vms) .candidate-card-drawer,
.vendor-vms:not(.admin-vms) .document-action-drawer,
.vendor-vms:not(.admin-vms) .invoice-settlement-strip,
.vendor-vms:not(.admin-vms) .provider-payout-strip {
  border-color: var(--portal-soft-line) !important;
  border-radius: var(--portal-radius) !important;
  background: #fbfcfd !important;
  color: var(--portal-ink) !important;
  box-shadow: none !important;
}

.vendor-vms:not(.admin-vms) .vendor-request-rate span,
.vendor-vms:not(.admin-vms) .invoice-amount-block span,
.vendor-vms:not(.admin-vms) .candidate-meta-grid strong,
.vendor-vms:not(.admin-vms) .provider-dashboard-section p,
.vendor-vms:not(.admin-vms) .provider-next-action-row p,
.vendor-vms:not(.admin-vms) .provider-workflow-group-grid p,
.vendor-vms:not(.admin-vms) .provider-queue-item p,
.vendor-vms:not(.admin-vms) .provider-profile-status-card p,
.vendor-vms:not(.admin-vms) .provider-profile-steps span,
.vendor-vms:not(.admin-vms) .vms-note p,
.vendor-vms:not(.admin-vms) .vms-empty p {
  color: var(--portal-muted) !important;
}

.vendor-vms:not(.admin-vms) .vendor-request-rate strong,
.vendor-vms:not(.admin-vms) .invoice-amount-block strong,
.vendor-vms:not(.admin-vms) .provider-dashboard-section strong,
.vendor-vms:not(.admin-vms) .provider-workflow-group-grid strong,
.vendor-vms:not(.admin-vms) .provider-profile-score-card strong,
.vendor-vms:not(.admin-vms) .provider-profile-status-card strong,
.vendor-vms:not(.admin-vms) .action-center-summary strong,
.vendor-vms:not(.admin-vms) .provider-mini-metrics strong,
.vendor-vms:not(.admin-vms) .vms-note strong {
  color: var(--portal-ink) !important;
}

.vendor-vms:not(.admin-vms) .vendor-finance-submit-drawer {
  border-color: var(--portal-soft-line) !important;
  background: #ffffff !important;
}

.vendor-vms:not(.admin-vms) .vendor-finance-submit-drawer > summary {
  min-height: 42px;
}

.vendor-vms:not(.admin-vms) .vendor-finance-submit-drawer > summary strong {
  padding: 6px 9px;
  border: 1px solid rgba(24, 118, 106, .22);
  border-radius: 999px;
  background: var(--vendor-ops-teal-soft);
  color: var(--vendor-ops-teal-ink);
}

.vendor-vms:not(.admin-vms) .invoice-amount-block {
  min-width: 188px;
  padding: 14px 16px !important;
  background: #eef8f4 !important;
}

.vendor-vms:not(.admin-vms) .invoice-amount-block strong {
  font-size: 28px !important;
}

.vendor-vms:not(.admin-vms) .invoice-settlement-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vendor-vms:not(.admin-vms) .finance-review-form .button.ghost {
  background: #ffffff !important;
}

/* Portal vendor hub hotfix: replace the abrupt hero panel with compact operational cards. */
.vendor-vms:not(.admin-vms) .vendor-interface-compact {
  padding: 18px !important;
  border: 1px solid var(--portal-line) !important;
  border-radius: var(--portal-radius) !important;
  background: var(--portal-paper) !important;
  box-shadow: var(--portal-panel-shadow) !important;
}

.vendor-vms:not(.admin-vms) .vendor-interface-head {
  align-items: center;
  margin-bottom: 14px;
  padding-bottom: 12px;
}

.vendor-vms:not(.admin-vms) .vendor-interface-head h2 {
  margin: 0;
  color: var(--portal-ink) !important;
  font-size: 20px !important;
  line-height: 1.2;
}

.vendor-vms:not(.admin-vms) .vendor-interface-head .vms-status-pill {
  justify-self: end;
}

.vendor-interface-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.vendor-interface-summary-card {
  display: grid;
  min-height: 108px;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--portal-line);
  border-radius: var(--portal-radius);
  background: #fbfcfd;
  color: var(--portal-ink);
  text-decoration: none;
  box-shadow: none;
}

.vendor-interface-summary-card span {
  color: var(--portal-muted);
  font-size: 12px;
  font-weight: 800;
}

.vendor-interface-summary-card strong {
  color: var(--portal-ink);
  font-size: 28px;
  line-height: 1;
}

.vendor-interface-summary-card p {
  margin: 0;
  color: var(--portal-muted);
  font-size: 13px;
  line-height: 1.35;
}

.vendor-interface-summary-card.tone-critical {
  border-color: #efc8c1;
  background: var(--portal-danger-soft);
}

.vendor-interface-summary-card.tone-watch {
  border-color: #efdba9;
  background: var(--portal-amber-soft);
}

.vendor-interface-summary-card.tone-ready {
  border-color: #d4ebdc;
  background: var(--portal-green-soft);
}

.vendor-vms:not(.admin-vms) .vendor-interface-compact .vendor-interface-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
}

.vendor-vms:not(.admin-vms) .vendor-interface-compact .provider-profile-status-card {
  min-height: 164px;
  padding: 14px;
  box-shadow: none !important;
}

.vendor-home-overview {
  display: grid;
  gap: 14px;
  padding: 18px !important;
}

.vendor-home-overview-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--portal-soft-line);
}

.vendor-home-overview-head h2 {
  margin: 0;
  color: var(--portal-ink);
  font-size: 22px;
  line-height: 1.15;
}

.vendor-home-overview-head p {
  margin: 4px 0 0;
  color: var(--portal-muted);
  font-size: 13px;
}

.vendor-home-overview-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.vendor-home-signal-grid,
.vendor-home-focus-grid,
.vendor-priority-queue {
  display: grid;
  gap: 12px;
}

.vendor-home-signal-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vendor-home-focus-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vendor-priority-queue {
  grid-template-columns: 1fr;
}

.vendor-next-actions {
  display: grid;
  gap: 12px;
}

.vendor-next-actions-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--portal-line);
  border-radius: var(--portal-radius);
  background: #fbfcfd;
}

.vendor-next-actions-banner span,
.vendor-next-action-head span {
  color: var(--portal-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.vendor-next-actions-banner strong {
  display: block;
  margin-top: 4px;
  color: var(--portal-ink);
  font-size: 18px;
  line-height: 1.2;
}

.vendor-next-actions-banner p {
  margin: 4px 0 0;
  color: var(--portal-muted);
  font-size: 13px;
  line-height: 1.35;
}

.vendor-next-action-table {
  display: grid;
  gap: 8px;
}

.vendor-next-action-row {
  display: grid;
  grid-template-columns: minmax(82px, .42fr) minmax(160px, .9fr) minmax(0, 1.45fr) minmax(130px, .7fr) minmax(104px, auto);
  gap: 12px;
  align-items: center;
  min-width: 0;
  min-height: 68px;
  padding: 11px 12px;
  border: 1px solid var(--portal-line);
  border-radius: var(--portal-radius);
  background: #fbfcfd;
  color: var(--portal-ink);
  text-decoration: none;
}

.vendor-next-action-head {
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  border: 0;
  background: transparent;
}

.vendor-next-action-row span,
.vendor-next-action-row strong,
.vendor-next-action-row p,
.vendor-next-action-row em,
.vendor-next-action-row b {
  min-width: 0;
}

.vendor-next-action-priority {
  width: fit-content;
  max-width: 100%;
  padding: 5px 8px;
  border: 1px solid var(--portal-line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--portal-ink);
  font-size: 12px;
  font-weight: 900;
}

.vendor-next-action-row strong {
  display: grid;
  gap: 3px;
  color: var(--portal-ink);
  font-size: 14px;
  line-height: 1.2;
}

.vendor-next-action-row strong small {
  color: var(--portal-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

.vendor-next-action-row p {
  margin: 0;
  color: var(--portal-muted);
  font-size: 13px;
  line-height: 1.35;
}

.vendor-next-action-row em {
  color: var(--portal-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.25;
}

.vendor-next-action-row b {
  justify-self: end;
  color: var(--portal-blue-ink);
  font-size: 12px;
  white-space: nowrap;
}

.vendor-priority-queue-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  padding-top: 2px;
}

.vendor-priority-queue-head h3 {
  margin: 0;
  color: var(--portal-ink);
  font-size: 18px;
  line-height: 1.2;
}

.vendor-priority-queue-head span {
  color: var(--portal-muted);
  font-size: 12px;
  font-weight: 800;
}

.vendor-home-signal,
.vendor-home-focus-card,
.vendor-priority-row {
  display: grid;
  min-width: 0;
  border: 1px solid var(--portal-line);
  border-radius: var(--portal-radius);
  background: #fbfcfd;
  color: var(--portal-ink);
  text-decoration: none;
  box-shadow: none;
}

.vendor-priority-row {
  grid-template-columns: minmax(150px, .75fr) 58px minmax(0, 1.4fr) minmax(86px, .35fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 72px;
  padding: 12px 14px;
}

.vendor-priority-row strong,
.vendor-priority-row span,
.vendor-priority-row p,
.vendor-priority-row em,
.vendor-priority-row b {
  min-width: 0;
}

.vendor-priority-row strong {
  color: var(--portal-ink);
  font-size: 14px;
}

.vendor-priority-row span {
  color: var(--portal-ink);
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}

.vendor-priority-row p {
  margin: 0;
  color: var(--portal-muted);
  font-size: 13px;
  line-height: 1.35;
}

.vendor-priority-row em {
  color: var(--portal-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.vendor-priority-row b {
  justify-self: end;
  color: var(--portal-blue-ink);
  font-size: 12px;
}

.vendor-home-signal {
  min-height: 106px;
  gap: 6px;
  padding: 14px;
}

.vendor-home-focus-card {
  min-height: 118px;
  gap: 8px;
  padding: 14px;
}

.vendor-home-signal span,
.vendor-home-focus-card span {
  color: var(--portal-muted);
  font-size: 12px;
  font-weight: 800;
}

.vendor-home-signal strong {
  color: var(--portal-ink);
  font-size: 30px;
  line-height: 1;
}

.vendor-home-signal p,
.vendor-home-focus-card p {
  margin: 0;
  color: var(--portal-muted);
  font-size: 13px;
  line-height: 1.35;
}

.vendor-home-focus-card b {
  align-self: end;
  color: var(--portal-blue-ink);
  font-size: 12px;
}

.vendor-home-signal.tone-critical,
.vendor-home-focus-card.tone-critical,
.vendor-priority-row.tone-critical,
.vendor-next-actions-banner.tone-critical,
.vendor-next-action-row.tone-critical {
  border-color: #efc8c1;
  background: var(--portal-danger-soft);
}

.vendor-home-signal.tone-watch,
.vendor-home-focus-card.tone-watch,
.vendor-priority-row.tone-watch,
.vendor-next-action-row.tone-watch {
  border-color: #efdba9;
  background: var(--portal-amber-soft);
}

.vendor-home-signal.tone-ready,
.vendor-home-focus-card.tone-ready,
.vendor-priority-row.tone-ready,
.vendor-next-actions-banner.tone-ready,
.vendor-next-action-row.tone-ready {
  border-color: #d4ebdc;
  background: var(--portal-green-soft);
}

@media (max-width: 760px) {
  .vendor-interface-summary-grid {
    grid-template-columns: 1fr;
  }

  .vendor-vms:not(.admin-vms) .vendor-interface-head {
    align-items: start;
  }

  .vendor-vms:not(.admin-vms) .vendor-interface-head .vms-status-pill {
    justify-self: start;
  }

  .vendor-home-overview-head,
  .vendor-home-signal-grid,
  .vendor-home-focus-grid,
  .vendor-priority-row,
  .vendor-next-actions-banner,
  .vendor-next-action-row {
    grid-template-columns: 1fr;
  }

  .vendor-next-action-head {
    display: none;
  }

  .vendor-priority-queue-head {
    align-items: start;
    flex-direction: column;
  }

  .vendor-priority-row span,
  .vendor-priority-row b,
  .vendor-next-action-row b {
    justify-self: start;
    text-align: left;
  }

  .vendor-home-overview-actions {
    justify-content: stretch;
  }
}

.vendor-vms:not(.admin-vms) .queue-control-bar,
.vendor-vms:not(.admin-vms) .vendor-directory-filter-form,
.vendor-vms:not(.admin-vms) .message-work-filters,
.vendor-vms:not(.admin-vms) .candidate-work-filters,
.vendor-vms:not(.admin-vms) .assignment-timeline-filters,
.vendor-vms:not(.admin-vms) .vendor-request-response-form,
.vendor-vms:not(.admin-vms) .vendor-response-form,
.vendor-vms:not(.admin-vms) .provider-readiness-response-form,
.vendor-vms:not(.admin-vms) .provider-payout-form,
.vendor-vms:not(.admin-vms) .assignment-thread-form,
.vendor-vms:not(.admin-vms) .admin-access-review-editor {
  border-color: var(--portal-soft-line) !important;
  border-radius: var(--portal-radius) !important;
  background: #fbfcfd !important;
  box-shadow: none !important;
}

/* Hospital stage 12: workflow detail routes, lighter queues, and action scaffolding. */
.vendor-vms:not(.admin-vms) .workflow-cue-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1px;
  margin: 10px 0;
  overflow: hidden;
  border: 1px solid var(--portal-soft-line);
  border-radius: 8px;
  background: var(--portal-soft-line);
}

.vendor-vms:not(.admin-vms) .workflow-cue-strip span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  background: #fbfcfd;
  color: var(--portal-ink);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.25;
}

.vendor-vms:not(.admin-vms) .workflow-cue-strip strong {
  color: var(--portal-muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.vendor-vms:not(.admin-vms) .record-workflow-cues {
  margin: 14px 0;
}

.vendor-vms:not(.admin-vms) .record-detail-tabs {
  position: sticky;
  top: 72px;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 14px;
  padding: 8px;
  border: 1px solid var(--portal-line);
  border-radius: 8px;
  background: rgba(248, 250, 251, .96);
  box-shadow: 0 8px 18px rgba(12, 31, 53, .06);
  backdrop-filter: blur(10px);
}

.vendor-vms:not(.admin-vms) .record-detail-tabs a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border: 1px solid var(--portal-line);
  border-radius: 8px;
  background: #fff;
  color: var(--portal-blue-ink);
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.vendor-vms:not(.admin-vms) .record-detail-tabs a:hover,
.vendor-vms:not(.admin-vms) .record-detail-tabs a:focus-visible {
  border-color: rgba(24, 118, 106, .36);
  background: var(--portal-blue-soft);
  outline: none;
}

.vendor-vms:not(.admin-vms) .record-detail-panel {
  scroll-margin-top: 140px;
  margin-top: 12px;
}

.vendor-vms:not(.admin-vms) .assignment-detail-panel .vms-panel-head {
  align-items: center;
}

.vendor-vms:not(.admin-vms) .assignment-detail-hero {
  margin-top: 12px;
}

.vendor-vms:not(.admin-vms) .bulk-action-shell {
  display: grid;
  gap: 10px;
}

.vendor-vms:not(.admin-vms) .bulk-action-bar {
  position: sticky;
  top: 72px;
  z-index: 15;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--portal-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(12, 31, 53, .08);
}

.vendor-vms:not(.admin-vms) .bulk-action-shell:has(.record-select-control input:checked) .bulk-action-bar {
  display: flex;
}

.vendor-vms:not(.admin-vms) .bulk-action-bar span {
  color: var(--portal-ink);
  font-size: 13px;
  font-weight: 850;
}

.vendor-vms:not(.admin-vms) .record-select-control {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  border: 1px solid var(--portal-line);
  border-radius: 8px;
  background: #fff;
}

.vendor-vms:not(.admin-vms) .record-select-control input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--portal-blue);
}

.vendor-vms:not(.admin-vms) .record-select-control + div {
  padding-right: 28px;
}

.vendor-vms:not(.admin-vms) .toast-stack,
.vendor-vms:not(.admin-vms) [data-toast-stack] {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1000;
  display: grid;
  gap: 10px;
  width: min(380px, calc(100vw - 36px));
}

.vendor-vms:not(.admin-vms) .toast-message {
  padding: 12px 14px;
  border: 1px solid var(--portal-line);
  border-left: 4px solid var(--portal-blue);
  border-radius: 8px;
  background: #fff;
  color: var(--portal-ink);
  box-shadow: 0 14px 34px rgba(12, 31, 53, .14);
}

.vendor-vms:not(.admin-vms) .toast-message.is-error {
  border-left-color: var(--portal-danger);
}

.vendor-vms:not(.admin-vms) .lf-confirm-modal,
.vendor-vms:not(.admin-vms) [data-confirm-modal] {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(12, 31, 53, .42);
}

.vendor-vms:not(.admin-vms) .lf-confirm-dialog {
  width: min(460px, 100%);
  padding: 18px;
  border: 1px solid var(--portal-line);
  border-radius: 8px;
  background: #fff;
  color: var(--portal-ink);
  box-shadow: 0 22px 54px rgba(12, 31, 53, .22);
}

.vendor-vms:not(.admin-vms) .lf-confirm-dialog h2 {
  margin: 0 0 8px;
  color: var(--portal-ink);
  font-size: 20px;
  line-height: 1.2;
}

.vendor-vms:not(.admin-vms) .lf-confirm-dialog p {
  margin: 0 0 16px;
  color: var(--portal-muted);
}

.vendor-vms:not(.admin-vms) .lf-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.vendor-vms:not(.admin-vms) .undo-affordance,
.vendor-vms:not(.admin-vms) [data-undo-action] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px dashed rgba(24, 118, 106, .42);
  border-radius: 8px;
  background: var(--portal-blue-soft);
  color: var(--portal-blue-ink);
  font-size: 12px;
  font-weight: 850;
}

.vendor-vms:not(.admin-vms) .lf-data-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--portal-line);
  border-radius: 8px;
  background: #fff;
}

.vendor-vms:not(.admin-vms) .lf-data-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  color: var(--portal-ink);
  font-size: 13px;
}

.vendor-vms:not(.admin-vms) .lf-data-table th,
.vendor-vms:not(.admin-vms) .lf-data-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--portal-soft-line);
  text-align: left;
  vertical-align: top;
}

.vendor-vms:not(.admin-vms) .lf-data-table th {
  background: #f8fafb;
  color: var(--portal-muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .vendor-vms:not(.admin-vms) .record-detail-tabs,
  .vendor-vms:not(.admin-vms) .bulk-action-bar {
    top: 58px;
  }

  .vendor-vms:not(.admin-vms) .record-detail-tabs a,
  .vendor-vms:not(.admin-vms) .bulk-action-bar .button {
    flex: 1 1 130px;
  }
}

.vendor-vms:not(.admin-vms) .queue-control-bar input,
.vendor-vms:not(.admin-vms) .queue-control-bar select,
.vendor-vms:not(.admin-vms) .vendor-directory-filter-form input,
.vendor-vms:not(.admin-vms) .vendor-directory-filter-form select,
.vendor-vms:not(.admin-vms) .vendor-request-response-form input,
.vendor-vms:not(.admin-vms) .vendor-response-form input,
.vendor-vms:not(.admin-vms) .vendor-response-form select,
.vendor-vms:not(.admin-vms) .provider-readiness-response-form input,
.vendor-vms:not(.admin-vms) .provider-payout-form input,
.vendor-vms:not(.admin-vms) .assignment-thread-form textarea,
.vendor-vms:not(.admin-vms) .admin-access-review-editor input,
.vendor-vms:not(.admin-vms) .admin-access-review-editor select,
.vendor-vms:not(.admin-vms) .admin-access-review-editor textarea {
  border-color: var(--portal-line) !important;
  border-radius: var(--portal-radius) !important;
  background: var(--portal-paper) !important;
  color: var(--portal-ink) !important;
  box-shadow: none !important;
}

.vendor-vms:not(.admin-vms) .message-work-filters a,
.vendor-vms:not(.admin-vms) .candidate-work-filters a,
.vendor-vms:not(.admin-vms) .assignment-timeline-filters label {
  border-color: var(--portal-line) !important;
  background: var(--portal-paper) !important;
  color: var(--portal-blue-ink) !important;
}

.vendor-vms:not(.admin-vms) .message-work-filters a.is-active,
.vendor-vms:not(.admin-vms) .candidate-work-filters a.is-active,
.vendor-vms:not(.admin-vms) .assignment-timeline-filter-all:checked ~ .assignment-timeline-filters label[for$="_all"],
.vendor-vms:not(.admin-vms) .assignment-timeline-filter-messages:checked ~ .assignment-timeline-filters label[for$="_messages"],
.vendor-vms:not(.admin-vms) .assignment-timeline-filter-documents:checked ~ .assignment-timeline-filters label[for$="_documents"],
.vendor-vms:not(.admin-vms) .assignment-timeline-filter-reviews:checked ~ .assignment-timeline-filters label[for$="_reviews"],
.vendor-vms:not(.admin-vms) .assignment-timeline-filter-reminders:checked ~ .assignment-timeline-filters label[for$="_reminders"],
.vendor-vms:not(.admin-vms) .assignment-timeline-filter-unresolved:checked ~ .assignment-timeline-filters label[for$="_unresolved"] {
  border-color: #aac9e4 !important;
  background: var(--portal-blue-soft) !important;
  color: var(--portal-blue-ink) !important;
}

.vendor-vms:not(.admin-vms) .vms-activity .vms-panel,
.vendor-vms:not(.admin-vms) .provider-account-tray {
  padding: 16px !important;
}

.vendor-vms:not(.admin-vms) .vms-activity .vms-panel-head {
  margin-bottom: 12px !important;
}

.vendor-vms:not(.admin-vms) .vms-activity-search {
  min-height: 40px;
  border-radius: var(--portal-radius);
}

.vendor-vms:not(.admin-vms) .vendor-confirmation-checklist span.is-complete {
  border-color: #d4ebdc !important;
  background: var(--portal-green-soft) !important;
  color: var(--portal-green) !important;
}

.vendor-vms:not(.admin-vms) .vendor-request-card,
.vendor-vms:not(.admin-vms) .vendor-submission-card,
.vendor-vms:not(.admin-vms) .vendor-confirmation-card,
.vendor-vms:not(.admin-vms) .vendor-schedule-card,
.vendor-vms:not(.admin-vms) .vendor-timesheet-card,
.vendor-vms:not(.admin-vms) .vendor-exception-card,
.vendor-vms:not(.admin-vms) .vendor-invoice-card,
.vendor-vms:not(.admin-vms) .vendor-provider-card,
.vendor-vms:not(.admin-vms) .vendor-document-card,
.vendor-vms:not(.admin-vms) .vendor-credentialing-card,
.vendor-vms:not(.admin-vms) .vendor-availability-card,
.vendor-vms:not(.admin-vms) .vendor-billing-card,
.vendor-vms:not(.admin-vms) .vendor-user-card,
.vendor-vms:not(.admin-vms) .vendor-config-card,
.vendor-vms:not(.admin-vms) .vendor-relationship-card,
.vendor-vms:not(.admin-vms) .vendor-report-card,
.vendor-vms:not(.admin-vms) .vendor-automation-card,
.vendor-vms:not(.admin-vms) .provider-command-card,
.vendor-vms:not(.admin-vms) .provider-queue-item {
  padding: 16px !important;
}

/* Vendor operations redesign stage 1: scoped visual foundation. */
.vendor-vms:not(.admin-vms) {
  --vendor-ops-navy: #0b1f35;
  --vendor-ops-navy-2: #12304d;
  --vendor-ops-teal: #18766a;
  --vendor-ops-teal-ink: #0d5e55;
  --vendor-ops-teal-soft: #e9f7f4;
  --vendor-ops-bg: #f4f6f8;
  --vendor-ops-surface: #ffffff;
  --vendor-ops-surface-soft: #f8fafb;
  --vendor-ops-line: #dbe3ea;
  --vendor-ops-line-soft: #edf1f5;
  --vendor-ops-ink: #132337;
  --vendor-ops-muted: #5e7083;
  --vendor-ops-subtle: #7c8b9b;
  --vendor-ops-success: #246a48;
  --vendor-ops-success-soft: #eef8f2;
  --vendor-ops-info: #245f8f;
  --vendor-ops-info-soft: #eef6fb;
  --vendor-ops-warn: #8a6418;
  --vendor-ops-warn-soft: #fff8e8;
  --vendor-ops-critical: #9d3a31;
  --vendor-ops-critical-soft: #fff2f0;
  --vendor-ops-shadow: 0 10px 24px rgba(12, 31, 53, .055);
  --vendor-ops-shadow-hover: 0 14px 30px rgba(12, 31, 53, .09);
  --vendor-ops-focus: 0 0 0 3px rgba(24, 118, 106, .16);
  --portal-ink: var(--vendor-ops-ink);
  --portal-muted: var(--vendor-ops-muted);
  --portal-line: var(--vendor-ops-line);
  --portal-soft-line: var(--vendor-ops-line-soft);
  --portal-paper: var(--vendor-ops-surface);
  --portal-soft: var(--vendor-ops-bg);
  --portal-soft-blue: var(--vendor-ops-info-soft);
  --portal-navy: var(--vendor-ops-navy);
  --portal-navy-hover: var(--vendor-ops-navy-2);
  --portal-blue: var(--vendor-ops-teal);
  --portal-blue-ink: var(--vendor-ops-teal-ink);
  --portal-green: var(--vendor-ops-success);
  --portal-green-soft: var(--vendor-ops-success-soft);
  --portal-red: var(--vendor-ops-critical);
  --portal-red-soft: var(--vendor-ops-critical-soft);
  --portal-danger: var(--vendor-ops-critical);
  --portal-danger-hover: #7f2e28;
  --portal-danger-soft: var(--vendor-ops-critical-soft);
  --portal-amber: var(--vendor-ops-warn);
  --portal-amber-soft: var(--vendor-ops-warn-soft);
  --portal-shadow: var(--vendor-ops-shadow);
  --portal-panel-shadow: var(--vendor-ops-shadow);
  --portal-panel-shadow-hover: var(--vendor-ops-shadow-hover);
  --portal-radius: 8px;
  background: var(--vendor-ops-bg);
  color: var(--vendor-ops-ink);
  font-size: 15px;
}

.vendor-vms:not(.admin-vms) .vms-topbar {
  border-bottom-color: var(--vendor-ops-line);
  background: var(--vendor-ops-surface);
  box-shadow: 0 1px 0 rgba(12, 31, 53, .04);
}

.vendor-vms:not(.admin-vms) .vms-brand,
.vendor-vms:not(.admin-vms) .vms-org strong,
.vendor-vms:not(.admin-vms) .vms-panel-head h2,
.vendor-vms:not(.admin-vms) .portal-page-intro h1,
.vendor-vms:not(.admin-vms) .compact-head h2,
.vendor-vms:not(.admin-vms) h2,
.vendor-vms:not(.admin-vms) h3 {
  color: var(--vendor-ops-ink) !important;
  letter-spacing: 0 !important;
}

.vendor-vms:not(.admin-vms) .vms-org strong {
  font-size: 19px;
}

.vendor-vms:not(.admin-vms) .vms-org span,
.vendor-vms:not(.admin-vms) .eyebrow,
.vendor-vms:not(.admin-vms) .vendor-interface-summary-card span,
.vendor-vms:not(.admin-vms) .vendor-home-signal span,
.vendor-vms:not(.admin-vms) .vendor-home-focus-card span,
.vendor-vms:not(.admin-vms) .candidate-meta-grid strong,
.vendor-vms:not(.admin-vms) .vendor-request-rate span,
.vendor-vms:not(.admin-vms) .invoice-amount-block span {
  color: var(--vendor-ops-teal-ink) !important;
  letter-spacing: 0 !important;
}

.vendor-vms:not(.admin-vms) .vms-search {
  border-color: var(--vendor-ops-line);
  background: var(--vendor-ops-surface-soft);
  color: var(--vendor-ops-muted);
}

.vendor-vms:not(.admin-vms) .vms-tabs {
  border-color: #0f2a46;
  background: var(--vendor-ops-navy);
  color: #ffffff;
}

.vendor-vms:not(.admin-vms) .vms-tabs > div {
  border-color: rgba(255, 255, 255, .12);
}

.vendor-vms:not(.admin-vms) .vms-tabs strong {
  color: rgba(255, 255, 255, .84);
  letter-spacing: 0 !important;
}

.vendor-vms:not(.admin-vms) .vms-tabs small {
  color: rgba(255, 255, 255, .58);
}

.vendor-vms:not(.admin-vms) .vms-tabs a {
  color: rgba(255, 255, 255, .82);
  border: 1px solid transparent;
  border-radius: 8px;
}

.vendor-vms:not(.admin-vms) .vms-tabs a.active,
.vendor-vms:not(.admin-vms) .vms-tabs a[aria-current="page"],
.vendor-vms:not(.admin-vms) .vms-tabs a:hover,
.vendor-vms:not(.admin-vms) .vms-tabs a:focus-visible {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .1);
  color: #ffffff;
  box-shadow: inset 3px 0 0 var(--vendor-ops-teal);
  outline: none;
}

.vendor-vms:not(.admin-vms) .provider-secondary-tabs,
.vendor-vms:not(.admin-vms) .message-work-filters,
.vendor-vms:not(.admin-vms) .candidate-work-filters,
.vendor-vms:not(.admin-vms) .vendor-request-filter-strip,
.vendor-vms:not(.admin-vms) .operation-filter-strip,
.vendor-vms:not(.admin-vms) .schedule-filter-strip,
.vendor-vms:not(.admin-vms) .credentialing-filter-strip {
  border-color: var(--vendor-ops-line);
  background: var(--vendor-ops-surface-soft);
}

.vendor-vms:not(.admin-vms) .provider-secondary-tabs a,
.vendor-vms:not(.admin-vms) .message-work-filters a,
.vendor-vms:not(.admin-vms) .candidate-work-filters a,
.vendor-vms:not(.admin-vms) .vendor-request-filter-strip a,
.vendor-vms:not(.admin-vms) .operation-filter-strip a,
.vendor-vms:not(.admin-vms) .schedule-filter-strip a,
.vendor-vms:not(.admin-vms) .credentialing-filter-strip a {
  min-height: 42px;
  border-color: var(--vendor-ops-line) !important;
  border-radius: 8px !important;
  background: var(--vendor-ops-surface) !important;
  color: var(--vendor-ops-navy-2) !important;
  box-shadow: none !important;
}

.vendor-vms:not(.admin-vms) .provider-secondary-tabs a.active,
.vendor-vms:not(.admin-vms) .provider-secondary-tabs a:hover,
.vendor-vms:not(.admin-vms) .message-work-filters a.is-active,
.vendor-vms:not(.admin-vms) .candidate-work-filters a.is-active,
.vendor-vms:not(.admin-vms) .vendor-request-filter-strip a.is-active,
.vendor-vms:not(.admin-vms) .operation-filter-strip a.is-active,
.vendor-vms:not(.admin-vms) .schedule-filter-strip a.is-active,
.vendor-vms:not(.admin-vms) .credentialing-filter-strip a.is-active {
  border-color: rgba(24, 118, 106, .38) !important;
  background: var(--vendor-ops-teal-soft) !important;
  color: var(--vendor-ops-teal-ink) !important;
}

.vendor-vms:not(.admin-vms) .vms-panel,
.vendor-vms:not(.admin-vms) .vms-metric,
.vendor-vms:not(.admin-vms) .vms-grid article,
.vendor-vms:not(.admin-vms) .vms-record-card,
.vendor-vms:not(.admin-vms) .vms-record-hero,
.vendor-vms:not(.admin-vms) .portal-page-intro,
.vendor-vms:not(.admin-vms) .vms-detail-grid article,
.vendor-vms:not(.admin-vms) .vendor-interface-compact,
.vendor-vms:not(.admin-vms) .vendor-home-overview,
.vendor-vms:not(.admin-vms) .vendor-request-card,
.vendor-vms:not(.admin-vms) .vendor-submission-card,
.vendor-vms:not(.admin-vms) .vendor-confirmation-card,
.vendor-vms:not(.admin-vms) .vendor-schedule-card,
.vendor-vms:not(.admin-vms) .vendor-timesheet-card,
.vendor-vms:not(.admin-vms) .vendor-exception-card,
.vendor-vms:not(.admin-vms) .vendor-invoice-card,
.vendor-vms:not(.admin-vms) .vendor-provider-card,
.vendor-vms:not(.admin-vms) .vendor-document-card,
.vendor-vms:not(.admin-vms) .vendor-credentialing-card,
.vendor-vms:not(.admin-vms) .vendor-availability-card,
.vendor-vms:not(.admin-vms) .vendor-billing-card,
.vendor-vms:not(.admin-vms) .vendor-user-card,
.vendor-vms:not(.admin-vms) .vendor-config-card,
.vendor-vms:not(.admin-vms) .vendor-relationship-card,
.vendor-vms:not(.admin-vms) .vendor-report-card,
.vendor-vms:not(.admin-vms) .vendor-automation-card,
.vendor-vms:not(.admin-vms) .provider-command-card,
.vendor-vms:not(.admin-vms) .candidate-review-card,
.vendor-vms:not(.admin-vms) .provider-queue-item,
.vendor-vms:not(.admin-vms) .vms-empty,
.vendor-vms:not(.admin-vms) .portal-empty-state {
  border-color: var(--vendor-ops-line) !important;
  border-radius: 8px !important;
  background: var(--vendor-ops-surface) !important;
  box-shadow: var(--vendor-ops-shadow) !important;
}

.vendor-vms:not(.admin-vms) .vms-panel .vms-panel,
.vendor-vms:not(.admin-vms) .vms-panel .candidate-review-card,
.vendor-vms:not(.admin-vms) .vms-panel .provider-command-card,
.vendor-vms:not(.admin-vms) .vms-panel .provider-queue-item {
  background: var(--vendor-ops-surface-soft) !important;
  box-shadow: none !important;
}

.vendor-vms:not(.admin-vms) .vms-panel-head,
.vendor-vms:not(.admin-vms) .vendor-home-overview-head,
.vendor-vms:not(.admin-vms) .vendor-interface-head,
.vendor-vms:not(.admin-vms) .compact-head {
  border-bottom-color: var(--vendor-ops-line-soft) !important;
}

.vendor-vms:not(.admin-vms) .vms-panel-head span,
.vendor-vms:not(.admin-vms) .vms-panel-head a,
.vendor-vms:not(.admin-vms) .compact-head span,
.vendor-vms:not(.admin-vms) .compact-head a,
.vendor-vms:not(.admin-vms) .vms-record-card p,
.vendor-vms:not(.admin-vms) .vms-record-hero p,
.vendor-vms:not(.admin-vms) .vendor-home-overview-head p,
.vendor-vms:not(.admin-vms) .vendor-interface-summary-card p,
.vendor-vms:not(.admin-vms) .vendor-home-signal p,
.vendor-vms:not(.admin-vms) .vendor-home-focus-card p,
.vendor-vms:not(.admin-vms) .vms-empty p,
.vendor-vms:not(.admin-vms) .portal-empty-state p {
  color: var(--vendor-ops-muted) !important;
}

.vendor-vms:not(.admin-vms) .button {
  min-height: 40px !important;
  border-radius: 8px !important;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0 !important;
}

.vendor-vms:not(.admin-vms) .button.dark,
.vendor-vms:not(.admin-vms) .button.primary {
  border-color: var(--vendor-ops-navy) !important;
  background: var(--vendor-ops-navy) !important;
  color: #ffffff !important;
}

.vendor-vms:not(.admin-vms) .button.dark:hover,
.vendor-vms:not(.admin-vms) .button.dark:focus-visible,
.vendor-vms:not(.admin-vms) .button.primary:hover,
.vendor-vms:not(.admin-vms) .button.primary:focus-visible {
  border-color: var(--vendor-ops-navy-2) !important;
  background: var(--vendor-ops-navy-2) !important;
  box-shadow: var(--vendor-ops-focus) !important;
}

.vendor-vms:not(.admin-vms) .button.ghost,
.vendor-vms:not(.admin-vms) .button.secondary {
  border-color: var(--vendor-ops-line) !important;
  background: var(--vendor-ops-surface) !important;
  color: var(--vendor-ops-teal-ink) !important;
}

.vendor-vms:not(.admin-vms) .button.ghost:hover,
.vendor-vms:not(.admin-vms) .button.ghost:focus-visible,
.vendor-vms:not(.admin-vms) .button.secondary:hover,
.vendor-vms:not(.admin-vms) .button.secondary:focus-visible {
  border-color: rgba(24, 118, 106, .34) !important;
  background: var(--vendor-ops-teal-soft) !important;
  box-shadow: var(--vendor-ops-focus) !important;
}

.vendor-vms:not(.admin-vms) .button.danger {
  border-color: var(--vendor-ops-critical) !important;
  background: var(--vendor-ops-critical) !important;
  color: #ffffff !important;
}

.vendor-vms:not(.admin-vms) .portal-page-filter-header {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  background: var(--vendor-ops-surface-soft);
  box-shadow: none;
}

.vendor-vms:not(.admin-vms) .portal-page-filter-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: end;
}

.vendor-vms:not(.admin-vms) .portal-page-filter-copy {
  display: grid;
  gap: 4px;
}

.vendor-vms:not(.admin-vms) .portal-page-filter-copy span,
.vendor-vms:not(.admin-vms) .portal-page-filter-summary span {
  color: var(--vendor-ops-teal-ink);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}

.vendor-vms:not(.admin-vms) .portal-page-filter-copy h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.18;
}

.vendor-vms:not(.admin-vms) .portal-page-filter-copy p {
  max-width: 860px;
  margin: 0;
  color: var(--vendor-ops-muted);
  font-size: 13px;
  line-height: 1.4;
}

.vendor-vms:not(.admin-vms) .portal-page-filter-summary {
  display: grid;
  min-width: 118px;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  background: var(--vendor-ops-surface);
}

.vendor-vms:not(.admin-vms) .portal-page-filter-summary strong {
  color: var(--vendor-ops-ink);
  font-size: 24px;
  line-height: 1;
}

.vendor-vms:not(.admin-vms) .portal-page-filter-summary em {
  color: var(--vendor-ops-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.25;
}

.vendor-vms:not(.admin-vms) .portal-page-filter-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.vendor-vms:not(.admin-vms) .portal-filter-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  background: var(--vendor-ops-surface);
}

.vendor-vms:not(.admin-vms) .portal-filter-chip {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  padding: 7px 9px;
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  background: var(--vendor-ops-surface-soft);
  color: var(--vendor-ops-navy-2);
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.vendor-vms:not(.admin-vms) .portal-filter-chip strong {
  min-width: 24px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eef6fb;
  color: var(--vendor-ops-info);
  font-size: 12px;
  line-height: 1;
  text-align: center;
}

.vendor-vms:not(.admin-vms) .portal-filter-chip.is-active {
  border-color: rgba(24, 118, 106, .42);
  background: var(--vendor-ops-teal-soft);
  color: var(--vendor-ops-teal-ink);
}

.vendor-vms:not(.admin-vms) .portal-filter-chip.needs-action strong,
.vendor-vms:not(.admin-vms) .portal-filter-chip.tone-critical strong,
.vendor-vms:not(.admin-vms) .portal-filter-chip.tone-overdue strong,
.vendor-vms:not(.admin-vms) .portal-filter-chip.tone-needs-action strong {
  background: var(--vendor-ops-critical-soft);
  color: var(--vendor-ops-critical);
}

.vendor-vms:not(.admin-vms) .portal-filter-chip:hover,
.vendor-vms:not(.admin-vms) .portal-filter-chip:focus-visible {
  border-color: rgba(24, 118, 106, .34);
  background: #ffffff;
  box-shadow: var(--vendor-ops-focus);
  outline: none;
}

.vendor-vms:not(.admin-vms) .portal-filter-details {
  border-top: 1px solid var(--vendor-ops-line);
  padding-top: 8px;
}

.vendor-vms:not(.admin-vms) .portal-filter-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--vendor-ops-teal-ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
}

.vendor-vms:not(.admin-vms) .portal-filter-details summary::-webkit-details-marker {
  display: none;
}

.vendor-vms:not(.admin-vms) .portal-filter-details summary em {
  color: var(--vendor-ops-muted);
  font-style: normal;
}

.vendor-vms:not(.admin-vms) .portal-filter-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.vendor-vms:not(.admin-vms) .portal-filter-detail-grid span {
  display: grid;
  gap: 3px;
  padding: 9px;
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  background: var(--vendor-ops-surface);
  color: var(--vendor-ops-muted);
  font-size: 12px;
  line-height: 1.35;
}

.vendor-vms:not(.admin-vms) .portal-filter-detail-grid strong {
  color: var(--vendor-ops-ink);
  font-size: 12px;
}

/* locumfriends-hospital-stage11-unified-page-framework */
.vendor-vms:not(.admin-vms) a:focus-visible,
.vendor-vms:not(.admin-vms) button:focus-visible,
.vendor-vms:not(.admin-vms) input:focus-visible,
.vendor-vms:not(.admin-vms) select:focus-visible,
.vendor-vms:not(.admin-vms) textarea:focus-visible,
.vendor-vms:not(.admin-vms) summary:focus-visible {
  outline: 3px solid rgba(24, 118, 106, .32);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(24, 118, 106, .08) !important;
}

.vendor-vms:not(.admin-vms) .vms-request-form .form-section-card {
  position: relative;
  gap: 14px;
  padding-top: 18px;
}

.vendor-vms:not(.admin-vms) .vms-request-form .form-section-card legend {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border: 1px solid #d9e5ec;
  border-radius: 999px;
  background: #f7fbfa;
}

.vendor-vms:not(.admin-vms) .vms-request-form label {
  position: relative;
  align-content: start;
  gap: 6px;
}

.vendor-vms:not(.admin-vms) .vms-request-form label:has(input[required])::after,
.vendor-vms:not(.admin-vms) .vms-request-form label:has(select[required])::after,
.vendor-vms:not(.admin-vms) .vms-request-form label:has(textarea[required])::after {
  content: "Required";
  position: absolute;
  top: 0;
  right: 0;
  color: #a33b17;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.vendor-vms:not(.admin-vms) .vms-request-form input:user-invalid,
.vendor-vms:not(.admin-vms) .vms-request-form select:user-invalid,
.vendor-vms:not(.admin-vms) .vms-request-form textarea:user-invalid {
  border-color: #b42318;
  box-shadow: 0 0 0 4px rgba(180, 35, 24, .1);
}

.vendor-vms:not(.admin-vms) .field-help,
.vendor-vms:not(.admin-vms) .field-error {
  display: block;
  min-height: 15px;
  color: #64748b;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.35;
}

.vendor-vms:not(.admin-vms) .field-error:not(:empty) {
  color: #b42318;
}

.vendor-vms:not(.admin-vms) .request-form-actions {
  position: sticky;
  bottom: 0;
  z-index: 4;
  display: flex;
  grid-column: 1 / -1;
  justify-content: flex-end;
  gap: 10px;
  margin: 2px -16px -16px;
  padding: 12px 16px;
  border-top: 1px solid #d8e2ea;
  border-radius: 0 0 8px 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 -10px 24px rgba(15, 23, 42, .08);
}

.vendor-vms:not(.admin-vms) .request-form-actions .button {
  min-width: 156px;
}

.vendor-vms:not(.admin-vms) .request-form-actions .button[disabled] {
  cursor: not-allowed;
  opacity: .58;
}

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

@media (max-width: 900px) {
  .vendor-vms:not(.admin-vms) .portal-page-filter-top {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .vendor-vms:not(.admin-vms) .portal-page-filter-actions {
    justify-content: stretch;
  }

  .vendor-vms:not(.admin-vms) .portal-page-filter-actions .button {
    flex: 1 1 150px;
  }
}

.vendor-vms:not(.admin-vms) .vms-status-pill {
  min-height: 23px !important;
  border-color: var(--vendor-ops-line) !important;
  background: #f2f5f8 !important;
  color: var(--vendor-ops-muted) !important;
  letter-spacing: 0 !important;
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-green {
  border-color: #cfe8d9 !important;
  background: var(--vendor-ops-success-soft) !important;
  color: var(--vendor-ops-success) !important;
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-blue {
  border-color: #cddfeb !important;
  background: var(--vendor-ops-info-soft) !important;
  color: var(--vendor-ops-info) !important;
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-yellow,
.vendor-vms:not(.admin-vms) .vms-status-pill.status-orange {
  border-color: #eddbab !important;
  background: var(--vendor-ops-warn-soft) !important;
  color: var(--vendor-ops-warn) !important;
}

.vendor-vms:not(.admin-vms) .vms-status-pill.status-red {
  border-color: #edc7c1 !important;
  background: var(--vendor-ops-critical-soft) !important;
  color: var(--vendor-ops-critical) !important;
}

.vendor-vms:not(.admin-vms) .vendor-interface-summary-card,
.vendor-vms:not(.admin-vms) .vendor-home-signal,
.vendor-vms:not(.admin-vms) .vendor-home-focus-card,
.vendor-vms:not(.admin-vms) .vendor-priority-row,
.vendor-vms:not(.admin-vms) .vendor-next-actions-banner,
.vendor-vms:not(.admin-vms) .vendor-next-action-row,
.vendor-vms:not(.admin-vms) .provider-profile-status-card,
.vendor-vms:not(.admin-vms) .portal-command-metric,
.vendor-vms:not(.admin-vms) .portal-priority-metric,
.vendor-vms:not(.admin-vms) .portal-priority-item {
  border-color: var(--vendor-ops-line) !important;
  border-radius: 8px !important;
  background: var(--vendor-ops-surface-soft) !important;
  color: var(--vendor-ops-ink) !important;
}

.vendor-vms:not(.admin-vms) .vendor-interface-summary-card.tone-critical,
.vendor-vms:not(.admin-vms) .vendor-home-signal.tone-critical,
.vendor-vms:not(.admin-vms) .vendor-home-focus-card.tone-critical,
.vendor-vms:not(.admin-vms) .vendor-priority-row.tone-critical,
.vendor-vms:not(.admin-vms) .vendor-next-actions-banner.tone-critical,
.vendor-vms:not(.admin-vms) .vendor-next-action-row.tone-critical,
.vendor-vms:not(.admin-vms) .provider-profile-status-card.tone-critical,
.vendor-vms:not(.admin-vms) .portal-command-metric.tone-critical,
.vendor-vms:not(.admin-vms) .portal-priority-metric.tone-critical,
.vendor-vms:not(.admin-vms) .portal-priority-item.tone-critical {
  border-color: #edc7c1 !important;
  background: var(--vendor-ops-critical-soft) !important;
}

.vendor-vms:not(.admin-vms) .vendor-interface-summary-card.tone-watch,
.vendor-vms:not(.admin-vms) .vendor-home-signal.tone-watch,
.vendor-vms:not(.admin-vms) .vendor-home-focus-card.tone-watch,
.vendor-vms:not(.admin-vms) .vendor-priority-row.tone-watch,
.vendor-vms:not(.admin-vms) .vendor-next-action-row.tone-watch,
.vendor-vms:not(.admin-vms) .provider-profile-status-card.tone-watch,
.vendor-vms:not(.admin-vms) .portal-command-metric.tone-watch,
.vendor-vms:not(.admin-vms) .portal-priority-metric.tone-watch,
.vendor-vms:not(.admin-vms) .portal-priority-item.tone-watch {
  border-color: #eddbab !important;
  background: var(--vendor-ops-warn-soft) !important;
}

.vendor-vms:not(.admin-vms) .vendor-interface-summary-card.tone-ready,
.vendor-vms:not(.admin-vms) .vendor-home-signal.tone-ready,
.vendor-vms:not(.admin-vms) .vendor-home-focus-card.tone-ready,
.vendor-vms:not(.admin-vms) .vendor-priority-row.tone-ready,
.vendor-vms:not(.admin-vms) .vendor-next-actions-banner.tone-ready,
.vendor-vms:not(.admin-vms) .vendor-next-action-row.tone-ready,
.vendor-vms:not(.admin-vms) .provider-profile-status-card.tone-ready,
.vendor-vms:not(.admin-vms) .portal-command-metric.tone-ready,
.vendor-vms:not(.admin-vms) .portal-priority-metric.tone-ready,
.vendor-vms:not(.admin-vms) .portal-priority-item.tone-ready {
  border-color: #cfe8d9 !important;
  background: var(--vendor-ops-success-soft) !important;
}

.vendor-vms:not(.admin-vms) .vms-panel form.form-grid,
.vendor-vms:not(.admin-vms) .vms-panel .compact-form,
.vendor-vms:not(.admin-vms) .vendor-request-response-form,
.vendor-vms:not(.admin-vms) .vendor-response-form,
.vendor-vms:not(.admin-vms) .provider-readiness-response-form,
.vendor-vms:not(.admin-vms) .provider-payout-form,
.vendor-vms:not(.admin-vms) .assignment-thread-form,
.vendor-vms:not(.admin-vms) .queue-control-bar,
.vendor-vms:not(.admin-vms) .vendor-directory-filter-form {
  border-color: var(--vendor-ops-line) !important;
  border-radius: 8px !important;
  background: var(--vendor-ops-surface-soft) !important;
}

.vendor-vms:not(.admin-vms) label,
.vendor-vms:not(.admin-vms) .form-grid label,
.vendor-vms:not(.admin-vms) .vendor-request-response-form label,
.vendor-vms:not(.admin-vms) .vendor-response-form label {
  color: var(--vendor-ops-ink) !important;
  letter-spacing: 0 !important;
}

.vendor-vms:not(.admin-vms) input,
.vendor-vms:not(.admin-vms) select,
.vendor-vms:not(.admin-vms) textarea {
  border-color: var(--vendor-ops-line) !important;
  border-radius: 8px !important;
  background: var(--vendor-ops-surface) !important;
  color: var(--vendor-ops-ink) !important;
  box-shadow: none !important;
}

.vendor-vms:not(.admin-vms) input:focus,
.vendor-vms:not(.admin-vms) select:focus,
.vendor-vms:not(.admin-vms) textarea:focus {
  border-color: var(--vendor-ops-teal) !important;
  box-shadow: var(--vendor-ops-focus) !important;
  outline: none;
}

.vendor-vms:not(.admin-vms) .vms-empty,
.vendor-vms:not(.admin-vms) .portal-empty-state,
.vendor-vms:not(.admin-vms) .notification-work-empty,
.vendor-vms:not(.admin-vms) .message-work-empty {
  min-height: 180px;
  border-style: dashed !important;
  background: #fbfcfd !important;
  color: var(--vendor-ops-muted) !important;
}

.vendor-vms:not(.admin-vms) .vms-empty::before {
  width: 40px;
  height: 40px;
  background: var(--vendor-ops-teal);
  font-size: 22px;
}

.vendor-vms:not(.admin-vms) .vms-empty strong,
.vendor-vms:not(.admin-vms) .portal-empty-state strong,
.vendor-vms:not(.admin-vms) .notification-work-empty strong,
.vendor-vms:not(.admin-vms) .message-work-empty strong {
  color: var(--vendor-ops-ink) !important;
}

@media (max-width: 1180px) {
  .vendor-vms:not(.admin-vms) .vms-layout {
    gap: 16px;
    padding: 16px 18px 38px;
  }

  .vendor-vms:not(.admin-vms) .vms-metrics,
  .vendor-vms:not(.admin-vms) .vendor-home-signal-grid,
  .vendor-vms:not(.admin-vms) .vendor-home-focus-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .vendor-vms:not(.admin-vms) .vms-tabs {
    background: var(--vendor-ops-navy);
  }

  .vendor-vms:not(.admin-vms) .vms-tabs a.active,
  .vendor-vms:not(.admin-vms) .vms-tabs a[aria-current="page"],
  .vendor-vms:not(.admin-vms) .vms-tabs a:hover,
  .vendor-vms:not(.admin-vms) .vms-tabs a:focus-visible {
    box-shadow: inset 0 -3px 0 var(--vendor-ops-teal);
  }
}

@media (max-width: 760px) {
  .vendor-vms:not(.admin-vms) {
    font-size: 14px;
  }

  .vendor-vms:not(.admin-vms) .vms-topbar,
  .vendor-vms:not(.admin-vms) .vendor-home-overview-head,
  .vendor-vms:not(.admin-vms) .vendor-request-head,
  .vendor-vms:not(.admin-vms) .invoice-card-header,
  .vendor-vms:not(.admin-vms) .candidate-decision-head {
    grid-template-columns: 1fr !important;
  }

  .vendor-vms:not(.admin-vms) .vms-layout {
    padding: 14px 12px 32px;
  }

  .vendor-vms:not(.admin-vms) .vms-panel,
  .vendor-vms:not(.admin-vms) .vendor-interface-compact,
  .vendor-vms:not(.admin-vms) .vendor-home-overview {
    padding: 14px !important;
  }

  .vendor-vms:not(.admin-vms) .vms-metrics,
  .vendor-vms:not(.admin-vms) .vendor-interface-summary-grid,
  .vendor-vms:not(.admin-vms) .vendor-home-signal-grid,
  .vendor-vms:not(.admin-vms) .vendor-home-focus-grid,
  .vendor-vms:not(.admin-vms) .vendor-next-actions-banner,
  .vendor-vms:not(.admin-vms) .vendor-next-action-row,
  .vendor-vms:not(.admin-vms) .vendor-priority-row,
  .vendor-vms:not(.admin-vms) .candidate-meta-grid,
  .vendor-vms:not(.admin-vms) .vendor-request-response-strip,
  .vendor-vms:not(.admin-vms) .invoice-settlement-strip,
  .vendor-vms:not(.admin-vms) .provider-payout-strip {
    grid-template-columns: 1fr !important;
  }

  .vendor-vms:not(.admin-vms) .vendor-home-overview-actions,
  .vendor-vms:not(.admin-vms) .vendor-submission-actions,
  .vendor-vms:not(.admin-vms) .credential-review-actions,
  .vendor-vms:not(.admin-vms) .portal-empty-actions {
    justify-content: stretch;
  }

  .vendor-vms:not(.admin-vms) .button {
    justify-content: center;
    width: 100%;
  }
}

/* Vendor operations redesign stage 2: fixed shell navigation and quieter account actions. */
.vendor-vms:not(.admin-vms) {
  --vendor-shell-sidebar: 284px;
  --vendor-shell-topbar: 84px;
}

.vendor-vms:not(.admin-vms) .vms-topbar {
  grid-template-columns: minmax(170px, 230px) minmax(0, 1fr) auto;
  min-height: var(--vendor-shell-topbar);
}

.vendor-vms:not(.admin-vms) .vms-topbar-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}

.vendor-vms:not(.admin-vms) .vendor-logout-link {
  min-height: 34px !important;
  border-color: transparent !important;
  background: transparent !important;
  color: var(--vendor-ops-muted) !important;
  padding: 7px 8px !important;
}

.vendor-vms:not(.admin-vms) .vendor-logout-link:hover,
.vendor-vms:not(.admin-vms) .vendor-logout-link:focus-visible {
  background: var(--vendor-ops-surface-soft) !important;
  color: var(--vendor-ops-ink) !important;
}

.vendor-vms:not(.admin-vms) .vms-tabs {
  width: var(--vendor-shell-sidebar);
}

.vendor-vms:not(.admin-vms) .vms-nav-group {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.vendor-vms:not(.admin-vms) .vms-nav-group summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: center;
  cursor: pointer;
  list-style: none;
}

.vendor-vms:not(.admin-vms) .vms-nav-group summary::-webkit-details-marker {
  display: none;
}

.vendor-vms:not(.admin-vms) .vms-nav-group summary::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 6px;
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
  font-weight: 800;
}

.vendor-vms:not(.admin-vms) .vms-nav-group[open] summary::after {
  content: "-";
}

.vendor-vms:not(.admin-vms) .vms-nav-group summary strong {
  padding: 0;
  color: rgba(255, 255, 255, .9);
}

.vendor-vms:not(.admin-vms) .vms-nav-group summary small {
  grid-column: 1 / -1;
  width: auto;
  margin: 0;
  color: rgba(255, 255, 255, .58);
  line-height: 1.35;
  text-transform: none;
}

.vendor-vms:not(.admin-vms) .vms-nav-group > div {
  display: grid;
  gap: 6px;
}

.vendor-vms:not(.admin-vms) .portal-shell-nav .vms-nav-items {
  display: grid;
  gap: 6px;
}

.vendor-vms:not(.admin-vms) .vms-nav-parent {
  display: grid;
  gap: 5px;
}

.vendor-vms:not(.admin-vms) .vms-nav-parent.is-active {
  border-radius: 8px;
}

.vendor-vms:not(.admin-vms) .vms-nav-parent-link {
  font-weight: 850;
}

.vendor-vms:not(.admin-vms) .vms-nav-parent.is-active > .vms-nav-parent-link:not(.active) {
  background: rgba(255, 255, 255, .11);
  color: #ffffff;
}

.vendor-vms:not(.admin-vms) .vms-nav-children {
  display: grid;
  gap: 4px;
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px solid rgba(255, 255, 255, .16);
}

.vendor-vms:not(.admin-vms) .vms-nav-child-link {
  min-height: 32px !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
}

.vendor-vms:not(.admin-vms) .vms-nav-group a {
  width: 100%;
  justify-content: flex-start;
}

.vendor-vms:not(.admin-vms) .provider-secondary-tabs,
.vendor-vms:not(.admin-vms) .vms-layout {
  margin-left: var(--vendor-shell-sidebar);
}

.vendor-vms:not(.admin-vms) .vms-layout {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
}

.vendor-vms:not(.admin-vms) .vms-layout.vms-layout--focus {
  grid-template-columns: minmax(0, 1fr);
}

body:has(> .vendor-vms:not(.admin-vms)) .site-footer {
  margin-left: var(--vendor-shell-sidebar);
}

@media (max-width: 1180px) {
  .vendor-vms:not(.admin-vms) .vms-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  .vendor-vms:not(.admin-vms) .vms-tabs {
    width: auto;
  }

  .vendor-vms:not(.admin-vms) .vms-nav-group {
    flex: 0 0 auto;
    min-width: 250px;
    padding: 10px 12px;
    border-right: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 0;
    scroll-snap-align: start;
  }

  .vendor-vms:not(.admin-vms) .vms-nav-group summary small {
    display: none;
  }

  .vendor-vms:not(.admin-vms) .vms-nav-group > div {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-top: 6px;
    -webkit-overflow-scrolling: touch;
  }

  .vendor-vms:not(.admin-vms) .vms-nav-group a {
    width: auto;
    flex: 0 0 auto;
    min-height: 34px;
  }

  .vendor-vms:not(.admin-vms) .portal-shell-nav .vms-nav-items,
  .vendor-vms:not(.admin-vms) .vms-nav-parent,
  .vendor-vms:not(.admin-vms) .vms-nav-children {
    display: flex;
    gap: 6px;
  }

  .vendor-vms:not(.admin-vms) .vms-nav-children {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
  }

  .vendor-vms:not(.admin-vms) .provider-secondary-tabs,
  .vendor-vms:not(.admin-vms) .vms-layout,
  body:has(> .vendor-vms:not(.admin-vms)) .site-footer {
    margin-left: 0;
  }
}

@media (max-width: 760px) {
  .vendor-vms:not(.admin-vms) .vms-topbar {
    grid-template-columns: 1fr !important;
  }

  .vendor-vms:not(.admin-vms) .vms-topbar-actions {
    justify-content: space-between;
    width: 100%;
  }

  .vendor-vms:not(.admin-vms) .vendor-logout-link {
    width: auto !important;
  }
}

/* Vendor shell hotfix: keep the Stage 18 sidebar from colliding with wrapped message-page content. */
.vendor-vms.portal-shell:not(.admin-vms) {
  --vendor-shell-sidebar: 284px;
  --vendor-shell-topbar: 96px;
  --portal-topbar-height: var(--vendor-shell-topbar);
}

.vendor-vms.portal-shell:not(.admin-vms) .vms-topbar {
  display: grid;
  grid-template-columns: auto minmax(150px, 230px) minmax(280px, 1fr) auto;
  align-items: center;
  min-height: var(--vendor-shell-topbar);
}

.vendor-vms.portal-shell:not(.admin-vms) .vms-brand,
.vendor-vms.portal-shell:not(.admin-vms) .vms-org,
.vendor-vms.portal-shell:not(.admin-vms) .vendor-global-search,
.vendor-vms.portal-shell:not(.admin-vms) .vms-topbar-actions {
  min-width: 0;
}

.vendor-vms.portal-shell:not(.admin-vms) .vendor-global-search {
  max-width: none;
}

.vendor-vms.portal-shell:not(.admin-vms) .vms-tabs {
  top: var(--vendor-shell-topbar);
}

.vendor-vms.portal-shell:not(.admin-vms) .communication-hub,
.vendor-vms.portal-shell:not(.admin-vms) .message-work-queue {
  min-width: 0;
  overflow-wrap: anywhere;
}

.vendor-vms.portal-shell:not(.admin-vms) .communication-hub-summary,
.vendor-vms.portal-shell:not(.admin-vms) .communication-route-grid,
.vendor-vms.portal-shell:not(.admin-vms) .message-work-filters {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.vendor-vms.portal-shell:not(.admin-vms) .message-work-item {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
}

.vendor-vms.portal-shell:not(.admin-vms) .message-work-form,
.vendor-vms.portal-shell:not(.admin-vms) .message-compose-form {
  min-width: 0;
}

@media (max-width: 1180px) {
  .vendor-vms.portal-shell:not(.admin-vms) {
    --vendor-shell-topbar: auto;
  }

  .vendor-vms.portal-shell:not(.admin-vms) .vms-topbar {
    grid-template-columns: auto minmax(160px, 1fr);
  }

  .vendor-vms.portal-shell:not(.admin-vms) .vendor-global-search,
  .vendor-vms.portal-shell:not(.admin-vms) .vms-topbar-actions {
    grid-column: 1 / -1;
  }

  .vendor-vms.portal-shell:not(.admin-vms) .vms-tabs {
    position: sticky;
    top: 0;
    display: flex;
    width: auto;
    max-width: 100%;
    margin-left: 0;
    overflow-x: auto;
    overflow-y: hidden;
    border-right: 0;
    border-bottom: 1px solid var(--portal-line);
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }

  .vendor-vms.portal-shell:not(.admin-vms) .vms-nav-group {
    flex: 0 0 auto;
    min-width: 240px;
    border-right: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 0;
    scroll-snap-align: start;
  }

  .vendor-vms.portal-shell:not(.admin-vms) .vms-nav-group > div,
  .vendor-vms.portal-shell:not(.admin-vms) .portal-shell-nav .vms-nav-items,
  .vendor-vms.portal-shell:not(.admin-vms) .vms-nav-parent,
  .vendor-vms.portal-shell:not(.admin-vms) .vms-nav-children {
    display: flex;
    gap: 6px;
  }

  .vendor-vms.portal-shell:not(.admin-vms) .vms-nav-children {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
  }

  .vendor-vms.portal-shell:not(.admin-vms) .provider-secondary-tabs,
  .vendor-vms.portal-shell:not(.admin-vms) .vms-layout,
  body:has(> .vendor-vms.portal-shell:not(.admin-vms)) .site-footer {
    margin-left: 0;
  }
}

@media (max-width: 760px) {
  .vendor-vms.portal-shell:not(.admin-vms) .vms-topbar {
    grid-template-columns: 1fr;
  }

  .vendor-vms.portal-shell:not(.admin-vms) .message-work-item {
    grid-template-columns: 1fr;
  }
}

/* Vendor operations redesign stage 5: request and submission queue cards. */
.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer {
  display: grid;
  justify-items: end;
  gap: 12px;
  border-top: 1px solid var(--vendor-ops-line-soft);
  padding-top: 12px;
}

.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  min-width: 150px;
  border: 1px solid var(--vendor-ops-navy);
  border-radius: 8px;
  background: var(--vendor-ops-navy);
  color: #ffffff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  list-style: none;
  padding: 11px 14px;
  text-align: center;
}

.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer > summary::-webkit-details-marker {
  display: none;
}

.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer > summary::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-left: 8px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 5px;
  color: #ffffff;
  font-size: 13px;
  line-height: 1;
}

.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer[open] > summary::after {
  content: "-";
}

.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer > summary:hover,
.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer > summary:focus-visible {
  background: var(--vendor-ops-navy-2);
  border-color: var(--vendor-ops-navy-2);
  outline: none;
}

.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer[open] {
  justify-items: stretch;
}

.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer[open] > summary {
  justify-self: end;
  margin-bottom: 2px;
}

.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer > *:not(summary) {
  width: 100%;
}

.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer > *:not(summary) + * {
  margin-top: 12px;
}

.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer .vendor-request-meta {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.vendor-vms:not(.admin-vms) .vendor-card-detail-drawer .vendor-submission-actions .button.dark {
  background: var(--vendor-ops-navy) !important;
}

/* Vendor redesign stage 9: compact record rows for documents, admin, and risk queues. */
.vendor-vms:not(.admin-vms) .vendor-record-card {
  gap: 12px !important;
  padding: 14px !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 16px rgba(12, 31, 53, .045) !important;
}

.vendor-vms:not(.admin-vms) .vendor-record-card .vendor-request-head {
  gap: 14px;
}

.vendor-vms:not(.admin-vms) .vendor-record-card .vendor-request-head h3,
.vendor-vms:not(.admin-vms) .vendor-document-row-title h3 {
  margin-bottom: 4px;
  font-size: 18px !important;
  line-height: 1.22;
}

.vendor-vms:not(.admin-vms) .vendor-record-card .vendor-request-head p,
.vendor-vms:not(.admin-vms) .vendor-document-row-title p {
  margin: 0;
  color: var(--vendor-ops-muted) !important;
  font-size: 13px;
}

.vendor-vms:not(.admin-vms) .vendor-document-review-row {
  border-left: 4px solid var(--vendor-ops-teal) !important;
}

.vendor-vms:not(.admin-vms) .vendor-document-row-main {
  display: grid;
  grid-template-columns: minmax(210px, 1.3fr) minmax(260px, 1.4fr) auto;
  gap: 14px;
  align-items: center;
}

.vendor-vms:not(.admin-vms) .vendor-document-row-title {
  min-width: 0;
}

.vendor-vms:not(.admin-vms) .vendor-document-row-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.vendor-vms:not(.admin-vms) .vendor-document-row-meta span {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--vendor-ops-line-soft);
  border-radius: 8px;
  background: var(--vendor-ops-surface-soft);
  color: var(--vendor-ops-ink);
  font-size: 13px;
}

.vendor-vms:not(.admin-vms) .vendor-document-row-meta strong {
  display: block;
  margin-bottom: 2px;
  color: var(--vendor-ops-teal-ink);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.vendor-vms:not(.admin-vms) .vendor-document-row-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.vendor-vms:not(.admin-vms) .vendor-risk-record {
  border-left: 4px solid var(--vendor-ops-critical) !important;
}

.vendor-vms:not(.admin-vms) .vendor-risk-record .vendor-request-head {
  align-items: center;
}

.vendor-vms:not(.admin-vms) .vendor-secondary-disclosure,
.vendor-vms:not(.admin-vms) .vendor-reference-disclosure {
  border-top: 1px solid var(--vendor-ops-line-soft);
  padding-top: 10px;
}

.vendor-vms:not(.admin-vms) .vendor-secondary-disclosure > summary,
.vendor-vms:not(.admin-vms) .vendor-reference-disclosure > summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  background: var(--vendor-ops-surface-soft);
  color: var(--vendor-ops-navy-2);
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
  list-style: none;
  padding: 7px 10px;
}

.vendor-vms:not(.admin-vms) .vendor-secondary-disclosure > summary::-webkit-details-marker,
.vendor-vms:not(.admin-vms) .vendor-reference-disclosure > summary::-webkit-details-marker {
  display: none;
}

.vendor-vms:not(.admin-vms) .vendor-secondary-disclosure > summary::after,
.vendor-vms:not(.admin-vms) .vendor-reference-disclosure > summary::after {
  content: "+";
  display: inline-grid;
  width: 16px;
  height: 16px;
  place-items: center;
  border: 1px solid var(--vendor-ops-line);
  border-radius: 5px;
  font-size: 12px;
}

.vendor-vms:not(.admin-vms) .vendor-secondary-disclosure[open] > summary::after,
.vendor-vms:not(.admin-vms) .vendor-reference-disclosure[open] > summary::after {
  content: "-";
}

.vendor-vms:not(.admin-vms) .vendor-secondary-disclosure > *:not(summary),
.vendor-vms:not(.admin-vms) .vendor-reference-disclosure > *:not(summary) {
  margin-top: 10px;
}

.vendor-vms:not(.admin-vms) .vendor-secondary-disclosure .vendor-request-notes {
  margin: 0;
}

.vendor-vms:not(.admin-vms) .vendor-reference-disclosure {
  margin-top: 18px;
}

.vendor-vms:not(.admin-vms) .vendor-reference-disclosure > summary {
  width: 100%;
  justify-content: space-between;
}

.vendor-vms:not(.admin-vms) .vendor-role-editor {
  margin-top: 10px;
}

.vendor-vms:not(.admin-vms) .vendor-record-card .candidate-meta-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

@media (max-width: 760px) {
  .vendor-vms:not(.admin-vms) .vendor-card-detail-drawer,
  .vendor-vms:not(.admin-vms) .vendor-card-detail-drawer[open] {
    justify-items: stretch;
  }

  .vendor-vms:not(.admin-vms) .vendor-card-detail-drawer > summary,
  .vendor-vms:not(.admin-vms) .vendor-card-detail-drawer[open] > summary {
    justify-self: stretch;
    width: 100%;
  }

  .vendor-vms:not(.admin-vms) .vendor-document-row-main {
    grid-template-columns: minmax(0, 1fr);
  }

  .vendor-vms:not(.admin-vms) .vendor-document-row-meta {
    grid-template-columns: minmax(0, 1fr);
  }

  .vendor-vms:not(.admin-vms) .vendor-document-row-actions {
    justify-content: stretch;
  }

  .vendor-vms:not(.admin-vms) .vendor-document-row-actions .button {
    flex: 1 1 150px;
  }
}

/* Vendor operations redesign stage 7: compact confirmations and schedule queues. */
.vendor-vms:not(.admin-vms) .vendor-confirmation-card,
.vendor-vms:not(.admin-vms) .vendor-schedule-card {
  box-shadow: 0 8px 18px rgba(17, 24, 39, .05);
}

.vendor-vms:not(.admin-vms) .vendor-assignment-row {
  grid-template-columns: minmax(190px, 1.35fr) repeat(5, minmax(118px, 1fr)) minmax(132px, auto);
}

.vendor-vms:not(.admin-vms) .vendor-assignment-detail .vendor-request-meta {
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
}

@media (max-width: 1180px) {
  .vendor-vms:not(.admin-vms) .vendor-assignment-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vendor-vms:not(.admin-vms) .vendor-assignment-primary-action {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .vendor-vms:not(.admin-vms) .vendor-assignment-row {
    grid-template-columns: 1fr;
  }

  .vendor-vms:not(.admin-vms) .vendor-assignment-primary-action .button {
    width: 100%;
  }

  .vendor-vms:not(.admin-vms) .vendor-assignment-detail > summary {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Vendor redesign stage 10 final QA: quieter risk cues and tighter responsive operations layout. */
.vendor-vms:not(.admin-vms) .vendor-home-signal,
.vendor-vms:not(.admin-vms) .vendor-home-focus-card,
.vendor-vms:not(.admin-vms) .vendor-priority-row,
.vendor-vms:not(.admin-vms) .vendor-next-actions-banner,
.vendor-vms:not(.admin-vms) .vendor-next-action-row,
.vendor-vms:not(.admin-vms) .vendor-interface-summary-card,
.vendor-vms:not(.admin-vms) .provider-profile-status-card,
.vendor-vms:not(.admin-vms) .portal-command-metric,
.vendor-vms:not(.admin-vms) .portal-priority-metric,
.vendor-vms:not(.admin-vms) .portal-priority-item {
  position: relative;
  overflow: hidden;
}

.vendor-vms:not(.admin-vms) .vendor-home-signal.tone-critical,
.vendor-vms:not(.admin-vms) .vendor-home-focus-card.tone-critical,
.vendor-vms:not(.admin-vms) .vendor-priority-row.tone-critical,
.vendor-vms:not(.admin-vms) .vendor-next-actions-banner.tone-critical,
.vendor-vms:not(.admin-vms) .vendor-next-action-row.tone-critical,
.vendor-vms:not(.admin-vms) .vendor-interface-summary-card.tone-critical,
.vendor-vms:not(.admin-vms) .provider-profile-status-card.tone-critical,
.vendor-vms:not(.admin-vms) .portal-command-metric.tone-critical,
.vendor-vms:not(.admin-vms) .portal-priority-metric.tone-critical,
.vendor-vms:not(.admin-vms) .portal-priority-item.tone-critical {
  border-color: var(--vendor-ops-line) !important;
  background: var(--vendor-ops-surface-soft) !important;
  box-shadow: inset 4px 0 0 var(--vendor-ops-critical), var(--vendor-ops-shadow) !important;
}

.vendor-vms:not(.admin-vms) .vendor-home-signal.tone-watch,
.vendor-vms:not(.admin-vms) .vendor-home-focus-card.tone-watch,
.vendor-vms:not(.admin-vms) .vendor-priority-row.tone-watch,
.vendor-vms:not(.admin-vms) .vendor-next-action-row.tone-watch,
.vendor-vms:not(.admin-vms) .vendor-interface-summary-card.tone-watch,
.vendor-vms:not(.admin-vms) .provider-profile-status-card.tone-watch,
.vendor-vms:not(.admin-vms) .portal-command-metric.tone-watch,
.vendor-vms:not(.admin-vms) .portal-priority-metric.tone-watch,
.vendor-vms:not(.admin-vms) .portal-priority-item.tone-watch {
  border-color: var(--vendor-ops-line) !important;
  background: var(--vendor-ops-surface-soft) !important;
  box-shadow: inset 4px 0 0 var(--vendor-ops-warn), var(--vendor-ops-shadow) !important;
}

.vendor-vms:not(.admin-vms) .vendor-home-signal.tone-ready,
.vendor-vms:not(.admin-vms) .vendor-home-focus-card.tone-ready,
.vendor-vms:not(.admin-vms) .vendor-priority-row.tone-ready,
.vendor-vms:not(.admin-vms) .vendor-next-actions-banner.tone-ready,
.vendor-vms:not(.admin-vms) .vendor-next-action-row.tone-ready,
.vendor-vms:not(.admin-vms) .vendor-interface-summary-card.tone-ready,
.vendor-vms:not(.admin-vms) .provider-profile-status-card.tone-ready,
.vendor-vms:not(.admin-vms) .portal-command-metric.tone-ready,
.vendor-vms:not(.admin-vms) .portal-priority-metric.tone-ready,
.vendor-vms:not(.admin-vms) .portal-priority-item.tone-ready {
  border-color: var(--vendor-ops-line) !important;
  background: var(--vendor-ops-surface-soft) !important;
  box-shadow: inset 4px 0 0 var(--vendor-ops-success), var(--vendor-ops-shadow) !important;
}

.vendor-vms:not(.admin-vms) .vendor-risk-record {
  border-left-color: var(--vendor-ops-warn) !important;
}

.vendor-vms:not(.admin-vms) .candidate-work-filters,
.vendor-vms:not(.admin-vms) .vendor-request-filter-strip,
.vendor-vms:not(.admin-vms) .operation-filter-strip,
.vendor-vms:not(.admin-vms) .schedule-filter-strip,
.vendor-vms:not(.admin-vms) .credentialing-filter-strip,
.vendor-vms:not(.admin-vms) .message-work-filters {
  gap: 7px !important;
  padding: 7px !important;
}

.vendor-vms:not(.admin-vms) .candidate-work-filters a,
.vendor-vms:not(.admin-vms) .vendor-request-filter-strip a,
.vendor-vms:not(.admin-vms) .operation-filter-strip a,
.vendor-vms:not(.admin-vms) .schedule-filter-strip a,
.vendor-vms:not(.admin-vms) .credentialing-filter-strip a,
.vendor-vms:not(.admin-vms) .message-work-filters a {
  min-height: 36px !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  line-height: 1.15;
}

.vendor-vms:not(.admin-vms) .vendor-home-overview-actions .button,
.vendor-vms:not(.admin-vms) .portal-page-filter-actions .button,
.vendor-vms:not(.admin-vms) .vendor-submission-actions .button,
.vendor-vms:not(.admin-vms) .credential-review-actions .button,
.vendor-vms:not(.admin-vms) .vendor-document-row-actions .button {
  white-space: nowrap;
}

.vendor-vms:not(.admin-vms) .vendor-priority-row b,
.vendor-vms:not(.admin-vms) .vendor-next-action-row b,
.vendor-vms:not(.admin-vms) .vendor-home-focus-card b,
.vendor-vms:not(.admin-vms) .provider-profile-status-card b {
  color: var(--vendor-ops-teal-ink) !important;
}

@media (min-width: 901px) {
  .vendor-vms:not(.admin-vms) .vms-tabs {
    top: var(--vendor-shell-topbar);
    height: calc(100vh - var(--vendor-shell-topbar));
  }

  .vendor-vms:not(.admin-vms) .vms-nav-group > div {
    max-width: 100%;
  }
}

@media (max-width: 1180px) {
  .vendor-vms:not(.admin-vms) .vendor-home-signal-grid,
  .vendor-vms:not(.admin-vms) .vendor-home-focus-grid,
  .vendor-vms:not(.admin-vms) .vendor-interface-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .vendor-vms:not(.admin-vms) .vms-tabs {
    top: 0;
  }

  .vendor-vms:not(.admin-vms) .vms-nav-group {
    min-width: min(280px, 84vw);
  }

  .vendor-vms:not(.admin-vms) .vms-nav-group a {
    white-space: nowrap;
  }
}

@media (max-width: 760px) {
  .vendor-vms:not(.admin-vms) .vendor-home-overview-actions .button,
  .vendor-vms:not(.admin-vms) .portal-page-filter-actions .button,
  .vendor-vms:not(.admin-vms) .vendor-submission-actions .button,
  .vendor-vms:not(.admin-vms) .credential-review-actions .button,
  .vendor-vms:not(.admin-vms) .vendor-document-row-actions .button {
    width: 100%;
  }

  .vendor-vms:not(.admin-vms) .vendor-home-signal-grid,
  .vendor-vms:not(.admin-vms) .vendor-home-focus-grid,
  .vendor-vms:not(.admin-vms) .vendor-next-actions-banner,
  .vendor-vms:not(.admin-vms) .vendor-next-action-row,
  .vendor-vms:not(.admin-vms) .vendor-interface-summary-grid {
    grid-template-columns: 1fr !important;
  }

  .vendor-vms:not(.admin-vms) .vendor-next-action-head {
    display: none;
  }

  .vendor-vms:not(.admin-vms) .candidate-work-filters,
  .vendor-vms:not(.admin-vms) .vendor-request-filter-strip,
  .vendor-vms:not(.admin-vms) .operation-filter-strip,
  .vendor-vms:not(.admin-vms) .schedule-filter-strip,
  .vendor-vms:not(.admin-vms) .credentialing-filter-strip,
  .vendor-vms:not(.admin-vms) .message-work-filters {
    grid-template-columns: 1fr !important;
  }

  .vendor-vms:not(.admin-vms) .candidate-work-filters a,
  .vendor-vms:not(.admin-vms) .vendor-request-filter-strip a,
  .vendor-vms:not(.admin-vms) .operation-filter-strip a,
  .vendor-vms:not(.admin-vms) .schedule-filter-strip a,
  .vendor-vms:not(.admin-vms) .credentialing-filter-strip a,
  .vendor-vms:not(.admin-vms) .message-work-filters a {
    justify-content: space-between;
    width: 100%;
  }
}

/* Hospital redesign stage 13: role-aware work surfaces, search, recents, and personal pins. */
.vendor-vms:not(.admin-vms) .hospital-global-search {
  align-items: center;
  display: flex;
  flex: 1 1 380px;
  gap: 8px;
  max-width: 620px;
}

.vendor-vms:not(.admin-vms) .hospital-global-search label {
  flex: 1 1 auto;
  margin: 0;
}

.vendor-vms:not(.admin-vms) .hospital-global-search input {
  min-height: 40px;
}

.vendor-vms:not(.admin-vms) .hospital-search-results {
  margin: 12px 24px 0;
}

.vendor-vms:not(.admin-vms) .hospital-search-groups {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.vendor-vms:not(.admin-vms) .hospital-search-group {
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  padding: 12px;
}

.vendor-vms:not(.admin-vms) .hospital-search-group h3 {
  font-size: 14px;
  margin: 0 0 8px;
}

.vendor-vms:not(.admin-vms) .hospital-search-result,
.vendor-vms:not(.admin-vms) .hospital-recent-list a {
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  color: inherit;
  display: grid;
  gap: 3px;
  margin-top: 8px;
  padding: 10px;
  text-decoration: none;
}

.vendor-vms:not(.admin-vms) .hospital-search-result strong,
.vendor-vms:not(.admin-vms) .hospital-recent-list strong {
  font-size: 13px;
}

.vendor-vms:not(.admin-vms) .hospital-search-result span,
.vendor-vms:not(.admin-vms) .hospital-search-result em,
.vendor-vms:not(.admin-vms) .hospital-recent-list span {
  color: var(--vendor-ops-muted);
  font-size: 12px;
  font-style: normal;
}

.vendor-vms:not(.admin-vms) .hospital-role-work-surface,
.vendor-vms:not(.admin-vms) .hospital-personal-work,
.vendor-vms:not(.admin-vms) .hospital-record-header {
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  background: #fff;
  padding: 14px;
}

.vendor-vms:not(.admin-vms) .hospital-role-work-surface {
  margin-top: 14px;
}

.vendor-vms:not(.admin-vms) .hospital-role-panel-grid,
.vendor-vms:not(.admin-vms) .hospital-personal-work-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.vendor-vms:not(.admin-vms) .hospital-role-panel {
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  color: inherit;
  display: grid;
  gap: 5px;
  padding: 12px;
  text-decoration: none;
}

.vendor-vms:not(.admin-vms) .hospital-role-panel strong {
  font-size: 22px;
}

.vendor-vms:not(.admin-vms) .hospital-role-panel em {
  color: var(--vendor-ops-muted);
  font-size: 12px;
  font-style: normal;
}

.vendor-vms:not(.admin-vms) .hospital-personal-work-grid {
  margin-top: 14px;
}

.vendor-vms:not(.admin-vms) .hospital-recent-list .button {
  justify-self: start;
  margin-top: 4px;
}

.vendor-vms:not(.admin-vms) .hospital-work-scope-strip {
  margin-top: 8px;
}

.vendor-vms:not(.admin-vms) .hospital-work-scope-strip .portal-filter-chip strong {
  display: none;
}

.vendor-vms:not(.admin-vms) .hospital-record-header {
  margin-bottom: 12px;
}

.vendor-vms:not(.admin-vms) .hospital-record-header nav {
  align-items: center;
  color: var(--vendor-ops-muted);
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 12px;
  margin-bottom: 10px;
}

.vendor-vms:not(.admin-vms) .hospital-record-header nav a {
  color: var(--vendor-ops-teal-ink);
  text-decoration: none;
}

.vendor-vms:not(.admin-vms) .hospital-record-header-main {
  align-items: start;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.vendor-vms:not(.admin-vms) .hospital-record-header h2 {
  font-size: 22px;
  margin: 3px 0;
}

.vendor-vms:not(.admin-vms) .hospital-record-header p {
  color: var(--vendor-ops-muted);
  margin: 0;
}

.vendor-vms:not(.admin-vms) .record-kicker {
  color: var(--vendor-ops-muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.vendor-vms:not(.admin-vms) .hospital-record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.vendor-vms:not(.admin-vms) .hospital-record-meta {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  margin-top: 12px;
}

.vendor-vms:not(.admin-vms) .hospital-record-meta span {
  background: var(--vendor-ops-surface-soft);
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  display: grid;
  gap: 2px;
  padding: 8px 10px;
}

.vendor-vms:not(.admin-vms) .hospital-record-meta strong {
  color: var(--vendor-ops-muted);
  font-size: 11px;
  text-transform: uppercase;
}

.vendor-vms:not(.admin-vms) .data-trust-cues {
  color: var(--vendor-ops-muted);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  font-size: 12px;
  margin: 8px 0;
}

.vendor-vms:not(.admin-vms) .data-trust-cues span {
  display: inline-flex;
  gap: 5px;
}

.vendor-vms:not(.admin-vms) .data-trust-cues strong {
  color: var(--vendor-ops-ink);
}

.vendor-vms:not(.admin-vms) .workflow-stepper {
  counter-reset: workflow-step;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  list-style: none;
  margin: 10px 0;
  padding: 0;
}

.vendor-vms:not(.admin-vms) .workflow-stepper li {
  border-top: 3px solid var(--vendor-ops-line);
  display: grid;
  gap: 2px;
  min-width: 0;
  padding-top: 7px;
}

.vendor-vms:not(.admin-vms) .workflow-stepper li::before {
  color: var(--vendor-ops-muted);
  content: counter(workflow-step);
  counter-increment: workflow-step;
  font-size: 11px;
  font-weight: 800;
}

.vendor-vms:not(.admin-vms) .workflow-stepper .is-done {
  border-color: #2c7a4b;
}

.vendor-vms:not(.admin-vms) .workflow-stepper .is-current {
  border-color: #0b5a6f;
}

.vendor-vms:not(.admin-vms) .workflow-stepper .is-blocked {
  border-color: #b94a3a;
}

.vendor-vms:not(.admin-vms) .workflow-stepper span {
  font-size: 12px;
  font-weight: 800;
}

.vendor-vms:not(.admin-vms) .workflow-stepper em {
  color: var(--vendor-ops-muted);
  font-size: 11px;
  font-style: normal;
}

.vendor-vms:not(.admin-vms) .workflow-stepper[data-orientation="vertical"] {
  grid-template-columns: 1fr;
}

.vendor-vms:not(.admin-vms) .record-summary-bar {
  position: sticky;
  top: 72px;
  z-index: 22;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 1px;
  overflow: hidden;
  margin: 12px 0;
  border: 1px solid var(--portal-line);
  border-radius: 8px;
  background: var(--portal-line);
  box-shadow: 0 10px 22px rgba(12, 31, 53, .08);
}

.vendor-vms:not(.admin-vms) .record-summary-bar div {
  min-width: 0;
  padding: 9px 10px;
  background: #fff;
}

.vendor-vms:not(.admin-vms) .record-summary-bar dt {
  color: var(--portal-muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.vendor-vms:not(.admin-vms) .record-summary-bar dd {
  overflow-wrap: anywhere;
  margin: 2px 0 0;
  color: var(--portal-ink);
  font-size: 12px;
  font-weight: 850;
}

.vendor-vms:not(.admin-vms) .record-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}

.vendor-vms:not(.admin-vms) .record-section-head span {
  color: var(--portal-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.vendor-vms:not(.admin-vms) .record-section-head h3 {
  margin: 2px 0 0;
  color: var(--portal-ink);
  font-size: 18px;
}

.vendor-vms:not(.admin-vms) .record-section-head strong {
  color: var(--portal-muted);
  font-size: 12px;
}

.vendor-vms:not(.admin-vms) .record-message-workspace {
  display: grid;
  gap: 12px;
}

.vendor-vms:not(.admin-vms) .record-message-compose {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--portal-line);
  border-radius: 8px;
  background: #fbfcfd;
}

.vendor-vms:not(.admin-vms) .record-message-compose label {
  display: grid;
  gap: 5px;
  color: var(--portal-muted);
  font-size: 12px;
  font-weight: 850;
}

.vendor-vms:not(.admin-vms) .record-message-compose .wide {
  grid-column: 1 / -1;
}

.vendor-vms:not(.admin-vms) .record-message-compose input,
.vendor-vms:not(.admin-vms) .record-message-compose select,
.vendor-vms:not(.admin-vms) .record-message-compose textarea {
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--portal-line);
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;
  color: var(--portal-ink);
}

.vendor-vms:not(.admin-vms) .record-message-compose button {
  justify-self: start;
}

@media (max-width: 760px) {
  .vendor-vms:not(.admin-vms) .workflow-stepper[data-orientation="horizontal"] {
    grid-template-columns: 1fr;
  }

  .vendor-vms:not(.admin-vms) .record-message-compose {
    grid-template-columns: 1fr;
  }
}

.vendor-vms:not(.admin-vms) .queue-pagination {
  align-items: center;
  border-top: 1px solid var(--vendor-ops-line);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 14px;
  padding-top: 12px;
}

.vendor-vms:not(.admin-vms) .queue-pagination span,
.vendor-vms:not(.admin-vms) .queue-pagination-note,
.vendor-vms:not(.admin-vms) .draft-save-status {
  color: var(--vendor-ops-muted);
  font-size: 12px;
}

.vendor-vms:not(.admin-vms) .queue-pagination .is-disabled {
  opacity: 0.45;
  pointer-events: none;
}

.vendor-vms:not(.admin-vms) .duplicate-warning {
  background: #fff7e0;
  border: 1px solid #e0b33a;
  border-radius: 8px;
  color: #563f00;
  font-size: 13px;
  grid-column: 1 / -1;
  padding: 10px 12px;
}

.vendor-vms:not(.admin-vms) .request-form-actions {
  align-items: center;
}

.vendor-vms:not(.admin-vms) .vendor-global-search {
  min-width: min(520px, 100%);
}

.vendor-vms:not(.admin-vms) .vendor-work-scope-strip {
  margin-bottom: 12px;
}

.vendor-vms:not(.admin-vms) .vendor-personal-work h3 {
  font-size: 14px;
  margin: 0 0 6px;
}

.vendor-vms:not(.admin-vms) .vendor-record-header {
  background: var(--vendor-ops-surface-soft);
}

.vendor-vms:not(.admin-vms) .candidate-submission-workflow {
  gap: 12px;
}

.vendor-vms:not(.admin-vms) .candidate-submission-steps,
.vendor-vms:not(.admin-vms) .provider-crm-tabs,
.vendor-vms:not(.admin-vms) .assignment-module-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  grid-column: 1 / -1;
}

.vendor-vms:not(.admin-vms) .candidate-submission-steps span,
.vendor-vms:not(.admin-vms) .provider-crm-tabs a,
.vendor-vms:not(.admin-vms) .assignment-module-tabs a {
  align-items: center;
  background: #f7faf9;
  border: 1px solid var(--vendor-ops-line);
  border-radius: 8px;
  color: var(--vendor-ops-ink);
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 6px;
  min-height: 34px;
  padding: 7px 10px;
  text-decoration: none;
}

.vendor-vms:not(.admin-vms) .candidate-submission-steps strong {
  align-items: center;
  background: var(--vendor-ops-ink);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  height: 20px;
  justify-content: center;
  width: 20px;
}

.vendor-vms:not(.admin-vms) .assignment-module-tabs {
  margin: 0 0 12px;
}

.vendor-vms:not(.admin-vms) .assignment-module-tabs .is-active,
.vendor-vms:not(.admin-vms) .provider-crm-tabs a:hover {
  background: var(--vendor-ops-ink);
  color: #fff;
}

.vendor-vms:not(.admin-vms) .candidate-submission-review,
.vendor-vms:not(.admin-vms) .candidate-match-reasons,
.vendor-vms:not(.admin-vms) .candidate-manual-provider {
  grid-column: 1 / -1;
}

.vendor-vms:not(.admin-vms) .candidate-match-card .provider-card-body {
  align-items: flex-start;
}

.provider-profile-emr-section {
  margin: 22px 0;
}

.provider-profile-emr-section .compact-head {
  margin-bottom: 12px;
}

@media (max-width: 900px) {
  .vendor-vms:not(.admin-vms) .hospital-global-search,
  .vendor-vms:not(.admin-vms) .vms-topbar-actions {
    flex-basis: 100%;
    max-width: none;
  }

  .vendor-vms:not(.admin-vms) .hospital-search-results {
    margin: 10px;
  }

  .vendor-vms:not(.admin-vms) .hospital-record-header-main {
    display: grid;
  }

  .vendor-vms:not(.admin-vms) .hospital-record-actions {
    justify-content: flex-start;
  }
}
