/* ============================================================
   Seize Control by FND Connect
   Consolidated product theme
   ============================================================ */

:root {
  --fnd-navy: #002b5f;
  --fnd-deep-navy: #001a3b;
  --fnd-magenta: #c9005a;
  --fnd-rose: #ed2b7b;
  --fnd-pale: #fff1f7;
  --fnd-blue-pale: #eef4fb;
  --fnd-page: #f7f9fc;
  --fnd-white: #ffffff;
  --fnd-ink: #061b3d;
  --fnd-muted: #5c6d86;
  --fnd-faint: #7a879a;
  --fnd-border: #dfe6ef;
  --fnd-border-strong: #cbd8e7;
  --fnd-success: #2f8f72;
  --fnd-success-bg: #eaf7f1;
  --fnd-warning: #9a650b;
  --fnd-warning-bg: #fff6e8;
  --fnd-danger: #a83232;
  --fnd-danger-bg: #fdecec;
  --fnd-radius-sm: 8px;
  --fnd-radius: 12px;
  --fnd-radius-lg: 16px;
  --fnd-shadow: 0 10px 28px rgba(0, 43, 95, 0.06);
  --fnd-shadow-raised: 0 18px 48px rgba(0, 43, 95, 0.09);
  --fnd-content: 1480px;

  /* Existing app aliases */
  --bg: var(--fnd-page);
  --surface: var(--fnd-white);
  --surface-alt: #fbfcfe;
  --surface-muted: var(--fnd-blue-pale);
  --ink: var(--fnd-ink);
  --ink-soft: var(--fnd-muted);
  --ink-faint: var(--fnd-faint);
  --border: var(--fnd-border);
  --border-strong: var(--fnd-border-strong);
  --nhs-navy: var(--fnd-navy);
  --nhs-navy-dark: var(--fnd-deep-navy);
  --nhs-blue: var(--fnd-magenta);
  --nhs-blue-light: var(--fnd-rose);
  --nhs-blue-pale: var(--fnd-pale);
  --nhs-green: var(--fnd-success);
  --nhs-green-bg: var(--fnd-success-bg);
  --nhs-amber: var(--fnd-warning);
  --nhs-amber-bg: var(--fnd-warning-bg);
  --nhs-red: var(--fnd-danger);
  --nhs-red-bg: var(--fnd-danger-bg);
  --shadow-xs: 0 1px 2px rgba(0, 43, 95, 0.04);
  --shadow-sm: var(--fnd-shadow);
  --shadow-md: var(--fnd-shadow-raised);
  --radius-xs: 4px;
  --radius-sm: var(--fnd-radius-sm);
  --radius-md: var(--fnd-radius);
  --radius-lg: var(--fnd-radius-lg);
  --radius-xl: 20px;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--fnd-page);
}

