:root {
  --erp-bg: #eef3f7;
  --erp-bg-soft: #f7fafc;
  --erp-surface: #ffffff;
  --erp-panel: #f6f9fb;
  --erp-panel-2: #eef4f8;
  --erp-sidebar: #113b59;
  --erp-sidebar-deep: #0b2d44;
  --erp-border: #d6e0e7;
  --erp-border-strong: #c5d1da;
  --erp-text: #173447;
  --erp-text-soft: #607789;
  --erp-text-faint: #7c93a3;
  --erp-brand: #156d93;
  --erp-brand-deep: #104b69;
  --erp-success-bg: #edf7f1;
  --erp-success-text: #246c54;
  --erp-warning-bg: #fff6e7;
  --erp-warning-text: #9a6c18;
  --erp-danger-bg: #fcecec;
  --erp-danger-text: #a43b3b;
  --erp-shadow: 0 10px 28px rgba(12, 32, 48, 0.07);
  --erp-shadow-strong: 0 24px 48px rgba(9, 27, 41, 0.14);
  --erp-radius-panel: 10px;
  --erp-radius-card: 8px;
  --erp-radius-control: 6px;
}

html,
body {
  overflow-x: clip;
}

body.app-body {
  background: linear-gradient(180deg, #f7fafc 0%, var(--erp-bg) 100%) !important;
  color: var(--erp-text);
  font-family: 'Public Sans', sans-serif;
}

body.app-body::before {
  display: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.section-heading,
.metric-card-value,
.tile-title,
.footer-heading {
  font-family: 'Public Sans', sans-serif !important;
  letter-spacing: -0.03em !important;
}

p,
span,
small,
label,
li,
td,
th,
input,
select,
textarea,
button {
  letter-spacing: normal;
}

a {
  color: var(--erp-brand);
}

a:hover {
  color: var(--erp-brand-deep);
}

.btn {
  border-radius: var(--erp-radius-control);
  font-weight: 700;
  letter-spacing: -0.01em;
  box-shadow: none;
  border-width: 1px;
}

.btn-primary {
  border-color: var(--erp-brand);
  background: #0f6b8a;
}

.btn-primary:hover,
.btn-primary:focus {
  border-color: var(--erp-brand-deep);
  background: #0d5b75;
}

.btn-outline-primary {
  color: var(--erp-brand);
  border-color: #bcd2de;
  background: #fff;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  color: var(--erp-brand-deep);
  border-color: #91b6c8;
  background: #f4f9fc;
}

.btn-light {
  color: var(--erp-text);
  border-color: #dbe6ee;
  background: #fff;
}

.btn-light:hover,
.btn-light:focus {
  color: var(--erp-text);
  border-color: #c6d8e4;
  background: #f5f8fa;
}

.app-authenticated {
  background: linear-gradient(180deg, #f6fafc 0%, #edf3f7 100%) !important;
}

.app-authenticated .container {
  max-width: none;
}

.app-authenticated .workspace-shell {
  display: grid;
  grid-template-columns: 268px minmax(0, 1fr);
  gap: 24px;
  min-height: 100vh;
  padding: 24px;
}

.app-authenticated .workspace-sidebar {
  position: sticky;
  top: 24px;
  height: calc(100vh - 48px);
  padding: 22px 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, var(--erp-sidebar) 0%, var(--erp-sidebar-deep) 100%);
  box-shadow: var(--erp-shadow-strong);
}

.app-authenticated .workspace-brand {
  gap: 12px;
  color: #fff;
}

.app-authenticated .workspace-brand-mark {
  padding: 14px 16px;
  border-radius: var(--erp-radius-panel);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.app-authenticated .workspace-brand-wordmark {
  width: 172px;
}

.app-authenticated .workspace-brand-copy {
  padding: 0 4px;
}

.app-authenticated .workspace-brand-caption {
  color: rgba(219, 232, 239, 0.72);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.app-authenticated .workspace-brand-title {
  color: #ffffff;
  font-size: 1.12rem;
  font-weight: 700;
}

.app-authenticated .workspace-section-label {
  margin-top: 8px;
  padding: 0 4px;
  color: rgba(212, 227, 235, 0.66);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.app-authenticated .workspace-nav-list {
  gap: 8px;
}

.app-authenticated .workspace-nav-link {
  padding: 12px 12px;
  border-radius: 16px;
  color: rgba(232, 240, 245, 0.88);
  font-size: 0.98rem;
  font-weight: 600;
  border: 1px solid transparent;
}

.app-authenticated .workspace-nav-link:hover {
  background: rgba(255, 255, 255, 0.06);
  transform: none;
}

.app-authenticated .workspace-nav-link.is-active {
  color: var(--erp-text);
  border-color: rgba(220, 231, 238, 0.9);
  background: linear-gradient(180deg, #ffffff 0%, #edf4f8 100%);
  box-shadow: 0 10px 24px rgba(7, 24, 35, 0.18);
}

.app-authenticated .workspace-nav-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
}

.app-authenticated .workspace-nav-link.is-active .workspace-nav-icon {
  background: #e7f1f7;
}

.app-authenticated .workspace-nav-text {
  white-space: nowrap;
}

.app-authenticated .workspace-nav-dot {
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 4px rgba(255, 211, 107, 0.18);
}

.app-authenticated .workspace-sidebar-panel {
  display: none !important;
}

.app-authenticated .workspace-sidebar-footer {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.app-authenticated .workspace-user-summary {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.app-authenticated .workspace-user-avatar {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 1.4rem;
}

.app-authenticated .workspace-user-summary strong,
.app-authenticated .workspace-user-summary span {
  display: block;
  min-width: 0;
}

.app-authenticated .workspace-user-summary strong {
  color: #ffffff;
  font-size: 0.98rem;
  font-weight: 700;
}

.app-authenticated .workspace-user-summary span:last-child {
  margin-top: 2px;
  color: rgba(210, 226, 233, 0.74);
  font-size: 0.8rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-authenticated .workspace-signout {
  margin-top: 12px;
  justify-content: center;
  padding: 12px 14px;
  border-radius: var(--erp-radius-control);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(238, 244, 247, 0.92);
}

.app-authenticated .workspace-signout:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.app-authenticated .workspace-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.app-authenticated .workspace-topbar {
  top: 24px;
  z-index: 1020;
  background: transparent;
}

.app-authenticated .workspace-topbar-shell {
  padding: 18px 22px;
  border-radius: var(--erp-radius-panel);
  border: 1px solid var(--erp-border);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--erp-shadow);
}

.app-authenticated .workspace-topbar-label {
  color: var(--erp-text-faint);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-authenticated .workspace-topbar-title {
  margin: 4px 0 0;
  color: var(--erp-text);
  font-size: 1.55rem;
  font-weight: 700;
}

.app-authenticated .workspace-topbar-actions {
  gap: 12px;
}

.app-authenticated .workspace-quick-action,
.app-authenticated .workspace-topbar-user,
.app-authenticated .workspace-menu-toggle {
  min-height: 46px;
  padding: 0 16px;
  border-radius: var(--erp-radius-control);
  border: 1px solid var(--erp-border);
  background: #fff;
  color: var(--erp-text);
}

.app-authenticated .workspace-quick-action {
  background: #0f6b8a;
  border-color: #0f6b8a;
  color: #fff;
}

.app-authenticated .workspace-quick-action:hover {
  color: #fff;
  background: #0d5b75;
}

.app-authenticated .workspace-topbar-user {
  color: var(--erp-text-soft);
  font-weight: 600;
}

.app-authenticated .workspace-menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.workspace-offcanvas {
  background: linear-gradient(180deg, var(--erp-sidebar) 0%, var(--erp-sidebar-deep) 100%);
}

.workspace-offcanvas .workspace-sidebar-panel {
  display: none !important;
}

.workspace-offcanvas .workspace-signout {
  color: #fff;
}

.app-authenticated .page-frame {
  padding: 24px 0 0;
  display: grid;
  gap: 24px;
}

.page-hero,
.surface-card,
.summary-card,
.subsection-card,
.feature-card,
.action-tile,
.warning-flag-card,
.auth-panel,
.auth-aside,
.trust-card,
.workbench-panel {
  border-radius: var(--erp-radius-panel) !important;
  border: 1px solid var(--erp-border) !important;
  background: var(--erp-surface) !important;
  box-shadow: var(--erp-shadow) !important;
}

.page-hero::before,
.page-hero::after {
  display: none !important;
}

.app-authenticated .page-hero {
  padding: 28px 32px !important;
  color: var(--erp-text);
}

.app-authenticated .dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) 360px;
  gap: 24px;
  align-items: start;
}

.page-kicker,
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 8px;
  background: #eef5f8;
  color: var(--erp-brand);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-authenticated .page-title {
  margin: 18px 0 10px !important;
  color: var(--erp-text) !important;
  font-size: clamp(2rem, 2.7vw, 2.6rem) !important;
  line-height: 1.04;
  max-width: 13ch;
}

.page-subtitle,
.section-copy,
.page-note,
.workbench-meta,
.tile-copy,
.footer-copy,
.review-copy,
.consultation-bubble,
.professional-list span {
  color: var(--erp-text-soft) !important;
}

.app-authenticated .page-subtitle {
  margin: 0;
  max-width: 62ch;
  font-size: 1.05rem;
  line-height: 1.65;
}

.page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.page-actions .btn {
  min-height: 48px;
  padding: 0 18px;
}

.surface-card,
.summary-card,
.subsection-card {
  padding: 24px;
}

.surface-card.soft {
  background: #fbfcfd !important;
}

.app-authenticated .surface-card.dark {
  background: #f7fafb !important;
  color: var(--erp-text) !important;
}

.app-authenticated .surface-card.dark .page-kicker,
.app-authenticated .surface-card.dark .section-heading,
.app-authenticated .surface-card.dark .h3,
.app-authenticated .surface-card.dark .page-note,
.app-authenticated .surface-card.dark .professional-list span,
.app-authenticated .surface-card.dark li,
.app-authenticated .surface-card.dark p {
  color: inherit !important;
}

.dashboard-grid > .surface-card,
.content-grid > .surface-card {
  min-width: 0;
}

.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 24px;
  align-items: start;
}

.section-split {
  display: grid;
  gap: 24px;
}

.section-heading-wrap {
  margin-bottom: 0;
}

.section-heading {
  margin: 0 0 8px;
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--erp-text);
}

.section-copy {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
}

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

.metric-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-height: 0 !important;
  padding: 18px 18px !important;
  border-radius: var(--erp-radius-card) !important;
  border: 1px solid var(--erp-border) !important;
  background: var(--erp-panel) !important;
  box-shadow: none !important;
}

.metric-card:hover,
.summary-card:hover,
.subsection-card:hover,
.action-tile:hover {
  transform: none !important;
  box-shadow: var(--erp-shadow) !important;
}

.metric-card-value {
  color: var(--erp-text) !important;
  font-size: clamp(1.7rem, 2vw, 2.35rem) !important;
  line-height: 1.05;
  font-weight: 800;
  word-break: break-word;
}

.metric-card-label {
  color: var(--erp-text-soft) !important;
  font-size: 0.9rem;
  font-weight: 600;
}

.summary-card {
  background: linear-gradient(180deg, #fbfdfe 0%, #f4f9fc 100%) !important;
}

.subsection-card {
  background: var(--erp-bg-soft) !important;
}

.subsection-title {
  margin: 0 0 6px;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--erp-text);
}

.subsection-copy {
  margin: 0 0 18px;
  color: var(--erp-text-soft);
}

.form-label {
  margin-bottom: 8px;
  color: #214356;
  font-size: 0.95rem;
  font-weight: 700;
}

.form-control,
.form-select,
.choices__inner {
  min-height: 54px !important;
  border: 1px solid #cfdbe5 !important;
  border-radius: var(--erp-radius-control) !important;
  background: #ffffff !important;
  box-shadow: none !important;
  color: var(--erp-text) !important;
  font-size: 16px !important;
}

.form-control,
.form-select {
  padding: 0.82rem 0.95rem !important;
}

textarea.form-control {
  min-height: 120px !important;
}

.form-control:focus,
.form-select:focus,
.choices.is-focused .choices__inner {
  border-color: #6ea8c4 !important;
  box-shadow: 0 0 0 4px rgba(17, 117, 154, 0.12) !important;
}

.choices {
  margin-bottom: 0;
  min-width: 0;
}

.choices__inner {
  padding: 0.45rem 0.7rem !important;
}

.choices__input,
.choices__input--cloned,
.choices__item,
.choices__list--single {
  font-size: 16px !important;
}

.choices[data-type*='select-multiple'] .choices__inner {
  overflow-x: hidden;
}

.choices__list--dropdown,
.choices__list[aria-expanded] {
  z-index: 1700 !important;
  border: 1px solid var(--erp-border) !important;
  border-radius: var(--erp-radius-control) !important;
  background: #fff !important;
  box-shadow: var(--erp-shadow) !important;
}

.choices__item--choice {
  color: var(--erp-text);
}

.choices__list--multiple .choices__item {
  margin: 4px 6px 4px 0 !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: var(--erp-radius-control) !important;
  background: #d9edf6 !important;
  color: var(--erp-brand-deep) !important;
  font-size: 0.88rem !important;
  font-weight: 700;
}

.choices[data-type*='select-multiple'] .choices__button {
  border-left-color: rgba(13, 74, 100, 0.18) !important;
}

#diagnosesSelected,
#medicationsSelected {
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.selection-chip {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  min-height: 42px !important;
  padding: 8px 10px 8px 14px !important;
  border-radius: var(--erp-radius-control) !important;
  border: 1px solid #d1e0ea !important;
  background: #eef5f9 !important;
  box-shadow: none !important;
}

.selection-chip-stack {
  display: flex !important;
  flex-direction: column;
  min-width: 0;
  gap: 2px;
}

.selection-chip-label {
  color: var(--erp-text) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.25;
  word-break: break-word;
}

.selection-chip-meta {
  color: var(--erp-text-soft) !important;
  font-size: 0.78rem !important;
  line-height: 1.2;
}

.selection-chip-remove {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 26px !important;
  height: 26px !important;
  margin-left: 2px;
  border: 0 !important;
  border-radius: 8px !important;
  background: #dae6ef !important;
  color: #24465a !important;
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1;
}

.selection-chip-remove:hover {
  background: #cadbe8 !important;
}

.professional-list {
  display: grid;
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.professional-list li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  color: var(--erp-text);
}

.professional-list i {
  color: var(--erp-brand);
}

.page-note {
  padding: 14px 16px;
  border-radius: var(--erp-radius-card);
  border: 1px solid #dbe6ee;
  background: #f8fbfd;
  font-size: 0.95rem;
  line-height: 1.55;
}

.note-inverse {
  background: #f4f8fb !important;
}

.table-responsive {
  border: 1px solid #e6edf2;
  border-radius: var(--erp-radius-card);
  background: #fff;
}

.table {
  margin-bottom: 0;
  --bs-table-bg: transparent;
}

.table thead th {
  padding: 16px 18px;
  border-bottom-color: #e6edf2;
  color: var(--erp-text-faint);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.table tbody td {
  padding: 16px 18px;
  border-color: #eef3f6;
  color: var(--erp-text);
  font-size: 0.95rem;
}

.table-hover > tbody > tr:hover > * {
  --bs-table-accent-bg: #f7fbfd;
  color: var(--erp-text);
}

.soft-badge,
.table-tag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #edf5f8;
  color: var(--erp-brand-deep);
  font-size: 0.8rem;
  font-weight: 700;
}

.empty-state {
  padding: 42px 24px;
  border: 1px dashed #d3dee7;
  border-radius: var(--erp-radius-card);
  background: #fbfdff;
  text-align: center;
}

.empty-state i {
  font-size: 2rem;
  color: var(--erp-brand);
}

.warning-flag-card {
  padding: 20px;
}

.upload-dropzone {
  padding: 18px;
  border: 1px dashed #bfd2df;
  border-radius: var(--erp-radius-card);
  background: #f9fbfd;
}

.upload-summary-list {
  margin: 0;
  padding-left: 18px;
  color: var(--erp-text-soft);
}

.app-progress {
  height: 12px;
  border-radius: 999px;
  background: #e7eef4;
}

.app-progress-bar {
  border-radius: 999px;
  background: linear-gradient(180deg, #1382ab, #0e6785);
}

.review-list-item {
  display: grid !important;
  gap: 8px;
  padding: 16px 0 !important;
  border-color: #edf2f6 !important;
  background: transparent !important;
}

.review-meta {
  color: var(--erp-text-faint);
  font-size: 0.82rem;
  font-weight: 700;
}

.consultation-bubble {
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-card);
  background: #fbfdff;
}

.speech-arrow-below {
  display: none;
}

.consultation-avatar-wrap {
  margin-bottom: 16px;
}

.consultation-avatar {
  width: 108px;
  height: 108px;
  object-fit: cover;
  border-radius: var(--erp-radius-panel);
  border: 1px solid var(--erp-border);
}

.consultation-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-left: -18px;
  border-radius: 999px;
  background: var(--erp-brand);
  color: #fff;
  border: 3px solid #fff;
}

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

.action-tile {
  display: grid;
  gap: 8px;
  padding: 22px;
  color: var(--erp-text);
}

.action-tile i {
  color: var(--erp-brand);
}

.tile-title {
  color: var(--erp-text);
  font-size: 1.1rem;
  font-weight: 700;
}

.hero-landing {
  padding: 40px !important;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 520px;
  gap: 28px;
  align-items: start;
}

.hero-summary {
  max-width: 62ch;
}

.hero-workbench {
  display: grid;
  gap: 18px;
  padding: 24px;
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-panel);
  background: #f9fbfd;
  box-shadow: var(--erp-shadow);
}

.workbench-toolbar,
.workbench-top-grid,
.workbench-main-grid {
  display: grid;
  gap: 14px;
}

.workbench-toolbar {
  grid-auto-flow: column;
  justify-content: start;
}

.workbench-pill {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 8px;
  background: #edf3f7;
  color: var(--erp-brand);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workbench-pill.muted {
  color: var(--erp-text-soft);
}

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

.workbench-main-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.workbench-panel {
  padding: 18px;
}

.workbench-label,
.workbench-section-title {
  color: var(--erp-text-faint);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workbench-stat {
  margin-top: 6px;
  color: var(--erp-text);
  font-size: 2rem;
  font-weight: 800;
}

.workbench-stat.accent {
  color: var(--erp-brand);
}

.workbench-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 8px;
  padding: 14px 14px 14px 16px;
  border: 1px solid #dde7ee;
  border-left: 4px solid #b8ccd8;
  border-radius: var(--erp-radius-card);
  background: #fbfcfd;
}

.workbench-row:first-of-type {
  margin-top: 12px;
}

.workbench-row-title {
  color: var(--erp-text);
  font-weight: 600;
}

.workbench-row-meta {
  color: var(--erp-text-faint);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
}

.btn-lg {
  min-height: 50px;
  padding: 0.8rem 1.2rem;
  font-size: 1rem;
}

.hero-landing .page-actions .btn,
.auth-layout .btn {
  min-width: 0;
  justify-content: center;
}

.workbench-bars {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  align-items: end;
  height: 180px;
  padding-top: 16px;
}

.workbench-bars span {
  display: block;
  border-radius: 6px 6px 0 0;
  background: linear-gradient(180deg, #6ca8c0 0%, #0f6b8a 100%);
}

.trust-card {
  padding: 18px 20px;
}

.trust-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--erp-text);
  font-size: 1rem;
}

.trust-card span {
  display: block;
  color: var(--erp-text-soft);
  font-size: 0.93rem;
}

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

.feature-card {
  padding: 22px;
}

.auth-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  align-items: start;
  padding-top: 24px;
}

