:root {
  --black: hsl(220 7% 46%);
  --ink: #25282d;
  --muted: #70757c;
  --line: #dedede;
  --soft: #f6f6f4;
  --white: #ffffff;
  --gain: hsl(158 38% 52%);
  --loss: hsl(354 48% 52%);
  --fluoro-green: hsl(139 100% 92%);
  --fluoro-cyan: hsl(184 100% 91%);
  --fluoro-yellow: hsl(63 100% 88%);
  --fluoro-pink: hsl(333 100% 93%);
  --cred-purple: hsl(273 100% 90%);
  --cred-cyan: hsl(181 100% 89%);
  --cred-blue: hsl(199 100% 86%);
  --cred-green: hsl(134 100% 84%);
  --cred-red: hsl(356 100% 88%);
  --cred-red-dark: hsl(356 100% 78%);
  --radius: 8px;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--soft);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  -webkit-font-smoothing: antialiased;
}

button {
  font: inherit;
}

.brand,
.topbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: pointer;
  text-decoration: none;
}

.brand-mark,
.avatar {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  color: var(--white);
  background: var(--black);
  font-size: 13px;
  font-weight: 800;
}

.logo-mark {
  display: grid;
  width: 32px;
  height: 32px;
  grid-template-columns: repeat(2, 10px);
  grid-template-rows: repeat(2, 10px);
  gap: 4px;
  padding: 4px;
  align-items: stretch;
  justify-content: center;
  color: transparent;
  background: var(--white);
  box-shadow: 0 8px 18px rgba(47, 52, 58, 0.12);
}

.logo-mark span {
  border-radius: 3px;
}

.logo-mark span:nth-child(1) {
  background: var(--black);
}

.logo-mark span:nth-child(2) {
  background: var(--loss);
}

.logo-mark span:nth-child(3) {
  border: 1px solid var(--line);
  background: var(--white);
}

.logo-mark span:nth-child(4) {
  background: var(--gain);
}

.topbar-brand h1 {
  margin: 0;
}

.brand strong,
.brand small {
  display: block;
}

.brand strong {
  color: var(--ink);
  font-size: 13px;
  letter-spacing: 0.06em;
}

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

.hero-metric span,
.metric-card span,
.clinic-card span,
.panel small {
  color: var(--muted);
  font-size: 12px;
}

.app-shell {
  min-height: 100vh;
  padding: 18px clamp(16px, 3vw, 40px) 44px;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 12px;
}

.eyebrow {
  margin: 0 0 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
}

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

h1 {
  margin-bottom: 0;
  font-size: clamp(21px, 1.9vw, 26px);
  font-weight: 750;
  letter-spacing: -0.025em;
  line-height: 1.05;
}

h2 {
  margin-bottom: 0;
  font-size: clamp(17px, 1.55vw, 22px);
  font-weight: 750;
  letter-spacing: -0.02em;
  line-height: 1.12;
}

h3 {
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 720;
}

.top-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.btn,
.icon-btn {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 12px;
  background: var(--white);
  color: var(--black);
  font-size: 12px;
  font-weight: 720;
  cursor: pointer;
}

.btn-primary {
  border-color: var(--black);
  color: var(--white);
  background: var(--black);
}

.btn.danger {
  border-color: hsl(354 48% 82%);
  color: var(--loss);
  background: var(--white);
}

.supplies-workflow .btn-primary,
[data-settings-panel="supplies"] .btn-primary {
  border-color: hsl(139 62% 50%);
  color: var(--ink);
  background: var(--fluoro-green);
}

.supplies-workflow .btn-secondary,
[data-settings-panel="supplies"] .btn-secondary {
  border-color: hsl(184 62% 66%);
  color: var(--ink);
  background: var(--fluoro-cyan);
}

.supplies-workflow .btn.danger,
[data-settings-panel="supplies"] .btn.danger {
  border-color: hsl(333 82% 78%);
  color: var(--loss);
  background: var(--fluoro-pink);
}

.icon-btn {
  width: auto;
  min-width: 34px;
  padding: 0 11px;
}

#settings-button,
.topbar-settings-btn {
  width: 54px;
  min-width: 54px;
  height: 54px;
  min-height: 54px;
  border-color: hsl(199 100% 58%);
  border-width: 2px;
  border-radius: 14px;
  color: hsl(220 8% 12%);
  background: var(--cred-blue);
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 12px 28px rgba(0, 143, 190, 0.22);
}

#sign-out,
.topbar-signout-btn {
  min-height: 46px;
  border-color: hsl(356 100% 72%);
  border-width: 2px;
  border-radius: 999px;
  padding: 10px 22px;
  color: hsl(356 64% 28%);
  background: var(--cred-red);
  font-size: 14px;
  font-weight: 920;
  box-shadow: 0 12px 28px rgba(214, 42, 61, 0.2);
}

#settings-button:hover,
#settings-button:focus-visible,
#sign-out:hover,
#sign-out:focus-visible,
.topbar-settings-btn:hover,
.topbar-settings-btn:focus-visible,
.topbar-signout-btn:hover,
.topbar-signout-btn:focus-visible {
  border-color: hsl(220 8% 18%);
  box-shadow: inset 0 0 0 1px hsl(220 8% 18%), 0 12px 26px rgba(37, 40, 45, 0.12);
  outline: none;
}

.view {
  display: none;
}

.view.active {
  display: block;
}

.empty-state {
  display: grid;
  min-height: 420px;
  place-items: center;
  align-content: center;
  gap: 12px;
  border: 1px dashed #d5d5d9;
  border-radius: var(--radius);
  background: var(--white);
  text-align: center;
}

.training-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(360px, 1.1fr);
  gap: 16px;
}

.training-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.training-index-card {
  border-color: hsl(51 100% 52%);
  background: hsl(51 100% 95%);
}

.training-course-card {
  min-height: 180px;
}

.training-course-card span {
  width: fit-content;
}

.training-employee-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 14px;
}

.training-public-shell {
  width: min(100% - 28px, 1040px);
  margin: 28px auto;
}

.training-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.training-tab-panel {
  display: grid;
  gap: 16px;
}

.training-tab-panel[hidden] {
  display: none;
}

.training-employee-section {
  display: grid;
  gap: 10px;
}

.training-employee-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.training-employee-section-head h3 {
  margin: 0;
  font-size: 18px;
}

.training-employee-section-head span {
  border: 1px solid hsl(220 12% 86%);
  border-radius: 999px;
  padding: 6px 10px;
  background: hsl(0 0% 100%);
  font-size: 12px;
  font-weight: 850;
}

.training-employee-card {
  display: grid;
  gap: 12px;
  cursor: default;
}

.training-employee-card.terminated {
  opacity: 0.74;
}

.training-employee-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.training-employee-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.training-terminate-btn {
  min-height: 34px;
  border-color: hsl(356 100% 72%);
  color: hsl(356 64% 28%);
  background: hsl(356 100% 96%);
}

.training-delete-btn {
  min-height: 34px;
  border-color: hsl(220 8% 66%);
  color: hsl(220 8% 24%);
  background: hsl(0 0% 98%);
}

.training-employee-courses {
  display: grid;
  gap: 8px;
  margin-top: 4px;
}

.training-employee-course {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid hsl(220 12% 86%);
  border-radius: 8px;
  padding: 10px;
  background: hsl(0 0% 100%);
}

.training-employee-course.complete {
  border-color: hsl(134 88% 58%);
  background: hsl(134 88% 96%);
}

.training-employee-course strong {
  display: block;
  color: hsl(220 8% 12%);
  font-size: 14px;
  line-height: 1.25;
}

.training-employee-course small {
  display: block;
  margin-top: 3px;
  color: hsl(220 8% 34%);
  font-size: 12px;
  line-height: 1.35;
}

.training-compliance-note {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: 8px;
  padding: 12px;
  background: hsl(181 100% 96%);
  color: hsl(220 8% 20%);
  font-size: 13px;
}

.training-pill,
.training-meta-row span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: 999px;
  padding: 7px 12px;
  background: hsl(181 100% 96%);
  color: hsl(220 8% 18%);
  font-size: 12px;
  font-weight: 850;
}

.training-editor-form .span-2,
.training-editor-form .form-section-title {
  grid-column: 1 / -1;
}

.training-edit-list {
  display: grid;
  gap: 10px;
}

.training-edit-card {
  display: grid;
  gap: 10px;
  border: 1px solid hsl(220 12% 86%);
  border-radius: 8px;
  padding: 12px;
  background: hsl(0 0% 100%);
}

.training-edit-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.training-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.training-slide {
  display: grid;
  min-height: 330px;
  align-content: center;
  gap: 16px;
  border: 1px solid hsl(199 100% 58%);
  border-radius: 8px;
  padding: clamp(20px, 4vw, 44px);
  background: linear-gradient(135deg, hsl(199 100% 96%), hsl(51 100% 95%));
}

.training-slide span {
  width: fit-content;
  border: 1px solid hsl(220 8% 18%);
  border-radius: 999px;
  padding: 7px 12px;
  background: hsl(0 0% 100% / 0.8);
  color: hsl(220 8% 18%);
  font-size: 12px;
  font-weight: 900;
}

.training-slide h3 {
  max-width: 760px;
  margin: 0;
  color: hsl(220 8% 12%);
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.02;
}

.training-slide p {
  max-width: 820px;
  margin: 0;
  color: hsl(220 8% 20%);
  font-size: 18px;
  line-height: 1.55;
}

.training-nav,
.training-certificate .form-actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
}

.training-quiz {
  display: grid;
  gap: 12px;
}

.training-employee-name,
.training-question {
  display: grid;
  gap: 10px;
  border: 1px solid hsl(220 12% 86%);
  border-radius: 8px;
  padding: 14px;
  background: hsl(0 0% 100%);
}

.training-question legend {
  padding: 0 6px;
  color: hsl(220 8% 12%);
  font-weight: 900;
}

.training-question label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: hsl(220 8% 18%);
  font-size: 14px;
  font-weight: 720;
}

.certificate-card {
  display: grid;
  min-height: 360px;
  place-items: center;
  align-content: center;
  gap: 10px;
  border: 3px double hsl(220 8% 18%);
  border-radius: 8px;
  padding: 34px;
  background: hsl(51 100% 96%);
  text-align: center;
}

.certificate-card h3 {
  max-width: 720px;
  margin: 0;
  color: hsl(220 8% 12%);
  font-size: 30px;
}

.certificate-card strong {
  color: hsl(199 90% 28%);
  font-size: 34px;
  font-weight: 950;
}

.certificate-card span,
.certificate-card small {
  color: hsl(220 8% 24%);
  font-weight: 760;
}

.certificate-card-admin {
  min-height: 420px;
  background:
    linear-gradient(180deg, hsl(0 0% 100% / 0.82), hsl(51 100% 96% / 0.94)),
    hsl(51 100% 96%);
}

.certificate-card-admin small {
  max-width: 760px;
  line-height: 1.5;
}

@media (max-width: 980px) {
  .training-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  body * {
    visibility: hidden;
  }

  #training-certificate,
  #training-certificate * {
    visibility: visible;
  }

  #training-certificate {
    position: absolute;
    inset: 0;
    padding: 24px;
  }

  #training-certificate .form-actions {
    display: none;
  }
}

.home-portal-screen {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
}

.home-portal-screen {
  display: grid;
  width: min(100%, 1120px);
  margin-top: 34px;
  gap: 18px;
}

.home-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.portfolio-financial-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.portfolio-financial-overview article {
  display: grid;
  gap: 5px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 12px;
  background: hsl(181 100% 96%);
  cursor: pointer;
}

.portfolio-financial-overview article:hover,
.portfolio-financial-overview article:focus-visible {
  border-color: hsl(220 8% 18%);
  box-shadow: inset 0 0 0 1px hsl(220 8% 18%), 0 10px 24px rgba(37, 40, 45, 0.08);
  outline: none;
}

