/* ============================================================
   Seize Control by FND Connect
   Central brand system and final UI theme layer
   ============================================================ */

:root {
  --color-navy: #062B5F;
  --color-navy-dark: #031D42;
  --color-pink: #D41468;
  --color-pink-soft: #FCE6F0;
  --color-pink-light: #F8BBD4;
  --color-white: #FFFFFF;
  --color-off-white: #FAFBFD;
  --color-soft-blue: #EEF4FB;
  --color-text: #102A43;
  --color-muted: #607089;
  --color-border: #DDE6F0;
  --color-success: #2E9D74;
  --color-warning: #F2A93B;
  --color-danger: #D94A4A;

  --gradient-brand: linear-gradient(135deg, #062B5F 0%, #D41468 100%);
  --gradient-soft: linear-gradient(135deg, #FFFFFF 0%, #FCE6F0 100%);
  --gradient-card: linear-gradient(180deg, #FFFFFF 0%, #FAFBFD 100%);

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 32px;
  --shadow-soft: 0 8px 24px rgba(6, 43, 95, 0.08);
  --shadow-card: 0 12px 32px rgba(6, 43, 95, 0.12);
  --shadow-xs: 0 1px 2px rgba(6, 43, 95, 0.05);
  --shadow-sm: var(--shadow-soft);
  --shadow-md: var(--shadow-card);
  --shadow-lg: 0 18px 44px rgba(6, 43, 95, 0.14);

  --font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;

  /* Legacy aliases used throughout the existing app. */
  --bg: var(--color-off-white);
  --bg-deep: var(--color-soft-blue);
  --surface: var(--color-white);
  --surface-strong: var(--color-white);
  --surface-alt: var(--color-off-white);
  --surface-muted: var(--color-soft-blue);
  --surface-tint: var(--color-off-white);
  --ink: var(--color-text);
  --ink-soft: var(--color-muted);
  --ink-faint: #7A879A;
  --ink-disabled: #9BA9BA;
  --brand: var(--color-pink);
  --brand-deep: var(--color-navy);
  --brand-soft: var(--color-pink-soft);
  --accent: var(--color-pink-light);
  --success: var(--color-success);
  --warning: var(--color-warning);
  --danger: var(--color-danger);
  --line: var(--color-border);
  --line-strong: #CBD8E7;
  --border: var(--color-border);
  --border-strong: #CBD8E7;
  --border-focus: var(--color-pink);

  --nhs-navy: var(--color-navy);
  --nhs-navy-dark: var(--color-navy-dark);
  --nhs-navy-mid: #184575;
  --nhs-blue: var(--color-pink);
  --nhs-blue-light: var(--color-pink-light);
  --nhs-blue-pale: var(--color-pink-soft);
  --nhs-blue-bg: var(--color-pink-soft);
  --nhs-green: var(--color-success);
  --nhs-green-bg: #EAF7F1;
  --nhs-amber: var(--color-warning);
  --nhs-amber-bg: #FFF6E8;
  --nhs-red: var(--color-danger);
  --nhs-red-bg: #FDECEC;

  --care-bg: var(--color-off-white);
  --care-bg-strong: var(--color-soft-blue);
  --care-surface: var(--color-white);
  --care-surface-alt: var(--color-off-white);
  --care-surface-muted: var(--color-soft-blue);
  --care-ink: var(--color-text);
  --care-ink-soft: var(--color-muted);
  --care-ink-faint: #7A879A;
  --care-brand: var(--color-pink);
  --care-brand-deep: var(--color-navy);
  --care-brand-soft: var(--color-pink-soft);
  --care-rail: var(--color-navy);
  --care-rail-deep: var(--color-navy-dark);
  --care-border: var(--color-border);
  --care-border-strong: #CBD8E7;
  --care-success-bg: #EAF7F1;
  --care-success-text: var(--color-success);
  --care-warning-bg: #FFF6E8;
  --care-warning-text: #9A650B;
  --care-danger-bg: #FDECEC;
  --care-danger-text: #A83232;
  --care-shadow-sm: var(--shadow-soft);
  --care-shadow-md: var(--shadow-card);
  --care-radius-sm: var(--radius-sm);
  --care-radius-md: var(--radius-md);
  --care-radius-lg: var(--radius-lg);
  --care-mono: var(--font-mono);
  --care-sans: var(--font-sans);
}

html {
  background: var(--color-off-white);
}

body.app-body {
  min-height: 100vh;
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text);
  background: linear-gradient(180deg, #FFFFFF 0%, #FAFBFD 48%, #EEF4FB 100%) !important;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.section-heading,
.care-panel-title,
.care-header-title,
.workspace-hero-title,
.public-hero-copy h1 {
  font-family: var(--font-sans) !important;
  font-weight: 800;
  letter-spacing: 0 !important;
  color: var(--color-navy);
}

p,
li,
label,
input,
select,
textarea,
button,
small,
span,
a,
td,
th {
  font-family: var(--font-sans);
  letter-spacing: 0 !important;
}

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

a:hover {
  color: var(--color-pink);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(212, 20, 104, 0.38) !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(6, 43, 95, 0.10) !important;
}

::selection {
  background: var(--color-pink-soft);
  color: var(--color-navy-dark);
}

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

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

/* Buttons */
.btn {
  min-height: 48px;
  padding: 0.75rem 1.15rem;
  border-radius: 999px !important;
  border-width: 1px;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: normal;
  box-shadow: none;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.btn:hover {
  transform: translateY(-1px) !important;
}

.btn:active {
  transform: translateY(0) !important;
}

.btn:disabled,
.btn.disabled {
  opacity: 0.58;
  cursor: not-allowed;
  transform: none !important;
}

.btn-primary,
.care-action-btn-primary {
  background: var(--color-navy) !important;
  border-color: var(--color-navy) !important;
  color: var(--color-white) !important;
  box-shadow: 0 10px 22px rgba(6, 43, 95, 0.18) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.care-action-btn-primary:hover,
.care-action-btn-primary:focus {
  background: var(--color-navy-dark) !important;
  border-color: var(--color-navy-dark) !important;
  color: var(--color-white) !important;
}

.btn-outline-primary,
.panel-link,
.care-action-btn-secondary {
  background: var(--color-white) !important;
  border-color: rgba(6, 43, 95, 0.22) !important;
  color: var(--color-navy) !important;
}

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

.btn-outline-secondary,
.btn-light {
  background: var(--color-white) !important;
  border-color: var(--color-border) !important;
  color: var(--color-text) !important;
}

.btn-outline-secondary:hover,
.btn-light:hover {
  background: var(--color-off-white) !important;
  border-color: #CBD8E7 !important;
}

.btn-success {
  background: var(--color-success) !important;
  border-color: var(--color-success) !important;
  color: var(--color-white) !important;
}

.btn-warning {
  background: var(--color-warning) !important;
  border-color: var(--color-warning) !important;
  color: #3A2A08 !important;
}

.btn-danger {
  background: var(--color-danger) !important;
  border-color: var(--color-danger) !important;
  color: var(--color-white) !important;
}

.btn-outline-danger,
.care-signout {
  background: #FFF5F5 !important;
  border-color: #F4C7C7 !important;
  color: #A83232 !important;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.care-signout:hover,
.care-signout:focus {
  background: #FDECEC !important;
  border-color: var(--color-danger) !important;
  color: #8F2929 !important;
}

/* Forms */
.form-label {
  margin-bottom: 0.5rem;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 800;
}

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

.form-control::placeholder,
.awesomplete > input::placeholder {
  color: #8A97AA;
}

.form-control:focus,
.form-select:focus,
.choices.is-focused .choices__inner,
.awesomplete > input:focus {
  border-color: var(--color-pink) !important;
  box-shadow: 0 0 0 4px rgba(212, 20, 104, 0.12) !important;
}

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

.choices__list--multiple .choices__item,
.selection-chip,
.soft-badge,
.table-tag,
.context-chip,
.hero-tag,
.forecast-mini-chip {
  border-color: rgba(212, 20, 104, 0.18) !important;
  background: var(--color-pink-soft) !important;
  color: var(--color-navy) !important;
}

.choices[data-type*='select-multiple'] .choices__button {
  border-left-color: rgba(6, 43, 95, 0.16) !important;
}

/* Alerts and status */
.alert,
.page-note,
.care-empty-state,
.empty-state {
  border-radius: var(--radius-lg) !important;
}

.alert-info,
.page-note {
  background: var(--color-soft-blue) !important;
  border-color: #D7E5F3 !important;
  color: var(--color-navy) !important;
}

.alert-success {
  background: #EAF7F1 !important;
  border-color: #BCE7D7 !important;
  color: #1D6F52 !important;
}

.alert-warning {
  background: #FFF6E8 !important;
  border-color: #F8DCA3 !important;
  color: #76510D !important;
}

.alert-danger {
  background: #FDECEC !important;
  border-color: #F4C7C7 !important;
  color: #8F2929 !important;
}

/* Shared surfaces */
.care-panel,
.surface-card,
.warning-flag-card,
.auth-panel,
.auth-aside,
.feature-card,
.summary-card,
.subsection-card,
.workbench-panel,
.action-tile,
.trust-card,
.card,
.modal-content,
.public-hero-copy,
.public-display-board,
.public-feature-card,
.public-proof-card,
.workspace-hero-copy,
.workspace-hero-stats,
.hero-stat,
.signal-summary-card,
.focus-item,
.signal-tile,
.care-kpi-card,
.metric-card,
.care-summary-card,
.forecast-priority-card,
.forecast-priority-row,
.forecast-day-card,
.forecast-window-card,
.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,
.today-page .today-empty {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--gradient-card) !important;
  box-shadow: var(--shadow-soft) !important;
}

.care-panel,
.surface-card,
.card,
.public-hero-copy,
.public-display-board,
.workspace-hero-copy,
.workspace-hero-stats {
  position: relative;
  overflow: hidden;
}

.care-panel::before,
.surface-card::before,
.public-display-board::before,
.workspace-hero-copy::before,
.workspace-hero-stats::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--gradient-brand);
  opacity: 0.88;
}

.surface-card.dark,
.today-page .today-panel-accent {
  background: linear-gradient(135deg, var(--color-navy) 0%, var(--color-navy-dark) 100%) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  color: var(--color-white) !important;
}

.surface-card.dark *,
.today-page .today-panel-accent * {
  color: inherit !important;
}

.surface-card.dark .page-note,
.page-note.note-inverse {
  background: rgba(255, 255, 255, 0.10) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.92) !important;
}

.care-panel-kicker,
.page-kicker,
.eyebrow,
.public-badge,
.workbench-pill,
.care-summary-label,
.care-kpi-label,
.metric-card-label {
  border-radius: 999px !important;
  background: var(--color-pink-soft) !important;
  border: 1px solid rgba(212, 20, 104, 0.16) !important;
  color: var(--color-navy) !important;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0 !important;
  text-transform: none;
  width: fit-content;
  max-width: 100%;
  align-self: flex-start;
  justify-self: flex-start;
}

.care-panel-kicker i,
.page-kicker i,
.eyebrow i,
.public-badge i,
.professional-list i,
.info-list i,
.icons-row,
.care-empty-state i,
.empty-state i {
  color: var(--color-pink) !important;
}

.care-panel-copy,
.section-copy,
.page-subtitle,
.page-note,
.review-copy,
.consultation-bubble,
.auth-inline-link,
.workspace-hero-text,
.public-hero-copy p,
.public-feature-card p,
.public-proof-card p,
.care-kpi-note,
.hero-stat small,
.signal-tile small,
.forecast-mini-note {
  color: var(--color-muted) !important;
  line-height: 1.65;
}

.page-title,
.workspace-hero-title,
.care-header-title,
.public-hero-copy h1 {
  font-size: 2.35rem;
  line-height: 1.12;
}

.section-heading,
.care-panel-title {
  font-size: 1.55rem;
  line-height: 1.2;
}

.metric-card-value,
.care-kpi-value,
.hero-stat strong,
.signal-summary-card strong,
.focus-item strong,
.signal-tile strong,
.workbench-stat,
.driver-value,
.score {
  color: var(--color-navy) !important;
}

/* App shell and navigation */
.care-shell {
  grid-template-columns: 280px minmax(0, 1fr) !important;
  gap: 24px !important;
  padding: 24px !important;
}

.care-rail {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: var(--shadow-card) !important;
}

.care-brand {
  display: grid !important;
  gap: 10px !important;
  padding: 14px 14px 16px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-white) !important;
  color: var(--color-text) !important;
}

.care-brand-wordmark {
  width: min(100%, 220px) !important;
  height: auto !important;
  border-radius: 12px;
}

.care-brand-copy strong {
  color: var(--color-navy) !important;
  font-size: 1rem !important;
}

.care-brand-copy span {
  color: var(--color-muted) !important;
  font-size: 0.82rem !important;
  line-height: 1.45;
}

.care-rail-label {
  color: var(--color-muted) !important;
  font-size: 0.78rem !important;
  font-weight: 800;
  letter-spacing: 0 !important;
  text-transform: none;
}

.care-nav-link {
  min-height: 58px !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text) !important;
  background: transparent !important;
}

.care-nav-link:hover {
  background: var(--color-soft-blue) !important;
  border-color: #D7E5F3 !important;
  color: var(--color-navy) !important;
  transform: translateX(2px);
}

.care-nav-link.is-active {
  background: var(--color-pink-soft) !important;
  border-color: rgba(212, 20, 104, 0.24) !important;
  color: var(--color-navy) !important;
  box-shadow: none !important;
}

.care-nav-icon,
.care-patient-icon,
.forecast-driver-dot {
  background: var(--color-soft-blue) !important;
  border-color: #D7E5F3 !important;
  color: var(--color-navy) !important;
}

.care-nav-link.is-active .care-nav-icon {
  background: var(--color-white) !important;
  border-color: rgba(212, 20, 104, 0.28) !important;
  color: var(--color-pink) !important;
}

.care-nav-dot,
.status-dot {
  background: var(--color-pink) !important;
  box-shadow: 0 0 0 4px rgba(212, 20, 104, 0.18) !important;
}

.care-rail-card,
.care-patient-chip {
  background: var(--color-soft-blue) !important;
  border-color: #D7E5F3 !important;
  color: var(--color-text) !important;
}

.care-header {
  background: transparent !important;
  border: 0 !important;
}

.care-header-copy {
  border-radius: var(--radius-xl) !important;
  border: 1px solid var(--color-border) !important;
  background: var(--gradient-soft) !important;
  box-shadow: var(--shadow-soft) !important;
}

.care-header-label,
.public-display-header span,
.hero-stat span,
.signal-summary-card span,
.focus-item span,
.signal-tile span,
.forecast-day-card-copy span,
.forecast-priority-level,
.forecast-priority-rank {
  color: var(--color-muted) !important;
  font-size: 0.78rem !important;
  font-weight: 800;
  letter-spacing: 0 !important;
  text-transform: none;
}

.care-header-chip,
.care-header-meta,
.care-header-user,
.care-action-btn {
  border-radius: var(--radius-lg) !important;
  border-color: var(--color-border) !important;
  background: var(--color-white) !important;
  box-shadow: var(--shadow-soft) !important;
}

.care-header-actions .care-action-btn-primary,
.care-header-actions .btn-primary,
a.care-action-btn-primary {
  background: var(--color-navy) !important;
  border-color: var(--color-navy) !important;
  color: var(--color-white) !important;
}

.care-header-actions .care-action-btn-primary:hover,
.care-header-actions .btn-primary:hover,
a.care-action-btn-primary:hover {
  background: var(--color-navy-dark) !important;
  border-color: var(--color-navy-dark) !important;
}

.care-content {
  gap: 22px !important;
}

.care-footer {
  color: var(--color-muted);
}

.care-footer-copy {
  border-top: 1px solid var(--color-border);
  padding-top: 16px;
}

/* Public pages */
.public-shell {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid var(--color-border) !important;
  box-shadow: 0 8px 24px rgba(6, 43, 95, 0.06);
  backdrop-filter: blur(16px);
}

.public-nav {
  min-height: 96px !important;
  height: auto !important;
  padding: 12px 0;
}

.public-brand-wordmark {
  width: 236px !important;
  max-width: min(58vw, 236px) !important;
  height: auto !important;
  display: block;
  border-radius: 12px;
}

.public-brand-tagline {
  color: var(--color-muted) !important;
  border-left-color: var(--color-border) !important;
}

.public-nav-link {
  color: var(--color-navy) !important;
  font-weight: 800;
}

.public-nav-link:hover,
.public-nav-link.is-active {
  background: var(--color-pink-soft) !important;
  border-color: rgba(212, 20, 104, 0.18) !important;
  color: var(--color-navy) !important;
}

.public-nav-toggle .navbar-toggler-icon {
  filter: none;
}

.public-content {
  padding-top: 28px !important;
}

.public-hero-copy {
  background: var(--gradient-soft) !important;
}

.public-hero-copy h1 {
  max-width: 14ch !important;
}

.public-value-card,
.public-display-panel,
.public-signal-list li,
.public-record-mini div {
  border-color: var(--color-border) !important;
  background: var(--color-white) !important;
}

.public-display-panel {
  align-content: start;
  align-items: start;
  justify-items: stretch;
}

.public-display-panel .care-panel-kicker {
  justify-self: start;
}

.today-page .today-panel-accent .care-panel-kicker {
  background: var(--color-pink-soft) !important;
  border-color: rgba(212, 20, 104, 0.18) !important;
  color: var(--color-navy) !important;
}

.today-page .today-panel-accent .care-panel-kicker i {
  color: var(--color-pink) !important;
}

.today-page .today-panel-accent .today-action-card,
.today-page .today-panel-accent .today-action-card * {
  color: var(--color-text) !important;
}

.today-page .today-panel-accent .today-action-card .today-action-link {
  color: var(--color-navy) !important;
}

.today-page .today-panel-accent .today-empty {
  color: var(--color-text) !important;
}

.public-display-status {
  background: #EAF7F1 !important;
  border-color: #BCE7D7 !important;
  color: #1D6F52 !important;
}

.public-footer {
  background: linear-gradient(135deg, var(--color-navy) 0%, var(--color-navy-dark) 100%) !important;
}

.public-footer-wordmark {
  width: 280px !important;
  max-width: 100%;
  border-radius: 14px;
  background: var(--color-white);
}

.public-footer-brand p,
.public-footer-links a,
.public-footer-base {
  color: rgba(255, 255, 255, 0.78) !important;
}

.public-footer-label {
  color: rgba(255, 255, 255, 0.62) !important;
}

.public-footer-links a:hover {
  color: var(--color-white) !important;
}

/* Dashboard and data UI */
.workspace-hero {
  gap: 20px !important;
}

.workspace-hero-copy {
  background: var(--gradient-soft) !important;
}

.workspace-hero-tags {
  gap: 10px;
}

.hero-stat,
.signal-summary-card,
.focus-item,
.signal-tile,
.care-band-card,
.care-priority-item,
.care-timeline-body,
.forecast-driver-card,
.forecast-audit-card,
.forecast-audit-row,
.forecast-medication-row {
  background: var(--color-white) !important;
  border-color: var(--color-border) !important;
}

.care-chart-shell,
.app-chart-shell,
.care-table-shell,
.table-responsive {
  border-color: var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-white) !important;
  box-shadow: var(--shadow-soft);
}