.auth-panel,
.auth-aside {
  padding: 28px;
}

.auth-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: var(--erp-radius-card);
  background: #edf5f9;
  color: var(--erp-brand);
  font-size: 1.8rem;
}

.auth-highlight-list {
  margin-top: 20px;
}

.header-row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 18px;
  padding: 18px 20px;
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-card);
  background: #f8fbfd;
}

.date-cell {
  min-width: 0;
  color: var(--erp-text);
}

.date-cell .date,
.bucket-col small {
  display: block;
  color: var(--erp-text-soft);
  font-size: 0.92rem;
}

.bucket-col {
  color: var(--erp-text);
  font-size: 1.05rem;
  font-weight: 700;
}

#forecast-days > .row {
  margin: 0 !important;
  padding: 16px 0;
  border-bottom: 1px solid #edf2f6;
}

#forecast-days > .row:last-child {
  border-bottom: 0;
}

#forecast-days .date-cell {
  width: 180px;
  padding-top: 8px;
}

#forecast-days .card.forecast-cell {
  border: 1px solid var(--erp-border);
  border-radius: var(--erp-radius-card);
  box-shadow: none;
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

#forecast-days .card.forecast-cell:hover {
  border-color: #94b7c9;
  box-shadow: 0 10px 22px rgba(13, 74, 100, 0.08);
}