.portfolio-financial-overview article.gain {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.portfolio-financial-overview article.review {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.portfolio-financial-overview article.loss {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.portfolio-financial-overview article.wide {
  grid-column: span 2;
}

.portfolio-financial-overview span,
.portfolio-financial-overview small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 780;
}

.portfolio-financial-overview strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: hsl(220 8% 12%);
  font-size: 19px;
  font-weight: 920;
}

.clinic-index-card {
  display: grid;
  min-height: 170px;
  gap: 10px;
  align-content: start;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px;
  color: var(--black);
  background: var(--white);
  text-align: left;
  cursor: pointer;
}

.clinic-index-card:hover,
.clinic-index-card:focus-visible {
  border-color: var(--ink);
  box-shadow: 0 10px 30px rgba(31, 31, 33, 0.06);
  outline: none;
}

.home-card-grid .clinic-index-card:nth-child(4n + 1),
.workspace-grid button:nth-child(4n + 1) {
  border-color: hsl(181 100% 68%);
  background: var(--cred-cyan);
}

.home-card-grid .clinic-index-card:nth-child(4n + 2),
.workspace-grid button:nth-child(4n + 2) {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.home-card-grid .clinic-index-card:nth-child(4n + 3),
.workspace-grid button:nth-child(4n + 3) {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.home-card-grid .clinic-index-card:nth-child(4n),
.workspace-grid button:nth-child(4n) {
  border-color: hsl(199 100% 66%);
  background: var(--cred-blue);
}

.home-card-grid .clinic-index-card span,
.home-card-grid .clinic-index-card strong,
.workspace-grid button span,
.workspace-grid button strong {
  color: var(--ink);
}

.home-card-grid .clinic-index-card small,
.workspace-grid button small {
  color: hsl(220 7% 28%);
}

.clinic-index-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
  text-transform: uppercase;
}

.clinic-index-card strong {
  font-size: 20px;
  line-height: 1.1;
}

.clinic-index-card small {
  max-width: 38ch;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.smart-clinic-card {
  min-height: 248px;
  gap: 12px;
}

.smart-clinic-card.gain {
  border-color: hsl(134 88% 58%);
  background: hsl(134 100% 93%);
}

.smart-clinic-card.review {
  border-color: hsl(273 100% 74%);
  background: hsl(273 100% 93%);
}

.smart-clinic-card.loss {
  border-color: hsl(356 100% 72%);
  background: hsl(356 100% 94%);
}

.smart-clinic-card.neutral {
  border-color: hsl(181 100% 68%);
  background: hsl(181 100% 94%);
}

.smart-clinic-card.clinic-theme-yellow,
.clinic-settings-card.clinic-theme-yellow {
  border-color: hsl(51 100% 61%);
  background: hsl(51 100% 91%);
}

.smart-clinic-card.clinic-theme-orange,
.clinic-settings-card.clinic-theme-orange {
  border-color: hsl(28 100% 66%);
  background: hsl(28 100% 92%);
}

.smart-clinic-card.clinic-theme-green,
.clinic-settings-card.clinic-theme-green {
  border-color: hsl(134 88% 58%);
  background: hsl(134 100% 93%);
}

.clinic-settings-card.clinic-theme-blue {
  border-color: hsl(199 100% 67%);
  background: hsl(199 100% 94%);
}

.clinic-settings-card.clinic-theme-pink {
  border-color: hsl(326 100% 76%);
  background: hsl(326 100% 96%);
}

.clinic-settings-card.clinic-theme-violet {
  border-color: hsl(270 100% 78%);
  background: hsl(270 100% 96%);
}

.clinic-settings-card.clinic-theme-mint {
  border-color: hsl(164 100% 60%);
  background: hsl(164 100% 94%);
}

.smart-clinic-card.clinic-theme-blue,
.clinic-settings-card.clinic-theme-blue {
  border-color: hsl(199 100% 67%);
  background: hsl(199 100% 94%);
}

.smart-clinic-card.clinic-theme-pink,
.clinic-settings-card.clinic-theme-pink {
  border-color: hsl(326 100% 76%);
  background: hsl(326 100% 96%);
}

.smart-clinic-card.clinic-theme-violet,
.clinic-settings-card.clinic-theme-violet {
  border-color: hsl(270 100% 78%);
  background: hsl(270 100% 96%);
}

.smart-clinic-card.clinic-theme-mint,
.clinic-settings-card.clinic-theme-mint {
  border-color: hsl(164 100% 60%);
  background: hsl(164 100% 94%);
}

.clinic-themed {
  --clinic-card-bg: hsl(190 100% 95%);
  --clinic-card-soft: hsl(190 100% 98%);
  --clinic-card-border: hsl(190 90% 70%);
  --clinic-card-accent: hsl(190 70% 32%);
}

.smart-clinic-card.clinic-themed,
.clinic-settings-card.clinic-themed {
  border-color: var(--clinic-card-border);
  background: var(--clinic-card-bg);
}

.smart-clinic-card.clinic-themed span,
.clinic-settings-card.clinic-themed span {
  color: var(--clinic-card-accent);
}

.clinic-index-health,
.clinic-index-reports,
.clinic-index-readiness,
.clinic-index-meta,
.clinic-index-owners {
  min-width: 0;
}

.clinic-index-health {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.clinic-index-health span,
.clinic-index-health strong {
  border: 1px solid hsl(220 8% 38%);
  border-radius: 999px;
  padding: 3px 8px;
  color: hsl(220 8% 16%);
  background: rgba(255, 255, 255, 0.58);
  font-size: 11px;
  font-weight: 860;
}

.clinic-index-reports {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.clinic-index-reports > span {
  display: grid;
  gap: 4px;
  border: 1px solid rgba(37, 40, 45, 0.42);
  border-radius: 8px;
  padding: 9px;
  background: rgba(255, 255, 255, 0.62);
}

.clinic-index-reports > span:hover {
  border-color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
}

.clinic-index-reports small,
.clinic-index-meta small {
  color: hsl(220 8% 24%);
  font-size: 11px;
  font-weight: 760;
}

.clinic-index-reports strong {
  color: hsl(220 8% 14%);
  font-size: 16px;
  font-weight: 900;
}

.clinic-index-readiness {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 8px;
  align-items: center;
  border: 1px solid rgba(37, 40, 45, 0.3);
  border-radius: 8px;
  padding: 8px;
  background: rgba(255, 255, 255, 0.56);
  cursor: pointer;
}

.clinic-index-readiness:hover {
  border-color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
}

.clinic-index-readiness span,
.clinic-index-readiness small {
  color: hsl(220 8% 24%);
  font-size: 11px;
  font-weight: 780;
}

.clinic-index-readiness strong {
  color: hsl(220 8% 14%);
  font-size: 13px;
  font-weight: 920;
}

.clinic-index-readiness i {
  grid-column: 1 / -1;
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(37, 40, 45, 0.12);
}

.clinic-index-readiness b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: hsl(134 78% 46%);
}

.clinic-index-readiness small {
  grid-column: 1 / -1;
}

.clinic-index-meta {
  display: grid;
  gap: 3px;
}

.clinic-index-capital {
  display: grid;
  gap: 6px;
}

.clinic-index-capital > div {
  display: grid;
  gap: 4px;
}

.clinic-index-capital small {
  color: hsl(220 8% 22%);
  font-size: 10px;
  font-weight: 880;
  text-transform: uppercase;
}

.clinic-index-owners {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.clinic-index-owners span {
  border: 1px solid rgba(37, 40, 45, 0.34);
  border-radius: 999px;
  padding: 3px 7px;
  color: hsl(220 8% 18%);
  background: rgba(255, 255, 255, 0.52);
  font-size: 11px;
  font-weight: 820;
}

.clinic-index-owners .primary-equity {
  border-color: hsl(134 88% 45%);
  color: hsl(142 70% 18%);
  background: hsl(134 100% 88%);
}

.clinic-index-owners .review {
  border-color: hsl(28 100% 66%);
  background: hsl(28 100% 92%);
}

body.home-portal #clinics {
  width: min(100%, 1120px);
  margin: 0 auto;
}

body.home-portal #clinics > .section-head,
body.home-portal .clinic-grid,
body.home-portal .clinic-detail > .panel-head,
body.home-portal .clinic-tools,
body.home-portal .detail-metrics,
body.home-portal .detail-grid {
  display: none;
}

body.home-portal .clinic-detail {
  border: 0;
  padding: 0;
  background: transparent;
}

body.home-portal .clinic-workspace {
  margin-top: 0;
}

body.home-portal.module-focused .workspace-grid {
  display: none;
}

body.home-portal.module-focused .module-panel {
  border-top: 0;
  padding-top: 0;
}

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

#overview .empty-state ~ * {
  display: none;
}

.auth-body {
  display: grid;
  min-height: 100vh;
  place-items: center;
  background: var(--white);
}

.auth-shell {
  display: grid;
  width: min(100% - 32px, 420px);
  gap: 22px;
}

.auth-brand {
  width: max-content;
}

.auth-card {
  display: grid;
  gap: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  background: var(--white);
}

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

.auth-form label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.auth-form input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 11px 12px;
  color: var(--black);
  background: var(--white);
  font: inherit;
  outline: none;
}

.auth-form input:focus {
  border-color: var(--black);
}

.auth-form button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.test-login {
  display: grid;
  gap: 5px;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}

.test-login span,
.auth-note {
  color: var(--muted);
  font-size: 12px;
}

.test-login strong {
  color: var(--black);
  font-size: 12px;
  font-weight: 720;
}

.hero-panel,
.panel,
.metric-card,
.clinic-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
}

.hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 12px;
  align-items: end;
  margin-bottom: 10px;
  padding: 14px;
}

.hero-metric {
  display: grid;
  gap: 3px;
  justify-items: end;
  text-align: right;
}

.hero-metric strong {
  font-size: 22px;
  letter-spacing: -0.025em;
}

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

.metric-card {
  display: grid;
  gap: 5px;
  padding: 12px;
}

.metric-card strong {
  font-size: 18px;
  letter-spacing: -0.02em;
}

.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  gap: 8px;
}

.panel {
  padding: 12px;
}

.large-panel {
  min-height: 0;
}

.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.panel-head.stacked {
  display: block;
}

.inline-field {
  display: grid;
  min-width: min(260px, 100%);
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
}

.inline-field select {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 9px;
  color: var(--black);
  background: var(--white);
  font: inherit;
}

.clinic-performance,
.alert-list {
  display: grid;
  gap: 10px;
}

.clinic-row {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(130px, 1fr) 80px;
  gap: 12px;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.clinic-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.clinic-row strong {
  display: block;
  margin-bottom: 2px;
  font-size: 13px;
}

.clinic-row span:not(.gain):not(.loss) {
  color: var(--muted);
  font-size: 12px;
}

.bar,
.ownership {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #ededf0;
}

.bar i,
.ownership i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--black);
}

.gain {
  color: var(--gain) !important;
}

.loss {
  color: var(--loss) !important;
}

.neutral {
  color: var(--muted) !important;
}

.gain-bg {
  background: var(--gain);
}

.loss-bg {
  background: var(--loss);
}

.neutral-bg {
  background: var(--black);
}