.care-table thead th,
.table thead th {
  background: var(--color-soft-blue) !important;
  color: var(--color-navy) !important;
  border-color: var(--color-border) !important;
  font-size: 0.78rem;
  letter-spacing: 0 !important;
  text-transform: none;
}

.care-table tbody td,
.table tbody td,
.table td,
.table th {
  border-color: #E8EEF6 !important;
  color: var(--color-text);
}

.care-table tbody tr:hover td,
.table-hover tbody tr:hover td {
  background: var(--color-off-white) !important;
}

.severity-pill {
  background: var(--color-soft-blue) !important;
  border-color: #D7E5F3 !important;
  color: var(--color-navy) !important;
}

.care-timeline-line::before {
  background: var(--color-border) !important;
}

.care-timeline-line::after {
  background: var(--color-pink) !important;
}

.warning-flag-card::before,
.app-progress-bar,
.workbench-bars span {
  background: var(--gradient-brand) !important;
}

.forecast-priority-row.is-low .forecast-priority-level,
.forecast-priority-card.is-low .forecast-priority-rank,
.forecast-day-card-summary.is-low,
.forecast-window-card.is-low {
  background: #EAF7F1 !important;
  border-color: #BCE7D7 !important;
  color: #1D6F52 !important;
}

.forecast-priority-row.is-medium .forecast-priority-level,
.forecast-priority-card.is-medium .forecast-priority-rank,
.forecast-day-card-summary.is-medium,
.forecast-window-card.is-medium {
  background: #FFF6E8 !important;
  border-color: #F8DCA3 !important;
  color: #76510D !important;
}