body.app-body {
  min-height: 100vh;
  margin: 0;
  color: var(--fnd-ink);
  background: var(--fnd-page) !important;
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.section-heading,
.care-header-title,
.care-panel-title,
.workspace-hero-title {
  color: var(--fnd-ink);
  font-family: inherit;
  font-weight: 800;
  letter-spacing: 0;
}

p,
li,
label,
input,
select,
textarea,
button,
a,
small,
span,
td,
th {
  font-family: inherit;
  letter-spacing: 0;
}

a {
  color: var(--fnd-navy);
  text-underline-offset: 0.2em;
}

a:hover {
  color: var(--fnd-magenta);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(201, 0, 90, 0.3);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(0, 43, 95, 0.08);
}

.text-primary {
  color: var(--fnd-navy) !important;
}

.text-muted,
.care-muted,
.form-text {
  color: var(--fnd-muted) !important;
}

/* Controls */
.btn,
.care-action-btn,
.panel-link {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.72rem 1rem;
  border-width: 2px;
  border-radius: var(--fnd-radius-sm) !important;
  box-shadow: none !important;
  font-size: 0.96rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.btn:hover,
.care-action-btn:hover,
.panel-link:hover {
  transform: translateY(-1px);
}

.btn-primary,
.care-action-btn-primary,
.app-authenticated .btn-primary,
.app-authenticated .care-action-btn-primary {
  color: var(--fnd-white) !important;
  background: var(--fnd-navy) !important;
  border-color: var(--fnd-navy) !important;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.care-action-btn-primary:hover,
.care-action-btn-primary:focus-visible,
.app-authenticated .btn-primary:hover,
.app-authenticated .care-action-btn-primary:hover {
  color: var(--fnd-white) !important;
  background: var(--fnd-deep-navy) !important;
  border-color: var(--fnd-deep-navy) !important;
}

.public-nav .btn-primary {
  background: linear-gradient(135deg, var(--fnd-magenta), #a8004d) !important;
  border-color: var(--fnd-magenta) !important;
}

.btn-outline-primary,
.panel-link,
.care-action-btn-secondary,
.app-authenticated .btn-outline-primary,
.app-authenticated .panel-link {
  color: var(--fnd-magenta) !important;
  background: var(--fnd-white) !important;
  border-color: var(--fnd-magenta) !important;
}

.app-authenticated .care-action-btn.btn-outline-primary span,
.app-authenticated .care-action-btn.btn-outline-primary i {
  color: inherit !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible,
.panel-link:hover,
.panel-link:focus-visible,
.care-action-btn-secondary:hover,
.care-action-btn-secondary:focus-visible {
  color: var(--fnd-white) !important;
  background: var(--fnd-navy) !important;
  border-color: var(--fnd-navy) !important;
}

.btn-outline-danger,
.care-signout {
  color: var(--fnd-danger) !important;
  background: var(--fnd-white) !important;
  border-color: #efc7c7 !important;
}

.form-label {
  margin-bottom: 0.45rem;
  color: var(--fnd-ink);
  font-size: 0.95rem;
  font-weight: 800;
}

.form-control,
.form-select,
.awesomplete > input {
  min-height: 50px;
  border: 1px solid var(--fnd-border) !important;
  border-radius: var(--fnd-radius-sm) !important;
  color: var(--fnd-ink);
  background: var(--fnd-white) !important;
  box-shadow: none !important;
  font-size: 16px !important;
}

.form-control:focus,
.form-select:focus,
.awesomplete > input:focus {
  border-color: var(--fnd-navy) !important;
  box-shadow: 0 0 0 4px rgba(0, 43, 95, 0.1) !important;
}

.awesomplete {
  position: relative;
  display: block;
  width: 100%;
}

.awesomplete > input {
  width: 100%;
}

.awesomplete > ul {
  position: absolute;
  z-index: 40;
  inset: calc(100% + 0.4rem) 0 auto;
  max-height: 280px;
  margin: 0;
  padding: 0.4rem;
  overflow-y: auto;
  list-style: none;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius-sm);
  color: var(--fnd-ink);
  background: var(--fnd-white);
  box-shadow: var(--fnd-shadow-raised);
}

.awesomplete > ul[hidden],
.awesomplete > ul:empty {
  display: none;
}

.awesomplete > ul > li {
  padding: 0.65rem 0.75rem;
  border-radius: 7px;
  color: var(--fnd-ink);
  background: transparent;
  cursor: pointer;
  line-height: 1.35;
}

.awesomplete > ul > li:hover,
.awesomplete > ul > li[aria-selected="true"] {
  color: var(--fnd-navy);
  background: var(--fnd-blue-pale);
}

.awesomplete mark {
  padding: 0 0.12rem;
  border-radius: 3px;
  color: var(--fnd-magenta);
  background: var(--fnd-pink-soft);
  font-weight: 800;
}

textarea.form-control {
  min-height: 132px;
}

/* Shared surfaces */
.care-panel,
.surface-card,
.card,
.modal-content,
.auth-panel,
.auth-aside,
.warning-flag-card,
.subsection-card,
.summary-card,
.feature-card,
.research-panel,
.clinician-panel {
  border: 1px solid var(--fnd-border) !important;
  border-radius: var(--fnd-radius-lg) !important;
  color: var(--fnd-ink);
  background: var(--fnd-white) !important;
  box-shadow: var(--fnd-shadow) !important;
}

.care-panel::before,
.surface-card::before,
.workspace-hero-copy::before,
.workspace-hero-stats::before,
.public-display-board::before,
.page-hero::before {
  display: none !important;
}

.care-panel,
.surface-card,
.auth-panel,
.auth-aside,
.research-panel,
.clinician-panel {
  padding: clamp(20px, 2vw, 28px);
}

.care-panel-head,
.workspace-panel-head,
.meds-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.care-panel-kicker,
.page-kicker,
.eyebrow,
.public-badge,
.care-summary-label,
.metric-card-label {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  min-height: 0;
  padding: 0;
  border: 0 !important;
  color: var(--fnd-faint) !important;
  background: transparent !important;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.care-panel-title,
.section-heading {
  margin: 0.35rem 0 0;
  font-size: clamp(1.25rem, 1.8vw, 1.7rem);
  line-height: 1.15;
}

.care-panel-copy,
.section-copy,
.page-subtitle,
.workspace-hero-text {
  max-width: 68ch;
  margin: 0.45rem 0 0;
  color: var(--fnd-muted) !important;
  line-height: 1.6;
}

.page-note,
.alert,
.care-empty-state,
.empty-state,
.today-empty {
  padding: 1rem 1.1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  color: var(--fnd-muted);
  background: var(--fnd-blue-pale);
}

/* Public website */
.public-topbar {
  color: var(--fnd-white);
  background: linear-gradient(90deg, var(--fnd-deep-navy), var(--fnd-navy));
  box-shadow: inset 0 -3px 0 rgba(201, 0, 90, 0.42);
  font-size: 0.84rem;
}

.public-topbar-inner {
  display: flex;
  width: min(calc(100% - 2rem), 1240px);
  min-height: 32px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-inline: auto;
}

.public-topbar a {
  color: var(--fnd-white);
  font-weight: 800;
}

.public-shell {
  position: sticky;
  z-index: 20;
  top: 0;
  border-bottom: 1px solid var(--fnd-border) !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 8px 28px rgba(0, 43, 95, 0.04) !important;
  backdrop-filter: blur(14px);
}

.public-shell-inner,
.public-footer-inner {
  width: min(calc(100% - 2rem), 1240px);
  margin-inline: auto;
}

.public-nav {
  display: flex;
  min-height: 94px;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0;
}

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

.public-brand-wordmark {
  display: block;
  width: 226px !important;
  height: auto;
}

.public-nav-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.public-nav-link:not(.btn) {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 0.55rem 0.65rem;
  border: 0;
  border-bottom: 4px solid transparent;
  border-radius: 0;
  color: var(--fnd-ink) !important;
  background: transparent !important;
  font-size: 0.88rem;
  font-weight: 800;
}

.public-nav-link:not(.btn):hover,
.public-nav-link:not(.btn).is-active {
  border-bottom-color: var(--fnd-magenta);
  color: var(--fnd-navy) !important;
}

.public-content {
  padding: 0 0 4rem !important;
}

.public-hero {
  margin: 0;
  border-bottom: 1px solid var(--fnd-border);
  background: linear-gradient(112deg, #f8fbff 0%, #ffffff 54%, #fff1f7 100%);
}

.public-hero-grid {
  display: grid;
  width: min(calc(100% - 2rem), 1240px);
  min-height: 560px;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  margin-inline: auto;
  padding: clamp(3rem, 6vw, 5rem) 0;
}

.public-hero-copy {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.public-hero-copy h1 {
  max-width: 16ch;
  margin: 0;
  color: var(--fnd-ink);
  font-size: clamp(2.8rem, 5vw, 4.7rem);
  line-height: 1.02;
}

.public-hero-copy > p {
  max-width: 650px;
  margin: 1.25rem 0 0;
  color: var(--fnd-muted);
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  line-height: 1.65;
}

.page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.public-value-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1.1rem;
  margin-top: 1.5rem;
  color: var(--fnd-navy);
  font-size: 0.9rem;
  font-weight: 800;
}

.public-value-strip span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.public-value-strip i {
  color: var(--fnd-magenta);
}

.public-display-board {
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid var(--fnd-border) !important;
  border-radius: var(--fnd-radius) !important;
  background: var(--fnd-white) !important;
  box-shadow: var(--fnd-shadow-raised) !important;
}

.public-display-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.2rem;
  color: var(--fnd-white);
  background: linear-gradient(90deg, var(--fnd-navy), var(--fnd-magenta));
}

.public-display-header span,
.public-display-header strong {
  display: block;
  color: inherit !important;
}

.public-display-header span {
  font-size: 0.76rem;
  font-weight: 700;
}

.public-display-header strong {
  font-size: 1.05rem;
}

.public-display-status {
  flex: 0 0 auto;
  padding: 0.35rem 0.6rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 999px;
  color: var(--fnd-white);
  background: rgba(255, 255, 255, 0.14);
  font-size: 0.74rem;
  font-weight: 800;
}

.public-hero-list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.public-hero-list li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.9rem;
  padding: 1.15rem 1.2rem;
  border-top: 1px solid var(--fnd-border);
}

.public-hero-list i {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--fnd-magenta);
  background: var(--fnd-pale);
}

.public-hero-list strong,
.public-hero-list span {
  display: block;
}

.public-hero-list span {
  color: var(--fnd-muted);
  line-height: 1.55;
}

.public-hero-list strong {
  margin-bottom: 0.15rem;
  color: var(--fnd-ink);
  font-size: 1.02rem;
}

.public-ecosystem-band,
.public-pathway-band,
.public-clinical-band,
.public-clinician-preview,
.public-section-grid,
.public-proof-grid {
  width: min(calc(100% - 2rem), 1240px);
  margin: clamp(2.5rem, 5vw, 4.5rem) auto 0;
}

.public-ecosystem-band,
.public-pathway-band,
.public-clinical-band,
.public-clinician-preview {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  background: var(--fnd-white);
  box-shadow: var(--fnd-shadow);
}

.public-ecosystem-band {
  background: linear-gradient(112deg, #f8fbff, #ffffff 54%, #fff1f7);
}

.public-ecosystem-copy h2,
.public-pathway-copy h2,
.public-clinical-copy h2,
.public-clinician-preview-copy h2 {
  max-width: 20ch;
  margin: 0.4rem 0 0;
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  line-height: 1.08;
}

.public-ecosystem-roles article,
.public-pathway-steps article,
.public-clinical-grid article,
.public-clinician-preview-table article,
.public-feature-card,
.public-proof-card {
  border: 1px solid var(--fnd-border) !important;
  border-radius: var(--fnd-radius) !important;
  background: var(--fnd-white) !important;
  box-shadow: none !important;
}

.public-footer {
  margin-top: 4rem;
  color: rgba(255, 255, 255, 0.78);
  background: var(--fnd-deep-navy) !important;
}

.public-footer-top,
.public-footer-base {
  border-color: rgba(255, 255, 255, 0.12);
}

.public-footer-wordmark {
  max-width: 264px;
  padding: 0.5rem;
  border-radius: var(--fnd-radius-sm);
  background: var(--fnd-white);
}

.public-footer a,
.public-footer-label,
.public-footer p,
.public-footer span {
  color: inherit;
}

/* Authenticated shell */
.care-shell {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 0;
  padding: 0;
  background: var(--fnd-page);
}

.app-authenticated .care-shell {
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 0 !important;
  padding: 0 !important;
  background: var(--fnd-page) !important;
}

.care-rail {
  position: static;
  z-index: 10;
  top: 0;
  display: flex;
  min-height: 100%;
  max-height: none;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.25rem 1rem;
  overflow: visible;
  border: 0 !important;
  border-right: 1px solid var(--fnd-border) !important;
  border-radius: 0 !important;
  color: var(--fnd-ink);
  background: var(--fnd-white) !important;
  box-shadow: none !important;
}

.app-authenticated .care-rail {
  top: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 1.25rem 1rem !important;
  border: 0 !important;
  border-right: 1px solid var(--fnd-border) !important;
  border-radius: 0 !important;
  background: var(--fnd-white) !important;
  box-shadow: none !important;
}

.care-rail::before {
  display: none !important;
}

.care-brand {
  display: block;
  padding: 0.35rem 0.4rem 1rem;
  border: 0 !important;
  border-bottom: 1px solid var(--fnd-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.care-brand-wordmark {
  display: block;
  width: 210px !important;
  max-width: 100%;
  height: auto;
}

.care-rail-section {
  display: grid;
  gap: 0.45rem;
}

.care-rail-label {
  padding: 0 0.7rem;
  color: var(--fnd-faint);
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.care-nav {
  display: grid;
  gap: 0.2rem;
}

.care-nav-link {
  display: grid;
  min-height: 46px !important;
  grid-template-columns: 30px minmax(0, 1fr) auto !important;
  align-items: center;
  gap: 0.65rem !important;
  padding: 0.4rem 0.7rem !important;
  border: 1px solid transparent !important;
  border-radius: var(--fnd-radius-sm) !important;
  color: var(--fnd-muted) !important;
  background: transparent !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.care-nav-link:hover {
  border-color: var(--fnd-border) !important;
  color: var(--fnd-navy) !important;
  background: var(--fnd-page) !important;
  transform: none !important;
}

.care-nav-link.is-active {
  border-color: #c9d8ea !important;
  color: var(--fnd-navy) !important;
  background: var(--fnd-blue-pale) !important;
  box-shadow: inset 3px 0 0 var(--fnd-magenta) !important;
}

.care-nav-icon,
.care-patient-icon {
  display: inline-flex;
  width: 30px !important;
  height: 30px !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 50% !important;
  color: var(--fnd-navy) !important;
  background: transparent !important;
}

.care-nav-link.is-active .care-nav-icon {
  color: var(--fnd-navy) !important;
  background: var(--fnd-white) !important;
}

.care-rail-footer {
  display: grid;
  gap: 0.65rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--fnd-border);
}

.care-patient-chip {
  padding: 0.65rem;
  border: 0 !important;
  border-radius: var(--fnd-radius-sm) !important;
  background: var(--fnd-page) !important;
}

.care-patient-chip strong {
  color: var(--fnd-ink);
  font-size: 0.8rem;
}

.care-patient-chip span:last-child {
  overflow: hidden;
  color: var(--fnd-muted);
  font-size: 0.68rem;
  text-overflow: ellipsis;
}

.care-signout {
  min-height: 42px;
  border-radius: var(--fnd-radius-sm) !important;
}

.care-main {
  min-width: 0;
  padding: 0 0 3rem;
}

.care-header {
  position: sticky;
  z-index: 9;
  top: 0;
  display: flex;
  min-height: 84px;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin: 0;
  padding: 0 2rem;
  border: 0 !important;
  border-bottom: 1px solid var(--fnd-border) !important;
  background: rgba(247, 249, 252, 0.94) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px);
}

.app-authenticated .care-header {
  position: sticky !important;
  top: 0 !important;
  display: flex !important;
  min-height: 84px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.5rem !important;
  margin: 0 !important;
  padding: 0 2rem !important;
  border: 0 !important;
  border-bottom: 1px solid var(--fnd-border) !important;
  background: rgba(247, 249, 252, 0.94) !important;
  box-shadow: none !important;
}

.care-header::after {
  display: none !important;
}

.care-header-main {
  min-width: 0;
}

.care-header-copy {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.app-authenticated .care-header-copy {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.care-header-label {
  display: none;
}

.care-header-title {
  display: block;
  margin: 0;
  color: var(--fnd-ink);
  font-size: 1.3rem;
  line-height: 1.2;
}

.care-header-summary {
  max-width: 66ch;
  margin: 0.15rem 0 0;
  color: var(--fnd-muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.care-header-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.65rem;
}

.care-header-meta,
.care-action-btn {
  min-height: 46px !important;
  padding: 0.5rem 0.85rem !important;
  border-radius: var(--fnd-radius-sm) !important;
  box-shadow: none !important;
}

.care-header-meta {
  display: grid;
  align-content: center;
  border: 1px solid var(--fnd-border) !important;
  background: var(--fnd-white) !important;
}

.app-authenticated .care-header-meta,
.app-authenticated .care-action-btn {
  min-height: 46px !important;
  padding: 0.5rem 0.85rem !important;
  border-radius: var(--fnd-radius-sm) !important;
  box-shadow: none !important;
}

.care-header-meta-label {
  color: var(--fnd-faint);
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
}

.care-header-meta strong {
  color: var(--fnd-ink);
  font-size: 0.78rem;
}

.care-content {
  display: grid;
  width: min(100%, var(--fnd-content));
  gap: 1.5rem;
  margin-inline: auto;
  padding: 2rem;
}

.care-footer {
  width: min(100%, var(--fnd-content));
  margin-inline: auto;
  padding: 0 2rem;
  color: var(--fnd-muted);
}

/* Authenticated page hierarchy */
.page-hero,
.workspace-hero {
  margin: 0;
}

.page-hero {
  padding: 1.65rem 0 1.25rem !important;
  border: 0 !important;
  border-bottom: 1px solid var(--fnd-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.workspace-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(380px, 0.65fr);
  gap: 0;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius-lg);
  overflow: hidden;
  background: var(--fnd-white);
  box-shadow: var(--fnd-shadow);
}

.workspace-hero-copy,
.workspace-hero-stats {
  padding: clamp(1.5rem, 2.6vw, 2.5rem) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--fnd-white) !important;
  box-shadow: none !important;
}

.app-authenticated .workspace-hero-copy,
.app-authenticated .workspace-hero-stats {
  padding: clamp(1.5rem, 2.6vw, 2.5rem) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--fnd-white) !important;
  box-shadow: none !important;
}

.workspace-hero-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-left: 1px solid var(--fnd-border) !important;
  background: #fbfcfe !important;
}

.workspace-hero-title,
.page-title {
  max-width: 18ch;
  margin: 0.5rem 0 0;
  color: var(--fnd-ink);
  font-size: clamp(2rem, 3.3vw, 3.3rem);
  line-height: 1.05;
}

.workspace-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.25rem;
}

.hero-tag,
.context-chip,
.soft-badge,
.table-tag,
.forecast-mini-chip,
.today-chip,
.meds-chip {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 0.35rem;
  padding: 0.38rem 0.65rem;
  border: 1px solid var(--fnd-border) !important;
  border-radius: 999px;
  color: var(--fnd-navy) !important;
  background: var(--fnd-blue-pale) !important;
  font-size: 0.74rem;
  font-weight: 800;
}

.hero-stat {
  display: grid;
  min-height: 0 !important;
  align-content: start;
  gap: 0.25rem;
  padding: 1rem !important;
  border: 0 !important;
  border-right: 1px solid var(--fnd-border) !important;
  border-bottom: 1px solid var(--fnd-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.hero-stat:nth-child(2n) {
  border-right: 0 !important;
}

.hero-stat:nth-last-child(-n + 2) {
  border-bottom: 0 !important;
}

.hero-stat span,
.signal-summary-card span,
.focus-item span,
.signal-tile span {
  color: var(--fnd-faint);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.hero-stat strong {
  color: var(--fnd-ink);
  font-size: clamp(1.25rem, 1.8vw, 1.65rem) !important;
  line-height: 1.15;
}

.hero-stat small {
  color: var(--fnd-muted);
  line-height: 1.45;
}

.workspace-grid,
.today-shell,
.meds-shell,
.content-grid,
.section-split,
.dashboard-grid {
  align-items: start;
}

.workspace-grid,
.today-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(310px, 0.7fr);
  gap: 1.5rem;
}

.workspace-main,
.workspace-side,
.today-main,
.today-side {
  display: grid;
  gap: 1.5rem;
}

.workspace-side .care-panel,
.today-side .care-panel {
  padding: 1.25rem;
  box-shadow: none !important;
}

.app-authenticated .care-panel,
.app-authenticated .surface-card,
.app-authenticated .today-page .today-action-card,
.app-authenticated .today-page .today-driver-card,
.app-authenticated .today-page .today-medication-card,
.app-authenticated .today-page .today-signal-card,
.app-authenticated .meds-page .meds-dose-card,
.app-authenticated .meds-page .meds-medication-card,
.app-authenticated .meds-page .meds-history-card {
  border-color: var(--fnd-border) !important;
  border-radius: var(--fnd-radius-lg) !important;
  background: var(--fnd-white) !important;
  box-shadow: var(--fnd-shadow) !important;
}

.app-authenticated .surface-card.dark {
  border-color: var(--fnd-navy) !important;
  color: var(--fnd-white) !important;
  background: var(--fnd-navy) !important;
}

.app-authenticated .surface-card.dark h1,
.app-authenticated .surface-card.dark h2,
.app-authenticated .surface-card.dark h3,
.app-authenticated .surface-card.dark h4,
.app-authenticated .surface-card.dark p,
.app-authenticated .surface-card.dark li,
.app-authenticated .surface-card.dark span,
.app-authenticated .surface-card.dark strong {
  color: inherit !important;
}

.app-authenticated .surface-card.dark .page-kicker {
  color: var(--fnd-white) !important;
  background: rgba(255, 255, 255, 0.12) !important;
}

.app-authenticated .surface-card.dark .professional-list i {
  color: #ff8abd !important;
}

.app-authenticated .surface-card.dark .page-note.note-inverse {
  border-color: rgba(255, 255, 255, 0.16) !important;
  color: rgba(255, 255, 255, 0.86) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.metric-card,
.signal-summary-card,
.signal-tile,
.focus-item,
.today-mini-metric,
.care-kpi-card {
  border: 0 !important;
  border-radius: var(--fnd-radius-sm) !important;
  background: var(--fnd-blue-pale) !important;
  box-shadow: none !important;
}

.care-table-shell,
.table-responsive,
.care-chart-shell,
.app-chart-shell {
  overflow: hidden;
  border: 1px solid var(--fnd-border) !important;
  border-radius: var(--fnd-radius) !important;
  background: var(--fnd-white) !important;
  box-shadow: none !important;
}

.table,
.care-table {
  margin-bottom: 0;
}

.table thead th,
.care-table thead th {
  border-color: var(--fnd-border);
  color: var(--fnd-navy);
  background: var(--fnd-blue-pale) !important;
  font-size: 0.75rem;
  text-transform: uppercase;
}

.table td,
.table th,
.care-table td,
.care-table th {
  border-color: #e8eef6;
}

/* Today */
.today-page {
  display: grid;
  gap: 1.5rem;
}

.today-page .today-support-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.today-page .today-support-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 0.45fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  color: var(--fnd-navy);
  background: var(--fnd-white);
  box-shadow: none;
}

.today-page .today-support-card span,
.today-page .today-action-icon,
.today-page .today-driver-icon,
.today-page .today-signal-icon {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--fnd-magenta);
  background: var(--fnd-pale);
}

.today-page .today-support-card small {
  color: var(--fnd-muted);
}

.today-page .today-actions-grid,
.today-page .today-driver-grid,
.today-page .today-medication-list,
.today-page .today-signal-grid,
.today-page .today-recent-list {
  display: grid;
  gap: 0.75rem;
}

.today-page .today-action-card,
.today-page .today-driver-card,
.today-page .today-medication-card,
.today-page .today-signal-card,
.today-page .today-recent-card,
.today-page .today-context-card {
  border: 1px solid var(--fnd-border) !important;
  border-radius: var(--fnd-radius) !important;
  color: var(--fnd-ink) !important;
  background: var(--fnd-white) !important;
  box-shadow: none !important;
}

.today-page .today-action-card {
  padding: 1rem !important;
}

.today-page .today-action-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}

.today-page .today-action-title {
  margin: 0;
  color: var(--fnd-ink) !important;
  font-size: 1rem;
  line-height: 1.35;
}

.today-page .today-action-detail {
  margin: 0.3rem 0 0;
  color: var(--fnd-muted) !important;
  font-size: 0.9rem;
  line-height: 1.5;
}

.today-page .today-action-priority {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center !important;
  min-height: 26px;
  padding: 0.25rem 0.55rem !important;
  border: 1px solid var(--fnd-border) !important;
  border-radius: 999px !important;
  color: var(--fnd-navy) !important;
  background: var(--fnd-blue-pale) !important;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1;
  text-transform: capitalize;
}

.today-page .today-action-priority.is-urgent {
  border-color: #efc4c4 !important;
  color: var(--fnd-danger) !important;
  background: var(--fnd-danger-bg) !important;
}

.today-page .today-action-priority.is-watch {
  border-color: #efd9b4 !important;
  color: var(--fnd-warning) !important;
  background: var(--fnd-warning-bg) !important;
}

.today-page .today-action-priority.is-support,
.today-page .today-action-priority.is-steady {
  border-color: #bfe2d4 !important;
  color: var(--fnd-success) !important;
  background: var(--fnd-success-bg) !important;
}

.today-page .today-action-link {
  display: inline-flex !important;
  width: fit-content !important;
  min-height: 38px;
  align-items: center !important;
  gap: 0.45rem !important;
  margin-top: 0.85rem !important;
  padding: 0.45rem 0.75rem !important;
  border: 1px solid var(--fnd-border-strong) !important;
  border-radius: var(--fnd-radius-sm) !important;
  color: var(--fnd-navy) !important;
  background: var(--fnd-white) !important;
  font-size: 0.82rem;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.today-page .today-action-link:hover,
.today-page .today-action-link:focus-visible {
  border-color: var(--fnd-navy) !important;
  color: var(--fnd-white) !important;
  background: var(--fnd-navy) !important;
}

.today-page .today-panel-accent {
  color: var(--fnd-ink) !important;
  background: var(--fnd-white) !important;
}

.today-page .today-panel-accent * {
  color: inherit;
}

.today-page .today-medication-metrics,
.meds-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

/* Forecast */
.forecast-layout,
.forecast-support-stack {
  display: grid;
  gap: 1.5rem;
  min-width: 0;
}

.forecast-board-panel {
  min-width: 0;
}

.forecast-support-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.forecast-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.25rem;
}

.forecast-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--fnd-muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.forecast-priority-queue,
.forecast-session-list,
.forecast-driver-grid,
.forecast-audit-list,
.forecast-medication-list {
  display: grid;
  gap: 0.8rem;
}

.forecast-priority-row,
.forecast-day-card,
.forecast-driver-card,
.forecast-audit-card,
.forecast-audit-row,
.forecast-medication-row,
.forecast-window-card {
  border: 1px solid var(--fnd-border) !important;
  border-radius: var(--fnd-radius) !important;
  background: var(--fnd-white) !important;
  box-shadow: none !important;
}

.forecast-day-card {
  min-width: 0;
  padding: 1.25rem !important;
}

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

.forecast-window-card {
  display: grid;
  align-content: start;
  gap: 0.45rem;
  min-height: 0 !important;
  min-width: 0;
  padding: 0.85rem 0.9rem !important;
  text-align: left;
  overflow: hidden;
}

.forecast-window-head {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.forecast-window-head span,
.forecast-window-head small,
.forecast-window-score,
.forecast-window-level {
  min-width: 0;
  overflow-wrap: anywhere;
}

.forecast-session-list,
.forecast-driver-grid,
.forecast-support-grid,
.forecast-support-grid > *,
.forecast-driver-card {
  min-width: 0;
}

.forecast-window-head span {
  color: var(--fnd-ink);
  font-size: clamp(0.9rem, 1.1vw, 1.02rem);
  font-weight: 800;
  line-height: 1.2;
}

.forecast-window-head small {
  color: var(--fnd-ink);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.25;
}

.forecast-window-score {
  color: var(--fnd-navy);
  font-size: clamp(1.55rem, 2.1vw, 1.95rem);
  font-weight: 900;
  line-height: 1;
}

.forecast-window-level {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  color: var(--fnd-muted);
  background: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
}

.forecast-window-card.is-low {
  border-color: #bfe6d7 !important;
  background: var(--fnd-success-bg) !important;
}

.forecast-window-card.is-medium {
  border-color: #f4d89f !important;
  background: var(--fnd-warning-bg) !important;
}

.forecast-window-card.is-high {
  border-color: #f0c2c2 !important;
  background: var(--fnd-danger-bg) !important;
}

.forecast-window-card.is-elapsed,
.forecast-window-card.is-empty {
  background: var(--fnd-page) !important;
}

.forecast-window-driver-chip {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--fnd-border);
  border-radius: 50%;
  color: var(--fnd-navy);
  background: var(--fnd-white);
}

.forecast-window-driver-chip span {
  display: none !important;
}

.forecast-pip-meter {
  display: inline-grid;
  grid-template-columns: repeat(10, 8px);
  gap: 4px;
  align-items: center;
}

.forecast-pip-meter > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #dce7f3;
}

.forecast-pip-meter.is-raising > span.is-filled {
  background: var(--fnd-danger);
}

.forecast-pip-meter.is-reducing > span.is-filled {
  background: var(--fnd-success);
}

.forecast-pip-meter:not(.is-raising):not(.is-reducing) > span.is-filled {
  background: var(--fnd-navy);
}

.forecast-detail-modal {
  background: rgba(0, 18, 42, 0.42) !important;
}

/* Medication and older dashboard pages */
.meds-page,
.review-pack-page {
  display: grid;
  gap: 1.5rem;
}

.meds-main-grid,
.meds-card-list,
.meds-insight-grid,
.meds-history-list {
  display: grid;
  gap: 0.8rem;
}

.meds-dose-card,
.meds-medication-card,
.meds-history-card,
.meds-empty,
.schedule-toggle-card {
  border: 1px solid var(--fnd-border) !important;
  border-radius: var(--fnd-radius) !important;
  background: var(--fnd-white) !important;
  box-shadow: none !important;
}

.meds-chip.is-taken {
  color: #1d6f52 !important;
  background: var(--fnd-success-bg) !important;
}

.meds-chip.is-overdue,
.meds-chip.is-missed {
  color: var(--fnd-danger) !important;
  background: var(--fnd-danger-bg) !important;
}

.meds-chip.is-due {
  color: var(--fnd-warning) !important;
  background: var(--fnd-warning-bg) !important;
}

/* Focused flows, forms and research */
.app-focused-flow .care-content {
  max-width: 1040px;
}

.auth-layout,
.setup-flow,
.consent-page,
.checkin-page,
.research-form-page {
  width: min(calc(100% - 2rem), 1180px);
  margin-inline: auto;
}

.auth-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 1.5rem;
  align-items: start;
  margin-top: 2rem;
}

.auth-panel,
.auth-aside {
  min-width: 0;
}

.auth-aside {
  display: grid;
  gap: 0.85rem;
}

.setup-card,
.consent-panel,
.checkin-card,
.research-form-card {
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius-lg);
  background: var(--fnd-white);
  box-shadow: var(--fnd-shadow);
}

.checkin-page {
  display: grid;
  gap: 1.25rem;
}

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

.checkin-heading h1 {
  margin: 0.35rem 0 0.3rem;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.06;
}

.checkin-heading p {
  margin: 0;
  color: var(--fnd-muted);
}

.checkin-card {
  display: grid;
  gap: 1.5rem;
  padding: clamp(1.15rem, 3vw, 2rem);
}

.checkin-page .setup-ranges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.checkin-page .setup-ranges label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.6rem;
  padding: 1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  color: var(--fnd-ink);
  background: var(--fnd-blue-pale);
  font-size: 0.84rem;
  font-weight: 800;
}

.checkin-page .setup-ranges strong {
  color: var(--fnd-navy);
  font-size: 1rem;
}

.checkin-page .setup-ranges input[type="range"] {
  grid-column: 1 / -1;
  width: 100%;
  accent-color: var(--fnd-navy);
}

.checkin-section {
  display: grid;
  gap: 0.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--fnd-border);
}