.alert-list article {
  display: flex;
  gap: 10px;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.alert-list article:first-child {
  border-top: 0;
  padding-top: 0;
}

.dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

.alert-list strong {
  display: block;
  margin-bottom: 1px;
  font-size: 13px;
}

.section-head {
  margin: 4px 0 16px;
}

.clinic-grid,
.partner-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.partner-grid article {
  display: grid;
  gap: 7px;
  min-height: 128px;
  align-content: end;
  padding: 16px;
}

.clinic-card strong,
.partner-grid strong {
  font-size: 15px;
}

.clinic-card b,
.partner-grid b {
  font-size: 15px;
}

.clinic-card {
  display: grid;
  gap: 10px;
  min-height: 164px;
  align-content: start;
  padding: 14px;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.clinic-card:hover,
.clinic-card:focus-visible,
.clinic-card.active {
  border-color: #c7c7cc;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.05);
  outline: none;
  transform: translateY(-1px);
}

.clinic-card.gain {
  border-color: hsl(134 88% 58%);
  background: hsl(134 100% 96%);
}

.clinic-card.review {
  border-color: hsl(273 100% 74%);
  background: hsl(273 100% 96%);
}

.clinic-card.loss {
  border-color: hsl(356 100% 72%);
  background: hsl(356 100% 97%);
}

.clinic-card.neutral {
  border-color: hsl(181 100% 68%);
  background: hsl(181 100% 96%);
}

.clinic-card span {
  justify-self: start;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 3px 7px;
  font-weight: 720;
}

.clinic-card-mini {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.clinic-card-mini b {
  border: 1px solid rgba(37, 40, 45, 0.25);
  border-radius: 8px;
  padding: 6px 7px;
  color: hsl(220 8% 14%);
  background: rgba(255, 255, 255, 0.58);
  font-size: 12px;
  font-weight: 880;
}

.clinic-card-mini small {
  grid-column: 1 / -1;
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 760;
}

.profit-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.profit-row small,
.clinic-card em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.clinic-card em {
  margin-top: auto;
}

.clinic-detail {
  display: grid;
  gap: 14px;
  margin-top: 12px;
}

.clinic-detail-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.clinic-detail-actions > span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.clinic-tools {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto;
  gap: 8px;
}

.clinic-tools input {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 11px;
  color: var(--black);
  background: var(--white);
  font: inherit;
  outline: none;
}

.clinic-tools input:focus {
  border-color: var(--black);
}

.detail-metrics,
.detail-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

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

.detail-metrics article,
.detail-grid article {
  display: grid;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
}

.detail-metrics small,
.detail-grid span {
  color: var(--muted);
  font-size: 12px;
}

.detail-metrics strong,
.detail-grid strong {
  font-size: 15px;
}

.clinic-workspace {
  display: grid;
  gap: 14px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.clinic-workspace[hidden] {
  display: none;
}

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

.workspace-grid button {
  display: grid;
  gap: 7px;
  min-height: 112px;
  align-content: end;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
  color: inherit;
  background: var(--white);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.workspace-grid button:hover,
.workspace-grid button:focus-visible,
.workspace-grid button.active {
  border-color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink), 0 8px 20px rgba(31, 31, 33, 0.06);
  outline: none;
}

.workspace-grid span,
.workspace-grid small {
  color: var(--muted);
  font-size: 12px;
}

.workspace-grid em,
.module-panel .panel-head > span {
  justify-self: start;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 3px 7px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
}

.module-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.module-panel {
  display: grid;
  gap: 12px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.module-body {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.module-body article {
  display: grid;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
}

.module-body span {
  color: var(--muted);
  font-size: 12px;
}

.module-body strong {
  font-size: 15px;
}

.module-body.internal-pl {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.internal-pl-head {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
}

.internal-pl-head div {
  display: grid;
  gap: 5px;
}

.module-body article small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.module-body.financial-entry,
.module-body.financial-workflow {
  grid-template-columns: 1fr;
}

.module-body.supplies-workflow {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

body.provider-workspace-mode #clinics > .section-head,
body.provider-workspace-mode .clinic-grid,
body.provider-workspace-mode .clinic-detail > .panel-head,
body.provider-workspace-mode .clinic-tools,
body.provider-workspace-mode .detail-metrics,
body.provider-workspace-mode .workspace-grid {
  display: none;
}

body.provider-workspace-mode .clinic-detail {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.module-body.credentialing-workflow {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.credentialing-summary,
.credentialing-action-strip,
.credentialing-alert-grid,
.credentialing-doc-grid,
.credentialing-expiration-grid,
.credentialing-summary-grid,
.credentialing-work-grid,
.credentialing-watch-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.credentialing-summary article,
.credentialing-action-strip button,
.credentialing-alert-grid article,
.credentialing-doc-grid article,
.credentialing-doc-grid details,
.credentialing-expiration-grid article,
.credentialing-summary-grid article,
.credentialing-work-grid article,
.credentialing-watch-grid article {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.credentialing-action-strip button {
  display: grid;
  gap: 4px;
  color: var(--black);
  text-align: left;
  background: var(--white);
  font: inherit;
  cursor: pointer;
}

.credentialing-action-strip button:hover,
.credentialing-action-strip button.active {
  border-color: var(--black);
  box-shadow: inset 0 0 0 1px var(--black);
}

.credentialing-document-card.not-applicable,
.clinic-paperwork-list article.not-applicable {
  border-color: hsl(220 10% 78%);
  background: hsl(220 18% 94%);
}

.status-not-applicable {
  color: hsl(220 8% 24%);
  font-weight: 850;
}

.clinic-paperwork-head {
  margin-top: 14px;
}

.clinic-paperwork-summary,
.clinic-paperwork-row,
.clinic-paperwork-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.clinic-paperwork-summary,
.clinic-paperwork-row {
  justify-content: space-between;
}

.clinic-paperwork-summary.clinic-themed {
  border-color: var(--clinic-card-border);
  background: var(--clinic-card-bg);
}

.clinic-paperwork-summary.clinic-themed strong,
.clinic-paperwork-summary.clinic-themed span {
  color: var(--clinic-card-accent);
}

.clinic-paperwork-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.clinic-paperwork-card-actions,
.credentialing-paperwork-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.credentialing-paperwork-shortcut {
  display: grid;
  align-content: space-between;
  gap: 12px;
}

.credentialing-paperwork-links {
  justify-content: flex-start;
}

.credentialing-action-strip span {
  color: var(--muted);
  font-size: 11px;
}

.workspace-grid button em {
  border-color: hsl(220 7% 42%);
  color: var(--ink);
  background: rgba(255, 255, 255, 0.5);
}

.module-body.credentialing-workflow .credentialing-action-strip span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 860;
  line-height: 1.2;
}

.module-body.credentialing-workflow .credentialing-action-strip strong {
  font-size: 16px;
  font-weight: 880;
}

.credentialing-value,
.credentialing-table small.status-not-submitted,
.credentialing-table small.status-submitted,
.credentialing-table small.status-approved,
.credentialing-table small.status-expiring,
.credentialing-table small.status-expired,
.provider-insurance-list small.status-not-submitted,
.provider-insurance-list small.status-submitted,
.provider-insurance-list small.status-approved,
.provider-insurance-list small.status-expiring,
.provider-insurance-list small.status-expired {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 3px 7px;
  color: var(--ink) !important;
  font-size: 11px;
  font-weight: 820;
  line-height: 1.2;
}

.credentialing-value.status-not-submitted,
.credentialing-table small.status-not-submitted,
.provider-insurance-list small.status-not-submitted {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.credentialing-value.status-submitted,
.credentialing-table small.status-submitted,
.provider-insurance-list small.status-submitted {
  border-color: hsl(199 100% 66%);
  background: var(--cred-blue);
}

.credentialing-value.status-approved,
.credentialing-table small.status-approved,
.provider-insurance-list small.status-approved {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.credentialing-value.status-expiring,
.credentialing-table small.status-expiring,
.provider-insurance-list small.status-expiring {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.credentialing-value.status-expired,
.credentialing-table small.status-expired,
.provider-insurance-list small.status-expired {
  border-color: hsl(356 90% 58%);
  color: var(--ink) !important;
  background: var(--cred-red-dark);
}

.module-body.credentialing-workflow .btn,
.module-body.credentialing-workflow .icon-btn {
  border-color: hsl(199 100% 66%);
  color: var(--ink);
  background: var(--cred-blue);
}

.module-body.credentialing-workflow .btn:hover,
.module-body.credentialing-workflow .icon-btn:hover,
.module-body.credentialing-workflow .credentialing-card-toggle:hover {
  border-color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink);
}

.module-body.credentialing-workflow .btn-primary,
.module-body.credentialing-workflow .credentialing-save {
  border-color: hsl(134 88% 58%);
  color: var(--ink);
  background: var(--cred-green);
}

.module-body.credentialing-workflow .btn.danger,
.module-body.credentialing-workflow .btn.loss,
.module-body.credentialing-workflow [data-archive-credentialing-doc] {
  border-color: hsl(356 100% 72%);
  color: var(--ink) !important;
  background: var(--cred-red);
}

.module-body.credentialing-workflow #credentialing-clear-filters,
.module-body.credentialing-workflow [data-toggle-payer-detail] {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.module-body.credentialing-workflow [data-toggle-payer] {
  border-color: hsl(199 100% 66%);
  background: var(--cred-blue);
}

.module-body.credentialing-workflow .credentialing-review-action {
  border-color: hsl(181 100% 68%);
  background: var(--cred-cyan);
}

.module-body.credentialing-workflow .credentialing-close-action {
  border-color: hsl(199 100% 66%);
  background: var(--cred-blue);
}

.module-body.credentialing-workflow .credentialing-accept-action {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.module-body.credentialing-workflow .credentialing-not-accepted-action {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.module-body.credentialing-workflow .credentialing-list-tools select,
.module-body.credentialing-workflow .credentialing-list-tools input,
.module-body.credentialing-workflow .credentialing-status-editor select,
.module-body.credentialing-workflow .credentialing-status-editor input[type="date"] {
  border-color: hsl(199 100% 78%);
  color: var(--ink);
  background: hsl(199 100% 96%);
}

.module-body.credentialing-workflow .credentialing-list-tools select:focus,
.module-body.credentialing-workflow .credentialing-list-tools input:focus,
.module-body.credentialing-workflow .credentialing-status-editor select:focus,
.module-body.credentialing-workflow .credentialing-status-editor input[type="date"]:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px hsl(199 100% 91%);
}

.module-body.credentialing-workflow .credentialing-action-strip button {
  border-bottom-width: 3px;
  border-radius: 8px;
  color: var(--ink);
}

.module-body.credentialing-workflow .credentialing-action-strip button:nth-child(1) {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.module-body.credentialing-workflow .credentialing-action-strip button:nth-child(2) {
  border-color: hsl(199 100% 66%);
  background: var(--cred-blue);
}

.module-body.credentialing-workflow .credentialing-action-strip button:nth-child(3) {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.module-body.credentialing-workflow .credentialing-action-strip button:nth-child(4) {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.module-body.credentialing-workflow .credentialing-action-strip button.active {
  border-color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink), 0 0 0 3px hsl(199 100% 91%);
}

.module-body.credentialing-workflow .credentialing-card-toggle {
  border-color: hsl(199 100% 66%);
  color: var(--ink);
  background: var(--cred-blue);
}

.module-body.credentialing-workflow .credentialing-work-queue[open] > summary .credentialing-card-toggle,
.module-body.credentialing-workflow .credentialing-collapsible[open] > summary .credentialing-card-toggle,
.module-body.credentialing-workflow .credentialing-document-card[open] > summary .credentialing-card-toggle {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.credentialing-alerts {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.credentialing-alerts .panel-head {
  padding: 0;
}

.credentialing-alert-grid article {
  display: grid;
  gap: 4px;
}

.credentialing-alert-grid article.loss,
.credentialing-alert-grid article.warning {
  border-color: rgba(180, 35, 47, 0.28);
}

.credentialing-alert-grid article.gain {
  border-color: rgba(8, 122, 75, 0.35);
}

.credentialing-alert-grid span {
  color: var(--muted);
  font-size: 11px;
}

.credentialing-alert-grid article.loss span,
.credentialing-alert-grid article.warning span {
  color: var(--loss);
}

.credentialing-alert-grid article.gain span {
  color: var(--gain);
}

.credentialing-watchlist {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.credentialing-work-queue {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.credentialing-work-queue summary,
.credentialing-collapsible summary {
  cursor: pointer;
  list-style: none;
}

.credentialing-work-queue summary::-webkit-details-marker,
.credentialing-collapsible summary::-webkit-details-marker {
  display: none;
}

.credentialing-expiration-tracker {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.credentialing-expiration-tracker .panel-head {
  padding: 0;
}

.credentialing-expiration-tracker .panel-head > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.credentialing-expiration-grid article {
  display: grid;
  gap: 4px;
  min-height: 116px;
}

.credentialing-expiration-grid article.loss {
  border-color: rgba(180, 35, 47, 0.28);
}

.credentialing-expiration-grid article.warning {
  border-color: rgba(180, 35, 47, 0.28);
}

.credentialing-expiration-grid article.gain {
  border-color: rgba(8, 122, 75, 0.35);
}

.credentialing-expiration-grid span,
.credentialing-expiration-grid small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.credentialing-expiration-grid article.loss span,
.credentialing-expiration-grid article.warning span {
  color: var(--loss);
}

.credentialing-expiration-grid article.gain span {
  color: var(--gain);
}

.credentialing-provider-simple {
  display: grid;
  gap: 12px;
}

.credentialing-provider-hero,
.credentialing-provider-insurances {
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
}

.credentialing-provider-hero {
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr);
  align-items: start;
}

.credentialing-provider-hero span,
.provider-insurance-list small {
  color: var(--muted);
}

.credentialing-provider-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.credentialing-provider-stats article {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px;
}

.credentialing-provider-stats span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.provider-insurance-list {
  display: grid;
  gap: 8px;
}

.provider-insurance-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px 12px;
}

.provider-insurance-list article > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.provider-insurance-list article > div:last-child {
  text-align: right;
}

.provider-insurance-list span {
  font-weight: 800;
  text-transform: capitalize;
}

.credentialing-work-queue .panel-head {
  padding: 0;
}

.credentialing-work-summary {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.credentialing-work-summary > span:first-child {
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.credentialing-work-queue[open] > summary .credentialing-card-toggle,
.credentialing-collapsible[open] > summary .credentialing-card-toggle {
  border-color: var(--black);
}

.credentialing-work-queue[open] > summary .credentialing-card-toggle,
.credentialing-collapsible[open] > summary .credentialing-card-toggle {
  font-size: 0;
}

.credentialing-work-queue[open] > summary .credentialing-card-toggle::before,
.credentialing-collapsible[open] > summary .credentialing-card-toggle::before {
  content: "Hide details";
  font-size: 12px;
}

.credentialing-work-grid article {
  display: grid;
  gap: 4px;
  min-height: 104px;
}

.credentialing-work-grid article.loss {
  border-color: rgba(180, 35, 47, 0.28);
}

.credentialing-work-grid article.warning {
  border-color: rgba(180, 35, 47, 0.28);
}

.credentialing-work-grid article.gain {
  border-color: rgba(8, 122, 75, 0.35);
}

.credentialing-work-grid span,
.credentialing-work-grid small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.credentialing-work-grid article.loss span,
.credentialing-work-grid article.warning span {
  color: var(--loss);
}

.credentialing-work-grid article.gain span {
  color: var(--gain);
}

.credentialing-watchlist .panel-head {
  padding: 0;
}

.credentialing-watchlist .panel-head > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.credentialing-watch-grid article {
  display: grid;
  gap: 4px;
}

.credentialing-watch-grid article.loss {
  border-color: rgba(180, 35, 47, 0.28);
}

.credentialing-watch-grid article.warning {
  border-color: rgba(180, 35, 47, 0.28);
}

.credentialing-watch-grid article.gain {
  border-color: rgba(8, 122, 75, 0.35);
}

.credentialing-watch-grid span,
.credentialing-watch-grid small {
  color: var(--muted);
  font-size: 11px;
}

.credentialing-watch-grid article.loss span,
.credentialing-watch-grid article.warning span {
  color: var(--loss);
}

.credentialing-watch-grid article.gain span {
  color: var(--gain);
}

.credentialing-task-form input,
.credentialing-task-form select,
.credentialing-task-list select {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 9px;
  color: var(--black);
  background: var(--white);
  font: inherit;
}

.credentialing-provider-management {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.provider-assignment-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

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

.credentialing-task-list {
  display: grid;
  gap: 8px;
}

.credentialing-task-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px;
}

.credentialing-task-list article > div {
  display: grid;
  gap: 4px;
}

.credentialing-task-list span,
.credentialing-task-list small {
  color: var(--muted);
  font-size: 11px;
}

.credentialing-task-list article.complete {
  border-color: rgba(8, 122, 75, 0.35);
}

.credentialing-task-list article.missing {
  border-color: rgba(180, 35, 47, 0.28);
}

.provider-assignment-list article,
.credentialing-provider-summary article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px;
}

.provider-assignment-list article > div,
.credentialing-provider-summary article > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.provider-assignment-list span,
.provider-assignment-list small,
.credentialing-provider-summary span,
.credentialing-provider-summary small {
  color: var(--muted);
  font-size: 11px;
}

.credentialing-provider-summary article.inactive {
  opacity: 0.72;
}

.credentialing-summary-grid article.complete {
  border-color: rgba(8, 122, 75, 0.35);
}

.credentialing-summary-grid article.complete span {
  color: var(--gain);
}

.credentialing-summary-grid article.missing {
  border-color: rgba(180, 35, 47, 0.28);
}

.credentialing-summary-grid article.missing span {
  color: var(--loss);
}

.credentialing-payer-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  align-items: end;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.credentialing-payer-form .panel-head {
  grid-column: 1 / -1;
  padding: 0;
}

.credentialing-payer-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.credentialing-payer-form input,
.credentialing-payer-form select,
.credentialing-payer-form textarea,
.credentialing-status-editor textarea {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 9px;
  color: var(--black);
  background: var(--white);
  font: inherit;
  outline: none;
}

.credentialing-payer-form textarea,
.credentialing-status-editor textarea {
  min-height: 74px;
  resize: vertical;
}

.credentialing-payer-form input:focus,
.credentialing-payer-form select:focus,
.credentialing-payer-form textarea:focus,
.credentialing-status-editor textarea:focus {
  border-color: var(--black);
}

.credentialing-payer-notes {
  grid-column: span 2;
}

.settings-filter-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 240px)) auto;
  align-items: end;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.settings-filter-row label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.settings-filter-row select {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 9px;
  color: var(--black);
  background: var(--white);
  font: inherit;
  outline: none;
}

.credentialing-list-tools {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(140px, 210px)) auto;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.credentialing-task-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  align-items: end;
  gap: 8px;
}

.credentialing-task-form .span-2 {
  grid-column: span 2;
}

.credentialing-list-tools label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.credentialing-list-tools select,
.credentialing-list-tools input {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 9px;
  color: var(--black);
  background: var(--white);
  font: inherit;
  outline: none;
}

.credentialing-list-tools select:focus,
.credentialing-list-tools input:focus {
  border-color: var(--black);
}

.credentialing-list-tools > .btn {
  align-self: end;
  min-height: 36px;
}

.credentialing-actions {
  display: grid;
  gap: 6px;
  min-width: 132px;
}

.credentialing-status-editor {
  display: grid;
  gap: 5px;
  min-width: 150px;
}

.credentialing-status-editor label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.credentialing-status-editor select,
.credentialing-status-editor input[type="date"] {
  width: 100%;
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 8px;
  color: var(--black);
  background: var(--white);
  font: inherit;
}

.credentialing-status-editor .credentialing-check {
  grid-template-columns: auto 1fr;
  align-items: center;
  color: var(--black);
}

.credentialing-save {
  width: 100%;
  margin-top: 5px;
}

.credentialing-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.credentialing-table {
  min-width: 920px;
  border-collapse: collapse;
}

.credentialing-table td,
.credentialing-table th {
  vertical-align: top;
}

.credentialing-table td {
  min-width: 140px;
}

.credentialing-table td:first-child {
  min-width: 240px;
}

.credentialing-table .credentialing-compact-row td {
  padding-top: 9px;
  padding-bottom: 9px;
}

.credentialing-table .credentialing-detail-row td {
  background: var(--soft);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding-top: 10px;
  padding-bottom: 10px;
}

.credentialing-table .credentialing-detail-row td:first-child {
  border-left: 3px solid var(--black);
}

.credentialing-history {
  display: grid;
  gap: 5px;
  margin-top: 10px;
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.credentialing-history span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  text-transform: uppercase;
}

.credentialing-table strong,
.credentialing-table small,
.credentialing-doc-grid article,
.credentialing-doc-grid details {
  display: grid;
  gap: 4px;
}

.credentialing-table small,
.credentialing-doc-grid small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.credentialing-doc-grid article.complete,
.credentialing-doc-grid details.complete {
  border-color: hsl(150 80% 76%);
  background: hsl(145 88% 94%);
}

.provider-document-item {
  min-width: 0;
  overflow: hidden;
}

.credentialing-doc-grid article.complete > span,
.credentialing-doc-grid details.complete .credentialing-card-category {
  color: hsl(150 72% 20%);
}

.credentialing-doc-grid article.missing,
.credentialing-doc-grid details.missing {
  border-color: hsl(355 88% 82%);
  background: hsl(356 100% 96%);
}

.credentialing-doc-grid article.missing > span,
.credentialing-doc-grid details.missing .credentialing-card-category {
  color: hsl(355 72% 28%);
}

.clinic-paperwork-section .credentialing-document-card.not-applicable {
  border-color: hsl(220 10% 78%);
  background: hsl(220 18% 94%);
}

.clinic-paperwork-section .credentialing-document-card summary > span,
.clinic-paperwork-section .credentialing-document-card summary > strong,
.clinic-paperwork-section .credentialing-document-card summary > small,
.clinic-paperwork-section .credentialing-card-category {
  color: hsl(220 8% 12%);
  font-size: 14px;
  font-weight: 820;
}

.clinic-paperwork-section .credentialing-document-card summary > strong {
  font-size: 16px;
  font-weight: 900;
}

.clinic-paperwork-section .credentialing-document-card summary > small {
  color: hsl(220 8% 22%);
}

.credentialing-doc-grid article.facility-profile-card {
  border-radius: 8px;
  color: hsl(220 8% 12%);
}

.credentialing-doc-grid article.facility-profile-card.complete {
  border-color: hsl(150 80% 76%);
  background: hsl(145 88% 94%);
}

.credentialing-doc-grid article.facility-profile-card.missing {
  border-color: hsl(355 88% 82%);
  background: hsl(356 100% 96%);
}

.credentialing-doc-grid article.facility-profile-card.not-applicable {
  border-color: hsl(220 10% 78%);
  background: hsl(220 18% 94%);
}

.credentialing-doc-grid article.facility-profile-card > span,
.credentialing-doc-grid article.facility-profile-card > strong,
.credentialing-doc-grid article.facility-profile-card > small {
  color: hsl(220 8% 12%);
  font-size: 14px;
  font-weight: 820;
}

.credentialing-doc-grid article.facility-profile-card > strong {
  font-size: 16px;
  font-weight: 900;
}

.credentialing-doc-grid article.facility-profile-card > button {
  margin-top: 6px;
  width: fit-content;
}

.credentialing-document-card summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: start;
  min-width: 0;
  cursor: pointer;
  list-style: none;
}

.credentialing-document-card summary::-webkit-details-marker {
  display: none;
}

.credentialing-document-card summary > span,
.credentialing-document-card summary > strong,
.credentialing-document-card summary > small {
  min-width: 0;
}

.credentialing-document-card summary > small {
  grid-column: 1 / -1;
}

.credentialing-card-category {
  color: var(--muted);
  font-size: 11px;
}

.credentialing-card-toggle {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 10px;
  color: var(--black);
  background: var(--white);
  font-size: 12px;
  font-weight: 780;
}

.credentialing-summary-action {
  grid-column: 2;
  grid-row: 3;
  justify-self: end;
  width: fit-content;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 850;
}

.credentialing-section-action {
  width: fit-content;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 850;
}

.clinic-paperwork-section.not-applicable > summary {
  border-radius: 8px;
  background: hsl(220 18% 94%);
}

.credentialing-document-card[open] > summary .credentialing-card-toggle {
  border-color: var(--black);
}

.credentialing-document-card[open] > summary .credentialing-card-toggle {
  font-size: 0;
}

.credentialing-document-card[open] > summary .credentialing-card-toggle::before {
  content: "Hide details";
  font-size: 12px;
}

.credentialing-document-detail {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.credentialing-docs {
  display: grid;
  gap: 10px;
}

.credentialing-provider-docs {
  display: grid;
  gap: 10px;
}

.provider-doc-card {
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
}

.provider-doc-card.inactive {
  opacity: 0.72;
}

.provider-doc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.provider-doc-head > div {
  display: grid;
  gap: 4px;
}

.provider-doc-head span,
.provider-doc-head small {
  color: var(--muted);
  font-size: 12px;
}

.provider-document-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  min-width: 0;
}

.provider-info-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.provider-document-form label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.provider-document-form input,
.provider-document-form select,
.provider-document-form textarea,
.provider-info-form input,
.provider-info-form select,
.provider-info-form textarea {
  min-width: 0;
  width: 100%;
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 8px;
  color: var(--black);
  background: var(--white);
  font: inherit;
  outline: none;
}

.provider-info-form label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.provider-document-form .credentialing-check {
  grid-template-columns: auto 1fr;
  align-items: center;
  color: var(--black);
}

.provider-info-form .credentialing-check {
  grid-template-columns: auto 1fr;
  align-items: center;
  color: var(--black);
}

.provider-document-form textarea {
  min-height: 58px;
  resize: vertical;
}

.provider-info-form textarea {
  min-height: 58px;
  resize: vertical;
}

.provider-document-form .span-2,
.provider-document-form button,
.provider-info-form .span-2 {
  grid-column: 1 / -1;
}

.provider-info-form button {
  grid-column: 1 / -1;
}

.provider-document-form input[readonly] {
  background: var(--soft);
  color: var(--muted);
}

.credentialing-file-open {
  width: 100%;
}

.credentialing-file-list {
  display: grid;
  gap: 6px;
}

.credentialing-file-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px;
  min-width: 0;
  overflow: hidden;
}

.credentialing-file-meta {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.credentialing-file-edit {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  min-width: 0;
}

.credentialing-file-name {
  display: grid;
  gap: 4px;
}

.credentialing-file-name span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.credentialing-file-name input,
.credentialing-file-name select {
  width: 100%;
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 8px;
  color: var(--black);
  background: var(--white);
  font: inherit;
}

.credentialing-task-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.credentialing-file-name input:focus,
.credentialing-file-name select:focus {
  border-color: var(--black);
  outline: none;
}

.credentialing-file-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

.credentialing-file-actions .loss {
  color: var(--loss);
  border-color: rgba(180, 35, 47, 0.32);
}

.credentialing-file-list strong,
.credentialing-file-list small {
  overflow-wrap: anywhere;
}

.supplies-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.supplies-overview,
.supplies-settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.supplies-summary article,
.supplies-settings-grid article,
.supply-clinic-card,
.supply-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.supplies-summary article {
  display: grid;
  gap: 4px;
}

.module-body.financial-workflow .supplies-summary article:nth-child(4n + 1),
.module-body.supplies-workflow .supplies-summary article:nth-child(4n + 1) {
  border-color: hsl(181 100% 68%);
  background: var(--cred-cyan);
}

.module-body.financial-workflow .supplies-summary article:nth-child(4n + 2),
.module-body.supplies-workflow .supplies-summary article:nth-child(4n + 2) {
  border-color: hsl(199 100% 66%);
  background: var(--cred-blue);
}

.module-body.financial-workflow .supplies-summary article:nth-child(4n + 3),
.module-body.supplies-workflow .supplies-summary article:nth-child(4n + 3) {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.module-body.financial-workflow .supplies-summary article:nth-child(4n),
.module-body.supplies-workflow .supplies-summary article:nth-child(4n) {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.module-body.financial-workflow .supplies-summary article.loss,
.module-body.supplies-workflow .supplies-summary article.loss,
.module-body.supplies-workflow .supply-card.submitted {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.module-body.financial-workflow .supplies-summary article span,
.module-body.financial-workflow .supplies-summary article strong,
.module-body.supplies-workflow .supplies-summary article span,
.module-body.supplies-workflow .supplies-summary article strong {
  color: var(--ink);
}

.supplies-summary article.gain,
.supply-clinic-card.gain {
  border-color: rgba(8, 122, 75, 0.36);
}

.supplies-summary article.loss,
.supply-clinic-card.loss,
.supply-card.submitted {
  border-color: rgba(180, 35, 47, 0.32);
}

.supplies-summary article.info,
.supply-clinic-card.info,
.supply-card.shopping {
  border-color: rgba(52, 110, 196, 0.34);
}

.supply-clinic-card {
  display: grid;
  gap: 5px;
  color: var(--black);
  background: var(--white);
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.supply-clinic-card:hover,
.supply-clinic-card.active {
  border-color: var(--black);
  box-shadow: inset 0 0 0 1px var(--black);
}

.supply-clinic-card small {
  color: var(--muted);
  font-size: 12px;
}

.supplies-form,
.supply-update {
  display: grid;
  gap: 8px;
}

.module-body.supplies-workflow .btn-primary,
.module-body.financial-workflow .btn-primary {
  border-color: hsl(134 88% 58%);
  color: var(--ink);
  background: var(--cred-green);
}

.module-body.supplies-workflow .btn-secondary,
.module-body.financial-workflow .btn-secondary {
  border-color: hsl(181 100% 68%);
  color: var(--ink);
  background: var(--cred-cyan);
}

.module-body.supplies-workflow .btn.danger,
.module-body.financial-workflow .btn.danger {
  border-color: hsl(356 100% 72%);
  color: var(--ink);
  background: var(--cred-red);
}

.supplies-form {
  grid-template-columns: minmax(0, 1.15fr) 100px minmax(0, 1fr) minmax(0, 1fr) 140px;
  align-items: end;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.module-body.supplies-workflow .supplies-form,
.module-body.supplies-workflow .supply-master-order,
.module-body.financial-workflow .financial-period-form,
.module-body.financial-workflow .financial-transaction-form,
.module-body.financial-workflow .financial-category-form {
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 11px 12px;
  background: hsl(181 100% 97%);
}

.supplies-form.compact {
  grid-template-columns: 180px minmax(0, 1fr) auto;
}

.supplies-form.mini {
  grid-template-columns: minmax(0, 1fr) minmax(120px, 0.5fr) auto;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.supplies-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.supplies-form input,
.supplies-form select,
.supply-update input,
.supply-update select,
.supply-update textarea {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 9px;
  color: var(--black);
  background: var(--white);
  font: inherit;
}

.supplies-form .span-2 {
  grid-column: span 2;
}

#supply-request-form .span-2 {
  grid-column: 1 / -1;
}

.supply-master-order {
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px;
}

.supply-master-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  gap: 10px;
}

.supply-master-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px auto;
  gap: 10px;
  align-items: end;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--white);
}

.supply-master-item > div,
.supply-cart-summary,
.supply-cart-summary li {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.supply-master-item strong,
.supply-master-item small,
.supply-cart-summary span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.supply-master-item strong {
  color: var(--black);
  font-size: 14px;
}

.supply-master-item label,
.supply-custom-cart-form label,
.supply-cart-submit label,
.supply-manage-form label,
.supply-manage-item label {
  display: grid;
  gap: 5px;
  color: var(--green);
  font-size: 12px;
  font-weight: 760;
}

.supply-master-item input,
.supply-custom-cart-form input,
.supply-cart-submit input,
.supply-manage-form input,
.supply-manage-item input {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 9px;
  color: var(--black);
  background: var(--white);
  font: inherit;
}

.supply-custom-cart-form,
.supply-cart-submit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) 120px auto;
  gap: 10px;
  align-items: end;
}

.supply-cart-submit {
  grid-template-columns: minmax(260px, 1.4fr) 160px minmax(0, 1fr) auto auto;
  align-items: end;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.supply-cart-summary {
  align-self: stretch;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--soft);
}

.supply-cart-summary ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.supply-cart-summary li {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.supply-cart-summary .btn {
  min-height: 32px;
  padding: 6px 9px;
}

.supply-manage-panel {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.supply-manage-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid hsl(184 62% 66%);
  border-radius: 8px;
  padding: 10px 12px;
  color: var(--ink);
  background: var(--fluoro-cyan);
  cursor: pointer;
  list-style: none;
}

.supplies-workflow .supply-manage-panel summary {
  border-color: hsl(63 82% 58%);
  background: var(--fluoro-yellow);
}

.settings-supply-master-panel summary {
  border-color: hsl(139 62% 50%);
  background: var(--fluoro-green);
}

.supply-manage-panel[open] summary {
  border-color: var(--black);
  box-shadow: inset 0 0 0 1px var(--black);
}

.supply-manage-panel summary::-webkit-details-marker {
  display: none;
}

.supply-manage-panel summary strong,
.supply-manage-panel summary span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.supply-manage-panel[open] {
  display: grid;
  gap: 10px;
}

.supply-manage-form,
.supply-new-item-grid {
  display: grid;
  gap: 10px;
}

.supply-new-item-row,
.supply-manage-item {
  display: grid;
  grid-template-columns: minmax(180px, 1.1fr) 120px minmax(150px, 0.9fr) minmax(180px, 1fr);
  gap: 10px;
  align-items: end;
}

.supply-manage-item {
  display: grid;
  grid-template-columns: minmax(180px, 1.1fr) 120px minmax(150px, 0.9fr) minmax(180px, 1fr) 130px minmax(180px, auto);
  gap: 10px;
  align-items: end;
}

.supply-manage-form {
  padding-top: 10px;
}

.supply-new-item-row {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--soft);
}

.supply-manage-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.supply-manage-list {
  display: grid;
  gap: 8px;
  max-height: 420px;
  overflow: auto;
}

.supply-manage-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--white);
}

.supply-manage-item.muted {
  opacity: 0.64;
}

.supply-manage-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 6px;
  align-items: center;
}

.supply-manage-actions small {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
}

.supplies-settings-grid article {
  display: grid;
  align-content: start;
  gap: 10px;
}

.supplies-settings-grid.vendor-only {
  grid-template-columns: minmax(0, 1fr);
}

.supply-list-main-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.supply-list-main-head div {
  display: grid;
  gap: 4px;
}

.section-head.tight {
  margin-bottom: 0;
}

.section-head.tight h3 {
  font-size: 15px;
}

.supply-compact-list {
  display: grid;
  gap: 6px;
  max-height: 320px;
  overflow: auto;
}

.supply-compact-list.short {
  max-height: 220px;
}

.supply-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(0, 0.7fr) minmax(0, 0.8fr) 90px auto auto;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px;
}

.supply-row.muted {
  opacity: 0.64;
}

.supply-row strong,
.supply-row span,
.supply-row small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.supply-row input {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 8px;
  color: var(--black);
  background: var(--white);
  font: inherit;
}

.supply-master-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  padding: 6px;
}

.supply-master-row > button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  border: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.supply-master-row > button > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.supply-master-row input:checked + button {
  border-radius: 8px;
  background: var(--fluoro-yellow);
}

.supply-master-row .gain {
  color: hsl(139 52% 32%);
}

.supply-master-row .loss {
  color: var(--loss);
}

.supplies-list {
  display: grid;
  gap: 8px;
}

.supply-card {
  display: grid;
  gap: 9px;
}

.module-body.supplies-workflow .supply-card.completed,
.module-body.financial-workflow .supply-card.completed {
  border-color: hsl(134 88% 58%);
  background: hsl(134 100% 96%);
}

.module-body.supplies-workflow .supply-card.shopping,
.module-body.financial-workflow .supply-card.shopping {
  border-color: hsl(199 100% 66%);
  background: hsl(199 100% 96%);
}

.supply-card-head,
.supply-totals {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.supply-card ul {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 12px;
}

.supply-card small {
  color: var(--muted);
}

.supply-card a,
.supply-row a {
  color: var(--black);
  font-weight: 760;
}

.supply-message {
  margin: 0;
  border-left: 3px solid rgba(52, 110, 196, 0.34);
  padding-left: 8px;
  color: var(--muted);
  font-size: 12px;
}

.supply-totals {
  color: var(--muted);
  font-size: 12px;
}

.supply-update {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
}

.supply-update button {
  justify-self: start;
}

.financial-editor {
  display: grid;
  gap: 10px;
}

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

.financial-working-period-panel {
  display: grid;
  gap: 12px;
  border: 2px solid hsl(199 100% 68%);
  border-radius: var(--radius);
  padding: 16px;
  background: linear-gradient(135deg, rgba(169, 228, 255, 0.56), rgba(255, 246, 168, 0.32));
}

.financial-working-period-controls {
  display: grid;
  grid-template-columns: minmax(150px, 0.6fr) minmax(180px, 0.8fr) minmax(240px, 1.4fr);
  gap: 10px;
  align-items: stretch;
}

.financial-working-period-controls article {
  display: grid;
  gap: 6px;
  border: 1px solid hsl(199 100% 72%);
  border-radius: var(--radius);
  padding: 12px;
  background: rgba(255, 255, 255, 0.72);
}

.financial-working-period-controls article span,
.financial-working-period-controls article small,
.financial-toolbar-period span,
.financial-toolbar-period small {
  color: hsl(220 8% 22%);
  font-size: 12px;
  font-weight: 780;
}

.financial-working-period-controls article strong,
.financial-toolbar-period strong {
  color: hsl(220 8% 12%);
  font-size: 20px;
  font-weight: 940;
}

.month-picker,
.financial-fields label,
.cash-result {
  display: grid;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
}

.month-picker span,
.financial-fields span,
.cash-result span,
.cash-result small {
  color: var(--muted);
  font-size: 12px;
}

.month-picker select,
.financial-fields input {
  width: 100%;
  border: 0;
  color: var(--black);
  background: transparent;
  font: inherit;
  outline: none;
}

.financial-toolbar .month-picker {
  min-height: 76px;
  border-width: 2px;
  background: rgba(255, 255, 255, 0.78);
}

.financial-toolbar .month-picker span {
  color: hsl(220 8% 22%);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.financial-toolbar .month-picker select {
  font-size: 18px;
  font-weight: 940;
}

.financial-working-period-panel .month-picker {
  border-width: 2px;
  border-color: hsl(181 100% 66%);
  background: rgba(255, 255, 255, 0.82);
}

.financial-working-period-panel .month-picker span {
  color: hsl(220 8% 18%);
  font-size: 12px;
  font-weight: 920;
  text-transform: uppercase;
}

.financial-working-period-panel .month-picker select {
  color: hsl(220 8% 10%);
  font-size: 22px;
  font-weight: 940;
}

.financial-toolbar-period {
  display: grid;
  gap: 4px;
  min-width: min(100%, 260px);
  border: 1px solid hsl(199 100% 72%);
  border-radius: var(--radius);
  padding: 11px 12px;
  background: rgba(255, 255, 255, 0.76);
}

.financial-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.cash-result strong {
  font-size: 18px;
}

.financial-toolbar,
.financial-report-grid,
.financial-period-form,
.financial-transaction-form,
.financial-category-form {
  display: grid;
  gap: 10px;
}

.financial-toolbar {
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: end;
}

.financial-report-toggle {
  display: grid;
  gap: 6px;
  justify-items: end;
}

.financial-report-launcher {
  display: grid;
  gap: 7px;
  justify-items: end;
  border: 1px solid hsl(199 100% 78%);
  border-radius: 8px;
  padding: 9px;
  background: hsl(199 100% 97%);
}

.financial-report-launcher > span {
  color: hsl(220 8% 24%);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.financial-report-launcher > div,
.report-window-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: flex-end;
}

.financial-report-launcher .btn,
.report-window-toggle > .btn {
  min-height: 42px;
  font-weight: 900;
}

.financial-report-toggle-step {
  display: grid;
  gap: 5px;
  justify-items: end;
}

.financial-report-toggle-step > span {
  color: hsl(220 8% 24%);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.financial-report-toggle-step.dependent {
  border: 1px solid hsl(199 100% 78%);
  border-radius: 8px;
  padding: 8px;
  background: hsl(199 100% 97%);
}

.financial-report-toggle-step.dependent.year {
  border-color: hsl(273 100% 78%);
  background: hsl(273 100% 97%);
}

.financial-report-toggle-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.financial-report-toggle .btn {
  min-height: 44px;
  border-width: 2px;
  padding: 11px 16px;
  font-size: 14px;
  font-weight: 940;
}

.financial-report-toggle-row.primary .btn {
  min-width: 128px;
}

.financial-report-toggle-row.secondary .btn {
  min-height: 38px;
  border-width: 1px;
  padding: 9px 13px;
  font-size: 13px;
}

.financial-report-toggle .btn-primary {
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.financial-month-entry-panel {
  display: grid;
  gap: 10px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 12px;
  background: hsl(181 100% 97%);
}

.financial-month-entry-panel > .section-head {
  align-items: end;
  margin-bottom: 0;
}

.financial-month-entry-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}

.financial-entry-card {
  display: grid;
  gap: 7px;
  border: 1px solid rgba(37, 40, 45, 0.24);
  border-radius: var(--radius);
  padding: 12px;
  background: rgba(255, 255, 255, 0.76);
}

.financial-entry-card span {
  color: hsl(220 8% 23%);
  font-size: 12px;
  font-weight: 880;
  text-transform: uppercase;
}

.financial-entry-card input,
.financial-entry-card select {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  color: hsl(220 8% 12%);
  background: var(--white);
  font: inherit;
  font-weight: 820;
  outline: none;
}

.financial-entry-card input:focus,
.financial-entry-card select:focus {
  border-color: hsl(220 8% 18%);
  box-shadow: inset 0 0 0 1px hsl(220 8% 18%);
}

.financial-entry-card strong {
  color: hsl(220 8% 10%);
  font-size: 24px;
  font-weight: 940;
  line-height: 1;
}

.financial-entry-card small {
  color: hsl(220 8% 28%);
  font-size: 12px;
  font-weight: 760;
}

.deposit-entry-card {
  border-color: hsl(134 88% 58%);
  background: hsl(134 100% 96%);
}

.financial-deposit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.financial-expense-entry-panel {
  display: grid;
  gap: 12px;
  border: 1px solid hsl(199 100% 70%);
  border-radius: var(--radius);
  padding: 14px;
  background: hsl(199 100% 96%);
}

.financial-expense-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: stretch;
}

.financial-big-import {
  display: grid;
  align-content: center;
  gap: 8px;
  min-height: 174px;
  border: 2px dashed hsl(199 100% 58%);
  border-radius: var(--radius);
  padding: 18px;
  color: hsl(220 8% 14%);
  background: linear-gradient(135deg, hsl(181 100% 94%), hsl(134 100% 95%));
  cursor: pointer;
}

.financial-big-import span {
  width: fit-content;
  border-radius: 999px;
  padding: 5px 9px;
  color: hsl(199 78% 20%);
  background: hsl(199 100% 88%);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.financial-big-import strong {
  color: hsl(220 8% 10%);
  font-size: 22px;
  font-weight: 940;
}

.financial-big-import small {
  color: hsl(220 8% 24%);
  font-size: 13px;
  font-weight: 780;
}

.financial-expense-form {
  border: 1px solid hsl(134 88% 68%);
  border-radius: var(--radius);
  padding: 14px;
  background: hsl(134 100% 97%);
  box-shadow: inset 4px 0 0 hsl(134 88% 58%);
}

.financial-expense-form-head {
  display: grid;
  gap: 3px;
}

.financial-expense-form-head span {
  width: fit-content;
  border-radius: 999px;
  padding: 5px 9px;
  color: hsl(134 66% 18%);
  background: hsl(134 100% 88%);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.financial-expense-form-head strong {
  color: hsl(220 8% 10%);
  font-size: 20px;
  font-weight: 940;
}

.bank-import-panel {
  display: grid;
  gap: 10px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 12px;
  background: hsl(181 100% 97%);
}

.bank-import-panel.empty {
  display: none;
}

.bank-file-button {
  position: relative;
  overflow: hidden;
}

.bank-file-button input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.bank-import-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid rgba(37, 40, 45, 0.28);
  border-radius: 8px;
  padding: 9px 10px;
  background: rgba(255, 255, 255, 0.66);
}

.bank-import-status span,
.bank-import-status strong {
  color: hsl(220 8% 18%);
  font-size: 12px;
  font-weight: 820;
}

.bank-import-table {
  display: grid;
  gap: 6px;
  max-height: 360px;
  overflow: auto;
}

.bank-import-row {
  display: grid;
  grid-template-columns: 42px 96px minmax(190px, 1.1fr) 92px 160px minmax(220px, 1fr) minmax(130px, 0.65fr);
  gap: 6px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px;
  background: var(--white);
}

.bank-import-row.head {
  position: sticky;
  top: 0;
  z-index: 1;
  color: hsl(220 8% 20%);
  background: hsl(199 100% 94%);
  font-size: 11px;
  font-weight: 860;
}

.bank-import-row strong,
.bank-import-row span {
  min-width: 0;
  overflow-wrap: anywhere;
  color: hsl(220 8% 18%);
  font-size: 12px;
}

.bank-import-row strong .bank-match-note {
  display: block;
  width: fit-content;
  margin-top: 3px;
  border: 1px solid hsl(134 88% 58%);
  border-radius: 999px;
  padding: 2px 6px;
  color: hsl(135 40% 20%);
  background: var(--cred-green);
  font-size: 10px;
  font-weight: 820;
}

.bank-import-row strong .bank-match-note.duplicate {
  border-color: hsl(356 100% 72%);
  color: hsl(356 56% 24%);
  background: var(--cred-red);
}

.bank-line-details {
  display: block;
  margin-top: 4px;
  color: hsl(220 10% 26%);
  font-size: 11px;
  font-weight: 760;
  line-height: 1.35;
}

.bank-import-row select {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 7px;
  color: hsl(220 8% 18%);
  background: var(--white);
  font: inherit;
}

.bank-import-assignment {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.bank-import-assignment select:first-child {
  grid-column: 1 / -1;
}

.financial-import-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

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

.financial-owner-payback-panel,
.financial-external-loan-panel,
.financial-interclinic-panel {
  display: grid;
  gap: 12px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 14px;
  background: linear-gradient(135deg, rgba(143, 252, 255, 0.38), rgba(205, 163, 255, 0.22));
}

.financial-interclinic-panel {
  border-color: hsl(134 88% 58%);
  background: linear-gradient(135deg, rgba(158, 255, 183, 0.36), rgba(169, 228, 255, 0.28));
}

.financial-external-loan-panel {
  border-color: hsl(51 100% 62%);
  background: linear-gradient(135deg, rgba(255, 246, 168, 0.44), rgba(143, 252, 255, 0.24));
}

.financial-capital-form {
  border: 1px solid rgba(12, 18, 28, 0.08);
  background: rgba(255, 255, 255, 0.74);
}

.financial-owner-payback-panel .financial-owner-grid article {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.module-body.financial-workflow {
  color: hsl(220 8% 18%);
}

.module-body.financial-workflow .supplies-summary article span,
.module-body.financial-workflow .supplies-summary article small,
.module-body.financial-workflow .supply-card small,
.module-body.financial-workflow .supply-totals,
.module-body.financial-workflow .financial-report-panel span,
.module-body.financial-workflow .financial-report-panel small {
  color: hsl(220 8% 24%);
  font-weight: 760;
}

.module-body.financial-workflow .supplies-summary article strong,
.module-body.financial-workflow .financial-report-panel strong,
.module-body.financial-workflow .supply-card strong {
  color: hsl(220 8% 14%);
  font-weight: 880;
}

.financial-report-grid {
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr);
}

.financial-report-grid.internal-single-source {
  grid-template-columns: 1fr;
}

.financial-report-hero {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(320px, 1.2fr);
  gap: 12px;
  align-items: center;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 14px;
  background: hsl(181 100% 94%);
}

.financial-report-hero.gain {
  border-color: hsl(134 88% 58%);
  background: hsl(134 100% 93%);
}

.financial-report-hero.review {
  border-color: hsl(273 100% 74%);
  background: hsl(273 100% 93%);
}

.financial-report-hero.loss {
  border-color: hsl(356 100% 72%);
  background: hsl(356 100% 94%);
}

.financial-report-hero h3 {
  margin: 2px 0 8px;
  color: hsl(220 8% 12%);
  font-size: 22px;
  font-weight: 900;
}

.financial-report-hero-tags,
.financial-report-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.financial-report-hero-tags span,
.financial-report-actions span {
  border: 1px solid rgba(37, 40, 45, 0.32);
  border-radius: 999px;
  padding: 4px 8px;
  color: hsl(220 8% 18%);
  background: rgba(255, 255, 255, 0.58);
  font-size: 12px;
  font-weight: 820;
}

.financial-period-status.open {
  border-color: hsl(181 100% 68%);
  background: var(--cred-cyan);
}

.financial-period-status.reviewed {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.financial-period-status.locked {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.financial-report-hero-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.financial-report-hero-metrics article {
  display: grid;
  gap: 4px;
  border: 1px solid rgba(37, 40, 45, 0.28);
  border-radius: 8px;
  padding: 9px;
  background: rgba(255, 255, 255, 0.64);
}

.financial-report-hero-metrics span {
  color: hsl(220 8% 24%);
  font-size: 11px;
  font-weight: 820;
  text-transform: uppercase;
}

.financial-report-hero-metrics strong {
  color: hsl(220 8% 12%);
  font-size: 18px;
  font-weight: 920;
}

.financial-report-actions {
  grid-column: 1 / -1;
  justify-content: flex-end;
}

.financial-insight-strip,
.financial-action-strip,
.financial-projection-strip,
.financial-variance-strip,
.financial-comparison-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

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

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

.financial-capital-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.financial-capital-strip article {
  display: grid;
  gap: 4px;
  border: 1px solid hsl(199 100% 66%);
  border-radius: var(--radius);
  padding: 10px;
  background: hsl(199 100% 97%);
}

.financial-capital-strip article.gain {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.financial-capital-strip article.review {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.financial-capital-strip article.loss {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.financial-capital-strip span,
.financial-capital-strip small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 780;
}

.financial-capital-strip strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: hsl(220 8% 12%);
  font-size: 18px;
  font-weight: 920;
}

.financial-projection-strip article {
  display: grid;
  gap: 4px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 11px;
  background: hsl(181 100% 96%);
}

.financial-projection-strip article.gain {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.financial-projection-strip article.loss {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.financial-projection-strip span,
.financial-projection-strip small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 780;
}

.financial-projection-strip strong {
  color: hsl(220 8% 12%);
  font-size: 18px;
  font-weight: 920;
}

.financial-variance-strip article {
  display: grid;
  gap: 4px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 10px;
  background: hsl(181 100% 97%);
}

.financial-variance-strip article.gain {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.financial-variance-strip article.review {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.financial-variance-strip article.loss {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.financial-variance-strip span,
.financial-variance-strip small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 780;
}

.financial-variance-strip strong {
  color: hsl(220 8% 12%);
  font-size: 17px;
  font-weight: 920;
}

.financial-comparison-strip article {
  display: grid;
  gap: 4px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 10px;
  background: hsl(181 100% 97%);
}

.financial-comparison-strip article.gain {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.financial-comparison-strip article.review {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.financial-comparison-strip article.loss {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.financial-comparison-strip span,
.financial-comparison-strip small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 780;
}

.financial-comparison-strip strong {
  color: hsl(220 8% 12%);
  font-size: 17px;
  font-weight: 920;
}

.financial-concentration-panel {
  display: grid;
  gap: 10px;
  border: 1px solid hsl(273 100% 74%);
  border-radius: var(--radius);
  padding: 12px;
  background: hsl(273 100% 97%);
}

.financial-concentration-panel > .section-head {
  align-items: end;
  margin-bottom: 0;
}

.financial-concentration-panel > .section-head > strong {
  border: 1px solid hsl(273 100% 74%);
  border-radius: 999px;
  padding: 5px 9px;
  background: var(--cred-purple);
  font-size: 13px;
  font-weight: 900;
}

.financial-concentration-panel > .section-head > strong.gain {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.financial-concentration-panel > .section-head > strong.loss {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.financial-concentration-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.financial-concentration-grid button,
.financial-concentration-grid article {
  display: grid;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  color: inherit;
  background: var(--white);
  font: inherit;
  text-align: left;
}

.financial-concentration-grid button {
  cursor: pointer;
}

.financial-concentration-grid button:hover,
.financial-concentration-grid button:focus-visible {
  border-color: hsl(220 8% 18%);
  box-shadow: inset 0 0 0 1px hsl(220 8% 18%);
  outline: none;
}

.financial-concentration-grid span,
.financial-concentration-grid small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 780;
}

.financial-concentration-grid strong {
  color: hsl(220 8% 12%);
  font-size: 18px;
  font-weight: 920;
}

.financial-concentration-grid i {
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: hsl(220 8% 90%);
}

.financial-concentration-grid b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: hsl(273 100% 62%);
}

.financial-waterfall-panel {
  display: grid;
  gap: 10px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 12px;
  background: hsl(181 100% 97%);
}

.financial-waterfall-panel > .section-head {
  align-items: end;
  margin-bottom: 0;
}

.financial-waterfall-panel > .section-head > strong {
  color: hsl(220 8% 12%);
  font-size: 19px;
  font-weight: 920;
}

.financial-waterfall-list {
  display: grid;
  gap: 7px;
}

.financial-waterfall-list article {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr) 110px;
  gap: 8px;
  align-items: center;
}

.financial-waterfall-list span {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 820;
}

.financial-waterfall-list strong {
  color: hsl(220 8% 14%);
  font-size: 13px;
  font-weight: 900;
  text-align: right;
}

.financial-waterfall-list i {
  display: flex;
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
}

.financial-waterfall-list b {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.financial-waterfall-list .gain b {
  background: hsl(134 78% 46%);
}

.financial-waterfall-list .loss b {
  background: hsl(356 88% 62%);
}

.financial-waterfall-list .total {
  border-top: 1px solid rgba(37, 40, 45, 0.18);
  padding-top: 7px;
}

.financial-waterfall-list .total span,
.financial-waterfall-list .total strong {
  color: hsl(220 8% 12%);
  font-weight: 920;
}

.financial-briefing-panel {
  display: grid;
  gap: 10px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 12px;
  background: hsl(181 100% 97%);
}

.financial-briefing-panel.gain {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.financial-briefing-panel.review {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.financial-briefing-panel.loss {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.financial-briefing-panel > .section-head {
  align-items: end;
  margin-bottom: 0;
}

.financial-briefing-panel > .section-head > strong {
  border: 1px solid rgba(37, 40, 45, 0.18);
  border-radius: 999px;
  padding: 5px 9px;
  background: rgba(255, 255, 255, 0.68);
  color: hsl(220 8% 12%);
  font-size: 13px;
  font-weight: 920;
}

.financial-briefing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.financial-briefing-grid article {
  display: grid;
  gap: 5px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.72);
}

.financial-briefing-grid article.gain {
  border-color: hsl(134 88% 58%);
  background: hsl(134 100% 96%);
}

.financial-briefing-grid article.review {
  border-color: hsl(273 100% 74%);
  background: hsl(273 100% 97%);
}

.financial-briefing-grid article.loss {
  border-color: hsl(356 100% 72%);
  background: hsl(356 100% 97%);
}

.financial-briefing-grid span,
.financial-briefing-grid small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 780;
}

.financial-briefing-grid strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: hsl(220 8% 12%);
  font-size: 17px;
  font-weight: 920;
}

.financial-close-checklist {
  display: grid;
  gap: 10px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 12px;
  background: hsl(181 100% 97%);
}

.financial-close-checklist > .section-head {
  align-items: end;
  margin-bottom: 0;
}

.financial-close-checklist > .section-head > strong {
  color: hsl(220 8% 14%);
  font-size: 18px;
  font-weight: 900;
}

.financial-close-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
}

.financial-close-grid button {
  display: grid;
  gap: 4px;
  border: 1px solid hsl(273 100% 74%);
  border-radius: 8px;
  padding: 9px 10px;
  color: inherit;
  background: var(--cred-purple);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.financial-close-grid button.gain {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.financial-close-grid button.review {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.financial-close-grid button.neutral {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.financial-close-grid button:hover,
.financial-close-grid button:focus-visible {
  border-color: hsl(220 8% 18%);
  box-shadow: inset 0 0 0 1px hsl(220 8% 18%);
  outline: none;
}

.financial-close-grid span,
.financial-close-grid small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 780;
}

.financial-close-grid strong {
  color: hsl(220 8% 12%);
  font-size: 15px;
  font-weight: 900;
}

.financial-review-panel {
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) minmax(300px, 1.3fr);
  gap: 8px;
}

.financial-review-panel > article,
.financial-review-panel > div {
  display: grid;
  gap: 7px;
  border: 1px solid hsl(199 100% 66%);
  border-radius: var(--radius);
  padding: 11px;
  background: hsl(199 100% 97%);
}

.financial-review-panel > article > span,
.financial-review-panel > div > span {
  color: hsl(220 8% 24%);
  font-size: 11px;
  font-weight: 840;
  text-transform: uppercase;
}

.financial-review-panel strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: hsl(220 8% 14%);
  font-weight: 900;
}

.financial-review-panel small {
  color: hsl(220 8% 26%);
  font-size: 12px;
  font-weight: 760;
}

.financial-review-panel button {
  display: grid;
  gap: 2px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 8px;
  color: inherit;
  background: var(--white);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.financial-review-panel button:hover,
.financial-review-panel button:focus-visible {
  border-color: hsl(220 8% 18%);
  box-shadow: inset 0 0 0 1px hsl(220 8% 18%);
  outline: none;
}

.financial-transaction-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.financial-transaction-filters button {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 9px;
  color: hsl(220 8% 18%);
  background: var(--white);
  font: inherit;
  font-size: 12px;
  font-weight: 820;
  cursor: pointer;
}

.financial-transaction-filters button.active {
  border-color: hsl(181 100% 58%);
  background: var(--cred-cyan);
}

.financial-transaction-filters button:hover,
.financial-transaction-filters button:focus-visible {
  border-color: hsl(220 8% 18%);
  box-shadow: inset 0 0 0 1px hsl(220 8% 18%);
  outline: none;
}

.financial-transaction-filters strong {
  font-weight: 920;
}

.financial-insight-strip button,
.financial-action-strip button {
  display: grid;
  gap: 4px;
  border: 1px solid hsl(199 100% 66%);
  border-radius: var(--radius);
  padding: 10px;
  color: inherit;
  background: hsl(199 100% 97%);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.financial-insight-strip button:hover,
.financial-insight-strip button:focus-visible,
.financial-action-strip button:hover,
.financial-action-strip button:focus-visible {
  border-color: hsl(220 8% 18%);
  box-shadow: inset 0 0 0 1px hsl(220 8% 18%);
  outline: none;
}

.financial-action-strip button.gain {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.financial-action-strip button.review,
.financial-action-strip button.neutral {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.financial-action-strip button.loss {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.financial-insight-strip span,
.financial-action-strip span {
  color: hsl(220 8% 24%);
  font-size: 11px;
  font-weight: 820;
  text-transform: uppercase;
}

.financial-insight-strip strong,
.financial-action-strip strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: hsl(220 8% 13%);
  font-size: 15px;
  font-weight: 900;
}

.financial-period-workflow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.financial-period-workflow button {
  display: grid;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px;
  color: hsl(220 8% 16%);
  background: var(--white);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.financial-period-workflow button.active {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.financial-period-workflow button:hover,
.financial-period-workflow button:focus-visible {
  border-color: hsl(220 8% 18%);
  box-shadow: inset 0 0 0 1px hsl(220 8% 18%);
  outline: none;
}

.financial-period-workflow span {
  font-size: 12px;
  font-weight: 880;
  text-transform: uppercase;
}

.financial-period-workflow strong {
  font-size: 13px;
  font-weight: 820;
}

.financial-owner-distribution {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}

.financial-owner-distribution > .section-head {
  align-items: end;
  margin-bottom: 0;
}

.financial-owner-distribution > .section-head > strong {
  color: hsl(220 8% 14%);
  font-size: 18px;
  font-weight: 900;
}

.financial-settings-ownership {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid hsl(199 100% 66%);
  border-radius: var(--radius);
  padding: 11px;
  background: hsl(199 100% 97%);
}

.financial-settings-ownership div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.financial-settings-ownership span,
.financial-settings-ownership small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 780;
}

.financial-settings-ownership strong {
  color: hsl(220 8% 12%);
  font-size: 16px;
  font-weight: 920;
}

.financial-owner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
}

.financial-owner-grid article {
  display: grid;
  gap: 5px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 10px;
  background: var(--cred-cyan);
}

.financial-owner-grid article.gain {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.financial-owner-grid article.loss {
  border-color: hsl(356 100% 72%);
  background: var(--cred-red);
}

.financial-owner-grid span,
.financial-owner-grid small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 780;
}

.financial-owner-grid strong {
  color: hsl(220 8% 12%);
  font-size: 17px;
  font-weight: 900;
}

.financial-owner-grid em {
  color: hsl(220 8% 14%);
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.financial-insight-strip small {
  color: hsl(220 8% 27%);
  font-size: 12px;
  font-weight: 740;
}

.financial-report-panel {
  display: grid;
  gap: 10px;
  border: 1px solid hsl(199 100% 66%);
  border-radius: var(--radius);
  padding: 12px;
  background: hsl(199 100% 97%);
}

.financial-donut-wrap {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.financial-donut {
  display: grid;
  width: 172px;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid hsl(220 8% 34%);
  border-radius: 999px;
}

.financial-donut span {
  display: grid;
  width: 94px;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 999px;
  color: hsl(220 8% 14%);
  background: var(--white);
  font-weight: 900;
}

.financial-chart-empty {
  border: 1px dashed hsl(199 100% 66%);
  border-radius: 8px;
  padding: 18px;
  color: hsl(220 8% 24%);
  background: var(--white);
  font-weight: 820;
  text-align: center;
}

.financial-chart-legend {
  display: grid;
  gap: 6px;
}

.financial-chart-legend button {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 8px;
  color: hsl(220 8% 18%);
  background: var(--white);
  font: inherit;
  cursor: pointer;
}

.financial-chart-legend i {
  width: 12px;
  height: 12px;
  border-radius: 999px;
}

.financial-chart-legend span,
.financial-chart-legend strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 12px;
}

.financial-drill-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid hsl(273 100% 74%);
  border-radius: 8px;
  padding: 8px 10px;
  background: var(--cred-purple);
}

.financial-drill-banner span {
  color: hsl(220 8% 16%);
  font-size: 12px;
  font-weight: 860;
}

.financial-trend-bars {
  display: grid;
  grid-template-columns: repeat(12, minmax(24px, 1fr));
  gap: 6px;
  align-items: end;
  min-height: 186px;
}

.financial-trend-bars > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
  align-items: end;
}

.financial-trend-bars span,
.financial-trend-bars strong {
  grid-column: 1 / -1;
  color: hsl(220 8% 24%);
  font-size: 10px;
  font-weight: 820;
  text-align: center;
}

.financial-trend-bars i {
  display: block;
  border-radius: 5px 5px 0 0;
}

.financial-trend-bars .income {
  background: var(--cred-green);
}

.financial-trend-bars .out {
  background: var(--cred-red);
}

.financial-pl-list {
  display: grid;
  gap: 6px;
}

.financial-pl-list > div,
.financial-pl-list > button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto) 120px;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  color: inherit;
  background: var(--white);
  font: inherit;
  text-align: left;
}

.financial-pl-list > button {
  cursor: pointer;
}

.financial-pl-list > div.calculated {
  background: hsl(210 40% 98%);
  border-color: hsl(220 12% 78%);
}

.clinic-ownership-builder,
.clinic-investment-builder,
.clinic-hours-builder {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: hsl(210 40% 98%);
}

.clinic-ownership-add,
.clinic-investment-add {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(120px, 180px) auto;
  gap: 10px;
  align-items: end;
}

.clinic-investment-add {
  grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) minmax(120px, 160px) minmax(140px, 170px);
}

.clinic-ownership-list,
.clinic-investment-list {
  display: grid;
  gap: 6px;
}

.clinic-ownership-list article,
.clinic-investment-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid hsl(220 14% 86%);
  border-radius: 8px;
  background: var(--white);
}

.clinic-ownership-list span,
.clinic-ownership-list strong,
.clinic-ownership-list small,
.clinic-investment-list span,
.clinic-investment-list strong,
.clinic-investment-list small {
  color: hsl(220 8% 16%);
  font-weight: 760;
}

.clinic-hours-table {
  display: grid;
  gap: 6px;
}

.clinic-hours-row {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(120px, 160px) minmax(120px, 160px) minmax(120px, auto);
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid hsl(220 14% 86%);
  border-radius: 8px;
  background: var(--white);
}

.clinic-hours-row.head {
  background: transparent;
  border-color: transparent;
  padding-block: 0;
  color: hsl(220 8% 18%);
  font-size: 14px;
  font-weight: 900;
}

.clinic-hours-row strong,
.clinic-hours-row span {
  color: hsl(220 8% 12%);
  font-size: 15px;
  font-weight: 850;
}

.clinic-hours-closed {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 8px !important;
  font-size: 14px !important;
}

.financial-pl-list > button:hover,
.financial-pl-list > button:focus-visible {
  border-color: hsl(220 8% 18%);
  box-shadow: inset 0 0 0 1px hsl(220 8% 18%);
  outline: none;
}

.financial-pl-list strong,
.financial-pl-list span,
.financial-pl-list em {
  min-width: 0;
  overflow-wrap: anywhere;
}

.module-body.financial-workflow .financial-pl-list strong {
  color: hsl(220 8% 14%);
  font-weight: 860;
}

.module-body.financial-workflow .financial-pl-list span {
  color: hsl(220 8% 24%);
  font-weight: 740;
}

.module-body.financial-workflow .financial-insight-strip,
.module-body.financial-workflow .financial-action-strip,
.module-body.financial-workflow .financial-projection-strip,
.module-body.financial-workflow .financial-variance-strip,
.module-body.financial-workflow .financial-comparison-strip,
.module-body.financial-workflow .financial-waterfall-panel,
.module-body.financial-workflow .financial-concentration-panel,
.module-body.financial-workflow .financial-briefing-panel,
.module-body.financial-workflow .financial-close-checklist,
.module-body.financial-workflow .financial-review-panel,
.module-body.financial-workflow .financial-summary.investment-summary,
.module-body.financial-workflow .financial-summary.debt-summary,
.module-body.financial-workflow .financial-capital-strip,
.module-body.financial-workflow .financial-period-workflow,
.module-body.financial-workflow .financial-investment-panel,
.module-body.financial-workflow .financial-debt-panel {
  display: none;
}

.module-body.financial-workflow.report-window-mode .financial-month-entry-panel,
.module-body.financial-workflow.report-window-mode .financial-expense-entry-panel,
.module-body.financial-workflow.report-window-mode .financial-entry-categories,
.module-body.financial-workflow.report-window-mode > .supplies-list {
  display: none;
}

.module-body.financial-workflow.report-window-mode .financial-action-strip {
  display: flex;
}

.module-body.financial-workflow .financial-report-grid > .financial-report-panel:nth-child(2) {
  display: none;
}

.financial-pl-list em {
  color: hsl(220 8% 18%);
  font-style: normal;
  font-weight: 880;
  text-align: right;
}

.financial-period-form,
.financial-category-form {
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  align-items: end;
}

.financial-period-form.financial-month-entry-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}

.financial-transaction-form {
  grid-template-columns: 150px 170px 140px minmax(220px, 1fr) minmax(180px, 1fr);
  align-items: end;
}

.financial-period-form .span-2,
.financial-transaction-form .span-2,
.financial-category-form .span-2 {
  grid-column: span 2;
}

.financial-category-target-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.financial-category-target-row article {
  display: grid;
  gap: 4px;
  border: 1px solid hsl(199 100% 72%);
  border-radius: 8px;
  padding: 10px;
  background: hsl(199 100% 97%);
}

.financial-category-target-row span,
.financial-category-target-row small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 760;
}

.financial-category-target-row strong {
  color: hsl(220 8% 12%);
  font-size: 20px;
  font-weight: 920;
}

.financial-category-target-row strong.gain {
  color: var(--gain);
}

.financial-category-target-row strong.loss {
  color: var(--loss);
}

.financial-category-tree {
  display: grid;
  gap: 12px;
}

.financial-category-tree-group {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.financial-category-parent {
  display: grid;
  gap: 4px;
}

.financial-category-parent strong {
  color: hsl(220 8% 12%);
  font-size: 16px;
  font-weight: 900;
}

.financial-category-parent span {
  color: hsl(220 8% 26%);
  font-size: 12px;
  font-weight: 760;
}

.financial-category-branches {
  display: grid;
  gap: 7px;
  border-left: 2px solid hsl(220 10% 82%);
  padding-left: 14px;
}

.financial-category-tree-head,
.financial-category-branch {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 98px 104px 104px 82px 82px minmax(110px, 0.7fr) auto;
  gap: 7px;
  align-items: center;
}

.financial-category-tree-head {
  color: hsl(220 8% 28%);
  font-size: 11px;
  font-weight: 880;
  text-transform: uppercase;
}

.financial-category-branch {
  border: 1px solid hsl(220 12% 86%);
  border-radius: 8px;
  padding: 7px;
  background: var(--white);
}

.financial-category-branch.muted {
  opacity: 0.62;
}

.financial-category-branch.net-profit {
  border-color: hsl(139 62% 62%);
  background: hsl(139 92% 96%);
}

.financial-category-branch > strong {
  min-width: 0;
  color: hsl(220 8% 14%);
  font-size: 14px;
  font-weight: 880;
  overflow-wrap: anywhere;
}

.financial-category-edit-stack {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.financial-category-branch small {
  min-width: 0;
  color: hsl(220 8% 26%);
  font-size: 11px;
  font-weight: 760;
  overflow-wrap: anywhere;
}

.financial-category-branch .inline-field {
  min-width: 0;
}

.financial-category-branch .inline-field span {
  color: hsl(220 8% 26%);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.financial-category-branch .actual-field {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 5px 7px;
}

.financial-category-branch .actual-field.good {
  border-color: hsl(139 62% 62%);
  background: hsl(139 92% 94%);
}

.financial-category-branch .actual-field.strong-good {
  border-color: hsl(139 76% 48%);
  background: hsl(139 92% 88%);
}

.financial-category-branch .actual-field.bad {
  border-color: hsl(356 100% 76%);
  background: hsl(356 100% 95%);
}

.financial-category-branch .actual-field.strong-bad {
  border-color: hsl(356 100% 66%);
  background: hsl(356 100% 90%);
}

.financial-category-branch .actual-field.neutral {
  border-color: hsl(220 12% 84%);
  background: hsl(210 40% 97%);
}

.financial-category-branch input,
.financial-category-branch select {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 7px;
  color: hsl(220 8% 16%);
  background: var(--white);
  font: inherit;
  font-weight: 780;
}

.financial-category-pill {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: flex-end;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 9px;
  color: hsl(220 8% 14%);
  font-size: 12px;
  font-weight: 880;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

.financial-category-pill.good {
  border-color: hsl(139 62% 62%);
  background: hsl(139 92% 94%);
}

.financial-category-pill.strong-good {
  border-color: hsl(139 76% 48%);
  background: hsl(139 92% 88%);
}

.financial-category-pill.bad {
  border-color: hsl(356 100% 76%);
  background: hsl(356 100% 95%);
}

.financial-category-pill.strong-bad {
  border-color: hsl(356 100% 66%);
  background: hsl(356 100% 90%);
}

.financial-category-pill.neutral {
  border-color: hsl(220 12% 84%);
  background: hsl(210 40% 97%);
}

.financial-category-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.financial-category-actions .btn {
  min-height: 32px;
  padding: 6px 9px;
  font-size: 12px;
}

.financial-category-empty {
  display: grid;
  gap: 4px;
  border: 1px dashed hsl(220 12% 78%);
  border-radius: 8px;
  padding: 10px;
  color: hsl(220 8% 24%);
  background: hsl(210 40% 98%);
}

.financial-period-form label,
.financial-transaction-form label,
.financial-category-form label {
  display: grid;
  gap: 5px;
  color: hsl(220 8% 20%);
  font-size: 12px;
  font-weight: 820;
}

.financial-period-form input,
.financial-transaction-form input,
.financial-transaction-form select,
.financial-category-form input,
.financial-category-form select {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 9px;
  color: var(--black);
  background: var(--white);
  font: inherit;
}

.financial-row-edit {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) 150px minmax(150px, 1fr) minmax(140px, 0.8fr) auto auto;
  gap: 6px;
  align-items: center;
  border: 1px solid hsl(199 100% 75%);
  border-radius: 8px;
  padding: 7px;
  background: hsl(199 100% 98%);
}

.financial-row-edit input[type="text"],
.financial-row-edit select {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 7px;
  color: hsl(220 8% 18%);
  background: var(--white);
  font: inherit;
}

.supply-row label {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.supply-row label span {
  color: hsl(220 8% 24%);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.supply-row label input {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 6px 8px;
  color: hsl(220 8% 16%);
  background: var(--white);
  font: inherit;
}

.financial-row-edit label {
  display: flex;
  gap: 5px;
  align-items: center;
  color: hsl(220 8% 20%);
  font-size: 12px;
  font-weight: 820;
  white-space: nowrap;
}

.investment-summary article {
  min-height: 96px;
}

.debt-summary article:nth-child(1),
.debt-summary article:nth-child(2) {
  border-color: hsl(181 100% 68%);
  background: var(--cred-cyan);
}

.debt-summary article:nth-child(3),
.debt-summary article:nth-child(4) {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.investment-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 8px;
}

.investment-card {
  display: grid;
  gap: 9px;
  border: 1px solid hsl(181 100% 68%);
  border-radius: var(--radius);
  padding: 11px 12px;
  background: var(--cred-cyan);
}

.investment-card.gain {
  border-color: hsl(134 88% 58%);
  background: var(--cred-green);
}

.investment-card.muted {
  opacity: 0.68;
}

.financial-debt-card.given {
  border-color: hsl(181 100% 68%);
  background: var(--cred-cyan);
}

.financial-debt-card.received {
  border-color: hsl(273 100% 74%);
  background: var(--cred-purple);
}

.investment-card > div,
.investment-card-metrics {
  display: grid;
  gap: 4px;
}

.investment-card span,
.investment-card small,
.investment-card-metrics span {
  color: hsl(220 8% 22%);
  font-size: 12px;
  font-weight: 760;
}

.investment-card strong,
.investment-card-metrics strong {
  color: hsl(220 8% 14%);
  font-weight: 880;
}

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

.settings-status {
  display: none;
  margin: -4px 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px 12px;
  background: var(--white);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.settings-status:not(:empty) {
  display: block;
}

.password-gate {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(246, 246, 247, 0.96);
}

.password-gate[hidden] {
  display: none;
}

.password-panel {
  width: min(520px, 100%);
}

.password-panel h2 {
  margin: 0 0 14px;
  font-size: 24px;
}

.settings-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 12px;
}

.settings-tab {
  border: 1px solid var(--line);
  border-bottom: 2px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  color: var(--ink);
  background: var(--white);
  font: inherit;
  font-size: 12px;
  font-weight: 780;
  cursor: pointer;
}

.settings-tab:nth-child(3n + 1) {
  background: var(--fluoro-green);
}

.settings-tab:nth-child(3n + 2) {
  background: var(--fluoro-cyan);
}

.settings-tab:nth-child(3n) {
  background: var(--fluoro-yellow);
}

.settings-tab:hover,
.settings-tab:focus-visible {
  border-color: var(--black);
  color: var(--black);
}

.settings-tab.active {
  border-color: var(--black);
  color: var(--black);
  box-shadow: inset 0 0 0 1px var(--black);
}

.settings-tab-panel[hidden] {
  display: none;
}

.settings-tab-panel {
  grid-column: 1 / -1;
}

.settings-panel {
  display: grid;
  gap: 12px;
}

.settings-panel.wide {
  grid-column: 1 / -1;
}

.provider-settings-documents {
  display: grid;
  gap: 7px;
  grid-column: 1 / -1;
}

.provider-settings-card-grid,
.provider-settings-clinic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px;
  grid-column: 1 / -1;
}

.provider-settings-card-grid {
  margin-bottom: 6px;
}

.provider-settings-card {
  display: block;
  align-items: stretch;
  min-height: 150px;
  padding: 0;
  overflow: hidden;
  border-color: hsl(199 100% 72%);
  background: hsl(199 100% 95%);
}

.provider-settings-card.selected {
  border-color: hsl(220 8% 20%);
  box-shadow: inset 0 0 0 2px hsl(220 8% 20%), 0 12px 24px rgba(0, 0, 0, 0.06);
}

.provider-settings-card-button {
  display: grid;
  width: 100%;
  min-height: 150px;
  grid-template-rows: 1fr auto auto;
  gap: 10px;
  border: 0;
  padding: 13px;
  color: hsl(220 9% 15%);
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.provider-settings-card-button:hover,
.provider-settings-card-button:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px hsl(220 8% 24%);
}

.provider-settings-card.provider-theme-1 {
  border-color: hsl(199 100% 68%);
  background: hsl(199 100% 94%);
}

.provider-settings-card.provider-theme-2 {
  border-color: hsl(134 88% 58%);
  background: hsl(134 100% 94%);
}

.provider-settings-card.provider-theme-3 {
  border-color: hsl(272 100% 79%);
  background: hsl(272 100% 96%);
}

.provider-settings-card.provider-theme-4 {
  border-color: hsl(326 100% 76%);
  background: hsl(326 100% 96%);
}

.provider-settings-card.provider-theme-5 {
  border-color: hsl(51 100% 61%);
  background: hsl(51 100% 92%);
}

.provider-settings-card.provider-theme-6 {
  border-color: hsl(28 100% 66%);
  background: hsl(28 100% 93%);
}

.provider-settings-detail {
  display: grid;
  gap: 12px;
  grid-column: 1 / -1;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 12px;
  background: #fff;
}

.provider-settings-checklist {
  grid-column: 1 / -1;
}

.provider-clinic-link-card {
  display: block;
  min-height: 112px;
}

.provider-clinic-link-card .settings-clinic-card-button {
  min-height: 112px;
}

.provider-settings-document-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, auto);
  gap: 8px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px;
}

.provider-settings-document-row > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.provider-settings-info,
.provider-settings-info-sheet {
  grid-column: 1 / -1;
}

.provider-settings-info {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 10px;
  color: var(--muted);
  font-size: 12px;
}

.provider-settings-info span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.provider-settings-info-sheet {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px;
  background: var(--soft);
}

.provider-settings-info-sheet summary {
  color: var(--black);
  font-size: 12px;
  font-weight: 780;
  cursor: pointer;
}

.provider-settings-info-sheet dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 10px;
  margin: 8px 0 0;
}

.provider-settings-info-sheet dl div {
  min-width: 0;
}

.provider-settings-info-sheet dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 720;
}

.provider-settings-info-sheet dd {
  margin: 2px 0 0;
  color: var(--black);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.settings-form,
.feature-access-form {
  display: grid;
  gap: 8px;
}

.settings-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.feature-access-form {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(150px, 0.8fr) minmax(120px, 0.6fr) auto;
  align-items: end;
}

.settings-form label,
.feature-access-form label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 720;
}

.settings-form .span-2,
.settings-form .form-section-title,
.settings-form .form-actions {
  grid-column: 1 / -1;
}

.form-section-title {
  margin-top: 6px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
  color: var(--black);
  font-size: 12px;
  font-weight: 820;
}

.settings-form input,
.settings-form select,
.settings-form textarea,
.feature-access-form select,
.user-settings-list select {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 7px 9px;
  color: var(--black);
  background: var(--white);
  font: inherit;
  outline: none;
}

.settings-form textarea {
  min-height: 82px;
  resize: vertical;
}

.settings-form input:focus,
.settings-form select:focus,
.settings-form textarea:focus,
.feature-access-form select:focus,
.user-settings-list select:focus {
  border-color: var(--black);
}

#clinic-form label {
  color: hsl(220 8% 18%);
  font-size: 15px;
  font-weight: 820;
}

#clinic-form .form-section-title {
  color: hsl(220 8% 10%);
  font-size: 15px;
  font-weight: 900;
}

#clinic-form input,
#clinic-form select,
#clinic-form textarea {
  color: hsl(220 8% 10%);
  font-size: 15px;
  font-weight: 720;
}

#clinic-form input::placeholder,
#clinic-form textarea::placeholder {
  color: hsl(220 7% 42%);
}

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

.settings-list,
.rights-table,
.setup-checklist {
  display: grid;
  gap: 8px;
}

.checklist-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
  background: #fbfbfb;
}

.checklist-summary span {
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}

.settings-list article,
.rights-table div,
.setup-checklist article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 11px 12px;
}

.settings-list article.selected {
  border-color: #bcbcc2;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
}

.clinic-settings-list {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.settings-list .clinic-settings-card {
  align-items: stretch;
  min-height: 150px;
  padding: 0;
  overflow: hidden;
}

.clinic-settings-card.ready {
  border-color: hsl(146 100% 70%);
  background: hsl(146 100% 95%);
}

.clinic-settings-card.progress {
  border-color: hsl(202 100% 73%);
  background: hsl(202 100% 95%);
}

.clinic-settings-card.attention {
  border-color: hsl(272 100% 79%);
  background: hsl(272 100% 96%);
}

.clinic-settings-card.inactive {
  border-color: hsl(356 100% 82%);
  background: hsl(356 100% 97%);
}

.settings-list .clinic-settings-card.selected {
  border-color: hsl(220 8% 20%);
  box-shadow: inset 0 0 0 2px hsl(220 8% 20%), 0 12px 24px rgba(0, 0, 0, 0.06);
}

.settings-clinic-card-button {
  display: grid;
  width: 100%;
  min-height: 150px;
  grid-template-rows: 1fr auto auto;
  gap: 10px;
  border: 0;
  padding: 13px;
  color: hsl(220 9% 15%);
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.settings-clinic-card-button:hover,
.settings-clinic-card-button:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px hsl(220 8% 24%);
}

.clinic-settings-card-head,
.clinic-settings-card-metrics,
.clinic-settings-card-foot {
  min-width: 0;
}

.clinic-settings-card-head {
  display: grid;
  gap: 4px;
}

.clinic-settings-card-head span {
  width: fit-content;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 999px;
  padding: 3px 8px;
  color: hsl(220 8% 20%);
  background: rgba(255, 255, 255, 0.52);
  font-size: 11px;
  font-weight: 850;
  text-transform: capitalize;
}

.clinic-settings-card-head strong {
  color: hsl(220 9% 12%);
  font-size: 16px;
  font-weight: 880;
  line-height: 1.15;
}

.clinic-settings-card-head small,
.clinic-settings-card-foot small {
  color: hsl(220 8% 24%);
  font-size: 12px;
  font-weight: 720;
  line-height: 1.25;
}

.clinic-settings-card-metrics {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 8px;
}

.clinic-settings-card-metrics b {
  color: hsl(220 9% 10%);
  font-size: 28px;
  line-height: 0.95;
}

.clinic-settings-card-metrics span {
  color: hsl(220 8% 22%);
  font-size: 12px;
  font-weight: 820;
  text-align: right;
}

.clinic-settings-card.clinic-theme-yellow {
  border-color: hsl(51 100% 61%);
  background: hsl(51 100% 91%);
}

.clinic-settings-card.clinic-theme-orange {
  border-color: hsl(28 100% 66%);
  background: hsl(28 100% 92%);
}

.clinic-settings-card.clinic-theme-green {
  border-color: hsl(134 88% 58%);
  background: hsl(134 100% 93%);
}

.home-card-grid .clinic-index-card.smart-clinic-card.clinic-theme-yellow {
  border-color: hsl(51 100% 61%);
  background: hsl(51 100% 91%);
}

.home-card-grid .clinic-index-card.smart-clinic-card.clinic-theme-orange {
  border-color: hsl(28 100% 66%);
  background: hsl(28 100% 92%);
}

.home-card-grid .clinic-index-card.smart-clinic-card.clinic-theme-green {
  border-color: hsl(134 88% 58%);
  background: hsl(134 100% 93%);
}

.home-card-grid .clinic-index-card.smart-clinic-card.clinic-theme-blue {
  border-color: hsl(199 100% 67%);
  background: hsl(199 100% 94%);
}

.home-card-grid .clinic-index-card.smart-clinic-card.clinic-theme-pink {
  border-color: hsl(326 100% 76%);
  background: hsl(326 100% 96%);
}

.home-card-grid .clinic-index-card.smart-clinic-card.clinic-theme-violet {
  border-color: hsl(270 100% 78%);
  background: hsl(270 100% 96%);
}

.home-card-grid .clinic-index-card.smart-clinic-card.clinic-theme-mint {
  border-color: hsl(164 100% 60%);
  background: hsl(164 100% 94%);
}

.home-card-grid .clinic-index-card.smart-clinic-card.clinic-themed,
.settings-list .clinic-settings-card.clinic-themed,
.provider-settings-clinic-grid .clinic-settings-card.clinic-themed {
  border-color: var(--clinic-card-border);
  background: var(--clinic-card-bg);
}

.settings-list .clinic-settings-card.clinic-themed.selected {
  border-color: var(--clinic-card-accent);
  box-shadow: inset 0 0 0 2px var(--clinic-card-accent), 0 12px 24px rgba(0, 0, 0, 0.06);
}

.clinic-paperwork-section.clinic-themed > summary {
  border: 1px solid var(--clinic-card-border);
  border-radius: 8px;
  background: linear-gradient(90deg, var(--clinic-card-bg), var(--clinic-card-soft));
}

.clinic-paperwork-section.clinic-themed > summary .eyebrow,
.clinic-paperwork-section.clinic-themed > summary h3,
.clinic-paperwork-section.clinic-themed > summary .credentialing-work-summary span {
  color: var(--clinic-card-accent);
}

.clinic-paperwork-section.not-applicable > summary {
  border-color: hsl(220 10% 78%);
  background: hsl(220 18% 94%);
}

.settings-row-button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.settings-row-button.stacked {
  min-width: 0;
}

.settings-list article > .supply-master-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.settings-list article > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.settings-list article > div strong,
.settings-row-button strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-list small {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-list span,
.rights-table span,
.setup-checklist small {
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}

.setup-checklist article {
  justify-content: flex-start;
}

.setup-checklist article > span {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border: 1px solid var(--muted);
  border-radius: 50%;
}

.setup-checklist article.complete > span {
  border-color: var(--gain);
  background: var(--gain);
}

.setup-checklist article.missing > span {
  border-color: var(--loss);
  background: var(--loss);
}

.setup-checklist article > div {
  display: grid;
  flex: 1;
  gap: 3px;
  min-width: 0;
}

.setup-checklist strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.setup-checklist em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.setup-checklist article.complete em {
  color: var(--gain);
}

.setup-checklist article.missing em {
  color: var(--loss);
}

#settings [disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

.table-panel {
  padding: 0;
  overflow: hidden;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 12px 14px;
  text-align: left;
}

th {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
}

td {
  font-size: 13px;
}

td:last-child,
th:last-child {
  text-align: right;
  font-weight: 760;
}

.ownership {
  margin: 8px 0;
}

@media (max-width: 980px) {
  .topbar,
  .hero-panel,
  .content-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero-metric {
    justify-items: start;
    text-align: left;
  }

  .metric-grid,
  .clinic-grid,
  .home-card-grid,
  .portfolio-financial-overview,
  .partner-grid,
  .detail-metrics,
  .module-body,
  .financial-fields,
  .financial-toolbar,
  .financial-summary,
  .financial-report-hero,
  .financial-insight-strip,
  .financial-action-strip,
  .financial-projection-strip,
  .financial-variance-strip,
  .financial-comparison-strip,
  .financial-capital-strip,
  .financial-concentration-grid,
  .financial-briefing-grid,
  .financial-close-grid,
  .financial-review-panel,
  .financial-period-workflow,
  .financial-report-grid,
  .financial-expense-actions,
  .financial-period-form,
  .financial-month-entry-form,
  .financial-transaction-form,
  .financial-category-form,
  .financial-row-edit,
  .financial-settings-ownership,
  .settings-grid,
  .feature-access-form,
  .settings-filter-row,
  .credentialing-payer-form,
  .credentialing-summary,
  .credentialing-action-strip,
  .credentialing-alert-grid,
  .credentialing-doc-grid,
  .credentialing-expiration-grid,
  .credentialing-summary-grid,
  .credentialing-work-grid,
  .credentialing-watch-grid,
  .credentialing-provider-hero,
  .credentialing-provider-stats,
  .provider-insurance-list article,
  .credentialing-list-tools,
  .provider-assignment-list,
  .credentialing-provider-summary,
  .provider-document-form,
  .supplies-overview,
  .supplies-summary,
  .supplies-settings-grid,
  .supply-master-grid,
  .supply-master-item,
  .supply-custom-cart-form,
  .supply-cart-submit,
  .supply-manage-form,
  .supply-new-item-row,
  .supply-manage-item,
  .supplies-form,
  .supply-update,
  .financial-working-period-controls,
  .workspace-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .credentialing-file-row {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .financial-donut-wrap {
    grid-template-columns: 1fr;
  }

  .financial-category-target-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .financial-category-tree-group {
    grid-template-columns: 1fr;
  }

  .financial-category-branches {
    border-left: 0;
    padding-left: 0;
  }

  .bank-import-table {
    overflow-x: auto;
  }

  .bank-import-row {
    min-width: 980px;
  }

  .financial-report-launcher,
  .financial-report-toggle {
    justify-items: start;
  }

  .financial-report-launcher > div,
  .report-window-toggle,
  .financial-report-toggle-row {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .app-shell {
    padding: 18px 12px 40px;
  }

  .metric-grid,
  .clinic-grid,
  .home-card-grid,
  .portfolio-financial-overview,
  .partner-grid,
  .detail-metrics,
  .detail-grid,
  .clinic-tools,
  .module-body,
  .period-picker,
  .financial-fields,
  .financial-toolbar,
  .financial-summary,
  .financial-report-grid,
  .financial-capital-strip,
  .financial-briefing-grid,
  .financial-expense-actions,
  .financial-settings-ownership,
  .financial-period-form,
  .financial-month-entry-form,
  .financial-transaction-form,
  .financial-category-form,
  .financial-pl-list > div,
  .settings-form,
  .settings-grid,
  .feature-access-form,
  .settings-filter-row,
  .credentialing-payer-form,
  .credentialing-summary,
  .credentialing-action-strip,
  .credentialing-alert-grid,
  .credentialing-doc-grid,
  .credentialing-expiration-grid,
  .credentialing-summary-grid,
  .credentialing-work-grid,
  .credentialing-watch-grid,
  .credentialing-provider-hero,
  .credentialing-provider-stats,
  .provider-insurance-list article,
  .credentialing-list-tools,
  .provider-assignment-list,
  .credentialing-provider-summary,
  .provider-document-form,
  .supplies-overview,
  .supplies-summary,
  .supplies-settings-grid,
  .supply-master-grid,
  .supply-master-item,
  .supply-custom-cart-form,
  .supply-cart-submit,
  .supply-cart-summary li,
  .supply-manage-form,
  .supply-new-item-row,
  .supply-manage-item,
  .supply-manage-actions,
  .supplies-form,
  .supply-update,
  .supply-row,
  .financial-working-period-controls,
  .workspace-grid,
  .clinic-row {
    grid-template-columns: 1fr;
  }

  .portfolio-financial-overview article.wide {
    grid-column: auto;
  }

  .credentialing-file-edit,
  .credentialing-file-actions,
  .provider-settings-document-row {
    grid-template-columns: 1fr;
  }

  .provider-insurance-list article > div:last-child {
    text-align: left;
  }

  .supplies-form .span-2 {
    grid-column: auto;
  }

  .financial-period-form .span-2,
  .financial-month-entry-form .span-2,
  .financial-transaction-form .span-2,
  .financial-category-form .span-2 {
    grid-column: auto;
  }

  .financial-report-toggle {
    justify-items: start;
  }

  .financial-report-toggle-step {
    justify-items: start;
  }

  .financial-category-target-row,
  .financial-category-tree-head,
  .financial-category-branch {
    grid-template-columns: 1fr;
  }

  .financial-category-tree-head {
    display: none;
  }

  .financial-category-pill,
  .financial-category-actions {
    justify-content: flex-start;
  }

  .financial-category-actions .btn {
    flex: 1 1 120px;
  }

  .financial-report-toggle-row {
    justify-content: flex-start;
  }

  .financial-donut {
    width: min(100%, 172px);
  }

  .financial-report-hero-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .financial-trend-bars {
    overflow-x: auto;
    grid-template-columns: repeat(12, minmax(42px, 1fr));
  }

  .clinic-index-reports {
    grid-template-columns: 1fr;
  }

  .credentialing-payer-notes {
    grid-column: auto;
  }

  .settings-panel.wide {
    grid-column: auto;
  }

  table {
    min-width: 720px;
  }

  .table-panel {
    overflow-x: auto;
  }
}

@media print {
  .sidebar,
  .topbar,
  .financial-toolbar,
  .financial-report-actions,
  .financial-month-entry-panel,
  .bank-import-panel,
  .financial-period-form,
  .financial-transaction-form,
  .supply-manage-panel,
  .supplies-list .btn {
    display: none !important;
  }

  .app-shell,
  .main {
    display: block;
  }

  .module-body.financial-workflow {
    color: #111;
  }

  .financial-report-hero,
  .financial-report-panel,
  .supplies-summary article,
  .supply-card {
    break-inside: avoid;
    box-shadow: none !important;
  }
}

@media (max-width: 640px) {
  .supply-cart-submit .btn,
  .supply-custom-cart-form .btn,
  .supply-master-item .btn {
    width: 100%;
  }
}