.forecast-priority-row.is-high .forecast-priority-level,
.forecast-priority-card.is-high .forecast-priority-rank,
.forecast-day-card-summary.is-high,
.forecast-window-card.is-high {
  background: #FDECEC !important;
  border-color: #F4C7C7 !important;
  color: #8F2929 !important;
}

.forecast-window-card.is-elapsed,
.forecast-window-card.is-empty {
  background: var(--color-off-white) !important;
  border-style: dashed !important;
}

/* Today page local style overrides */
.today-page .workspace-hero-today::before {
  background: linear-gradient(135deg, rgba(6, 43, 95, 0.08), rgba(212, 20, 104, 0.10)) !important;
}

.today-page .today-action-card {
  color: var(--color-text) !important;
}

.today-page .today-action-card.is-support,
.today-page .today-chip.is-support,
.today-page .today-action-priority.is-support {
  background: var(--color-pink-soft) !important;
  color: var(--color-navy) !important;
}

.today-page .today-action-card.is-watch,
.today-page .today-chip.is-watch,
.today-page .today-action-priority.is-watch {
  background: #FFF6E8 !important;
  color: #76510D !important;
}

.today-page .today-action-card.is-urgent,
.today-page .today-chip.is-urgent,
.today-page .today-action-priority.is-urgent {
  background: #FDECEC !important;
  color: #8F2929 !important;
}