.checkin-section h2 {
  margin: 0;
  font-size: 1.25rem;
}

.checkin-page .choice-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.checkin-page .choice-pill {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 0.75rem;
  color: var(--fnd-navy);
  font-size: 0.86rem;
  font-weight: 700;
}

.checkin-page .choice-pill i {
  color: var(--fnd-faint);
}

.checkin-page .choice-pill.is-selected {
  color: var(--fnd-white);
  background: var(--fnd-navy) !important;
}

.checkin-page .choice-pill.is-selected i {
  color: var(--fnd-white);
}

.checkin-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.65rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--fnd-border);
}

.research-form-page {
  display: grid;
  gap: 1.25rem;
}

.research-form-heading {
  max-width: 900px;
}

.research-form-heading h1 {
  margin: 0.35rem 0 0.3rem;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.06;
}

.research-form-heading p {
  margin: 0;
  color: var(--fnd-muted);
}

.research-form-card {
  display: grid;
  gap: 1.5rem;
  padding: clamp(1.15rem, 3vw, 2rem);
}

.research-consent-strip {
  padding: 0;
}

.research-form-page .consent-requirement {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.8rem;
  padding: 1rem !important;
  background: var(--fnd-blue-pale) !important;
}

.research-form-page .consent-requirement input {
  width: 20px;
  height: 20px;
  margin-top: 0.1rem;
  accent-color: var(--fnd-navy);
}