.forecast-cell.success {
  background: #f4faf6;
}

.forecast-cell.warning {
  background: #fff9f1;
}

.forecast-cell.danger {
  background: #fdf2f2;
}

.forecast-cell.placeholder {
  background: #f7fafc;
}

.forecast-cell .score {
  color: var(--erp-text);
  font-size: 1.6rem;
  font-weight: 800;
}

.forecast-cell .risk-label {
  color: var(--erp-text-faint);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.icons-row {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin-top: 8px;
}

.icons-row svg {
  width: 16px;
  height: 16px;
  opacity: 0.72;
}

.driver-card {
  border-radius: var(--erp-radius-card) !important;
  border: 1px solid var(--erp-border) !important;
  background: #f8fbfd !important;
  box-shadow: none !important;
}

.driver-value {
  color: var(--erp-brand);
  font-size: 1rem;
  font-weight: 800;
}

.modal-backdrop {
  background: #09131c !important;
  opacity: 0.4 !important;
  z-index: 1600 !important;
}

.modal {
  z-index: 1605 !important;
}

.modal-dialog {
  margin: 1.25rem auto;
}

.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 2.5rem);
}

.modal-content {
  border: 0 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 20px 44px rgba(10, 30, 42, 0.18) !important;
}

.modal-header,
.modal-body,
.modal-footer {
  padding-left: 28px !important;
  padding-right: 28px !important;
}