.today-page .today-action-card .today-action-icon,
.today-page .today-driver-icon,
.today-page .today-signal-icon,
.auth-icon,
.empty-state i {
  background: var(--color-pink-soft) !important;
  color: var(--color-pink) !important;
  border-color: rgba(212, 20, 104, 0.16) !important;
}

.today-page .today-action-link,
.today-page .today-hero-link {
  color: var(--color-navy) !important;
}

/* Medication page local styles */
.meds-page .meds-dose-card,
.meds-page .meds-medication-card,
.meds-page .meds-history-card,
.meds-page .meds-empty,
.meds-page .schedule-toggle-card {
  border-color: var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--gradient-card) !important;
  box-shadow: var(--shadow-soft) !important;
}

.meds-page .meds-dose-line,
.meds-page .meds-time-pill,
.meds-page .meds-inline-stat .surface-note {
  background: var(--color-soft-blue) !important;
  border-color: #D7E5F3 !important;
}

.meds-page .meds-chip {
  background: var(--color-pink-soft) !important;
  color: var(--color-navy) !important;
}

.meds-page .meds-chip.is-due {
  background: #FFF6E8 !important;
  color: #76510D !important;
}

.meds-page .meds-chip.is-overdue,
.meds-page .meds-chip.is-missed {
  background: #FDECEC !important;
  color: #8F2929 !important;
}