.research-form-page .consent-requirement strong,
.research-form-page .consent-requirement small {
  display: block;
}

.research-form-page .consent-requirement small {
  margin-top: 0.2rem;
  color: var(--fnd-muted);
  line-height: 1.5;
}

.research-form-section {
  display: grid;
  gap: 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--fnd-border);
}

.research-form-section h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.6vw, 2rem);
}

.research-form-section > p {
  max-width: 820px;
  margin: -0.65rem 0 0;
  color: var(--fnd-muted);
}

.research-field-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
}

.research-field-grid label {
  display: grid;
  gap: 0.45rem;
  color: var(--fnd-ink);
  font-size: 0.82rem;
  font-weight: 800;
}

.research-category-accordion {
  display: grid;
  gap: 0.8rem;
}

.research-category-card {
  overflow: hidden;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  background: var(--fnd-white);
}

.research-category-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--fnd-border);
  background: var(--fnd-blue-pale);
}

.research-category-card > header strong,
.research-category-card > header span {
  display: block;
}

.research-category-card > header strong {
  color: var(--fnd-navy);
}

.research-category-card > header span {
  margin-top: 0.15rem;
  color: var(--fnd-muted);
  font-size: 0.82rem;
}

.research-category-card > header small {
  flex: 0 0 auto;
  padding: 0.25rem 0.5rem;
  border-radius: 999px;
  color: var(--fnd-magenta);
  background: var(--fnd-pale);
  font-size: 0.68rem;
  font-weight: 800;
}

.research-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  padding: 0.8rem;
}

.research-form-page .research-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.6rem;
  min-height: 52px;
  padding: 0.55rem 0.65rem;
  font-size: 0.82rem;
  font-weight: 700;
}

.research-form-page .research-option input {
  width: 18px;
  height: 18px;
  accent-color: var(--fnd-navy);
}

.research-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.65rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--fnd-border);
}

.choice-card,
.choice-pill,
.research-option,
.consent-requirement,
.setup-lookup-panel {
  border: 1px solid var(--fnd-border) !important;
  border-radius: var(--fnd-radius) !important;
  color: var(--fnd-ink);
  background: var(--fnd-white) !important;
  box-shadow: none !important;
}

.choice-card.is-selected,
.choice-pill.is-selected,
.research-option:has(input:checked) {
  border-color: var(--fnd-navy) !important;
  color: var(--fnd-navy);
  background: var(--fnd-blue-pale) !important;
}

.setup-progress {
  background: var(--fnd-border);
}

.setup-progress::after,
.app-progress-bar {
  background: var(--fnd-magenta) !important;
}

.research-hero,
.clinician-hero,
.trust-hero {
  border: 1px solid var(--fnd-border) !important;
  border-radius: var(--fnd-radius-lg) !important;
  background: linear-gradient(112deg, #f8fbff, #ffffff 54%, #fff1f7) !important;
  box-shadow: var(--fnd-shadow) !important;
}

/* Public research and legal pages */
.research-hero,
.research-story-card,
.research-grid,
.research-safety-note,
.legal-document {
  width: min(calc(100% - 2rem), 1240px);
  margin-inline: auto;
}

.research-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  margin-top: 2rem;
  padding: clamp(1.5rem, 4vw, 3.75rem);
}

.research-hero-copy {
  display: grid;
  min-width: 0;
  gap: 1rem;
}

.research-hero h1 {
  max-width: 19ch;
  margin: 0;
  color: var(--fnd-navy);
  font-size: clamp(2.35rem, 4.8vw, 4.5rem);
  line-height: 1.02;
}

.research-hero p,
.research-story-card > p,
.research-safety-note,
.research-panel p {
  color: var(--fnd-muted);
  line-height: 1.65;
}

.research-stat-card {
  display: grid;
  min-width: 0;
  gap: 0.75rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius-lg);
  background: var(--fnd-white);
  box-shadow: var(--fnd-shadow);
}

