:root {
  --navy-950: #0c1e2c;
  --navy-900: #102b3e;
  --navy-800: #183c52;
  --navy-700: #2b5569;
  --ink: #193342;
  --muted: #6d818b;
  --muted-2: #9badb5;
  --line: #e5ebe8;
  --line-dark: #cad8d6;
  --canvas: #f6f8f6;
  --white: #ffffff;
  --teal: #137a75;
  --teal-2: #1b9184;
  --teal-soft: #e3f2ef;
  --gold: #ba7a25;
  --gold-soft: #fff2d9;
  --purple: #765ca6;
  --purple-soft: #eee9f8;
  --blue: #417699;
  --blue-soft: #e8f1f7;
  --rose: #a04d5c;
  --rose-soft: #f9e9eb;
  --shadow: 0 12px 34px rgba(23, 51, 66, 0.06);
  --shadow-lg: 0 22px 70px rgba(23, 51, 66, 0.18);
  --radius-sm: 9px;
  --radius: 16px;
  --radius-lg: 22px;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--canvas);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: system-ui, -apple-system, 'Segoe UI', 'Noto Sans Bengali', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

html[lang='bn'] body,
html[lang='bn'] input,
html[lang='bn'] select,
html[lang='bn'] textarea,
html[lang='bn'] button {
  font-family: 'Noto Sans Bengali', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(27, 145, 132, 0.34);
  outline-offset: 3px;
}

.icon {
  flex: 0 0 auto;
}

.app-shell {
  min-height: 100vh;
  display: flex;
}

.sidebar {
  width: 254px;
  min-height: 100vh;
  padding: 28px 18px 20px;
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  color: #e9f5f1;
  background: var(--navy-900);
  overflow-y: auto;
}

.brand-lockup {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 9px 28px;
}

.brand-mark {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
  position: relative;
}

.brand-mark::before {
  content: '';
  position: absolute;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(211, 239, 232, 0.34);
  border-radius: 50% 50% 48% 48%;
  transform: rotate(-37deg);
  top: 2px;
  left: 1px;
}

.brand-mark span {
  display: block;
  width: 5px;
  background: #9de0d4;
  border-radius: 8px 8px 2px 2px;
  z-index: 1;
}

.brand-mark span:nth-child(1) { height: 15px; }
.brand-mark span:nth-child(2) { height: 24px; background: #e8bc6b; }
.brand-mark span:nth-child(3) { height: 10px; }

.brand-name {
  color: #f7fbfa;
  font-size: 17px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.brand-name span {
  color: #9de0d4;
}

.brand-tag {
  color: #91abb6;
  margin-top: 4px;
  font-size: 10px;
  letter-spacing: 0.04em;
}

.sidebar-divider {
  height: 1px;
  background: rgba(213, 237, 231, 0.12);
  margin: 0 8px 23px;
}

.nav-label {
  margin: 0 11px 9px;
  color: #6f919e;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.nav-label-spaced {
  margin-top: 26px;
}

.side-nav {
  display: grid;
  gap: 3px;
}

.side-nav-item {
  min-height: 44px;
  width: 100%;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  border-radius: 10px;
  color: #9db5be;
  background: transparent;
  font-size: 13px;
  font-weight: 500;
  text-align: left;
  transition: 160ms ease;
}

.side-nav-item:hover {
  color: #eaf7f3;
  background: rgba(255, 255, 255, 0.055);
}

.side-nav-item.active {
  color: #effbf8;
  background: rgba(113, 209, 193, 0.14);
  box-shadow: inset 3px 0 0 #8de0d1;
}

.side-nav-item.active .icon {
  color: #99e0d3;
}

.nav-dot {
  width: 6px;
  height: 6px;
  margin-left: auto;
  border-radius: 50%;
  background: #e7b762;
}

.sidebar-bottom {
  margin-top: auto;
  display: grid;
  gap: 16px;
}

.sidebar-help {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  padding: 13px 11px;
  border: 1px solid rgba(162, 224, 211, 0.15);
  border-radius: 12px;
  color: #b8d7d1;
  background: rgba(120, 202, 186, 0.07);
}

.sidebar-help .icon {
  color: #a0dfd2;
  margin-top: 2px;
}

.sidebar-help strong,
.sidebar-help span {
  display: block;
}

.sidebar-help strong {
  font-size: 11px;
  font-weight: 600;
}

.sidebar-help span {
  margin-top: 4px;
  color: #7fa3ae;
  font-size: 10px;
  line-height: 1.35;
}

.profile-switcher {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 7px;
  border: 0;
  border-top: 1px solid rgba(213, 237, 231, 0.12);
  color: #effbf8;
  background: transparent;
  text-align: left;
}

.profile-switcher > .icon {
  margin-left: auto;
  color: #83a7af;
}

.avatar,
.identity-avatar,
.document-avatar {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: #1b5559;
  background: #d6ede7;
  font-weight: 700;
  letter-spacing: -0.04em;
}

.avatar {
  width: 31px;
  height: 31px;
  font-size: 10px;
}

.profile-switcher-copy strong,
.profile-switcher-copy small {
  display: block;
}

.profile-switcher-copy strong {
  font-size: 11px;
}

.profile-switcher-copy small {
  margin-top: 2px;
  color: #80a0aa;
  font-size: 10px;
}

.main-shell {
  width: calc(100% - 254px);
  min-width: 0;
  margin-left: 254px;
}

.topbar {
  height: 72px;
  padding: 0 46px 0 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.84);
  backdrop-filter: blur(16px);
}

.topbar-left,
.topbar-actions,
.breadcrumb,
.sync-status,
.language-switch {
  display: flex;
  align-items: center;
}

.breadcrumb {
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
}

.breadcrumb strong {
  color: var(--ink);
  font-weight: 600;
}

.breadcrumb-muted {
  color: #9aaab0;
}

.topbar-actions {
  gap: 20px;
}

.sync-status {
  gap: 6px;
  color: var(--teal);
  font-size: 11px;
  font-weight: 600;
}

.sync-status .icon {
  color: #58a59a;
}

.language-switch {
  gap: 6px;
  padding: 8px 9px;
  border: 0;
  color: var(--navy-800);
  background: transparent;
  font-size: 12px;
  font-weight: 600;
}

.language-switch:hover {
  color: var(--teal);
}

.button-icon {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 9px;
  color: var(--muted);
  background: transparent;
}

.button-icon:hover {
  color: var(--navy-800);
  background: #edf3f1;
}

.notification-button {
  position: relative;
}

.notification-dot {
  width: 6px;
  height: 6px;
  position: absolute;
  top: 7px;
  right: 7px;
  border: 1px solid var(--white);
  border-radius: 50%;
  background: var(--gold);
}

.mobile-menu {
  display: none;
}

.demo-banner {
  min-height: 42px;
  padding: 7px 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #5c4b2a;
  background: #fff4dd;
  border-bottom: 1px solid #f3dfb9;
}

.demo-banner-main,
.demo-banner-actions,
.demo-banner-main > *,
.demo-banner-actions > * {
  display: inline-flex;
  align-items: center;
}

.demo-banner-main {
  gap: 9px;
}

.demo-banner-main .icon {
  color: #ae792a;
}

.demo-banner-main strong {
  font-size: 10px;
  letter-spacing: 0.08em;
}

.demo-banner-main span {
  padding-left: 2px;
  color: #997c49;
  font-size: 11px;
}

.demo-banner-actions {
  gap: 15px;
}

.demo-chip {
  color: #9a7b45;
  font-family: 'DM Mono', monospace;
  font-size: 10px;
}

.demo-banner-actions button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 7px;
  border: 0;
  border-radius: 6px;
  color: #8d6a32;
  background: transparent;
  font-size: 11px;
}

.demo-banner-actions button:hover {
  background: rgba(174, 121, 42, 0.1);
}

.content-wrap {
  max-width: 1500px;
  padding: 47px 52px 80px;
  margin: 0 auto;
}

.page {
  animation: page-in 230ms ease-out;
}

@keyframes page-in {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

.section-heading,
.welcome-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 34px;
}

.section-heading h1,
.welcome-row h1 {
  margin: 7px 0 0;
  color: var(--navy-900);
  font-size: clamp(30px, 3vw, 43px);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.1;
}

.welcome-row h1 {
  font-size: 38px;
}

.eyebrow {
  margin: 0;
  color: #77a29f;
  font-family: 'DM Mono', 'Noto Sans Bengali', monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.lede {
  max-width: 650px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.heading-actions,
.welcome-actions,
.hero-actions,
.card-actions,
.action-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.button {
  min-height: 39px;
  padding: 0 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  transition: 150ms ease;
}

.button-primary {
  color: #f2fbf8;
  border-color: var(--teal);
  background: var(--teal);
  box-shadow: 0 6px 15px rgba(19, 122, 117, 0.18);
}

.button-primary:hover {
  background: #0f6965;
  transform: translateY(-1px);
}

.button-secondary {
  color: var(--navy-800);
  border-color: #d7e2df;
  background: var(--white);
}

.button-secondary:hover {
  border-color: #aec9c3;
  background: #f6fbf9;
}

.button-ghost {
  color: var(--teal);
  border-color: transparent;
  background: transparent;
}

.button-ghost:hover {
  background: var(--teal-soft);
}

.button-light {
  color: var(--navy-900);
  background: #f0faf6;
  border-color: #f0faf6;
}

.button-light:hover {
  background: var(--white);
}

.button-danger-ghost {
  color: var(--rose);
  border-color: #efd3d7;
  background: transparent;
}

.button-danger-ghost:hover {
  background: var(--rose-soft);
}

.small-button {
  min-height: 31px;
  padding: 0 9px;
  font-size: 10px;
}

.full-width {
  width: 100%;
}

.text-link {
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  color: var(--teal);
  background: transparent;
  font-size: 11px;
  font-weight: 700;
}

.text-link:hover {
  color: var(--navy-900);
}

.card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow);
}