.meds-page .meds-chip.is-taken {
  background: #EAF7F1 !important;
  color: #1D6F52 !important;
}

.meds-page .meds-dose-line-title,
.meds-page .meds-learning-score,
.meds-page .weekday-toggle.is-active {
  color: var(--color-navy) !important;
}

.meds-page .weekday-toggle.is-active {
  background: var(--color-pink-soft) !important;
  border-color: rgba(212, 20, 104, 0.24) !important;
}

/* Mobile shell */
.care-mobile-offcanvas {
  background: var(--color-off-white) !important;
  color: var(--color-text) !important;
}

.care-offcanvas-label,
.care-offcanvas-title {
  color: var(--color-navy) !important;
}

.care-mobile-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 54px !important;
  padding: 7px 12px !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  background: var(--color-white) !important;
  box-shadow: var(--shadow-soft) !important;
}

.care-mobile-mark {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  object-fit: cover;
}

.care-mobile-brand-copy {
  display: grid;
  gap: 0;
  line-height: 1.05;
  text-align: left;
}

.care-mobile-brand-copy strong {
  color: var(--color-navy);
  font-size: 0.94rem;
  font-weight: 800;
}

.care-mobile-brand-copy span {
  color: var(--color-muted);
  font-size: 0.72rem;
  font-weight: 700;
}

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