.research-stat-card span {
  color: var(--fnd-faint);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.research-stat-card strong {
  color: var(--fnd-navy);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: 1;
}

.research-stat-card p,
.research-story-card h2,
.research-story-card > p,
.research-panel h2,
.research-panel p {
  margin: 0;
}

.research-story-card {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius-lg);
  background: var(--fnd-white);
  box-shadow: var(--fnd-shadow);
}

.research-story-card h2,
.research-panel h2 {
  color: var(--fnd-navy);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.research-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.research-principles article {
  display: grid;
  min-width: 0;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 0.25rem 0.75rem;
  padding: 1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  background: var(--fnd-blue-pale);
}

.research-principles i {
  grid-row: 1 / 3;
  color: var(--fnd-magenta);
  font-size: 1.25rem;
}

.research-principles strong,
.research-category-list strong {
  color: var(--fnd-navy);
}

.research-principles span,
.research-category-list span {
  color: var(--fnd-muted);
  line-height: 1.5;
}

.research-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.research-panel {
  min-width: 0;
}

.research-bars,
.research-category-list {
  display: grid;
  gap: 0.8rem;
  margin-top: 1.25rem;
}

.research-bar-row {
  display: grid;
  gap: 0.4rem;
}

.research-bar-row > span {
  color: var(--fnd-ink);
  font-weight: 800;
}

.research-bar-row > div {
  position: relative;
  min-height: 38px;
  overflow: hidden;
  border-radius: var(--fnd-radius-sm);
  background: var(--fnd-blue-pale);
}

.research-bar-row i {
  position: absolute;
  inset: 0 auto 0 0;
  min-width: 6px;
  background: var(--fnd-navy);
}

.research-bar-row strong {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: flex-end;
  padding: 0.4rem 0.75rem;
  color: var(--fnd-navy);
}

.research-category-list > div {
  display: grid;
  gap: 0.2rem;
  padding: 0 0 0.8rem;
  border-bottom: 1px solid var(--fnd-border);
}

.research-category-list > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.research-empty {
  display: grid;
  gap: 0.65rem;
  margin-top: 1.25rem;
  padding: 1.25rem;
  border-radius: var(--fnd-radius);
  background: var(--fnd-blue-pale);
}

.research-safety-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.5rem 0.75rem;
  margin-top: 1.5rem;
  padding: 1.1rem 1.25rem;
  border: 1px solid #eed2df;
  border-radius: var(--fnd-radius);
  background: var(--fnd-pale);
}

.research-safety-note strong {
  color: var(--fnd-navy);
}

.legal-document {
  display: grid;
  gap: 1.25rem;
  margin-top: 2rem;
}

.legal-document-header,
.legal-document-body {
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius-lg);
  background: var(--fnd-white);
  box-shadow: var(--fnd-shadow);
}

.legal-document-header {
  display: grid;
  gap: 0.75rem;
  padding: clamp(1.5rem, 4vw, 3rem);
}

.legal-back-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.4rem;
  color: var(--fnd-magenta);
  font-weight: 800;
  text-decoration: none;
}

.legal-document-header h1,
.legal-document-header p,
.legal-document-header span,
.legal-section h2,
.legal-section p {
  margin: 0;
}

.legal-document-header h1 {
  color: var(--fnd-navy);
  font-size: clamp(2.4rem, 5vw, 4.25rem);
  line-height: 1.02;
}

.legal-document-header p,
.legal-document-header span,
.legal-section p,
.legal-section li {
  color: var(--fnd-muted);
  line-height: 1.65;
}

.legal-document-header span {
  font-size: 0.85rem;
  font-weight: 700;
}

.legal-document-body {
  padding: clamp(1.5rem, 4vw, 3rem);
}

.legal-section {
  display: grid;
  gap: 0.8rem;
  padding: 0 0 1.5rem;
  border-bottom: 1px solid var(--fnd-border);
}

.legal-section + .legal-section {
  padding-top: 1.5rem;
}

.legal-section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.legal-section h2 {
  color: var(--fnd-navy);
  font-size: clamp(1.4rem, 2.4vw, 2rem);
}

.legal-section ul {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding-left: 1.4rem;
}

/* Reconciled live templates and layout polish */
.page-kicker,
.care-panel-kicker,
.eyebrow {
  width: fit-content;
  max-width: 100%;
  padding: 0.34rem 0.58rem;
  border-radius: 999px;
  color: var(--fnd-navy) !important;
  background: var(--fnd-pale) !important;
  line-height: 1.25;
  white-space: normal;
}

.page-hero {
  display: grid;
  gap: 0.65rem;
  padding: 0 0 1.5rem !important;
}

.page-hero .page-title,
.page-hero .workspace-hero-title {
  margin-top: 0;
}

.page-hero .page-subtitle,
.page-hero .today-hero-subtitle {
  margin: 0;
  max-width: 78ch;
  color: var(--fnd-muted);
  line-height: 1.55;
}

.workspace-hero {
  grid-template-columns: minmax(0, 1.5fr) minmax(340px, 0.75fr);
}

.workspace-hero-copy,
.workspace-hero-stats,
.app-authenticated .workspace-hero-copy,
.app-authenticated .workspace-hero-stats {
  padding: clamp(1.35rem, 2vw, 2rem) !important;
}

.workspace-hero-copy {
  display: grid;
  align-content: center;
  gap: 0.75rem;
}

.workspace-hero-title,
.page-title {
  margin-top: 0;
  font-size: clamp(2rem, 3vw, 3rem);
}

.workspace-hero-text {
  margin-top: 0;
}

.workspace-hero-tags {
  margin-top: 0.25rem;
}

.today-page .today-support-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.today-page .today-support-card {
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-content: center;
}

.today-page .today-support-card small {
  grid-column: 2 / 3;
}

.hero-tag,
.context-chip,
.soft-badge,
.table-tag,
.forecast-mini-chip,
.today-chip,
.meds-chip {
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* New seizure log and structured form */
.log-mode-chooser {
  display: grid;
  gap: 1.15rem;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius-lg);
  background: var(--fnd-white);
  box-shadow: var(--fnd-shadow);
}

.log-mode-head {
  display: grid;
  gap: 0.35rem;
}

.log-mode-head h2,
.log-mode-head p {
  margin: 0;
}

.log-mode-head h2 {
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  line-height: 1.15;
}

.log-mode-sub,
.log-mode-note {
  color: var(--fnd-muted);
  line-height: 1.55;
}

.log-mode-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.log-mode-card {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.9rem;
  min-width: 0;
  min-height: 112px;
  padding: 1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  color: var(--fnd-ink);
  background: var(--fnd-white);
  text-align: left;
  box-shadow: none;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.log-mode-card:hover,
.log-mode-card:focus-visible {
  border-color: var(--fnd-navy);
  background: var(--fnd-blue-pale);
  transform: translateY(-1px);
}

.log-mode-icon,
.care-context-icon {
  display: inline-flex;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: var(--fnd-radius-sm);
  color: var(--fnd-navy);
  background: var(--fnd-blue-pale);
  font-size: 1.25rem;
}

.log-mode-body {
  display: grid;
  min-width: 0;
  gap: 0.2rem;
}

.log-mode-body strong {
  color: var(--fnd-navy);
  font-size: 1.05rem;
}

.log-mode-body span {
  color: var(--fnd-muted);
  line-height: 1.45;
}

.log-mode-arrow {
  color: var(--fnd-magenta);
}

.log-mode-note {
  margin: 0;
  padding-top: 0.9rem;
  border-top: 1px solid var(--fnd-border);
  font-size: 0.9rem;
}

.care-entry-section {
  display: grid;
  gap: 1rem;
}

.care-intake-shell {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
  gap: 1.25rem;
}

.care-intake-form,
.care-intake-sidebar,
.care-context-stack {
  display: grid;
  gap: 1rem;
}

.care-form-section,
.care-score-card,
.care-intake-sidebar .surface-card {
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius-lg);
  background: var(--fnd-white);
  box-shadow: var(--fnd-shadow);
}

.care-form-section-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.9rem;
  margin-bottom: 1.25rem;
}

.care-form-step {
  display: inline-flex;
  min-width: 76px;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 0.46rem 0.72rem;
  border-radius: 999px;
  color: var(--fnd-navy);
  background: var(--fnd-pale);
  font-family: inherit;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.care-form-section-head h3,
.care-form-section-head p {
  margin: 0;
}

.care-form-section-head h3 {
  font-size: 1.2rem;
}

.care-form-section-head p {
  margin-top: 0.25rem;
  color: var(--fnd-muted);
  line-height: 1.5;
}

.tag-pill-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tag-pill {
  min-height: 40px;
  padding: 0.5rem 0.72rem;
  border: 1px solid var(--fnd-border);
  border-radius: 999px;
  color: var(--fnd-navy);
  background: var(--fnd-white);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.3;
}

.tag-pill.is-selected,
.tag-pill.active,
.tag-pill[aria-pressed="true"] {
  color: var(--fnd-white);
  background: var(--fnd-navy);
  border-color: var(--fnd-navy);
}

.care-context-core {
  padding: 1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  background: var(--fnd-blue-pale);
}

.care-context-panel,
.app-disclosure {
  overflow: hidden;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  background: var(--fnd-white);
}

.care-context-panel > summary,
.app-disclosure > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem;
  cursor: pointer;
}

.care-context-panel > summary span strong,
.care-context-panel > summary span small {
  display: block;
}

.care-context-panel > summary span small {
  margin-top: 0.15rem;
  color: var(--fnd-muted);
  line-height: 1.45;
}

.care-context-body,
.app-disclosure-body {
  padding: 1rem;
  border-top: 1px solid var(--fnd-border);
}

.care-context-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.care-form-actions {
  padding-top: 0.25rem;
}