.card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 23px;
}

.card-heading h2,
.card-heading h3 {
  margin: 5px 0 0;
  color: var(--navy-900);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.card-heading h3 {
  font-size: 16px;
}

.body-copy {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.card-footnote,
.microcopy,
.field-hint {
  margin: 18px 0 0;
  color: #8da0a5;
  font-size: 11px;
  line-height: 1.5;
}

.microcopy {
  margin-top: 19px;
}

.pill {
  min-height: 22px;
  padding: 3px 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.pill-neutral { color: #687b83; border-color: #e0e8e6; background: #f4f7f6; }
.pill-teal { color: #11776e; border-color: #cce9e2; background: var(--teal-soft); }
.pill-gold { color: #9a681f; border-color: #f3dfb3; background: var(--gold-soft); }
.pill-purple { color: #76539c; border-color: #e1d6f2; background: var(--purple-soft); }
.pill-blue { color: #386c8c; border-color: #d2e4ee; background: var(--blue-soft); }
.pill-rose { color: #984b58; border-color: #f0d2d7; background: var(--rose-soft); }

.info-banner,
.not-live-banner,
.community-status,
.ops-banner {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 14px 17px;
  margin-bottom: 27px;
  border: 1px solid transparent;
  border-radius: 13px;
}

.info-banner > .icon,
.not-live-banner > .icon,
.ops-banner > .icon {
  flex: 0 0 auto;
}

.info-banner strong,
.info-banner p,
.not-live-banner strong,
.not-live-banner span,
.ops-banner strong,
.ops-banner span {
  display: block;
}

.info-banner strong {
  color: var(--navy-900);
  font-size: 12px;
}

.info-banner p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.info-teal { color: var(--teal); border-color: #cde9e2; background: #eef9f6; }
.info-blue { color: var(--blue); border-color: #d3e7ef; background: #eef6fa; }
.info-gold { color: var(--gold); border-color: #f1dfb6; background: #fff8e9; }

.today-hero {
  min-height: 220px;
  padding: 29px 34px;
  margin-bottom: 23px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 20px;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  color: #eaf8f3;
  background: linear-gradient(119deg, #12344a 0%, #10384a 56%, #164a59 100%);
  box-shadow: 0 15px 30px rgba(13, 45, 61, 0.16);
}

.today-hero::before,
.today-hero::after {
  content: '';
  position: absolute;
  border: 1px solid rgba(164, 224, 210, 0.13);
  border-radius: 50%;
  pointer-events: none;
}

.today-hero::before {
  width: 440px;
  height: 440px;
  right: 46px;
  top: -310px;
}

.today-hero::after {
  width: 590px;
  height: 590px;
  right: -23px;
  top: -388px;
}

.hero-copy {
  position: relative;
  z-index: 1;
}

.hero-kicker {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #a3dcd1;
  font-family: 'DM Mono', 'Noto Sans Bengali', monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-dot {
  width: 7px;
  height: 7px;
  display: inline-block;
  border-radius: 50%;
  background: #e8b767;
  box-shadow: 0 0 0 5px rgba(232, 183, 103, 0.14);
}

.today-hero h2 {
  max-width: 480px;
  margin: 17px 0 9px;
  color: #f3fcfa;
  font-size: 27px;
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 1.15;
}

.today-hero p {
  max-width: 540px;
  margin: 0;
  color: #b4d0cf;
  font-size: 12px;
  line-height: 1.6;
}

.today-hero .hero-actions {
  margin-top: 21px;
}

.light-link {
  color: #a5ded1;
}

.light-link:hover {
  color: #f0faf7;
}

.hero-visual {
  min-height: 162px;
  position: relative;
  z-index: 1;
}

.river-shape {
  position: absolute;
  border: 1px solid rgba(164, 224, 210, 0.24);
  border-left-color: transparent;
  border-radius: 50%;
  transform: rotate(-24deg);
}

.river-shape-one {
  width: 290px;
  height: 155px;
  right: -38px;
  top: 11px;
}

.river-shape-two {
  width: 240px;
  height: 130px;
  right: -3px;
  top: 29px;
  border-color: rgba(232, 183, 103, 0.42);
  border-left-color: transparent;
}

.hero-orbit {
  width: 125px;
  height: 125px;
  position: absolute;
  right: 73px;
  top: 18px;
  border: 1px solid rgba(161, 221, 209, 0.5);
  border-radius: 50%;
}

.hero-orbit::before,
.hero-orbit::after {
  content: '';
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(161, 221, 209, 0.2);
  border-radius: 50%;
}

.hero-orbit::after {
  inset: 28px;
  border-color: rgba(232, 183, 103, 0.3);
}

.hero-orbit span {
  width: 7px;
  height: 7px;
  position: absolute;
  display: block;
  border-radius: 50%;
  background: #9ae0d0;
  box-shadow: 0 0 0 5px rgba(154, 224, 208, 0.12);
}

.hero-orbit span:nth-child(1) { right: 8px; top: 23px; }
.hero-orbit span:nth-child(2) { left: 21px; bottom: 13px; background: #e8b767; }
.hero-orbit span:nth-child(3) { left: 17px; top: 20px; width: 4px; height: 4px; }

.hero-stat {
  position: absolute;
  right: 0;
  bottom: 5px;
  display: grid;
  gap: 2px;
  text-align: right;
}

.hero-stat strong {
  color: #f0fbf7;
  font-family: 'DM Mono', monospace;
  font-size: 21px;
  font-weight: 500;
}

.hero-stat span {
  color: #83b5b6;
  font-size: 9px;
}

.grid-three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.glance-grid {
  margin-bottom: 34px;
}

.glance-card {
  min-height: 96px;
  padding: 17px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
}

.glance-icon,
.mini-icon,
.medicine-avatar,
.resource-icon,
.condition-symbol,
.directory-aside-icon,
.note-icon,
.status-mark,
.rule-icon,
.ops-side-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 11px;
}

.glance-icon {
  width: 38px;
  height: 38px;
}

.teal-icon { color: var(--teal); background: var(--teal-soft); }
.gold-icon { color: var(--gold); background: var(--gold-soft); }
.purple-icon { color: var(--purple); background: var(--purple-soft); }

.glance-card > div:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.meta-label,
.glance-card strong,
.glance-card small {
  display: block;
}

.meta-label {
  color: #91a0a5;
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.glance-card strong {
  overflow: hidden;
  color: var(--navy-900);
  font-size: 13px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.glance-card small {
  color: var(--muted-2);
  font-size: 10px;
}

.subtle-icon {
  margin-left: auto;
  color: #94a9ad;
}

.content-grid {
  display: grid;
  gap: 16px;
}

.content-grid-main {
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.8fr);
}

.content-column {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 16px;
}

.side-column {
  grid-template-rows: auto auto auto;
}

.rhythm-card,
.questions-card,
.sync-card,
.boundary-card,
.share-mini-card {
  padding: 24px;
}

.rhythm-card {
  min-height: 375px;
}

.timeline-list {
  display: grid;
}

.timeline-item {
  min-height: 86px;
  display: grid;
  grid-template-columns: 41px 25px 1fr;
  gap: 11px;
}

.timeline-time {
  padding-top: 5px;
  color: #94a7aa;
  font-family: 'DM Mono', monospace;
  font-size: 11px;
}

.timeline-rail {
  position: relative;
  display: flex;
  justify-content: center;
}

.timeline-dot {
  width: 15px;
  height: 15px;
  margin-top: 4px;
  display: inline-grid;
  place-items: center;
  z-index: 1;
  border: 4px solid #dff2ec;
  border-radius: 50%;
  color: white;
  background: var(--teal);
}

.timeline-dot.done {
  border-color: #ccebe3;
}

.timeline-line {
  width: 1px;
  position: absolute;
  top: 18px;
  bottom: 0;
  background: #dbe9e5;
}

.timeline-content {
  padding-bottom: 17px;
}

.timeline-title-row {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.mini-icon {
  width: 27px;
  height: 27px;
  color: #548d88;
  border-radius: 8px;
  background: #edf7f4;
}

.timeline-title-row h3 {
  margin: 0;
  color: var(--navy-900);
  font-size: 13px;
  font-weight: 700;
}

.timeline-title-row p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.timeline-title-row > .pill {
  margin-left: auto;
}

.timeline-meta {
  margin-top: 9px;
  padding-left: 36px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.timeline-meta .text-link {
  margin-left: auto;
  color: #82989c;
  font-weight: 600;
}

.sync-card .card-heading {
  margin-bottom: 17px;
}

.status-orb {
  width: 9px;
  height: 9px;
  margin-top: 7px;
  display: block;
  border-radius: 50%;
  box-shadow: 0 0 0 5px #e5f4ef;
}

.status-orb-teal { background: var(--teal); }

.sync-panel {
  padding: 6px 0;
  display: grid;
  gap: 13px;
  border-top: 1px solid #eef2f1;
  border-bottom: 1px solid #eef2f1;
}

.sync-line {
  display: grid;
  grid-template-columns: 21px 1fr auto;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 11px;
}

.sync-line strong {
  color: var(--navy-800);
  font-size: 11px;
}

.sync-check {
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  color: var(--teal);
  border-radius: 50%;
  background: var(--teal-soft);
}

.care-note,
.share-mini {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.boundary-card {
  background: #fefbf4;
  border-color: #f2ead6;
}

.care-note .note-icon,
.share-mini-icon {
  width: 37px;
  height: 37px;
  color: var(--gold);
  background: #fff0d2;
}

.care-note h3,
.share-mini h3 {
  margin: 5px 0 6px;
  color: var(--navy-900);
  font-size: 15px;
  letter-spacing: -0.02em;
}

.care-note p:not(.eyebrow),
.share-mini p:not(.eyebrow) {
  margin: 0 0 11px;
  color: #7f8885;
  font-size: 11px;
  line-height: 1.6;
}

.share-mini-card {
  border-color: #dbece8;
  background: #f1faf7;
}

.share-mini-icon {
  color: var(--teal);
  background: #dcefe9;
}

.share-mini > .text-link {
  margin-left: auto;
  margin-top: 17px;
  white-space: nowrap;
}

.question-preview {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr) 30px;
  gap: 13px;
  align-items: start;
  padding: 15px;
  border: 1px solid #e8eef0;
  border-radius: 12px;
  background: #fbfcfc;
}

.question-mark {
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  color: var(--purple);
  border-radius: 10px;
  background: var(--purple-soft);
  font-size: 18px;
  font-weight: 700;
}

.question-mark.small {
  width: 27px;
  height: 27px;
  border-radius: 8px;
  font-size: 14px;
}

.question-preview p,
.question-row p {
  margin: 0;
  color: var(--navy-800);
  font-size: 12px;
  line-height: 1.55;
}

.question-preview span,
.question-row span {
  margin-top: 9px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.question-preview small,
.question-row small {
  color: var(--muted-2);
  font-size: 10px;
}

.empty-state {
  min-height: 160px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 20px;
  color: var(--muted);
  text-align: center;
}

.empty-state .icon {
  color: #9db5b5;
}

.empty-state h3,
.empty-state p {
  margin: 0;
}

.empty-state h3 {
  color: var(--navy-800);
  font-size: 14px;
}

.empty-state p {
  max-width: 280px;
  color: var(--muted);
  font-size: 11px;
}

.empty-state.compact {
  min-height: 90px;
  display: flex;
  justify-content: flex-start;
  text-align: left;
}

.profile-overview,
.two-column-grid,
.journal-grid,
.directory-layout,
.trust-grid,
.summary-layout,
.ops-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  gap: 16px;
}

.profile-overview {
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, 0.65fr);
  margin-bottom: 16px;
}

.profile-identity,
.profile-preferences,
.condition-card,
.goal-card,
.care-plan-card,
.care-team-card,
.medicines-card,
.clarification-card,
.routine-card,
.appointment-card,
.trend-card,
.journal-entry-card,
.questions-side-card,
.journal-boundary-card,
.directory-aside,
.directory-note,
.resources-card,
.prompts-card,
.community-rules,
.appeal-card,
.summary-control-card,
.summary-preview-card,
.grant-card,
.shares-card,
.access-card,
.privacy-card,
.queue-card,
.audit-summary-card,
.ops-side-card,
.four-eyes-card,
.large-card,
.lineage-card,
.rule-card,
.urgent-note {
  padding: 24px;
}

.profile-identity {
  min-height: 129px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.identity-avatar {
  width: 58px;
  height: 58px;
  font-size: 18px;
}

.identity-copy h2 {
  margin: 5px 0 8px;
  color: var(--navy-900);
  font-size: 23px;
  letter-spacing: -0.04em;
}

.identity-meta {
  display: flex;
  gap: 7px;
  color: var(--muted-2);
  font-size: 10px;
}

.identity-right {
  margin-left: auto;
  align-self: flex-start;
  display: flex;
  align-items: center;
  gap: 8px;
}

.profile-preferences .card-heading {
  margin-bottom: 14px;
}

.preference-row,
.detail-row,
.grant-meta > div,
.plan-meta-grid > div {
  min-height: 39px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
  border-top: 1px solid #eef2f1;
}

.preference-row span,
.detail-row span,
.grant-meta span,
.plan-meta-grid span {
  color: var(--muted-2);
  font-size: 10px;
}

.preference-row strong,
.detail-row strong,
.grant-meta strong,
.plan-meta-grid strong {
  max-width: 65%;
  color: var(--navy-800);
  font-size: 11px;
  font-weight: 600;
  text-align: right;
}

.two-column-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.two-column-grid > div,
.two-column-grid > aside,
.journal-grid > div,
.journal-grid > aside,
.directory-layout > div,
.directory-layout > aside,
.trust-grid > div,
.trust-grid > aside,
.summary-layout > div,
.summary-layout > aside,
.ops-grid > div,
.ops-grid > aside {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 16px;
}

.condition-list,
.medicine-list,
.routine-list,
.resource-list,
.share-list,
.access-timeline,
.question-list,
.journal-entry-list,
.provider-list {
  display: grid;
}

.condition-row,
.medicine-row,
.routine-row,
.resource-row,
.share-row,
.journal-row,
.provider-card,
.appointment-row {
  border-top: 1px solid #edf2f1;
}

.condition-row {
  min-height: 95px;
  padding: 17px 0;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.condition-symbol {
  width: 35px;
  height: 35px;
  color: var(--teal);
  background: var(--teal-soft);
}

.condition-copy,
.medicine-copy,
.routine-copy,
.resource-copy,
.journal-copy,
.provider-title,
.share-row-copy {
  min-width: 0;
  flex: 1;
}

.inline-title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.inline-title h3,
.inline-title h2 {
  overflow: hidden;
  margin: 0;
  color: var(--navy-900);
  font-size: 13px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.condition-details,
.condition-origin,
.medicine-meta,
.medicine-footer,
.resource-meta,
.provider-card-footer,
.journal-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.condition-details {
  margin-top: 6px;
  color: var(--muted-2);
  font-size: 10px;
}

.condition-origin {
  margin-top: 10px;
  color: #82989b;
  font-size: 10px;
}

blockquote {
  margin: 0;
  color: var(--navy-800);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.5;
}

.origin-line {
  margin-top: 21px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--muted-2);
  font-size: 10px;
}

.plan-meta-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 18px;
}

.plan-meta-grid > div {
  display: grid;
  align-content: center;
  justify-content: stretch;
  gap: 3px;
}

.plan-meta-grid strong {
  max-width: none;
  text-align: left;
  font-size: 10px;
}

.plan-progress {
  margin-top: 20px;
}

.progress-top {
  display: flex;
  justify-content: space-between;
  color: var(--muted);
  font-size: 10px;
}

.progress-top strong {
  color: var(--teal);
}

.progress-bar,
.metric-line {
  height: 5px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9f0ee;
}

.progress-bar span,
.metric-line span {
  height: 100%;
  display: block;
  border-radius: inherit;
  background: var(--teal);
}

.plan-footer {
  margin-top: 21px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted-2);
  font-size: 10px;
}

.plan-footer > span {
  display: flex;
  align-items: center;
  gap: 5px;
}

.care-team-empty {
  padding: 18px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  border: 1px dashed #dce8e5;
  border-radius: 12px;
  background: #fbfcfc;
}

.team-illustration {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  color: var(--purple);
  border-radius: 12px;
  background: var(--purple-soft);
}

.care-team-empty h3 {
  margin: 1px 0 5px;
  color: var(--navy-800);
  font-size: 13px;
}

.care-team-empty p {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.mini-status,
.reviewed-chip,
.source-stamp {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--teal);
  font-size: 10px;
  font-weight: 700;
}

.medicine-row {
  min-height: 140px;
  padding: 17px 0;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 12px;
}

.medicine-avatar {
  width: 36px;
  height: 36px;
  color: var(--teal);
  background: var(--teal-soft);
}

.medicine-instruction {
  max-width: 540px;
  margin: 8px 0 10px;
  color: var(--navy-800);
  font-size: 11px;
  line-height: 1.55;
}

.medicine-meta {
  color: var(--muted);
  font-size: 10px;
}

.medicine-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.medicine-meta .icon {
  color: var(--muted-2);
}

.medicine-footer {
  margin-top: 10px;
}

.medicine-confirmed {
  color: var(--muted-2);
  font-size: 9px;
}

.medicine-actions {
  min-width: 93px;
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}

.event-state {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 700;
}

.event-state.teal { color: var(--teal); }
.event-state.gold { color: var(--gold); }
.event-state.rose { color: var(--rose); }

.clarification-card {
  border-color: #f3e4bc;
  background: #fffaf0;
}

.clarification-card .card-heading > .icon {
  color: var(--gold);
}

.routine-row {
  min-height: 78px;
  padding: 14px 0;
  display: flex;
  align-items: flex-start;
  gap: 13px;
}

.routine-time {
  width: 43px;
  padding-top: 2px;
  color: var(--teal);
  font-family: 'DM Mono', monospace;
  font-size: 10px;
}

.routine-copy h3 {
  margin: 0 0 3px;
  color: var(--navy-900);
  font-size: 13px;
}

.routine-copy p {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 10px;
}

.routine-toggle {
  width: 29px;
  height: 29px;
  margin-left: auto;
  display: inline-grid;
  place-items: center;
  border: 1px solid #c9ddda;
  border-radius: 9px;
  color: white;
  background: white;
}

.routine-toggle:hover,
.routine-toggle.done {
  border-color: var(--teal);
  background: var(--teal);
}

.appointment-row {
  min-height: 82px;
  padding: 14px 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.appointment-date {
  width: 45px;
  height: 49px;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 9px;
  color: var(--teal);
  background: var(--teal-soft);
}

.appointment-date strong {
  font-size: 18px;
  line-height: 1;
}

.appointment-date span {
  margin-top: 3px;
  font-family: 'DM Mono', monospace;
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
}

.appointment-copy {
  min-width: 0;
  flex: 1;
}

.appointment-copy h3,
.appointment-copy p,
.appointment-copy span {
  display: block;
}

.appointment-copy h3 {
  margin: 0;
  color: var(--navy-900);
  font-size: 12px;
}

.appointment-copy p {
  margin: 4px 0;
  color: var(--muted);
  font-size: 10px;
}

.appointment-copy span {
  color: var(--muted-2);
  font-size: 10px;
}

.journal-toolbar,
.directory-toolbar {
  margin: 0 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.filter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.filter-pill {
  min-height: 31px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #dfe9e6;
  border-radius: 999px;
  color: var(--muted);
  background: transparent;
  font-size: 10px;
}

.filter-pill span {
  min-width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: #78908e;
  background: #eef4f2;
  font-size: 9px;
}

.filter-pill.active {
  color: var(--teal);
  border-color: #c8e7df;
  background: #edf8f4;
  font-weight: 700;
}

.filter-button {
  border-color: #dfe9e6;
  background: var(--white);
}

.journal-grid {
  grid-template-columns: minmax(0, 1.28fr) minmax(275px, 0.72fr);
}

.chart-wrap {
  height: 214px;
  display: grid;
  grid-template-columns: 27px 1fr;
  gap: 7px;
}

.chart-y-labels {
  padding: 1px 0 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--muted-2);
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  text-align: right;
}

.bar-chart {
  min-width: 0;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  gap: 10px;
  padding: 4px 4px 0;
}

.grid-line {
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  border-top: 1px dashed #e5eeec;
}

.grid-line.top { top: 0; }
.grid-line.mid-high { top: 31%; }
.grid-line.mid-low { top: 63%; }
.grid-line.bottom { bottom: 24px; }

.bar-column {
  height: 100%;
  min-width: 21px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: flex-end;
  gap: 7px;
  z-index: 1;
}

.chart-bar {
  width: 22px;
  min-height: 8px;
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, #43aa98, #187b76);
  box-shadow: 0 4px 9px rgba(21, 125, 115, 0.12);
}

.bar-column span {
  color: var(--muted-2);
  font-family: 'DM Mono', monospace;
  font-size: 9px;
}

.chart-legend {
  margin-top: 16px;
  padding-top: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  border-top: 1px solid #edf2f1;
  color: var(--muted);
  font-size: 10px;
}

.chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.legend-dot {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
}

.teal-dot { background: var(--teal); }
.gold-dot { background: #e4b767; }

.accessible-table {
  margin-top: 16px;
  overflow-x: auto;
}

.accessible-table table {
  width: 100%;
  border-collapse: collapse;
  color: var(--muted);
  font-size: 10px;
}

.accessible-table caption {
  margin-bottom: 7px;
  color: var(--navy-800);
  font-size: 11px;
  font-weight: 700;
  text-align: left;
}

.accessible-table th,
.accessible-table td {
  padding: 7px 8px;
  border-top: 1px solid #edf2f1;
  text-align: left;
}

.accessible-table th {
  color: var(--muted-2);
  font-size: 9px;
  font-weight: 600;
}

.journal-row {
  min-height: 86px;
  padding: 15px 0;
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr) 27px;
  gap: 12px;
}

.journal-severity {
  padding-top: 4px;
}

.journal-severity span {
  width: 7px;
  height: 29px;
  display: block;
  border-radius: 99px;
}

.journal-severity.teal span { background: #6ab7aa; }
.journal-severity.gold span { background: #e5b764; }
.journal-severity.rose span { background: #ca6979; }

.journal-value {
  margin-left: auto;
  color: var(--navy-900);
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  font-weight: 600;
}

.journal-copy > p {
  margin: 6px 0 8px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.journal-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--muted-2);
  font-size: 9px;
}

.question-list {
  gap: 3px;
}

.question-row {
  padding: 12px 0;
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  gap: 10px;
  border-top: 1px solid #edf2f1;
}

.boundary-mini,
.care-search-note,
.appeal-card,
.urgent-note {
  display: flex;
  align-items: flex-start;
  gap: 11px;
}

.journal-boundary-card {
  border-color: #e8dedf;
  background: #fffbfa;
}

.boundary-mini > .icon {
  color: var(--rose);
}

.boundary-mini h3,
.care-search-note h3,
.appeal-card h3,
.urgent-note h3 {
  margin: 0 0 4px;
  color: var(--navy-900);
  font-size: 13px;
}

.boundary-mini p,
.care-search-note p,
.appeal-card p,
.urgent-note p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}

.search-field {
  min-height: 39px;
  width: min(420px, 100%);
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  border: 1px solid #dfe9e6;
  border-radius: 9px;
  background: var(--white);
}

.search-field .icon {
  color: #88a0a3;
}

.search-field input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: var(--navy-900);
  background: transparent;
  font-size: 12px;
}

.search-field input::placeholder {
  color: #a8b7ba;
}

.result-count {
  margin-left: auto;
  color: var(--muted-2);
  font-family: 'DM Mono', monospace;
  font-size: 10px;
}

.not-live-banner {
  color: #9c6a27;
  border-color: #f1deb5;
  background: #fff8e8;
}

.not-live-banner > div {
  min-width: 0;
  flex: 1;
}

.not-live-banner strong {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.04em;
}

.not-live-banner span {
  margin-top: 3px;
  color: #a18658;
  font-size: 10px;
}

.source-stamp {
  color: #a9874f;
  font-family: 'DM Mono', monospace;
  font-size: 9px;
}

.directory-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(275px, 0.65fr);
}

.provider-list {
  gap: 11px;
}

.provider-card {
  padding: 21px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow);
}

.provider-stale {
  border-color: #eddfc0;
}

.provider-card-top {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.provider-avatar {
  width: 39px;
  height: 39px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 12px;
  color: var(--navy-800);
  background: #e7f0f0;
  font-size: 11px;
  font-weight: 700;
}

.provider-title h2 {
  max-width: 390px;
  font-size: 15px;
}

.provider-title p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.provider-card-top > .button-icon {
  margin-left: auto;
}

.provider-detail-grid {
  margin: 18px 0 14px;
  padding: 13px 0;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 12px;
  border-top: 1px solid #edf2f1;
  border-bottom: 1px solid #edf2f1;
}

.provider-detail-grid span,
.provider-detail-grid strong {
  display: block;
}

.provider-detail-grid span {
  color: var(--muted-2);
  font-size: 9px;
}

.provider-detail-grid strong {
  margin-top: 3px;
  color: var(--navy-800);
  font-size: 10px;
  font-weight: 600;
}

.provider-verification,
.provider-verification > div {
  display: flex;
  align-items: center;
  gap: 9px;
}

.provider-verification {
  justify-content: space-between;
}

.verification-scope,
.freshness,
.factor-text {
  color: var(--muted-2);
  font-size: 9px;
}

.freshness {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--teal);
  white-space: nowrap;
}

.freshness-stale {
  color: var(--gold);
}

.provider-card-footer {
  margin-top: 15px;
  justify-content: space-between;
}

.factor-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.directory-aside {
  background: var(--navy-900);
  border-color: var(--navy-900);
  color: #eaf6f2;
}

.directory-aside-icon {
  width: 44px;
  height: 44px;
  margin-bottom: 22px;
  color: #9cddcf;
  background: rgba(160, 223, 210, 0.12);
}

.directory-aside h2 {
  margin: 6px 0 10px;
  color: #f1fbf8;
  font-size: 23px;
  letter-spacing: -0.04em;
}

.directory-aside > p:not(.eyebrow) {
  margin: 0;
  color: #a5c3c4;
  font-size: 12px;
  line-height: 1.65;
}

.factor-list {
  margin: 22px 0;
  padding: 15px 0;
  display: grid;
  gap: 11px;
  border-top: 1px solid rgba(213, 237, 231, 0.14);
  border-bottom: 1px solid rgba(213, 237, 231, 0.14);
}

.factor-list span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #c9e3df;
  font-size: 11px;
}

.factor-list .icon {
  color: #93dbc9;
}

.directory-aside .text-link {
  color: #9fddd1;
}

.directory-note {
  background: #f1faf7;
  border-color: #d9eee7;
}

.care-search-note .note-icon {
  color: var(--teal);
  background: #dcefe9;
}

.community-status {
  padding: 13px 16px;
  margin-bottom: 19px;
  border-color: #d9ece6;
  background: #eef9f5;
}

.status-mark {
  width: 36px;
  height: 36px;
  color: var(--teal);
  background: #d6eee7;
}

.community-status > div:nth-child(2) {
  min-width: 0;
  flex: 1;
}

.community-status strong,
.community-status span {
  display: block;
}

.community-status strong {
  color: var(--navy-800);
  font-size: 12px;
}

.community-status > div:nth-child(2) span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
}

.staff-status {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  color: var(--teal) !important;
  font-size: 10px !important;
  font-weight: 600;
  white-space: nowrap;
}

.staff-status > span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--teal);
}

.community-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(275px, 0.78fr);
  gap: 16px;
}

.community-grid > div,
.community-grid > aside {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 16px;
}

.resource-row {
  min-height: 94px;
  padding: 15px 0;
  display: flex;
  align-items: flex-start;
  gap: 11px;
}

.resource-icon {
  width: 35px;
  height: 35px;
  color: var(--purple);
  background: var(--purple-soft);
}

.resource-copy p {
  margin: 5px 0 7px;
  color: var(--muted);
  font-size: 10px;
}

.resource-meta {
  color: var(--muted-2);
  font-size: 9px;
}

.resource-meta span:first-child {
  max-width: 65%;
}

.resource-row > .button-icon {
  margin-left: auto;
}

.reviewed-chip {
  color: var(--teal);
}

.prompt-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.prompt-card {
  min-height: 121px;
  padding: 15px;
  display: grid;
  align-content: start;
  gap: 8px;
  border: 1px solid #e3e9f1;
  border-radius: 12px;
  color: var(--navy-800);
  background: #f8fbfd;
  text-align: left;
  transition: 150ms ease;
}

.prompt-card:hover {
  border-color: #b5cbd7;
  transform: translateY(-2px);
}

.prompt-card span {
  color: #7294a5;
  font-family: 'DM Mono', monospace;
  font-size: 9px;
}

.prompt-card strong {
  font-size: 12px;
  line-height: 1.45;
}

.prompt-card small {
  color: var(--muted-2);
  font-size: 9px;
}

.community-rules {
  background: #fbfaf7;
  border-color: #ebe5d9;
}

.rule-icon {
  width: 39px;
  height: 39px;
  margin-bottom: 16px;
  color: var(--gold);
  background: var(--gold-soft);
}

.community-rules h2 {
  margin: 0 0 17px;
  color: var(--navy-900);
  font-size: 18px;
  letter-spacing: -0.03em;
}

.check-list,
.boundary-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 13px;
  list-style: none;
}

.check-list li,
.boundary-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.check-list li .icon {
  margin-top: 2px;
  color: var(--teal);
}

.check-list li span {
  color: var(--navy-800);
  font-size: 11px;
}

.community-rules .button {
  margin-top: 23px;
}

.appeal-card {
  display: block;
  background: #f4f1fb;
  border-color: #e5ddf4;
}

.appeal-card h3 {
  margin-top: 6px;
}

.appeal-card .text-link {
  margin-top: 14px;
}

.summary-stepper {
  margin: -7px 0 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.summary-step {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #9cadb0;
}

.summary-step span {
  width: 25px;
  height: 25px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #dce7e5;
  border-radius: 50%;
  font-family: 'DM Mono', monospace;
  font-size: 9px;
}

.summary-step strong {
  font-size: 10px;
  font-weight: 600;
}

.summary-step.done,
.summary-step.active {
  color: var(--teal);
}

.summary-step.done span,
.summary-step.active span {
  color: var(--teal);
  border-color: #bfe4db;
  background: var(--teal-soft);
}

.summary-step.active strong {
  font-weight: 700;
}

.step-line {
  width: 48px;
  height: 1px;
  background: #dfe9e6;
}

.step-line.done {
  background: #acd8ce;
}

.summary-layout {
  grid-template-columns: minmax(315px, 0.78fr) minmax(0, 1.22fr);
  align-items: start;
}

.summary-controls {
  display: grid;
  align-content: start;
  gap: 12px;
}

.summary-control-card {
  padding: 20px;
}

.summary-control-card .card-heading {
  margin-bottom: 17px;
}

.step-complete {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  color: var(--teal);
  border-radius: 50%;
  background: var(--teal-soft);
}

.recipient-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}

.recipient-option {
  min-height: 75px;
  padding: 11px 7px;
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  border: 1px solid #e2ebe8;
  border-radius: 10px;
  color: var(--muted);
  background: #fbfcfc;
  font-size: 10px;
  font-weight: 600;
  text-align: center;
}

.recipient-option:hover,
.recipient-option.selected {
  color: var(--teal);
  border-color: #a9d8ce;
  background: #f0faf7;
}

.recipient-option i {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 5px;
  right: 5px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: var(--white);
  background: var(--teal);
}

.field-note,
.form-callout {
  margin-top: 13px;
  padding: 10px;
  display: flex;
  align-items: flex-start;
  gap: 7px;
  border-radius: 8px;
  color: #71868b;
  background: #f4f8f7;
  font-size: 10px;
  line-height: 1.45;
}

.field-note .icon,
.form-callout .icon {
  flex: 0 0 auto;
  color: #7c9d9b;
}

.select-control,
.rule-form select,
.rule-form input,
.modal-form input,
.modal-form select,
.modal-form textarea {
  width: 100%;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid #dce8e5;
  border-radius: 8px;
  outline: 0;
  color: var(--navy-800);
  background: #fbfcfc;
  font-size: 11px;
}

.modal-form textarea,
.rule-form textarea {
  min-height: 90px;
  padding: 9px 10px;
  resize: vertical;
}

.select-control:hover,
.rule-form select:hover,
.rule-form input:hover,
.modal-form input:hover,
.modal-form select:hover,
.modal-form textarea:hover {
  border-color: #b6d2cc;
}

.summary-control-card > label > span,
.range-grid label > span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
}

.range-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.checkbox-list,
.permission-checks {
  display: grid;
  gap: 2px;
}

.checkbox-row {
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: var(--navy-800);
  font-size: 11px;
}

.checkbox-row input {
  width: 1px;
  height: 1px;
  position: absolute;
  opacity: 0;
}

.custom-checkbox {
  width: 17px;
  height: 17px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #c9dcd8;
  border-radius: 5px;
  color: var(--white);
  background: var(--white);
}

.checkbox-row input:checked + .custom-checkbox {
  border-color: var(--teal);
  background: var(--teal);
}

.checkbox-row small {
  margin-left: auto;
  color: var(--muted-2);
  font-family: 'DM Mono', monospace;
  font-size: 9px;
}

.summary-continue {
  min-height: 46px;
  margin-top: 2px;
  font-size: 12px;
}

.summary-preview-card {
  padding: 0;
  overflow: hidden;
}

.preview-top {
  padding: 22px 23px 17px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #edf2f1;
}

.preview-top h2 {
  margin: 6px 0 0;
  color: var(--navy-900);
  font-size: 19px;
  letter-spacing: -0.03em;
}

.preview-lock {
  padding: 7px 9px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--teal);
  border-radius: 7px;
  background: var(--teal-soft);
  font-size: 9px;
  font-weight: 700;
}

.preview-meta {
  padding: 13px 23px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  background: #fbfcfc;
}

.preview-meta span,
.preview-meta strong {
  display: block;
}

.preview-meta span {
  color: var(--muted-2);
  font-size: 9px;
}

.preview-meta strong {
  margin-top: 4px;
  color: var(--navy-800);
  font-size: 10px;
}

.preview-document {
  max-width: 680px;
  margin: 20px auto;
  padding: 23px;
  border: 1px solid #e4ebe9;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 7px 21px rgba(23, 51, 66, 0.05);
}

.document-header,
.document-profile,
.snapshot-created,
.preview-warning {
  display: flex;
  align-items: center;
}

.document-header {
  gap: 9px;
  padding-bottom: 15px;
  border-bottom: 1px solid #edf2f1;
}

.document-logo {
  width: 27px;
  height: 27px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  border-radius: 7px;
  background: var(--teal-soft);
}

.document-logo span {
  width: 3px;
  display: block;
  border-radius: 4px 4px 1px 1px;
  background: var(--teal);
}

.document-logo span:first-child { height: 11px; }
.document-logo span:last-child { height: 17px; background: #d8a454; }

.document-header strong,
.document-header small {
  display: block;
}

.document-header strong {
  color: var(--navy-900);
  font-size: 12px;
}

.document-header strong span {
  color: var(--teal);
}

.document-header small {
  color: var(--muted-2);
  font-size: 9px;
}

.document-version {
  margin-left: auto;
  color: var(--muted-2);
  font-family: 'DM Mono', monospace;
  font-size: 8px;
}

.document-profile {
  padding: 18px 0;
  gap: 10px;
  border-bottom: 1px solid #edf2f1;
}

.document-avatar {
  width: 37px;
  height: 37px;
  font-size: 11px;
}

.document-profile strong,
.document-profile span {
  display: block;
}

.document-profile strong {
  color: var(--navy-800);
  font-size: 12px;
}

.document-profile span {
  margin-top: 3px;
  color: var(--muted-2);
  font-size: 9px;
}

.document-date {
  margin-left: auto;
  text-align: right;
}

.document-date span,
.document-date strong {
  display: block;
}

.document-date strong {
  color: var(--navy-800);
  font-family: 'DM Mono', monospace;
  font-size: 9px;
}

.document-date span {
  margin: 0 0 3px;
}

.snapshot-section {
  padding: 16px 0;
  border-bottom: 1px solid #edf2f1;
}

.snapshot-section-title {
  display: grid;
  grid-template-columns: 23px 1fr auto;
  align-items: center;
  gap: 7px;
}

.snapshot-section-title > span {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  color: var(--teal);
  border-radius: 6px;
  background: var(--teal-soft);
}

.snapshot-section-title strong {
  color: var(--navy-800);
  font-size: 11px;
}

.snapshot-section-title small {
  color: var(--teal);
  font-family: 'DM Mono', monospace;
  font-size: 8px;
}

.snapshot-section-body {
  margin: 10px 0 0 30px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}

.snapshot-section-body p {
  margin: 0;
  color: var(--navy-800);
}

.snapshot-section-body > small {
  color: var(--muted-2);
}

.document-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 9px;
  list-style: none;
}

.document-list li {
  display: grid;
  gap: 2px;
}

.document-list strong,
.document-list span,
.document-list small {
  display: block;
}

.document-list strong {
  color: var(--navy-800);
  font-size: 10px;
}

.document-list span {
  color: var(--muted);
}

.document-list small {
  color: var(--muted-2);
  font-size: 9px;
}

.document-limitations {
  padding: 12px;
  margin-top: 17px;
  border-radius: 7px;
  background: #fff9ec;
}

.document-limitations strong,
.document-limitations p {
  display: block;
}

.document-limitations strong {
  color: var(--gold);
  font-size: 10px;
}

.document-limitations p {
  margin: 4px 0 0;
  color: #957647;
  font-size: 9px;
  line-height: 1.55;
}

.snapshot-created,
.preview-warning {
  gap: 9px;
  padding: 13px 23px;
  border-top: 1px solid #edf2f1;
}

.snapshot-check {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  color: var(--white);
  border-radius: 50%;
  background: var(--teal);
}

.snapshot-created > div {
  display: grid;
  gap: 1px;
}

.snapshot-created strong {
  color: var(--navy-800);
  font-size: 10px;
}

.snapshot-created span:not(.snapshot-check) {
  color: var(--muted-2);
  font-family: 'DM Mono', monospace;
  font-size: 8px;
}

.snapshot-created .text-link {
  margin-left: auto;
}

.preview-warning {
  color: #9a7a42;
  background: #fffaf0;
  font-size: 9px;
}

.preview-warning .icon {
  color: var(--gold);
}

.consent-overview {
  padding: 23px;
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 30px;
  align-items: center;
  border: 1px solid #d8ebe6;
  border-radius: var(--radius);
  background: #eff9f6;
}

.consent-score {
  display: flex;
  align-items: center;
  gap: 17px;
}

.score-ring {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  align-content: center;
  border: 7px solid #ccebe3;
  border-top-color: var(--teal);
  border-right-color: #70bbae;
  border-radius: 50%;
}

.score-ring strong,
.score-ring span {
  display: block;
}

.score-ring strong {
  color: var(--teal);
  font-size: 22px;
  line-height: 1;
}

.score-ring span {
  margin-top: 4px;
  color: #6f9994;
  font-size: 8px;
  text-align: center;
}

.consent-score h2 {
  margin: 5px 0;
  color: var(--navy-900);
  font-size: 20px;
  letter-spacing: -0.03em;
}

.consent-score p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.consent-principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}

.consent-principles > div {
  padding: 11px;
  border: 1px solid #d9ece6;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.55);
}

.consent-principles span,
.consent-principles strong,
.consent-principles small {
  display: block;
}

.consent-principles span {
  color: var(--teal);
}

.consent-principles strong {
  margin-top: 9px;
  color: var(--navy-800);
  font-size: 10px;
}

.consent-principles small {
  margin-top: 3px;
  color: var(--muted-2);
  font-size: 9px;
  line-height: 1.35;
}

.consent-layout {
  grid-template-columns: minmax(0, 1.17fr) minmax(275px, 0.83fr);
}

.grant-scope > span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted-2);
  font-size: 10px;
}

.grant-scope > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.grant-meta {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}

.grant-meta > div {
  display: grid;
  align-content: center;
  justify-content: stretch;
  gap: 3px;
}

.grant-meta strong {
  max-width: none;
  text-align: left;
  font-size: 10px;
}

.grant-card .card-actions {
  margin-top: 19px;
  padding-top: 18px;
  border-top: 1px solid #edf2f1;
}

.share-row {
  min-height: 92px;
  padding: 14px 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.share-row-icon {
  width: 33px;
  height: 33px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 9px;
}

.share-row-icon.teal { color: var(--teal); background: var(--teal-soft); }
.share-row-icon.gold { color: var(--gold); background: var(--gold-soft); }
.share-row-icon.rose { color: var(--rose); background: var(--rose-soft); }

.share-row-copy h3 {
  max-width: 280px;
}

.share-row-copy p,
.share-row-copy > span {
  display: block;
}

.share-row-copy p {
  margin: 5px 0 3px;
  color: var(--muted);
  font-size: 10px;
}

.share-row-copy > span {
  color: var(--muted-2);
  font-size: 9px;
}

.share-row-action {
  margin-left: auto;
  padding-top: 2px;
}

.blocked-text {
  color: var(--muted-2);
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  white-space: nowrap;
}

.access-event {
  min-height: 60px;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 10px;
  position: relative;
}

.access-event:not(:last-child)::before {
  content: '';
  width: 1px;
  position: absolute;
  top: 12px;
  bottom: -8px;
  left: 5px;
  background: #e3ece9;
}

.access-dot {
  width: 11px;
  height: 11px;
  margin-top: 3px;
  z-index: 1;
  border: 3px solid #d8eee8;
  border-radius: 50%;
  background: var(--teal);
}

.access-dot.revoke { border-color: #f4dedf; background: var(--rose); }
.access-dot.blocked { border-color: #f5e5bf; background: var(--gold); }

.access-event strong {
  display: block;
  color: var(--navy-800);
  font-size: 11px;
}

.access-event p {
  margin: 4px 0 0;
  color: var(--muted-2);
  font-size: 10px;
  line-height: 1.4;
}

.access-card .text-link {
  margin-top: 7px;
}

.privacy-card {
  display: flex;
  gap: 11px;
  border-color: #e3ddf0;
  background: #faf8fd;
}

.privacy-card .note-icon {
  width: 36px;
  height: 36px;
  color: var(--purple);
  background: var(--purple-soft);
}

.privacy-card h3 {
  margin: 6px 0;
  color: var(--navy-800);
  font-size: 13px;
}

.privacy-card p:not(.eyebrow) {
  margin: 0 0 11px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.trust-hero {
  min-height: 156px;
  padding: 28px;
  margin-bottom: 16px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  color: #eaf9f4;
  background: var(--navy-900);
}

.trust-hero::after {
  content: '';
  width: 260px;
  height: 260px;
  position: absolute;
  right: -42px;
  top: -105px;
  border: 1px solid rgba(156, 221, 207, 0.2);
  border-radius: 50%;
  box-shadow: 0 0 0 23px rgba(156, 221, 207, 0.035), 0 0 0 46px rgba(156, 221, 207, 0.035);
}

.trust-hero-icon {
  width: 50px;
  height: 50px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  z-index: 1;
  color: #99ddce;
  border-radius: 14px;
  background: rgba(153, 221, 206, 0.13);
}

.trust-hero > div:nth-child(2) {
  max-width: 670px;
  z-index: 1;
}

.trust-hero .eyebrow {
  color: #83cabe;
}

.trust-hero h2 {
  margin: 7px 0 7px;
  color: #f0fbf8;
  font-size: 23px;
  letter-spacing: -0.04em;
  line-height: 1.2;
}

.trust-hero p:not(.eyebrow) {
  margin: 0;
  color: #a6c6c6;
  font-size: 12px;
}

.trust-hero-badge {
  margin-left: auto;
  z-index: 1;
}

.trust-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(310px, 0.95fr);
}

.large-card {
  min-height: 350px;
}

.boundary-list li > span {
  width: 23px;
  height: 23px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--rose);
  border-radius: 7px;
  background: var(--rose-soft);
}

.boundary-list li strong,
.boundary-list li p {
  display: block;
}

.boundary-list li strong {
  color: var(--navy-800);
  font-size: 12px;
}

.boundary-list li p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 10px;
}

.lineage-list {
  display: grid;
  gap: 7px;
}

.lineage-list > div {
  min-height: 48px;
  padding: 9px;
  display: grid;
  grid-template-columns: 27px 1fr auto;
  align-items: center;
  gap: 8px;
  border: 1px solid #e7eeec;
  border-radius: 9px;
  background: #fbfcfc;
}

.lineage-list > div > span {
  width: 27px;
  height: 27px;
  display: inline-grid;
  place-items: center;
  color: var(--teal);
  border-radius: 7px;
  background: var(--teal-soft);
}

.lineage-list strong,
.lineage-list small {
  display: block;
}

.lineage-list strong {
  color: var(--navy-800);
  font-size: 10px;
}

.lineage-list small {
  margin-top: 2px;
  color: var(--muted-2);
  font-size: 9px;
}

.rule-card {
  border-color: #eadfc3;
  background: #fffdf8;
}

.rule-card .card-heading > .pill {
  margin-top: 1px;
}

.rule-meta {
  margin: 17px 0;
  padding: 12px 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
  border-top: 1px solid #f1e8d2;
  border-bottom: 1px solid #f1e8d2;
}

.rule-meta span {
  display: grid;
  gap: 3px;
  color: #987c4b;
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  line-height: 1.4;
}

.rule-meta strong {
  color: #6f6043;
  font-family: 'DM Sans', 'Noto Sans Bengali', sans-serif;
  font-size: 9px;
  font-weight: 700;
}

.rule-form {
  display: grid;
  gap: 10px;
}

.rule-form label > span {
  display: block;
  margin-bottom: 5px;
  color: #806c49;
  font-size: 10px;
  font-weight: 600;
}

.rule-form input,
.rule-form select {
  border-color: #eddfc0;
  background: #fffefa;
}

.toggle-row {
  min-height: 31px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: #806c49;
  font-size: 10px;
}

.toggle-row input {
  width: 1px;
  height: 1px;
  position: absolute;
  opacity: 0;
}

.toggle-track {
  width: 31px;
  height: 18px;
  padding: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 99px;
  background: #dce4e0;
  transition: 150ms ease;
}

.toggle-track i {
  width: 14px;
  height: 14px;
  display: block;
  border-radius: 50%;
  background: white;
  transition: 150ms ease;
}

.toggle-row input:checked + .toggle-track {
  background: var(--teal);
}

.toggle-row input:checked + .toggle-track i {
  transform: translateX(13px);
}

.rule-result,
.rule-empty {
  margin-top: 14px;
  padding: 13px;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  border-radius: 9px;
}

.rule-result .result-icon {
  width: 27px;
  height: 27px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 8px;
}

.rule-result strong,
.rule-result p,
.rule-result small {
  display: block;
}

.rule-result strong {
  font-size: 11px;
}

.rule-result p {
  margin: 4px 0;
  font-size: 10px;
  line-height: 1.55;
}

.rule-result small {
  font-family: 'DM Mono', monospace;
  font-size: 8px;
}

.rule-result.seek_urgent_assessment { border: 1px solid #f0cfd3; color: #8f414e; background: #fff3f4; }
.rule-result.seek_urgent_assessment .result-icon { background: #f8dfe1; }
.rule-result.contact_care_team { border: 1px solid #f0dfba; color: #95671f; background: #fff9ed; }
.rule-result.contact_care_team .result-icon { background: #f9ebc9; }
.rule-result.no_trigger { border: 1px solid #d9e7ef; color: #3b6b84; background: #f2f8fb; }
.rule-result.no_trigger .result-icon { background: #dfedf4; }
.rule-result.unable_to_evaluate { border: 1px solid #e4e3de; color: #6e726e; background: #f7f7f4; }
.rule-result.unable_to_evaluate .result-icon { background: #e8e8e1; }

.rule-empty {
  color: #987c4b;
  background: #fff7e4;
  font-size: 10px;
}

.urgent-note {
  padding: 22px 24px;
  display: block;
  border-color: #eddadd;
  background: #fffafb;
}

.urgent-note h3 {
  margin-top: 7px;
}

.urgent-note .eyebrow {
  color: var(--rose);
}

.ops-banner {
  color: #625233;
  border-color: #eedfbf;
  background: #fff8e8;
}

.ops-banner > div {
  flex: 1;
}

.ops-banner strong {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.04em;
}

.ops-banner span {
  margin-top: 3px;
  color: #9a8256;
  font-size: 10px;
}

.ops-banner .text-link {
  color: #9a742e;
}

.ops-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}

.ops-metric {
  padding: 17px;
}

.ops-metric-top {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
}

.ops-icon {
  width: 29px;
  height: 29px;
  display: inline-grid;
  place-items: center;
  border-radius: 8px;
}

.ops-icon.teal,
.audit-status.success { color: var(--teal); background: var(--teal-soft); }
.ops-icon.gold,
.audit-status.pending { color: var(--gold); background: var(--gold-soft); }
.ops-icon.purple { color: var(--purple); background: var(--purple-soft); }
.ops-icon.rose { color: var(--rose); background: var(--rose-soft); }

.ops-metric > strong {
  display: block;
  margin-top: 11px;
  color: var(--navy-900);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.04em;
}

.ops-metric > small {
  color: var(--muted-2);
  font-size: 9px;
}

.metric-line {
  margin-top: 12px;
  height: 4px;
}

.metric-line.teal span { background: var(--teal); }
.metric-line.gold span { background: #dcaa53; }
.metric-line.purple span { background: var(--purple); }
.metric-line.rose span { background: var(--rose); }

.ops-grid {
  grid-template-columns: minmax(0, 1.3fr) minmax(275px, 0.7fr);
}

.queue-table {
  margin: 0 -24px;
  border-top: 1px solid #edf2f1;
}

.queue-head,
.queue-row {
  display: grid;
  grid-template-columns: minmax(250px, 1.7fr) minmax(95px, 0.7fr) minmax(140px, 0.9fr) 25px;
  align-items: center;
  gap: 12px;
  padding: 0 24px;
}

.queue-head {
  min-height: 31px;
  color: var(--muted-2);
  background: #fbfcfc;
  font-family: 'DM Mono', monospace;
  font-size: 8px;
  text-transform: uppercase;
}

.queue-row {
  min-height: 67px;
  border-top: 1px solid #edf2f1;
}

.queue-row > div {
  min-width: 0;
}

.queue-row strong,
.queue-row small {
  display: block;
}

.queue-row strong {
  overflow: hidden;
  color: var(--navy-800);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.queue-row small {
  margin-top: 3px;
  color: var(--muted-2);
  font-size: 8px;
}

.queue-row > span:not(.pill) {
  color: var(--muted);
  font-size: 9px;
}

.audit-rows {
  display: grid;
}

.audit-rows > div {
  min-height: 57px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border-top: 1px solid #edf2f1;
}

.audit-status {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 7px;
}

.audit-rows strong,
.audit-rows small {
  display: block;
}

.audit-rows strong {
  color: var(--navy-800);
  font-size: 10px;
}

.audit-rows small,
.audit-rows time {
  color: var(--muted-2);
  font-size: 9px;
}

.ops-side-card {
  color: #eaf7f3;
  border-color: var(--navy-900);
  background: var(--navy-900);
}

.ops-side-icon {
  width: 41px;
  height: 41px;
  margin-bottom: 18px;
  color: #9cdccf;
  border-radius: 11px;
  background: rgba(156, 220, 207, 0.12);
}

.ops-side-card h2 {
  margin: 6px 0;
  color: #f1fbf8;
  font-size: 20px;
  letter-spacing: -0.04em;
}

.ops-side-card p:not(.eyebrow),
.four-eyes-card p:not(.eyebrow) {
  margin: 0;
  color: #a1c1c0;
  font-size: 11px;
  line-height: 1.6;
}

.dataset-stat {
  margin: 20px 0;
  padding: 13px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(213, 237, 231, 0.14);
  border-bottom: 1px solid rgba(213, 237, 231, 0.14);
}

.dataset-stat strong {
  color: #a4dfd2;
  font-family: 'DM Mono', monospace;
  font-size: 13px;
}

.dataset-stat span {
  color: #8eafb1;
  font-size: 10px;
}

.ops-side-card .button-secondary {
  color: var(--navy-800);
  background: #eaf7f3;
  border-color: #eaf7f3;
}

.four-eyes-card {
  border-color: #e6def4;
  background: #f9f7fd;
}

.four-eyes-card h3 {
  margin: 6px 0;
  color: var(--navy-800);
  font-size: 14px;
}

.four-eyes-card .text-link {
  margin-top: 13px;
}

.mobile-nav {
  display: none;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(9, 26, 39, 0.46);
  backdrop-filter: blur(8px);
}

.modal-panel {
  width: min(530px, 100%);
  max-height: min(760px, calc(100vh - 48px));
  overflow-y: auto;
  border-radius: 19px;
  background: var(--white);
  box-shadow: var(--shadow-lg);
  animation: modal-in 170ms ease-out;
}

@keyframes modal-in {
  from { opacity: 0; transform: translateY(8px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.modal-form {
  padding: 26px;
}

.mobile-sheet-nav {
  display: grid;
  gap: 4px;
}

.mobile-sheet-item {
  min-height: 45px;
  padding: 0 11px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 9px;
  color: var(--navy-800);
  background: transparent;
  font-size: 12px;
  font-weight: 600;
  text-align: left;
}

.mobile-sheet-item:hover,
.mobile-sheet-item.active {
  color: var(--teal);
  background: var(--teal-soft);
}

.mobile-sheet-item > .icon:last-child {
  margin-left: auto;
  color: #9aafb0;
}

.modal-header {
  margin-bottom: 22px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.modal-header h2 {
  margin: 6px 0 0;
  color: var(--navy-900);
  font-size: 22px;
  letter-spacing: -0.04em;
}

.modal-header p:not(.eyebrow) {
  max-width: 410px;
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.modal-form > label,
.form-two > label {
  display: block;
  margin-top: 14px;
}

.modal-form > label > span,
.form-two > label > span {
  display: block;
  margin-bottom: 6px;
  color: var(--navy-800);
  font-size: 10px;
  font-weight: 700;
}

.modal-form input,
.modal-form select,
.modal-form textarea {
  background: #fff;
}

.modal-form textarea {
  line-height: 1.5;
}

.form-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.form-two > label {
  min-width: 0;
}

.modal-form .toggle-row {
  margin-top: 16px;
}

.modal-actions {
  margin-top: 26px;
  padding-top: 17px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  border-top: 1px solid #edf2f1;
}

.detail-stack {
  display: grid;
}

.detail-row {
  min-height: 49px;
}

.instruction-box,
.resource-detail-card {
  padding: 15px;
  margin: 17px 0;
  border: 1px solid #e3ece9;
  border-radius: 10px;
  background: #fbfcfc;
}

.instruction-box p:not(.eyebrow),
.resource-detail-card > p:not(.eyebrow) {
  margin: 6px 0 0;
  color: var(--navy-800);
  font-size: 12px;
  line-height: 1.6;
}

.notification-empty {
  min-height: 180px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  color: var(--muted);
  text-align: center;
}

.notification-empty .icon {
  color: var(--teal);
}

.notification-empty h3,
.notification-empty p {
  margin: 0;
}

.notification-empty h3 {
  color: var(--navy-800);
  font-size: 15px;
}

.notification-empty p {
  font-size: 11px;
}

.provider-evidence-hero {
  padding: 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 10px;
  background: #f1f8f6;
}

.provider-evidence-hero > div:last-child {
  display: grid;
  gap: 5px;
}

.provider-evidence-hero strong {
  color: var(--navy-800);
  font-size: 12px;
}

.version-list {
  display: grid;
  gap: 6px;
}

.version-row {
  padding: 13px;
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 10px;
  border: 1px solid #e7eeec;
  border-radius: 10px;
}

.version-row.current {
  border-color: #cde7df;
  background: #f3faf7;
}

.version-row > span:first-child {
  width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  color: var(--teal);
  border-radius: 7px;
  background: var(--teal-soft);
  font-family: 'DM Mono', monospace;
  font-size: 9px;
}

.version-row strong,
.version-row p {
  display: block;
}

.version-row strong {
  color: var(--navy-800);
  font-size: 11px;
}

.version-row p {
  margin: 3px 0 0;
  color: var(--muted-2);
  font-size: 9px;
}

.audit-modal-list {
  display: grid;
}

.audit-modal-row {
  min-height: 59px;
  padding: 10px 0;
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 9px;
  border-top: 1px solid #edf2f1;
}

.audit-modal-row strong,
.audit-modal-row p {
  display: block;
}

.audit-modal-row strong {
  color: var(--navy-800);
  font-size: 11px;
}

.audit-modal-row p {
  margin: 3px 0 0;
  color: var(--muted-2);
  font-size: 9px;
}

.toast {
  max-width: min(420px, calc(100vw - 32px));
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 100;
  padding: 12px 15px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #effbf8;
  border: 1px solid rgba(153, 221, 206, 0.25);
  border-radius: 10px;
  background: var(--navy-900);
  box-shadow: var(--shadow-lg);
  font-size: 11px;
  animation: toast-in 180ms ease-out;
}

.toast .icon {
  color: #9bdccf;
}

@keyframes toast-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1200px) {
  .sidebar { width: 225px; }
  .main-shell { width: calc(100% - 225px); margin-left: 225px; }
  .content-wrap { padding-left: 33px; padding-right: 33px; }
  .topbar { padding-left: 33px; padding-right: 33px; }
  .demo-banner { padding-left: 33px; padding-right: 33px; }
  .profile-overview,
  .two-column-grid,
  .trust-grid,
  .directory-layout,
  .journal-grid,
  .community-grid,
  .summary-layout,
  .ops-grid { grid-template-columns: minmax(0, 1fr) minmax(265px, 0.75fr); }
  .consent-overview { grid-template-columns: 1fr; gap: 18px; }
  .queue-head,
  .queue-row { grid-template-columns: minmax(190px, 1.5fr) minmax(80px, 0.7fr) minmax(125px, 0.9fr) 25px; }
}

@media (max-width: 980px) {
  .sidebar { width: 75px; padding: 23px 11px 15px; }
  .brand-lockup { justify-content: center; padding: 0 0 25px; }
  .brand-lockup > div:last-child,
  .sidebar-divider,
  .nav-label,
  .side-nav-item span:not(.nav-dot),
  .sidebar-help,
  .profile-switcher-copy,
  .profile-switcher > .icon { display: none; }
  .side-nav-item { justify-content: center; padding: 0; }
  .side-nav-item.active { box-shadow: inset 0 -3px 0 #8de0d1; }
  .nav-label-spaced { margin-top: 24px; }
  .profile-switcher { justify-content: center; padding: 12px 0 0; }
  .main-shell { width: calc(100% - 75px); margin-left: 75px; }
  .content-wrap { padding: 36px 26px 70px; }
  .topbar { padding: 0 26px; }
  .demo-banner { padding: 7px 26px; }
  .content-grid-main,
  .profile-overview,
  .two-column-grid,
  .journal-grid,
  .directory-layout,
  .community-grid,
  .trust-grid,
  .summary-layout,
  .ops-grid { grid-template-columns: 1fr; }
  .profile-preferences { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 18px; align-items: start; }
  .profile-preferences .card-heading { margin-bottom: 0; }
  .consent-overview { grid-template-columns: 1fr; }
  .consent-layout { grid-template-columns: 1fr; }
  .ops-metrics { grid-template-columns: repeat(2, 1fr); }
  .summary-controls { order: 2; }
  .summary-preview-column { order: 1; }
}

@media (max-width: 680px) {
  body { font-size: 13px; }
  .sidebar { display: none; }
  .main-shell { width: 100%; margin-left: 0; padding-bottom: 70px; }
  .topbar { height: 62px; padding: 0 17px; }
  .breadcrumb-muted,
  .topbar .sync-status span { display: none; }
  .topbar-actions { gap: 5px; }
  .sync-status { font-size: 10px; }
  .mobile-menu { display: inline-grid; margin-right: 5px; }
  .demo-banner { min-height: 54px; padding: 7px 17px; align-items: flex-start; }
  .demo-banner-main { flex-wrap: wrap; gap: 5px 7px; }
  .demo-banner-main strong { font-size: 8px; }
  .demo-banner-main span { width: 100%; padding-left: 23px; font-size: 9px; }
  .demo-banner-actions { gap: 4px; flex-direction: column; align-items: flex-end; }
  .demo-chip { display: none !important; }
  .demo-banner-actions button { font-size: 9px; }
  .content-wrap { padding: 29px 17px 53px; }
  .section-heading,
  .welcome-row { align-items: flex-start; flex-direction: column; gap: 19px; margin-bottom: 25px; }
  .section-heading h1,
  .welcome-row h1 { font-size: 30px; }
  .welcome-row h1 { font-size: 31px; }
  .section-heading .lede,
  .welcome-row .lede { font-size: 12px; }
  .heading-actions,
  .welcome-actions { width: 100%; }
  .heading-actions .button,
  .welcome-actions .button { flex: 1; }
  .hide-mobile { display: inline-flex; }
  .grid-three { grid-template-columns: 1fr; gap: 8px; }
  .glance-card { min-height: 78px; }
  .glance-icon { width: 34px; height: 34px; }
  .content-grid-main { gap: 9px; }
  .today-hero { min-height: 278px; padding: 22px; grid-template-columns: 1fr; }
  .today-hero h2 { margin-top: 15px; font-size: 24px; }
  .today-hero .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-visual { min-height: 91px; margin-top: -10px; }
  .hero-orbit { right: 54px; top: -4px; transform: scale(0.72); transform-origin: center; }
  .river-shape-one { right: -70px; top: -4px; transform: scale(0.75) rotate(-24deg); }
  .river-shape-two { right: -50px; top: 10px; transform: scale(0.75) rotate(-24deg); }
  .hero-stat { right: 5px; bottom: 0; }
  .rhythm-card,
  .questions-card,
  .sync-card,
  .boundary-card,
  .share-mini-card,
  .profile-identity,
  .profile-preferences,
  .condition-card,
  .goal-card,
  .care-plan-card,
  .care-team-card,
  .medicines-card,
  .clarification-card,
  .routine-card,
  .appointment-card,
  .trend-card,
  .journal-entry-card,
  .questions-side-card,
  .journal-boundary-card,
  .directory-aside,
  .directory-note,
  .resources-card,
  .prompts-card,
  .community-rules,
  .appeal-card,
  .summary-control-card,
  .summary-preview-card,
  .grant-card,
  .shares-card,
  .access-card,
  .privacy-card,
  .queue-card,
  .audit-summary-card,
  .ops-side-card,
  .four-eyes-card,
  .large-card,
  .lineage-card,
  .rule-card,
  .urgent-note { padding: 18px; }
  .card-heading h2 { font-size: 17px; }
  .timeline-item { grid-template-columns: 34px 19px 1fr; gap: 8px; }
  .timeline-title-row { gap: 6px; }
  .timeline-title-row > .pill { display: none; }
  .timeline-meta { padding-left: 33px; }
  .profile-identity { min-height: 112px; }
  .identity-avatar { width: 48px; height: 48px; font-size: 15px; }
  .identity-copy h2 { font-size: 19px; }
  .identity-meta { display: block; line-height: 1.6; }
  .identity-meta span:nth-child(2) { display: none; }
  .profile-preferences { display: block; }
  .profile-preferences .card-heading { margin-bottom: 14px; }
  .medicine-row { grid-template-columns: 32px minmax(0, 1fr); }
  .medicine-avatar { width: 32px; height: 32px; }
  .medicine-actions { grid-column: 2; align-items: flex-start; flex-direction: row; justify-content: space-between; }
  .medicine-instruction { margin-top: 5px; }
  .provider-card { padding: 17px; }
  .provider-detail-grid { grid-template-columns: 1fr 1fr; }
  .provider-detail-grid div:last-child { grid-column: 1 / -1; }
  .provider-verification { align-items: flex-start; flex-direction: column; gap: 7px; }
  .provider-verification > div { align-items: flex-start; flex-direction: column; gap: 5px; }
  .provider-card-footer { align-items: flex-start; flex-direction: column; gap: 8px; }
  .provider-card-footer .text-link { align-self: flex-end; }
  .not-live-banner { align-items: flex-start; flex-wrap: wrap; }
  .not-live-banner .source-stamp { width: 100%; padding-left: 31px; }
  .directory-toolbar { align-items: stretch; flex-wrap: wrap; }
  .search-field { width: 100%; }
  .result-count { margin-left: 0; }
  .community-status { align-items: flex-start; flex-wrap: wrap; }
  .staff-status { width: 100%; padding-left: 49px; }
  .prompt-grid { grid-template-columns: 1fr; }
  .summary-stepper { justify-content: flex-start; gap: 6px; overflow-x: auto; }
  .step-line { width: 17px; }
  .summary-step strong { display: none; }
  .summary-step span { width: 23px; height: 23px; }
  .preview-top { padding: 18px; }
  .preview-meta { padding: 12px 18px; grid-template-columns: 1fr 1fr; }
  .preview-document { margin: 14px 12px; padding: 16px; }
  .document-profile { align-items: flex-start; }
  .document-date { margin-top: 3px; }
  .snapshot-created,
  .preview-warning { padding: 12px 18px; }
  .snapshot-created .text-link { display: none; }
  .consent-overview { padding: 18px; }
  .consent-principles { grid-template-columns: 1fr; }
  .consent-principles > div { display: grid; grid-template-columns: 22px 1fr; gap: 0 8px; align-items: center; }
  .consent-principles > div span { grid-row: span 2; }
  .consent-principles strong { margin-top: 0; }
  .grant-meta { grid-template-columns: 1fr; }
  .grant-meta > div { min-height: 44px; }
  .grant-card .card-actions { align-items: stretch; flex-direction: column; }
  .grant-card .card-actions .button { width: 100%; }
  .trust-hero { padding: 20px; flex-wrap: wrap; }
  .trust-hero h2 { font-size: 20px; }
  .trust-hero-badge { width: 100%; margin-left: 66px; }
  .rule-meta { grid-template-columns: 1fr; }
  .ops-metrics { grid-template-columns: 1fr 1fr; gap: 8px; }
  .ops-metric { padding: 13px; }
  .ops-metric > strong { font-size: 21px; }
  .queue-table { overflow-x: auto; }
  .queue-head,
  .queue-row { min-width: 650px; }
  .modal-backdrop { padding: 10px; align-items: flex-end; }
  .modal-panel { max-height: calc(100vh - 20px); border-radius: 18px 18px 0 0; }
  .modal-form { padding: 21px 18px; }
  .modal-header h2 { font-size: 20px; }
  .mobile-nav { height: 67px; padding: 7px 7px 5px; position: fixed; inset: auto 0 0; z-index: 30; display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid #dfe9e6; background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(14px); }
  .mobile-nav-item { min-width: 0; padding: 5px 2px; display: flex; align-items: center; flex-direction: column; justify-content: center; gap: 3px; border: 0; border-radius: 9px; color: #8ca0a3; background: transparent; font-size: 8px; font-weight: 600; }
  .mobile-nav-item.active { color: var(--teal); background: var(--teal-soft); }
  .mobile-more-icon { height: 19px; display: flex; align-items: center; font-size: 16px; letter-spacing: 1px; line-height: 1; }
  .toast { right: 16px; bottom: 80px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