.modal-title {
  color: var(--erp-text) !important;
}

.history-edit-dialog .modal-body {
  padding-top: 16px !important;
}

.history-edit-dialog .modal-body .row {
  margin-top: 0;
}

.app-footer-minimal {
  margin-top: 24px;
}

.workspace-footer-base {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 18px;
  padding: 12px 4px 0;
  color: var(--erp-text-faint);
  font-size: 0.82rem;
}

.alert-danger {
  border-color: #efc6c6;
  background: #fcecec;
  color: #8f3434;
}

@media (max-width: 1399.98px) {
  .app-authenticated .dashboard-grid {
    grid-template-columns: minmax(0, 1fr) 320px;
  }

  .content-grid {
    grid-template-columns: minmax(0, 1fr) 300px;
  }
}

@media (max-width: 1199.98px) {
  .app-authenticated .workspace-shell {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .app-authenticated .workspace-sidebar {
    display: none !important;
  }

  .app-authenticated .workspace-topbar {
    top: 16px;
  }

  .app-authenticated .page-frame {
    padding-top: 18px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .app-authenticated .dashboard-grid,
  .content-grid,
  .hero-grid,
  .auth-layout,
  .feature-grid {
    grid-template-columns: 1fr;
  }

  .app-authenticated .page-title {
    max-width: none;
  }

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

  .header-row {
    grid-template-columns: 1fr;
  }

  #forecast-days .date-cell {
    width: auto;
    padding-bottom: 10px;
  }
}

@media (max-width: 767.98px) {
  .app-authenticated .workspace-shell,
  .page-frame.container,
  .app-public .page-frame.container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .app-authenticated .workspace-topbar-shell,
  .page-hero,
  .surface-card,
  .summary-card,
  .subsection-card,
  .auth-panel,
  .auth-aside,
  .feature-card,
  .action-tile,
  .trust-card {
    padding: 20px !important;
    border-radius: 18px !important;
  }

  .app-authenticated .workspace-topbar-title {
    font-size: 1.28rem;
  }

  .page-title {
    font-size: 1.9rem !important;
  }

  .page-actions {
    flex-direction: column;
  }

  .page-actions .btn {
    width: 100%;
  }

  .action-grid,
  .info-grid,
  .feature-grid {
    grid-template-columns: 1fr;
  }

  .hero-landing {
    padding: 24px !important;
  }

  .workbench-top-grid,
  .workbench-main-grid {
    grid-template-columns: 1fr;
  }

  .header-row {
    padding: 16px;
  }

  #forecast-days > .row {
    padding: 12px 0;
  }

  .modal-header,
  .modal-body,
  .modal-footer {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

body.app-body {
  background:
    radial-gradient(circle at top left, rgba(182, 213, 226, 0.24), transparent 24%),
    linear-gradient(180deg, #f9fbfc 0%, #eef3f7 100%) !important;
}

.is-standalone body.app-body {
  padding-top: env(safe-area-inset-top);
}

.btn,
.nav-chip,
.workspace-nav-link,
.workspace-quick-action,
.workspace-topbar-user,
.workspace-menu-toggle,
.workspace-signout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  line-height: 1.1;
  text-align: center;
}

.btn {
  min-height: 46px;
  padding: 0.78rem 1.15rem;
  border-radius: var(--erp-radius-control) !important;
  box-shadow: none !important;
}

.btn-sm {
  min-height: 38px;
  padding: 0.55rem 0.85rem;
}

.btn-lg {
  min-height: 50px;
  padding: 0.9rem 1.25rem;
}

.nav-shell-public {
  padding: 0.8rem 1rem;
  border: 1px solid var(--erp-border) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 12px 34px rgba(9, 28, 41, 0.08) !important;
  backdrop-filter: blur(16px);
}

.brand-lockup {
  gap: 0.85rem;
}

.brand-wordmark {
  width: min(220px, 42vw);
}

.brand-tagline {
  border-radius: 8px !important;
  border-color: #dbe5eb !important;
  background: #f5f8fb !important;
  color: var(--erp-text-soft) !important;
}

.nav-chip {
  min-height: 40px;
  padding: 0.62rem 0.92rem !important;
  border-radius: 8px !important;
  color: var(--erp-text-soft) !important;
}

.nav-chip:hover,
.nav-chip:focus,
.nav-chip.is-active {
  background: #edf4f8 !important;
  border-color: #d5e2ea !important;
  color: var(--erp-text) !important;
  transform: none !important;
}

.nav-chip-primary {
  background: linear-gradient(180deg, #156d93 0%, #125877 100%) !important;
  border-color: #156d93 !important;
  color: #ffffff !important;
}

.nav-chip-primary:hover,
.nav-chip-primary:focus,
.nav-chip-primary.is-active {
  background: #104e6b !important;
  color: #ffffff !important;
}

.app-authenticated .workspace-shell {
  gap: 20px;
  padding: 20px;
}

.app-authenticated .workspace-sidebar {
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(17, 59, 89, 0.98) 0%, rgba(11, 45, 68, 0.98) 100%) !important;
}

.app-authenticated .workspace-brand-mark,
.app-authenticated .workspace-user-summary,
.workspace-offcanvas .workspace-signout {
  border-radius: 10px !important;
}

.app-authenticated .workspace-nav-link {
  min-height: 52px;
  justify-content: flex-start;
  border-radius: 8px !important;
}

.app-authenticated .workspace-nav-link.is-active {
  box-shadow: 0 10px 24px rgba(8, 28, 40, 0.14);
}

.app-authenticated .workspace-nav-icon {
  border-radius: 8px !important;
}

.app-authenticated .workspace-topbar-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 10px !important;
}

.workspace-topbar-primary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(220px, 280px);
  gap: 16px;
  align-items: center;
  min-width: 0;
}