/* Tables and forecast detail */
.care-table-shell,
.table-responsive {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.care-table {
  min-width: 940px;
}

.care-table th,
.care-table td {
  padding: 0.85rem;
  vertical-align: middle;
}

.care-table th:nth-child(6),
.care-table td:nth-child(6) {
  min-width: 220px;
}

.context-chip-row,
.table-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.table-action-row {
  justify-content: flex-end;
}

.forecast-detail-modal .modal-dialog {
  width: min(94vw, 1040px);
  max-width: 1040px;
}

.forecast-detail-modal .care-modal-header,
.forecast-detail-modal .care-modal-body {
  padding: clamp(1rem, 2.2vw, 1.5rem);
}

.forecast-modal-kpis {
  gap: 0.7rem;
}

.forecast-explain-note {
  display: grid;
  gap: 0.25rem;
  margin: 1rem 0 0;
  padding: 0.9rem 1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  color: var(--fnd-muted);
  background: var(--fnd-blue-pale);
}

.forecast-explain-note strong {
  color: var(--fnd-navy);
}

.forecast-factor-row {
  grid-template-columns: auto minmax(0, 1fr) minmax(170px, 220px);
  gap: 0.9rem;
  padding: 1rem 0;
}

.forecast-factor-impact {
  display: grid;
  align-content: center;
  gap: 0.3rem;
  padding: 0.75rem;
  border: 1px solid var(--fnd-border);
  background: var(--fnd-white);
}

.forecast-factor-impact span,
.forecast-factor-impact strong {
  display: block;
  line-height: 1.3;
}

.forecast-factor-impact span {
  color: var(--fnd-muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.forecast-factor-impact.is-raising strong,
.forecast-factor-impact.is-raising span {
  color: var(--fnd-danger);
}

.forecast-factor-impact.is-reducing strong,
.forecast-factor-impact.is-reducing span {
  color: var(--fnd-success);
}

.forecast-day-card,
.forecast-window-card {
  min-width: 0;
}

.forecast-window-card strong,
.forecast-window-card span {
  overflow-wrap: normal;
}

/* Registration and setup */
.auth-panel form,
.auth-form-section {
  display: grid;
  gap: 1rem;
}

.auth-form-section {
  margin: 0;
  padding: 0 0 1.25rem;
  border: 0;
  border-bottom: 1px solid var(--fnd-border);
}

.auth-form-section legend {
  margin: 0;
  color: var(--fnd-navy);
  font-size: 1.1rem;
  font-weight: 800;
}

.auth-form-section > p {
  margin: -0.7rem 0 0;
  color: var(--fnd-muted);
  font-size: 0.88rem;
}

.register-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.auth-consent-box {
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  background: var(--fnd-page);
}

.auth-consent-box h2,
.auth-consent-box p {
  margin: 0;
}

.auth-consent-box h2 {
  color: var(--fnd-navy);
  font-size: 1.05rem;
}

.auth-consent-box p {
  color: var(--fnd-muted);
  font-size: 0.9rem;
}

.consent-check {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.75rem;
  padding: 0.85rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius-sm);
  background: var(--fnd-white);
  cursor: pointer;
}

.consent-check:has(input:checked) {
  border-color: rgba(6, 43, 95, 0.35);
  background: var(--fnd-blue-pale);
}

.consent-check input {
  width: 22px;
  height: 22px;
  margin-top: 0.1rem;
  accent-color: var(--fnd-navy);
}

.consent-check strong,
.consent-check small {
  display: block;
}

.consent-check strong {
  color: var(--fnd-navy);
}

.consent-check small {
  margin-top: 0.2rem;
  color: var(--fnd-muted);
  line-height: 1.5;
}

.auth-guided-next,
.auth-resource-link,
.setup-resource-link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  color: var(--fnd-navy);
  background: var(--fnd-blue-pale);
  text-decoration: none;
}

.auth-guided-next i,
.auth-resource-link i,
.setup-resource-link i {
  font-size: 1.15rem;
}

.auth-guided-next strong,
.auth-guided-next span,
.auth-resource-link strong,
.auth-resource-link small,
.setup-resource-link strong,
.setup-resource-link small {
  display: block;
}

.auth-guided-next span,
.auth-resource-link small,
.setup-resource-link small {
  margin-top: 0.15rem;
  color: var(--fnd-muted);
  line-height: 1.45;
}

.setup-flow {
  display: grid;
  gap: 0.75rem;
}

.setup-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.setup-expectation {
  display: grid;
  gap: 0.45rem;
  padding: 1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  background: var(--fnd-blue-pale);
}

.setup-expectation span {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.5rem;
  color: var(--fnd-muted);
}

.setup-expectation i {
  color: var(--fnd-success);
}

.setup-card {
  display: grid;
  gap: 1.25rem;
  padding: clamp(1.1rem, 3vw, 2rem);
}

.setup-step {
  display: none;
  gap: 1rem;
}

.setup-step.is-active {
  display: grid;
}

.setup-step h1,
.setup-step p {
  margin: 0;
}

.setup-step h1 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  line-height: 1.08;
}

.setup-lede {
  max-width: 70ch;
  color: var(--fnd-muted);
}

.setup-flow .choice-list,
.setup-flow .choice-grid {
  display: grid;
  gap: 0.75rem;
}

.setup-flow .choice-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.setup-flow .choice-card {
  display: grid;
  min-width: 0;
  min-height: 94px;
  gap: 0.3rem;
  align-content: start;
  padding: 1rem !important;
  text-align: left;
}

.setup-flow .choice-card strong,
.setup-flow .choice-card span {
  display: block;
  overflow-wrap: anywhere;
}

.setup-flow .choice-card strong {
  color: var(--fnd-navy);
  font-size: 1rem;
  line-height: 1.3;
}

.setup-flow .choice-card span {
  color: var(--fnd-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

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

.setup-flow .choice-pill {
  display: flex;
  min-width: 0;
  min-height: 54px;
  align-items: center;
  gap: 0.55rem;
  padding: 0.75rem 0.9rem !important;
  text-align: left;
  line-height: 1.35;
}

.setup-flow .choice-pill i {
  flex: 0 0 auto;
  color: var(--fnd-muted);
}

.setup-flow .choice-pill.is-selected i {
  color: var(--fnd-navy);
}

.setup-lookup-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.setup-lookup-panel {
  display: grid;
  min-width: 0;
  gap: 0.65rem;
  padding: 1rem !important;
  overflow: visible;
}

.setup-lookup-panel .form-label {
  margin: 0;
}

.setup-selection-list {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.setup-selection-list:empty {
  display: none;
}

.setup-selection-list .selection-chip {
  min-width: 0;
  margin: 0;
}

.selection-chip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius-sm);
  background: var(--fnd-blue-pale);
}

.selection-chip-stack {
  display: grid;
  min-width: 0;
  gap: 0.12rem;
}

.selection-chip-label,
.selection-chip-meta {
  display: block;
  overflow-wrap: anywhere;
}

.selection-chip-label {
  color: var(--fnd-navy);
  font-weight: 800;
}

.selection-chip-meta {
  color: var(--fnd-muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.selection-chip-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.35rem;
}

.selection-chip-edit,
.selection-chip-remove {
  min-height: 36px;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--fnd-border);
  border-radius: 7px;
  color: var(--fnd-navy);
  background: var(--fnd-white);
  font-weight: 800;
}

.selection-chip-remove {
  min-width: 36px;
  color: var(--fnd-danger);
}

.setup-research-categories {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-height: min(54vh, 620px);
  padding-right: 0.25rem;
  overflow-y: auto;
}

.setup-flow .consent-requirement {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.75rem;
  padding: 1rem !important;
  background: var(--fnd-blue-pale) !important;
}

.setup-flow .consent-requirement input {
  width: 20px;
  height: 20px;
  margin-top: 0.1rem;
  accent-color: var(--fnd-navy);
}

.setup-flow .consent-requirement strong,
.setup-flow .consent-requirement small {
  display: block;
}

.setup-flow .consent-requirement small {
  margin-top: 0.2rem;
  color: var(--fnd-muted);
  line-height: 1.45;
}

.app-authenticated .page-hero {
  gap: 0.85rem;
  padding: clamp(1.25rem, 2.4vw, 2rem) !important;
  border: 1px solid var(--fnd-border) !important;
  border-radius: var(--fnd-radius-lg) !important;
  background: var(--fnd-white) !important;
  box-shadow: var(--fnd-shadow) !important;
}

.app-authenticated .page-hero > * {
  min-width: 0;
}

.app-authenticated .page-hero .dashboard-grid {
  gap: clamp(1rem, 2.2vw, 2rem);
  align-items: center;
}

.app-authenticated .page-hero .surface-card {
  margin: 0;
}

.app-authenticated .page-hero .page-title,
.app-authenticated .today-brief-header .today-hero-date {
  max-width: 18ch;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.02;
}

.app-authenticated .page-hero,
.app-authenticated .workspace-hero,
.app-authenticated .care-panel,
.app-authenticated .surface-card,
.app-authenticated .app-disclosure,
.app-authenticated .hero-stat,
.app-authenticated .metric-card {
  min-width: 0;
}

.app-authenticated .hero-stat strong,
.app-authenticated .hero-stat small,
.app-authenticated .metric-card-value,
.app-authenticated .metric-card-label {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.meds-page .page-hero .dashboard-grid {
  grid-template-columns: minmax(0, 1fr) minmax(500px, 0.72fr);
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: center;
}

.meds-page .page-hero .surface-card {
  width: 100%;
}

.meds-page .metric-card {
  min-width: 0;
  padding: 0.85rem 0.55rem;
  text-align: center;
}

.meds-page .metric-card-value {
  font-size: clamp(1.55rem, 2vw, 2.25rem);
}

.meds-page .metric-card-label {
  justify-content: center;
  font-size: 0.66rem;
  line-height: 1.3;
}

.care-table-shell {
  overflow-x: auto;
}

.care-table {
  min-width: 860px;
}

.setup-research-category {
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  background: var(--fnd-white);
}

.setup-research-category > header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid var(--fnd-border);
  background: var(--fnd-blue-pale);
}

.setup-research-category header strong,
.setup-research-category header span {
  display: block;
}

.setup-research-category header span {
  margin-top: 0.15rem;
  color: var(--fnd-muted);
  font-size: 0.8rem;
}

.setup-research-category header small {
  color: var(--fnd-magenta);
  font-size: 0.7rem;
  font-weight: 800;
}

.setup-research-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  padding: 0.65rem;
}

.setup-research-options .research-option,
.research-form-page .research-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  min-height: 48px;
  padding: 0.65rem 0.75rem;
}

.setup-research-options input,
.research-form-page .research-option input {
  width: 18px;
  height: 18px;
  accent-color: var(--fnd-navy);
}

.setup-finish-note {
  display: grid;
  gap: 0.45rem;
  padding: 1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  color: var(--fnd-muted);
  background: var(--fnd-blue-pale);
}

.setup-finish-note strong {
  color: var(--fnd-navy);
}