.care-mobile-dock {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid var(--color-border) !important;
  box-shadow: 0 12px 30px rgba(6, 43, 95, 0.16) !important;
  backdrop-filter: blur(18px);
}

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

.care-mobile-dock-link.is-active {
  background: var(--color-pink-soft) !important;
  color: var(--color-navy) !important;
  border: 1px solid rgba(212, 20, 104, 0.16) !important;
}

.care-mobile-dock-link i {
  color: inherit !important;
}

.pwa-assistant-card,
.pwa-guide-modal {
  border-color: var(--color-border) !important;
  background: var(--gradient-card) !important;
  box-shadow: var(--shadow-card) !important;
}

.pwa-assistant-icon {
  background: var(--color-pink-soft) !important;
  color: var(--color-pink) !important;
}

@media (max-width: 1279.98px) {
  .care-shell {
    grid-template-columns: 240px minmax(0, 1fr) !important;
  }
}

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

  .care-main {
    padding: 12px 16px calc(110px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .public-nav {
    min-height: 82px !important;
  }

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

  .auth-layout,
  .public-hero-grid,
  .public-display-grid,
  .public-section-grid,
  .public-proof-grid,
  .public-footer-top,
  .workspace-hero,
  .workspace-grid,
  .today-page .today-shell {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767.98px) {
  body.app-body {
    font-size: 16px;
  }

  .page-title,
  .workspace-hero-title,
  .care-header-title,
  .public-hero-copy h1 {
    font-size: 1.85rem !important;
    line-height: 1.16 !important;
  }

  .section-heading,
  .care-panel-title {
    font-size: 1.32rem !important;
    line-height: 1.24 !important;
  }

  .public-content {
    padding: 20px 16px 56px !important;
  }

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

  .public-nav-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 8px !important;
  }

  .care-header-bar {
    border-color: var(--color-border) !important;
    background: var(--color-white) !important;
    box-shadow: var(--shadow-soft) !important;
  }

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

  .workspace-hero-copy,
  .workspace-hero-stats,
  .care-panel,
  .surface-card,
  .warning-flag-card,
  .auth-panel,
  .auth-aside,
  .care-form-section,
  .public-hero-copy,
  .public-display-board {
    padding: 18px !important;
    border-radius: var(--radius-lg) !important;
  }

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

  .btn {
    width: 100%;
    min-height: 50px;
  }

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

@media (max-width: 575.98px) {
  .care-main {
    padding-inline: 12px !important;
  }

  .care-mobile-brand-copy strong {
    font-size: 0.86rem;
  }

  .care-mobile-brand-copy span {
    font-size: 0.66rem;
  }

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

  .care-mobile-dock {
    left: 12px !important;
    right: 12px !important;
  }
}

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