.workspace-mobile-brand {
  align-items: center;
  gap: 0.8rem;
  min-width: 0;
}

.workspace-mobile-brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid #d8e3ea;
  background: #f7fafc;
}

.workspace-mobile-brand-wordmark {
  width: 132px;
  max-width: 100%;
  height: auto;
}

.workspace-mobile-brand-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.workspace-mobile-brand-label,
.workspace-topbar-status-label {
  color: var(--erp-text-faint);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-mobile-brand-title {
  color: var(--erp-text);
  font-size: 1rem;
  font-weight: 700;
}

.app-authenticated .workspace-topbar-copy {
  min-width: 0;
}

.app-authenticated .workspace-topbar-title {
  font-size: 1.45rem;
  line-height: 1.05;
}

.workspace-topbar-status {
  align-content: center;
  gap: 2px;
  min-width: 0;
  padding-left: 16px;
  border-left: 1px solid #e2ebf0;
}

.workspace-topbar-status strong {
  color: var(--erp-text);
  font-size: 0.95rem;
}

.workspace-topbar-status span:last-child {
  color: var(--erp-text-soft);
  font-size: 0.85rem;
  line-height: 1.45;
}

.app-authenticated .workspace-topbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.app-authenticated .workspace-quick-action,
.app-authenticated .workspace-topbar-user,
.app-authenticated .workspace-menu-toggle {
  min-height: 44px;
  border-radius: 8px !important;
}

.app-authenticated .page-frame {
  gap: 20px;
}

.page-hero,
.surface-card,
.summary-card,
.subsection-card,
.feature-card,
.action-tile,
.warning-flag-card,
.auth-panel,
.auth-aside,
.trust-card,
.workbench-panel {
  border-radius: 10px !important;
}

.page-hero {
  position: relative;
  overflow: hidden;
}

.page-hero::before {
  content: '';
  display: block !important;
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, #1f7ca2 0%, #5aa4c2 100%);
  opacity: 0.8;
}

.page-kicker,
.eyebrow {
  min-height: 34px;
  border-radius: 6px !important;
  background: #edf4f8 !important;
}

.app-authenticated .dashboard-grid,
.dashboard-grid-home,
.dashboard-grid-history,
.dashboard-grid-forecast {
  grid-template-columns: minmax(0, 1.28fr) minmax(320px, 0.72fr);
}

.surface-card,
.summary-card,
.subsection-card {
  padding: 22px;
}

.metric-card,
.action-tile,
.history-timeband-card,
.forecast-command-metric,
.landing-mini-card,
.forecast-chip-card {
  border-radius: 8px !important;
}

.metric-card {
  background: linear-gradient(180deg, #ffffff 0%, #f5f9fb 100%) !important;
}

.summary-card {
  background: linear-gradient(180deg, #fbfdfe 0%, #f5f9fb 100%) !important;
}

.subsection-card {
  background: linear-gradient(180deg, #fbfdfe 0%, #f5f9fb 100%) !important;
}

.form-control,
.form-select,
.choices__inner {
  min-height: 50px !important;
  border-radius: 6px !important;
  background: #fcfdfe !important;
}

textarea.form-control,
select[multiple].form-select {
  min-height: 128px !important;
}

.form-control:focus,
.form-select:focus,
.choices.is-focused .choices__inner {
  border-color: #7aaec7 !important;
  box-shadow: 0 0 0 4px rgba(21, 109, 147, 0.12) !important;
}

.choices__list--multiple .choices__item,
.selection-chip,
.soft-badge,
.table-tag {
  border-radius: 999px !important;
}

.hero-landing,
.landing-command-center {
  padding: 30px !important;
}

.landing-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 28px;
  align-items: start;
}

.landing-copy .page-title {
  max-width: 12ch;
}

.landing-copy .page-subtitle {
  max-width: 62ch;
}

.landing-trust-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.landing-command-board {
  display: grid;
  gap: 18px;
}

.landing-board-top,
.landing-board-panel,
.landing-board-table {
  padding: 20px;
  border: 1px solid var(--erp-border);
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  box-shadow: var(--erp-shadow);
}

.landing-board-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.1fr;
  gap: 18px;
}

.landing-board-stat {
  display: grid;
  gap: 6px;
}

.landing-board-label {
  color: var(--erp-text-faint);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.landing-board-stat strong {
  color: var(--erp-text);
  font-size: 1.55rem;
  line-height: 1.1;
}

.landing-board-stat span:last-child {
  color: var(--erp-text-soft);
  line-height: 1.55;
}

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

.landing-mini-card,
.forecast-command-metric {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid var(--erp-border);
  background: #f8fbfd;
}

.landing-mini-card span,
.forecast-command-metric span {
  color: var(--erp-text-faint);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.landing-mini-card strong,
.forecast-command-metric strong {
  color: var(--erp-text);
  font-size: 1.25rem;
}

.landing-mini-card small,
.forecast-command-metric small {
  color: var(--erp-text-soft);
  line-height: 1.5;
}

.landing-board-main {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  gap: 18px;
}

.landing-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.timeline-status {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #d7e4ec;
  border-radius: 999px;
  background: #f6fafc;
  color: var(--erp-text-soft);
  font-size: 0.78rem;
  font-weight: 700;
}

.landing-timeline-chart,
.trend-chart {
  padding: 10px 0 0;
}

.landing-timeline-chart svg,
.trend-chart svg {
  width: 100%;
  height: auto;
  display: block;
}

.chart-axis-labels {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin-top: 6px;
  color: var(--erp-text-faint);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

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

.signal-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid #e6eef3;
}

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

.signal-row-title {
  color: var(--erp-text);
  font-weight: 700;
}

.signal-row-meta {
  color: var(--erp-text-faint);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.forecast-chip-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.forecast-chip-card {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid #d8e4eb;
  background: #f9fbfd;
}

.forecast-chip-card.emphasis {
  border-color: #9dc3d6;
  background: linear-gradient(180deg, #f7fbfd 0%, #eef7fb 100%);
}

.forecast-chip-card span {
  color: var(--erp-text-faint);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.forecast-chip-card strong {
  color: var(--erp-text);
  font-size: 1.35rem;
}

.forecast-chip-card small {
  color: var(--erp-text-soft);
  text-transform: uppercase;
  font-weight: 700;
}

.clinical-pillar-grid,
.feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.landing-support-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
}

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

.clinical-detail-item {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--erp-border);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
}

.clinical-detail-item strong {
  color: var(--erp-text);
  font-size: 1rem;
}

.clinical-detail-item span {
  color: var(--erp-text-soft);
  line-height: 1.6;
}

.care-note-card {
  background: linear-gradient(180deg, #f4f8fb 0%, #eef5f9 100%) !important;
}

.dashboard-command,
.forecast-hero {
  padding: 28px 30px !important;
}

.dashboard-status-card,
.history-snapshot-card,
.forecast-command-card {
  align-self: stretch;
}

.home-overview-grid,
.history-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr);
  gap: 20px;
}

.history-timeband-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.history-timeband-card {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid var(--erp-border);
  background: #f7fafc;
}

.history-timeband-card span {
  color: var(--erp-text-faint);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.history-timeband-card strong {
  color: var(--erp-text);
  font-size: 1.35rem;
}

.history-timeband-card small {
  color: var(--erp-text-soft);
}

.history-pattern-summary {
  display: grid;
  gap: 14px;
}

.history-pattern-row {
  display: grid;
  gap: 6px;
  padding-top: 14px;
  border-top: 1px solid #e6eef3;
}

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

.history-pattern-label {
  color: var(--erp-text-faint);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.history-tag-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.history-timeline-list {
  position: relative;
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.history-timeline-list::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 4px;
  bottom: 4px;
  width: 2px;
  background: linear-gradient(180deg, #bfd6e2 0%, #e2edf3 100%);
}

.history-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.history-timeline-marker {
  position: relative;
  z-index: 1;
  width: 32px;
  height: 32px;
  margin-top: 4px;
  border-radius: 999px;
  border: 6px solid #e6f1f6;
  background: #1d6f94;
  box-shadow: 0 0 0 6px rgba(29, 111, 148, 0.08);
}

.history-timeline-body {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid var(--erp-border);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
}

.history-timeline-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.history-timeline-head strong {
  color: var(--erp-text);
  font-size: 1rem;
}

.history-timeline-head span {
  color: var(--erp-text-soft);
  font-size: 0.9rem;
}

.history-timeline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: var(--erp-text-soft);
  font-size: 0.9rem;
}

.history-timeline-meta strong {
  color: var(--erp-text);
}

.history-timeline-list.compact {
  gap: 14px;
}

.history-timeline-list.compact::before {
  left: 13px;
}

.history-timeline-list.compact .history-timeline-item {
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 14px;
}

.history-timeline-list.compact .history-timeline-marker {
  width: 28px;
  height: 28px;
  border-width: 5px;
}

.history-timeline-list.compact .history-timeline-body {
  padding: 16px;
}

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

.forecast-drivers-card,
.forecast-board-card {
  padding-top: 24px;
}

.forecast-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 18px;
}

.forecast-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--erp-text-soft);
  font-size: 0.88rem;
  font-weight: 700;
}

.forecast-legend-swatch {
  width: 14px;
  height: 14px;
  border-radius: 3px;
}

.forecast-legend-swatch.low {
  background: #e8f4ec;
}

.forecast-legend-swatch.medium {
  background: #fff1d8;
}

.forecast-legend-swatch.high {
  background: #f8dfdf;
}

.forecast-day-board {
  display: grid;
  gap: 16px;
}

.forecast-day-card {
  padding: 18px;
  border: 1px solid var(--erp-border);
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

.forecast-day-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.forecast-day-name {
  color: var(--erp-text);
  font-size: 1.08rem;
  font-weight: 700;
}

.forecast-day-date {
  color: var(--erp-text-soft);
  font-size: 0.92rem;
}

.forecast-day-summary {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.forecast-day-summary.is-low {
  background: #edf6f0;
  color: #2e6e57;
}

.forecast-day-summary.is-medium {
  background: #fff4de;
  color: #99661d;
}

.forecast-day-summary.is-high {
  background: #fae8e8;
  color: #9a3f3f;
}

.forecast-window-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.forecast-window-card {
  width: 100%;
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--erp-border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--erp-text);
  box-shadow: none;
}

button.forecast-window-card {
  text-align: left;
  cursor: pointer;
}

button.forecast-window-card:hover,
button.forecast-window-card:focus-visible {
  border-color: #9bc0d3;
  box-shadow: 0 10px 24px rgba(13, 74, 100, 0.08);
  outline: none;
}

.forecast-window-card.is-low {
  background: linear-gradient(180deg, #fbfefd 0%, #eff8f2 100%);
}

.forecast-window-card.is-medium {
  background: linear-gradient(180deg, #fffdf8 0%, #fff4df 100%);
}

.forecast-window-card.is-high {
  background: linear-gradient(180deg, #fffdfd 0%, #fae7e7 100%);
}

.forecast-window-card.is-empty,
.forecast-window-card.is-placeholder {
  background: #f7fafc;
  color: var(--erp-text-soft);
}

.forecast-window-top {
  display: grid;
  gap: 4px;
}

.forecast-window-label {
  color: var(--erp-text);
  font-size: 0.92rem;
  font-weight: 700;
}

.forecast-window-time {
  color: var(--erp-text-faint);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.forecast-window-score {
  color: var(--erp-text);
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1;
}

.forecast-window-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--erp-text-soft);
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.forecast-window-footer .icons-row {
  justify-content: flex-end;
  margin-top: 0;
}

.driver-card {
  min-height: 100%;
  padding: 0;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%) !important;
}

.driver-card .card-body {
  padding: 18px;
}

.driver-card .text-muted {
  color: var(--erp-text-faint) !important;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.modal-content {
  border-radius: 10px !important;
}

.workspace-footer-base {
  padding-top: 4px;
}

@media (max-width: 1199.98px) {
  .workspace-topbar-primary {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .landing-grid,
  .landing-board-main,
  .landing-board-top,
  .home-overview-grid,
  .history-overview-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .landing-trust-strip,
  .clinical-detail-grid,
  .forecast-command-grid,
  .forecast-window-grid,
  .landing-board-mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-authenticated .dashboard-grid,
  .dashboard-grid-home,
  .dashboard-grid-history,
  .dashboard-grid-forecast,
  .landing-support-grid {
    grid-template-columns: 1fr;
  }

  .history-timeline-head,
  .forecast-day-header {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 767.98px) {
  .app-header {
    padding-top: 0.75rem;
  }

  .nav-shell-public {
    padding: 0.75rem;
  }

  .brand-wordmark {
    width: min(164px, 48vw);
  }

  .page-hero,
  .surface-card,
  .summary-card,
  .subsection-card,
  .auth-panel,
  .auth-aside,
  .feature-card,
  .action-tile,
  .trust-card,
  .landing-board-top,
  .landing-board-panel,
  .landing-board-table,
  .forecast-day-card,
  .history-timeline-body {
    padding: 18px !important;
  }

  .hero-landing,
  .landing-command-center,
  .dashboard-command,
  .forecast-hero {
    padding: 20px !important;
  }

  .landing-trust-strip,
  .clinical-pillar-grid,
  .clinical-detail-grid,
  .forecast-command-grid,
  .forecast-window-grid,
  .history-timeband-grid,
  .forecast-chip-grid {
    grid-template-columns: 1fr;
  }

  .workspace-topbar-shell {
    grid-template-columns: 1fr !important;
  }

  .workspace-topbar-primary {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
  }

  .app-authenticated .workspace-topbar-actions {
    justify-content: space-between;
  }

  .app-authenticated .workspace-topbar-title {
    font-size: 1.2rem;
  }

  .history-timeline-list::before,
  .history-timeline-list.compact::before {
    left: 12px;
  }

  .history-timeline-item,
  .history-timeline-list.compact .history-timeline-item {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 12px;
  }

  .history-timeline-marker,
  .history-timeline-list.compact .history-timeline-marker {
    width: 24px;
    height: 24px;
    border-width: 4px;
  }

  .forecast-window-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Replatformed clinical workspace */
body.app-body,
body.app-body *,
.btn,
input,
select,
textarea {
  font-family: 'IBM Plex Sans', sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.section-heading,
.workspace-topbar-title,
.clinical-panel-title,
.metric-card-value,
.tile-title {
  font-family: 'IBM Plex Sans', sans-serif !important;
  letter-spacing: -0.04em !important;
}

.page-kicker,
.eyebrow,
.workspace-topbar-label,
.workspace-section-label,
.workspace-brand-caption,
.clinical-stat-label,
.clinical-panel-kicker,
.signal-summary-label,
.entry-section-step,
.history-pattern-label {
  font-family: 'IBM Plex Mono', monospace !important;
  letter-spacing: 0.08em !important;
}

.app-authenticated .workspace-shell {
  grid-template-columns: 228px minmax(0, 1fr) !important;
  gap: 18px !important;
  padding: 18px 18px 24px !important;
}

.app-authenticated .workspace-sidebar {
  gap: 16px;
  padding: 18px 14px;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(17, 52, 77, 0.98) 0%, rgba(11, 40, 59, 0.98) 100%) !important;
  box-shadow: 0 20px 40px rgba(8, 26, 39, 0.18) !important;
}

.app-authenticated .workspace-brand {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
}

.app-authenticated .workspace-brand-mark {
  justify-content: center;
  padding: 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}

.app-authenticated .workspace-brand-wordmark {
  width: 150px;
}

.app-authenticated .workspace-brand-copy {
  padding: 0;
}

.app-authenticated .workspace-brand-title {
  font-size: 1.15rem;
}

.app-authenticated .workspace-brand-caption {
  margin-top: 2px;
  color: rgba(217, 230, 238, 0.76);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.app-authenticated .workspace-section-label {
  margin-top: 2px;
  color: rgba(206, 224, 233, 0.62);
  font-size: 0.72rem;
}

.app-authenticated .workspace-nav-list {
  gap: 6px;
}

.app-authenticated .workspace-nav-link {
  position: relative;
  min-height: 50px;
  padding: 10px 12px;
  border-radius: 10px !important;
  border: 1px solid transparent !important;
  font-size: 0.94rem;
  font-weight: 600;
}

.app-authenticated .workspace-nav-link:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  transform: none !important;
}

.app-authenticated .workspace-nav-link.is-active {
  background: linear-gradient(180deg, #fefefe 0%, #edf4f8 100%) !important;
  border-color: #d7e3ea !important;
  color: var(--erp-text) !important;
  box-shadow: none !important;
}

.app-authenticated .workspace-nav-link.is-active::before {
  content: '';
  position: absolute;
  left: -1px;
  top: 10px;
  bottom: 10px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, #19729a 0%, #49a1c2 100%);
}

.app-authenticated .workspace-nav-icon {
  width: 34px;
  height: 34px;
  border-radius: 8px !important;
  font-size: 0.95rem;
}

.app-authenticated .workspace-topbar {
  top: 18px;
}

.app-authenticated .workspace-topbar-shell {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 18px;
  border-radius: 14px !important;
  border: 1px solid var(--erp-border) !important;
  background: rgba(255, 255, 255, 0.96) !important;
}

.workspace-topbar-leading {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}

.workspace-mobile-brand {
  display: inline-flex;
  align-items: center;
}

.workspace-mobile-brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 6px;
  border-radius: 10px;
  border: 1px solid #d8e3ea;
  background: #f7fafc;
}

.workspace-mobile-brand-wordmark {
  width: 92px;
  max-width: 100%;
  height: auto;
}

.workspace-topbar-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.workspace-topbar-label {
  color: var(--erp-text-faint);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.workspace-topbar-title {
  margin: 0 !important;
  font-size: 1.22rem !important;
  line-height: 1.05 !important;
}

.workspace-topbar-summary {
  margin: 0;
  max-width: 58ch;
  color: var(--erp-text-soft);
  font-size: 0.93rem;
  line-height: 1.5;
}

.workspace-topbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px !important;
}

.workspace-quick-action,
.workspace-secondary-action,
.workspace-topbar-user,
.workspace-menu-toggle,
.workspace-signout {
  min-height: 42px;
  padding: 0 14px;
  border-radius: 10px !important;
  border: 1px solid var(--erp-border);
  background: #fff;
  color: var(--erp-text);
}

.workspace-quick-action {
  border-color: #16698f !important;
  background: linear-gradient(180deg, #17739b 0%, #155d7e 100%) !important;
  color: #fff !important;
}

.workspace-secondary-action {
  color: var(--erp-brand);
  background: #f7fafc;
}

.workspace-topbar-user {
  color: var(--erp-text-soft);
  font-weight: 600;
}

.workspace-user-summary {
  border-radius: 12px !important;
}

.page-frame {
  display: grid;
  gap: 18px;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

.workspace-section {
  display: grid;
}

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

.workspace-grid-dashboard,
.workspace-grid-history,
.workspace-grid-forecast,
.workspace-grid-entry {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.74fr);
}

.workspace-column-main,
.workspace-column-side,
.entry-form-column,
.entry-support-column {
  display: grid;
  gap: 18px;
  align-content: start;
}

.clinical-panel {
  padding: 22px;
  border: 1px solid var(--erp-border);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: var(--erp-shadow);
}

.clinical-panel-emphasis {
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
}

.clinical-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.clinical-panel-kicker {
  color: var(--erp-text-faint);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.clinical-panel-title {
  margin: 6px 0 6px;
  color: var(--erp-text);
  font-size: 1.42rem;
  font-weight: 700;
}

.clinical-panel-copy {
  margin: 0;
  color: var(--erp-text-soft);
  font-size: 0.98rem;
  line-height: 1.6;
}

.panel-link {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--erp-border);
  border-radius: 10px;
  background: #f8fbfd;
  color: var(--erp-brand);
  font-size: 0.9rem;
  font-weight: 700;
}

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

.clinical-stat-card {
  display: grid;
  gap: 8px;
  min-height: 128px;
  padding: 18px;
  border: 1px solid var(--erp-border);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  box-shadow: var(--erp-shadow);
}

.clinical-stat-label {
  color: var(--erp-text-faint);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.clinical-stat-value {
  color: var(--erp-text);
  font-size: clamp(1.55rem, 2vw, 2rem);
  font-weight: 700;
  line-height: 1.1;
}

.clinical-stat-value-text {
  font-size: 1.18rem;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}

.clinical-stat-note {
  color: var(--erp-text-soft);
  font-size: 0.88rem;
  line-height: 1.45;
}

.clinical-table-shell {
  border-radius: 14px !important;
  border: 1px solid var(--erp-border) !important;
}

.table thead th {
  font-size: 0.72rem;
}

.table tbody td {
  font-size: 0.94rem;
  vertical-align: middle;
}

.data-chip,
.soft-badge,
.table-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 6px !important;
  border: 1px solid #d7e3ea;
  background: #f3f8fb;
  color: var(--erp-text);
  font-size: 0.8rem;
  font-weight: 700;
}

.data-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.data-chip-muted {
  background: #ffffff;
  color: var(--erp-text-soft);
}

.signal-row {
  padding: 12px 0;
  border-bottom: 1px solid #e7eef3;
}

.signal-row-title {
  font-weight: 600;
}

.signal-row-meta {
  font-size: 0.78rem;
}

.signal-summary-block {
  display: grid;
  gap: 10px;
  padding-top: 16px;
  margin-top: 16px;
  border-top: 1px solid #e7eef3;
}

.signal-summary-label {
  color: var(--erp-text-faint);
  font-size: 0.72rem;
  text-transform: uppercase;
}

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

.compact-action-link,
.compact-action-static {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 14px 16px;
  border: 1px solid var(--erp-border);
  border-radius: 12px;
  background: #f8fbfd;
  color: var(--erp-text);
  font-weight: 600;
}

.compact-action-static {
  justify-content: flex-start;
}

.history-timeline-list.compact .history-timeline-body,
.history-timeline-body {
  border-radius: 12px !important;
}

.history-timeline-marker {
  box-shadow: none !important;
}

.entry-workstation {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: 18px;
}

.entry-form-grid {
  display: grid;
  gap: 18px;
}

.entry-section-card {
  padding: 20px;
  border: 1px solid var(--erp-border);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

.entry-section-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin-bottom: 18px;
}

.entry-section-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid #d7e3ea;
  background: #eef5f8;
  color: var(--erp-brand);
  font-size: 0.78rem;
}

.entry-section-title {
  margin: 0 0 4px;
  color: var(--erp-text);
  font-size: 1.16rem;
  font-weight: 700;
}

.entry-section-copy {
  margin: 0;
  color: var(--erp-text-soft);
  font-size: 0.94rem;
  line-height: 1.5;
}

.entry-submit-row {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 4px;
}

.entry-support-fields {
  display: grid;
  gap: 12px;
}

.live-score-display {
  display: grid;
  gap: 8px;
}

.live-score-display strong {
  color: var(--erp-text);
  font-size: 3rem;
  line-height: 1;
}

.live-score-display span {
  color: var(--erp-text-soft);
}

.forecast-stat-strip .clinical-stat-card {
  min-height: 144px;
}

.forecast-day-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.forecast-day-card {
  padding: 18px;
  border-radius: 16px !important;
}

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

.forecast-window-card {
  min-height: 148px;
  border-radius: 12px;
}

.forecast-window-score {
  font-size: 1.7rem;
}

.forecast-window-footer {
  gap: 8px;
}

.driver-card {
  border-radius: 12px !important;
}

.driver-card .card-body {
  padding: 16px;
}

.driver-value {
  font-size: 1.15rem;
}

@media (max-width: 1399.98px) {
  .stat-strip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1199.98px) {
  .app-authenticated .workspace-shell {
    grid-template-columns: 1fr !important;
  }

  .workspace-grid-dashboard,
  .workspace-grid-history,
  .workspace-grid-forecast,
  .workspace-grid-entry,
  .entry-workstation {
    grid-template-columns: 1fr;
  }

  .forecast-day-board {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .workspace-topbar-shell {
    flex-direction: column;
    align-items: stretch;
  }

  .workspace-topbar-actions {
    justify-content: flex-start;
  }

  .forecast-window-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .app-authenticated .workspace-shell {
    padding: 12px !important;
  }

  .page-frame {
    gap: 14px;
    padding-top: 14px !important;
  }

  .workspace-topbar-shell,
  .clinical-panel,
  .clinical-stat-card,
  .entry-section-card {
    padding: 16px !important;
  }

  .stat-strip-grid {
    grid-template-columns: 1fr;
  }

  .entry-submit-row {
    flex-direction: column-reverse;
  }

  .entry-submit-row .btn {
    width: 100%;
  }
}