.research-form-page .research-option {
  font-size: 0.84rem;
}

/* Period tracker density */
.period-tracker-page {
  gap: 1.25rem !important;
}

.period-tracker-hero {
  gap: 1.25rem !important;
  padding: clamp(1.25rem, 2vw, 1.75rem) !important;
}

.period-tracker-title {
  margin-top: 0.45rem !important;
  font-size: clamp(2rem, 3vw, 3rem) !important;
}

.period-command-panel {
  gap: 1rem !important;
  padding: clamp(1rem, 1.8vw, 1.35rem) !important;
}

.period-summary-strip {
  padding: 0 !important;
}

.modal-content {
  overflow: hidden;
}

.modal-header,
.modal-footer {
  border-color: var(--fnd-border);
  background: var(--fnd-white);
}

.care-mobile-dock {
  border: 1px solid var(--fnd-border) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 14px 34px rgba(0, 43, 95, 0.18) !important;
  backdrop-filter: blur(16px);
}

.care-mobile-dock-link {
  color: var(--fnd-muted) !important;
}

.care-mobile-dock-link.is-active {
  color: var(--fnd-magenta) !important;
  background: var(--fnd-pale) !important;
}

.care-menu-toggle {
  color: var(--fnd-white) !important;
  background: var(--fnd-navy) !important;
  border-color: var(--fnd-navy) !important;
}

/* Responsive */
@media (max-width: 1199.98px) {
  .care-shell {
    grid-template-columns: 244px minmax(0, 1fr);
  }

  .app-authenticated .care-shell {
    grid-template-columns: 244px minmax(0, 1fr) !important;
  }

  .care-content {
    padding: 1.5rem;
  }

  .workspace-hero,
  .workspace-grid,
  .today-shell,
  .workspace-grid-forecast {
    grid-template-columns: 1fr;
  }

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

  .workspace-hero-stats {
    border-top: 1px solid var(--fnd-border) !important;
    border-left: 0 !important;
  }

  .today-page .today-support-strip {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 991.98px) {
  .care-shell {
    display: block;
  }

  .app-authenticated .care-shell {
    display: block !important;
    padding: 0 !important;
  }

  .care-main {
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
  }

  .care-header {
    position: static;
    display: grid;
    min-height: auto;
    padding: 0.75rem 1rem 0;
    border-bottom: 0 !important;
    background: var(--fnd-page) !important;
  }

  .app-authenticated .care-header {
    position: static !important;
    display: grid !important;
    min-height: auto !important;
    padding: 0.75rem 1rem 0 !important;
    border-bottom: 0 !important;
    background: var(--fnd-page) !important;
  }

  .care-header-bar {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--fnd-border);
    border-radius: var(--fnd-radius);
    background: var(--fnd-white);
    box-shadow: var(--fnd-shadow);
  }

  .care-menu-toggle {
    position: absolute;
    left: 1.7rem;
    width: 42px;
    height: 42px;
    border-radius: var(--fnd-radius-sm);
  }

  .care-mobile-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
  }

  .care-mobile-mark {
    width: 38px;
    height: 38px;
  }

  .care-mobile-brand-copy {
    display: grid;
    line-height: 1.1;
  }

  .care-mobile-brand-copy strong {
    color: var(--fnd-navy);
    font-size: 0.9rem;
  }

  .care-mobile-brand-copy span {
    color: var(--fnd-muted);
    font-size: 0.68rem;
  }

  .care-header-copy,
  .care-header-actions {
    display: none;
  }

  .care-content {
    gap: 1rem;
    padding: 1rem;
  }

  .public-hero-grid,
  .public-ecosystem-band,
  .public-pathway-band,
  .public-clinical-band,
  .public-clinician-preview,
  .public-footer-top,
  .auth-layout,
  .research-hero,
  .research-grid,
  .research-principles,
  .forecast-support-grid,
  .clinician-hero,
  .trust-hero {
    grid-template-columns: 1fr !important;
  }

  .research-hero,
  .research-story-card,
  .research-grid,
  .research-safety-note,
  .legal-document {
    width: min(calc(100% - 1.25rem), 1240px);
  }

  .public-hero-grid {
    min-height: auto;
  }

  .care-intake-shell {
    grid-template-columns: 1fr;
  }

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

  .forecast-factor-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .forecast-factor-impact {
    grid-column: 2;
  }
}

@media (max-width: 767.98px) {
  .public-topbar-inner {
    display: block;
    padding: 0.45rem 0;
    text-align: center;
  }

  .public-topbar a {
    display: block;
  }

  .public-nav {
    min-height: 72px;
  }

  .public-brand-wordmark {
    width: 184px !important;
  }

  .public-nav-actions {
    display: grid;
    gap: 0.35rem;
    padding: 0.75rem 0 1rem;
  }

  .public-nav-link:not(.btn) {
    justify-content: flex-start;
    border: 0;
    border-radius: var(--fnd-radius-sm);
  }

  .public-nav-link:not(.btn).is-active {
    background: var(--fnd-blue-pale) !important;
  }

  .public-nav-toggle {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border: 1px solid var(--fnd-border) !important;
    border-radius: var(--fnd-radius-sm) !important;
    color: var(--fnd-navy) !important;
    background: var(--fnd-white) !important;
  }

  .public-nav-toggle i {
    font-size: 1.55rem;
    line-height: 1;
  }

  .register-profile-grid,
  .setup-flow .choice-list,
  .setup-flow .choice-grid,
  .setup-lookup-grid,
  .setup-research-options {
    grid-template-columns: 1fr;
  }

  .setup-card {
    padding: 1rem;
  }

  .setup-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

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

  .selection-chip {
    grid-template-columns: 1fr;
  }

  .selection-chip-actions {
    justify-content: flex-start;
  }

  .app-authenticated .page-hero {
    padding: 1rem !important;
  }

  .public-hero-grid {
    width: min(calc(100% - 1.25rem), 1240px);
    gap: 2rem;
    padding: 2rem 0;
  }

  .public-hero-copy h1 {
    max-width: none;
    font-size: clamp(2.1rem, 11vw, 3rem);
  }

  .public-hero-copy > p {
    font-size: 1rem;
  }

  .public-display-header {
    align-items: flex-start;
  }

  .public-display-status {
    display: none;
  }

  .public-ecosystem-band,
  .public-pathway-band,
  .public-clinical-band,
  .public-clinician-preview,
  .public-section-grid,
  .public-proof-grid {
    width: min(calc(100% - 1.25rem), 1240px);
  }

  .workspace-hero-copy,
  .workspace-hero-stats,
  .care-panel,
  .surface-card,
  .auth-panel,
  .auth-aside {
    padding: 1rem !important;
  }

  .page-hero {
    padding-bottom: 1rem !important;
  }

  .workspace-hero-title,
  .page-title {
    max-width: none;
    font-size: clamp(1.7rem, 8vw, 2.35rem);
  }

  .workspace-hero-stats,
  .today-page .today-medication-metrics,
  .meds-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .today-page .today-support-strip {
    grid-template-columns: 1fr;
  }

  .today-page .today-support-card {
    grid-template-columns: 42px minmax(0, 1fr) auto;
  }

  .today-page .today-support-card small {
    grid-column: 2 / 3;
  }

  .today-page .today-action-head {
    gap: 0.75rem !important;
  }

  .checkin-page .setup-ranges {
    grid-template-columns: 1fr;
  }

  .checkin-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

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

  .research-field-grid,
  .research-option-grid,
  .setup-research-options,
  .register-profile-grid,
  .care-context-grid {
    grid-template-columns: 1fr;
  }

  .research-category-card > header {
    display: grid;
  }

  .research-category-card > header small {
    width: fit-content;
  }

  .research-form-page .research-option {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .log-mode-options,
  .care-intake-sidebar {
    grid-template-columns: 1fr;
  }

  .log-mode-card {
    min-height: 96px;
  }

  .care-form-section-head {
    grid-template-columns: 1fr;
  }

  .care-form-step {
    min-width: 0;
    width: fit-content;
  }

  .care-context-panel > summary,
  .app-disclosure > summary {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

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

  .forecast-factor-icon,
  .forecast-factor-impact {
    grid-column: auto;
  }

  .forecast-factor-impact {
    width: 100%;
  }

  .research-form-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .research-form-actions .btn {
    width: 100%;
  }

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

  .page-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

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

  .care-footer {
    padding-inline: 1rem;
  }
}

@media (max-width: 420px) {
  .care-content {
    padding-inline: 0.75rem;
  }

  .care-header {
    padding-inline: 0.75rem;
  }

  .care-menu-toggle {
    left: 1.45rem;
  }

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

  .forecast-window-card {
    min-height: 112px !important;
    padding: 0.75rem !important;
  }
}

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

/* ============================================================
   Layout polish — keep content inside its container, tidy the
   authenticated cards so they match the public site's finish.
   Loaded last so these win the erp-theme / app-theme cascade.
   ============================================================ */

/* Long values, medication names and driver labels must wrap,
   never spill across neighbouring grid columns. */
.app-authenticated .workspace-hero-stats .hero-stat strong,
.app-authenticated .care-panel-title,
.today-page .today-driver-title,
.today-page .today-medication-title,
.today-page .today-action-title,
.today-page .today-mini-metric strong,
.today-page .today-mini-metric span,
.today-page .today-signal-value,
.forecast-window-head span,
.forecast-window-head small,
.forecast-day-card-copy strong {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* --- Today · medication mini-metrics (stack value over label) --- */
.today-page .today-mini-metric {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  gap: 0.15rem;
  padding: 0.7rem 0.85rem !important;
}

.today-page .today-mini-metric strong {
  color: var(--fnd-ink) !important;
  font-size: 1.3rem;
  font-weight: 800;
  line-height: 1.05;
}

.today-page .today-mini-metric span {
  color: var(--fnd-muted) !important;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none;
}

/* --- Today · driver card title and body --- */
.today-page .today-driver-title {
  margin: 0;
  font-size: 1rem !important;
  font-weight: 800;
  line-height: 1.3;
}

.today-page .today-driver-detail {
  margin: 0.25rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
}

/* --- Today · driver impact column (stack, fixed narrow width) --- */
.today-page .today-driver-impact {
  display: flex !important;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.22rem;
  width: max-content;
  min-width: 4.25rem;
  max-width: 7rem;
  text-align: right !important;
}

.today-page .today-driver-impact strong {
  font-size: 0.95rem;
  line-height: 1.1;
}

.today-page .today-driver-impact span {
  color: var(--fnd-muted);
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.2;
}

.today-page .today-driver-impact small {
  color: var(--fnd-faint);
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1.2;
}

/* --- Today · medication card head + title --- */
.today-page .today-medication-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.today-page .today-medication-title {
  margin: 0;
  font-size: 1rem !important;
  font-weight: 800;
  line-height: 1.3;
}

.today-page .today-medication-meta {
  margin-top: 0.2rem;
  font-size: 0.84rem;
  line-height: 1.4;
}

/* --- Signal-strength meters (were unstyled, rendered invisible) --- */
.today-strength-meter,
.forecast-strength-meter {
  display: inline-block;
  width: 72px;
  max-width: 100%;
  height: 6px;
  border-radius: 999px;
  background: #e3eaf3;
  overflow: hidden;
  vertical-align: middle;
}

.today-strength-meter > span,
.forecast-strength-meter > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--fnd-navy);
}

.today-strength-meter.is-raising > span,
.forecast-strength-meter.is-raising > span {
  background: var(--fnd-danger);
}

.today-strength-meter.is-reducing > span,
.forecast-strength-meter.is-reducing > span {
  background: var(--fnd-success);
}

/* Forecast "What's influencing risk" driver rows: label + meter inline. */
.forecast-driver-pip-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  color: var(--fnd-muted);
  font-size: 0.8rem;
}

/* --- Forecast hero stats: tidy, evenly spaced 2x2 cards --- */
.app-authenticated .workspace-hero-stats {
  gap: 0.6rem !important;
  align-content: start;
}

.app-authenticated .workspace-hero-stats .hero-stat {
  min-height: 0 !important;
  align-content: start;
  gap: 0.28rem !important;
  padding: 0.9rem 1rem !important;
}

.app-authenticated .workspace-hero-stats .hero-stat strong {
  font-size: clamp(1rem, 1.15vw, 1.2rem) !important;
  line-height: 1.2;
}

.app-authenticated .workspace-hero-stats .hero-stat small {
  font-size: 0.76rem;
  line-height: 1.4;
}

/* --- Forecast day/time buckets: compact driver dots --- */
.forecast-window-driver-row {
  gap: 6px;
}

.forecast-window-card .forecast-driver-dot {
  width: 26px;
  height: 26px;
  font-size: 0.74rem;
}

@media (max-width: 767.98px) {
  /* On a single-column driver card, read the strength block left-to-right. */
  .today-page .today-driver-impact {
    align-items: flex-start;
    width: 100%;
    max-width: none;
    text-align: left !important;
  }

  .today-page .today-driver-impact .today-strength-meter {
    margin-left: 0;
  }
}

/* ============================================================
   PIP Assist
   ============================================================ */
.pip-hero {
  display: grid;
  gap: 0.4rem;
}

.pip-hero .workspace-hero-title {
  max-width: 20ch;
}

.pip-hero-text {
  max-width: 70ch;
  margin: 0.35rem 0 0;
  color: var(--fnd-muted);
  line-height: 1.6;
}

.pip-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1.1rem;
}

.pip-hero-note {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  max-width: 80ch;
  margin-top: 1.1rem;
  padding: 0.85rem 1rem;
  border: 1px solid #efd9b4;
  border-radius: var(--fnd-radius);
  color: #7a5212;
  background: var(--fnd-warning-bg);
  font-size: 0.86rem;
  line-height: 1.5;
}

.pip-hero-note i {
  margin-top: 0.1rem;
  font-size: 1rem;
}

.pip-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.pip-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.pip-stat {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  background: var(--fnd-blue-pale);
}

.pip-stat strong {
  color: var(--fnd-navy);
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.pip-stat span {
  color: var(--fnd-ink);
  font-size: 0.82rem;
  font-weight: 700;
}

.pip-stat small {
  color: var(--fnd-muted);
  font-size: 0.74rem;
}

.pip-col-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--fnd-faint);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pip-impacts {
  display: grid;
  gap: 0.55rem;
  margin-top: 1.1rem;
}

.pip-impact-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.pip-impact-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.7rem;
  border: 1px solid #f0c2c2;
  border-radius: 999px;
  color: var(--fnd-danger);
  background: var(--fnd-danger-bg);
  font-size: 0.76rem;
  font-weight: 700;
}

.pip-report-form {
  display: grid;
  gap: 0.6rem;
}

.pip-report-form .form-label {
  margin: 0;
  color: var(--fnd-ink);
  font-size: 0.86rem;
  font-weight: 700;
}

.pip-report-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.pip-report-status {
  color: var(--fnd-muted);
  font-size: 0.84rem;
  font-weight: 600;
}

.pip-report-status.is-success {
  color: var(--fnd-success);
}

.pip-report-status.is-error {
  color: var(--fnd-danger);
}

.pip-saved {
  display: grid;
  gap: 0.6rem;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--fnd-border);
}

.pip-saved-list {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pip-saved-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  background: var(--fnd-white);
}

.pip-saved-item > div {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.pip-saved-item strong {
  color: var(--fnd-ink);
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.pip-saved-item span {
  color: var(--fnd-muted);
  font-size: 0.76rem;
}

.pip-saved-item.empty-item {
  display: block;
  color: var(--fnd-muted);
  font-size: 0.86rem;
}

/* --- Activities --- */
.pip-activities {
  display: grid;
  gap: 1.1rem;
}

.pip-group-head {
  display: grid;
  gap: 0.3rem;
  margin-top: 0.75rem;
}

.pip-group-title {
  margin: 0;
  color: var(--fnd-ink);
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  font-weight: 800;
  line-height: 1.1;
}

.pip-group-copy {
  max-width: 70ch;
  margin: 0;
  color: var(--fnd-muted);
  line-height: 1.55;
}

.pip-activity-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.pip-activity {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  padding: 1.15rem 1.25rem;
  border: 1px solid var(--fnd-border);
  border-left: 4px solid var(--fnd-border-strong);
  border-radius: var(--fnd-radius-lg);
  background: var(--fnd-white);
  box-shadow: var(--fnd-shadow);
}

.pip-activity.is-high {
  border-left-color: var(--fnd-magenta);
}

.pip-activity.is-moderate {
  border-left-color: var(--fnd-warning);
}

.pip-activity.is-none {
  border-left-color: var(--fnd-border-strong);
}

.pip-activity-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.pip-activity-headline {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.pip-activity-number {
  color: var(--fnd-faint);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pip-activity-title {
  margin: 0;
  color: var(--fnd-ink);
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.pip-activity-question {
  margin: 0;
  color: var(--fnd-magenta);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
}

.pip-relevance-chip {
  flex: 0 0 auto;
  max-width: 9rem;
  padding: 0.3rem 0.6rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.pip-relevance-chip.is-high {
  color: var(--fnd-danger);
  background: var(--fnd-danger-bg);
}

.pip-relevance-chip.is-moderate {
  color: var(--fnd-warning);
  background: var(--fnd-warning-bg);
}

.pip-relevance-chip.is-none {
  color: var(--fnd-muted);
  background: var(--fnd-blue-pale);
}

.pip-activity-why {
  margin: 0;
  color: var(--fnd-muted);
  font-size: 0.86rem;
  line-height: 1.5;
}

.pip-activity-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--fnd-border);
}

.pip-list {
  display: grid;
  gap: 0.35rem;
  margin: 0.4rem 0 0;
  padding-left: 1.1rem;
}

.pip-list li {
  color: var(--fnd-ink);
  font-size: 0.84rem;
  line-height: 1.45;
}

.pip-list-suggest li {
  color: var(--fnd-navy);
}

.pip-empty {
  margin: 0.4rem 0 0;
  color: var(--fnd-muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

@media (max-width: 1199.98px) {
  .pip-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .pip-activity-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .pip-activity-cols {
    grid-template-columns: 1fr;
  }

  .pip-activity-head {
    flex-direction: column;
  }

  .pip-relevance-chip {
    max-width: none;
  }
}

/* ============================================================
   AI Consultations (reviews & evidence) — calmer layout
   ============================================================ */
.aic-hero .workspace-hero-title {
  max-width: 22ch;
}

.aic-hero-text {
  max-width: 68ch;
  margin: 0.35rem 0 0;
  color: var(--fnd-muted);
  line-height: 1.6;
}

.aic-hero-link {
  text-decoration: none;
}

.aic-hero-link:hover,
.aic-hero-link:focus-visible {
  border-color: var(--fnd-magenta) !important;
  color: var(--fnd-magenta) !important;
}

.aic-layout {
  display: grid;
  gap: 1.5rem;
}

/* Self-contained form grid (the authenticated theme overrides Bootstrap's
   .row / .col grid, so we lay the fields out with our own grid). */
.aic-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.aic-field {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.aic-field-full {
  grid-column: 1 / -1;
}

.aic-form .form-label {
  margin: 0;
}

.aic-form .form-control,
.aic-form .form-select {
  display: block;
  width: 100%;
}

@media (max-width: 575.98px) {
  .aic-form-grid {
    grid-template-columns: 1fr;
  }
}

.aic-row {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
  gap: 1.5rem;
  align-items: start;
}

.aic-note {
  margin: 1rem 0 0;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  color: var(--fnd-muted);
  background: var(--fnd-blue-pale);
  font-size: 0.82rem;
  line-height: 1.5;
}

.aic-note strong {
  color: var(--fnd-ink);
}

.aic-output {
  min-height: 120px;
  margin-top: 1rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  color: var(--fnd-ink);
  background: var(--fnd-blue-pale);
  font-size: 0.92rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.aic-output-placeholder {
  color: var(--fnd-muted);
}

.aic-loading {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-top: 1rem;
  padding: 1rem 1.2rem;
  border: 1px solid var(--fnd-border);
  border-radius: var(--fnd-radius);
  background: var(--fnd-white);
}

.aic-spinner {
  width: 44px;
  height: 44px;
}

.aic-loading strong {
  display: block;
  color: var(--fnd-ink);
  font-size: 0.92rem;
}

.aic-loading span {
  color: var(--fnd-muted);
  font-size: 0.82rem;
}

@media (max-width: 991.98px) {
  .aic-row {
    grid-template-columns: 1fr;
  }
}
