:root {
  color-scheme: light;
  --ink: #13251e;
  --ink-soft: #4f625a;
  --ink-faint: #697a72;
  --surface: #ffffff;
  --canvas: #f4f7f4;
  --canvas-deep: #e8eee8;
  --line: #d4dfd7;
  --line-strong: #b8c7bd;
  --green-900: #073b2e;
  --green-800: #0b4d3b;
  --green-700: #0f5b46;
  --green-600: #177057;
  --green-100: #e3f1e9;
  --amber-900: #734400;
  --amber-700: #966000;
  --amber-100: #fff4d9;
  --red-900: #7d1d19;
  --red-700: #b02b24;
  --red-100: #fce9e7;
  --blue-900: #12456d;
  --blue-100: #e8f2fb;
  --shadow-sm: 0 1px 2px rgba(15, 40, 26, .08);
  --shadow-md: 0 12px 32px rgba(15, 40, 26, .12);
  --radius-sm: .75rem;
  --radius-md: 1rem;
  --radius-lg: 1.35rem;
  --radius-xl: 1.8rem;
  --tap: 3.5rem;
  --content: 72rem;
  --parent-content: 40rem;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 18px;
  line-height: 1.5;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

html {
  min-height: 100%;
  background: var(--canvas);
}

html[lang="hi"] {
  font-family: "Noto Sans Devanagari", "Nirmala UI", Mangal, Inter, ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; }

body {
  min-width: 320px;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
}

button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:disabled { cursor: wait; opacity: .62; }
img { display: block; max-width: 100%; }
a { color: var(--green-800); }

.skip-link {
  position: fixed;
  z-index: 100;
  top: .5rem;
  left: .5rem;
  padding: .65rem .85rem;
  color: #fff;
  background: var(--green-900);
  border-radius: .5rem;
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

:focus-visible {
  outline: 3px solid #136cc5;
  outline-offset: 3px;
}
.route-heading:focus,
.route-heading:focus-visible { outline: 0; }

.app-shell {
  min-height: 100vh;
  min-height: 100dvh;
}

.app-shell[aria-busy="true"]::before {
  content: "";
  display: block;
  width: 2.2rem;
  height: 2.2rem;
  margin: 25vh auto;
  border: .24rem solid var(--green-100);
  border-top-color: var(--green-700);
  border-radius: 50%;
  animation: spin .75s linear infinite;
}

.no-script {
  max-width: 38rem;
  padding: 2rem;
  margin: 5rem auto;
  background: #fff;
  border-radius: 1rem;
}

.screen {
  min-height: 100vh;
  min-height: 100dvh;
}

.shell-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: max(1rem, env(safe-area-inset-top)) 1.1rem 1rem;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: var(--green-900);
  font-weight: 800;
  text-decoration: none;
}

.brand-mark {
  display: grid;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  color: #fff;
  background: var(--green-700);
  border-radius: .8rem;
  box-shadow: var(--shadow-sm);
}

.brand-mark svg { width: 1.42rem; height: 1.42rem; fill: currentColor; }
.brand-text { font-size: 1rem; line-height: 1.1; }
.brand-text small { display: block; margin-top: .15rem; color: var(--ink-soft); font-size: .71rem; font-weight: 650; }

.icon-button {
  display: inline-grid;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: .5rem;
  place-items: center;
  color: var(--green-900);
  background: transparent;
  border: 1px solid transparent;
  border-radius: .75rem;
}
.icon-button:hover { background: var(--green-100); }
.icon { width: 1.3rem; height: 1.3rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }

.button, .button-link {
  display: inline-flex;
  min-height: var(--tap);
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .75rem 1rem;
  color: #fff;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  background: var(--green-700);
  border: 1px solid var(--green-700);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
}
.button:hover, .button-link:hover { background: var(--green-800); border-color: var(--green-800); }
.button--wide { width: 100%; }
.button--secondary { color: var(--green-900); background: #fff; border-color: var(--green-700); box-shadow: none; }
.button--secondary:hover { background: var(--green-100); }
.button--quiet { color: var(--green-900); background: transparent; border-color: transparent; box-shadow: none; }
.button--quiet:hover { background: var(--green-100); }
.button--danger { color: #fff; background: var(--red-700); border-color: var(--red-700); }
.button--danger:hover { background: var(--red-900); border-color: var(--red-900); }
.button--warning { color: var(--amber-900); background: var(--amber-100); border-color: var(--amber-700); }
.button--small { min-height: 2.45rem; padding: .55rem .75rem; font-size: .82rem; }

.auth-screen {
  display: grid;
  min-height: 100vh;
  min-height: 100dvh;
  place-items: center;
  padding: max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));
  background: radial-gradient(circle at 50% -15%, #d9efe1 0, transparent 42rem), var(--canvas);
}

.auth-card {
  width: min(100%, 30rem);
  padding: clamp(1.25rem, 5vw, 2.2rem);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
}
.auth-card .brand { margin-bottom: 2rem; }
.auth-card h1 { margin: 0 0 .5rem; color: var(--green-900); font-size: clamp(1.65rem, 6vw, 2.15rem); line-height: 1.17; }
.auth-card > p { margin: 0 0 1.5rem; color: var(--ink-soft); }

.form-stack { display: grid; gap: 1rem; }
.field { display: grid; gap: .42rem; }
.field label, fieldset legend { color: var(--ink); font-size: .88rem; font-weight: 780; }
.field-hint { margin: -.14rem 0 0; color: var(--ink-soft); font-size: .78rem; }
.field-error { margin: -.14rem 0 0; color: var(--red-900); font-size: .78rem; font-weight: 650; }
input, select, textarea {
  width: 100%;
  min-height: 3rem;
  padding: .65rem .75rem;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: .68rem;
}
textarea { min-height: 5.4rem; resize: vertical; }
input[type="file"] { padding: .45rem; }
input:focus, select:focus, textarea:focus { border-color: var(--green-700); outline: 3px solid rgba(15, 91, 70, .18); outline-offset: 0; }
fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.form-row { display: grid; gap: 1rem; }
.radio-row, .check-row { display: flex; align-items: center; gap: .62rem; }
.radio-row input, .check-row input { width: 1.25rem; min-height: 1.25rem; accent-color: var(--green-700); }
.form-actions { display: grid; gap: .75rem; margin-top: .5rem; }
.form-note { margin: 0; color: var(--ink-soft); font-size: .78rem; }

.error-card, .notice, .status-banner {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}
.error-card { color: var(--red-900); background: var(--red-100); border-color: #efbbb6; }
.notice { color: var(--blue-900); background: var(--blue-100); border-color: #bfd9f1; }
.status-banner { color: var(--amber-900); background: var(--amber-100); border-color: #efd58f; }
.error-card p, .notice p, .status-banner p { margin: 0; }
.error-card strong, .notice strong, .status-banner strong { display: block; margin-bottom: .18rem; }

.parent-screen { min-height: 100vh; min-height: 100dvh; background: var(--canvas); }
.parent-header {
  position: sticky;
  z-index: 10;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: max(.85rem, env(safe-area-inset-top)) 1rem .85rem;
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.parent-identity { min-width: 0; }
.parent-identity p { overflow: hidden; margin: 0; color: var(--ink-soft); font-size: .78rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.parent-identity h1 { margin: .05rem 0 0; color: var(--green-900); font-size: clamp(1.16rem, 5vw, 1.45rem); line-height: 1.2; }
.language-button { min-width: 3.75rem; min-height: 2.75rem; color: var(--green-900); font-size: .82rem; font-weight: 800; background: var(--green-100); border: 1px solid #bad8c5; border-radius: .7rem; }

.parent-content {
  width: min(100%, var(--parent-content));
  padding: 1.25rem 1rem calc(7.5rem + env(safe-area-inset-bottom));
  margin: 0 auto;
}
.eyebrow { margin: 0 0 .3rem; color: var(--green-800); font-size: .8rem; font-weight: 820; letter-spacing: .04em; text-transform: uppercase; }
.parent-title { margin: 0; color: var(--green-900); font-size: clamp(1.55rem, 6.3vw, 2.05rem); line-height: 1.18; }
.parent-subtitle { margin: .4rem 0 1.25rem; color: var(--ink-soft); font-size: 1rem; }
.date-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .6rem; color: var(--ink-soft); font-size: .78rem; font-weight: 720; background: #fff; border: 1px solid var(--line); border-radius: 999px; }

.due-group { margin-top: 1rem; }
.due-group-header { display: flex; align-items: flex-end; justify-content: space-between; gap: .75rem; margin: 1.15rem 0 .7rem; }
.due-group-header h2 { margin: 0; color: var(--green-900); font-size: 1.2rem; }
.due-group-header p { margin: 0; color: var(--ink-soft); font-size: .84rem; font-weight: 650; text-align: right; }

.medicine-list { display: grid; gap: .8rem; }
.medicine-card {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr) auto;
  gap: .85rem;
  width: 100%;
  min-height: 5.7rem;
  padding: .7rem;
  color: inherit;
  text-align: left;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}
button.medicine-card:hover { border-color: var(--green-700); background: #fbfefb; }
.medicine-card--done { background: #f6fbf7; border-color: #b9d7c1; }
.medicine-card__image, .medicine-image-placeholder {
  display: grid;
  width: 4.5rem;
  height: 4.5rem;
  overflow: hidden;
  place-items: center;
  color: var(--green-800);
  background: var(--green-100);
  border-radius: .72rem;
}
.medicine-card__image { object-fit: cover; }
.medicine-image-placeholder svg { width: 2rem; height: 2rem; }
.medicine-card__body { min-width: 0; align-self: center; }
.medicine-card__name { overflow: hidden; margin: 0; color: var(--ink); font-size: 1.04rem; font-weight: 830; line-height: 1.22; text-overflow: ellipsis; }
.medicine-card__strength { margin: .12rem 0; color: var(--ink-soft); font-size: .82rem; font-weight: 700; }
.medicine-card__instruction { display: -webkit-box; overflow: hidden; margin: .2rem 0 0; color: var(--ink); font-size: .87rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.medicine-card__action { align-self: center; color: var(--green-800); font-size: .85rem; font-weight: 800; white-space: nowrap; }
.medicine-card__action--done { color: var(--green-800); }

.parent-helpbar {
  position: fixed;
  z-index: 15;
  right: 0;
  bottom: 0;
  left: 0;
  padding: .75rem 1rem max(.75rem, env(safe-area-inset-bottom));
  background: rgba(246, 248, 246, .97);
  border-top: 1px solid var(--line);
  backdrop-filter: blur(10px);
}
.parent-helpbar > * { display: flex; width: min(100%, var(--parent-content)); margin: 0 auto; }
.parent-helpbar .button { font-size: 1rem; }

.empty-state {
  padding: 1.35rem;
  margin-top: 1rem;
  text-align: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
}
.empty-state__icon { display: grid; width: 3.25rem; height: 3.25rem; margin: 0 auto .75rem; place-items: center; color: var(--green-800); background: var(--green-100); border-radius: 50%; }
.empty-state h2 { margin: 0 0 .4rem; color: var(--green-900); font-size: 1.2rem; }
.empty-state p { margin: 0; color: var(--ink-soft); }

.confirm-screen { width: min(100%, var(--parent-content)); min-height: 100vh; min-height: 100dvh; padding: max(.9rem, env(safe-area-inset-top)) 1rem calc(2rem + env(safe-area-inset-bottom)); margin: 0 auto; }
.back-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .35rem; padding: .45rem .2rem; color: var(--green-900); font-weight: 800; background: transparent; border: 0; }
.confirm-panel { padding: 1.25rem; margin-top: 1rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); }
.confirm-panel h1 { margin: 0 0 .5rem; color: var(--green-900); font-size: clamp(1.55rem, 6vw, 2rem); line-height: 1.15; }
.confirm-panel > p { margin: 0; color: var(--ink-soft); }
.medicine-focus { display: grid; justify-items: center; padding: 1.35rem 0; margin: 1.2rem 0; text-align: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.medicine-focus__image, .medicine-focus .medicine-image-placeholder { width: min(13rem, 60vw); height: min(13rem, 60vw); border-radius: 1rem; }
.medicine-focus__image { object-fit: cover; }
.medicine-focus__name { margin: 1rem 0 .25rem; color: var(--ink); font-size: 1.42rem; font-weight: 850; line-height: 1.18; }
.medicine-focus__strength { margin: 0; color: var(--ink-soft); font-weight: 700; }
.medicine-focus__instruction { margin: .7rem 0 0; color: var(--ink); font-size: 1.1rem; font-weight: 720; }
.confirm-actions { display: grid; gap: .75rem; }
.confirm-actions .button { min-height: 4rem; font-size: 1.08rem; }
.confirm-safety { margin: 1rem 0 0; color: var(--ink-soft); font-size: .79rem; text-align: center; }
.photo-warning { display: flex; align-items: flex-start; gap: .65rem; padding: .85rem; margin: 0 0 1rem; color: var(--amber-900); font-size: .88rem; background: var(--amber-100); border: 1px solid #efd58f; border-radius: var(--radius-sm); }
.photo-warning .icon { flex: 0 0 auto; width: 1.35rem; height: 1.35rem; margin-top: .08rem; }
.photo-warning p { margin: 0; }
.confirm-check { align-items: flex-start; padding: .9rem; margin: 0 0 1rem; color: var(--ink); font-size: .9rem; font-weight: 700; background: #f8faf8; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.confirm-check input { flex: 0 0 auto; margin-top: .12rem; }

.request-choice { display: grid; gap: .8rem; margin-top: 1rem; }
.selectable-card {
  display: grid;
  grid-template-columns: 4rem 1fr auto;
  gap: .8rem;
  width: 100%;
  min-height: 5.1rem;
  align-items: center;
  padding: .65rem;
  color: var(--ink);
  text-align: left;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}
.selectable-card:hover { border-color: var(--green-700); background: #fbfefb; }
.selectable-card .medicine-card__image, .selectable-card .medicine-image-placeholder { width: 4rem; height: 4rem; }

.admin-shell { min-height: 100vh; min-height: 100dvh; background: var(--canvas); }
.admin-topbar { display: flex; min-height: 4.1rem; align-items: center; justify-content: space-between; gap: 1rem; padding: max(.75rem, env(safe-area-inset-top)) 1rem .75rem; background: #fff; border-bottom: 1px solid var(--line); }
.admin-layout { width: min(100%, var(--content)); padding: 0 1rem calc(5rem + env(safe-area-inset-bottom)); margin: 0 auto; }
.admin-main { padding: 1.4rem 0; }
.admin-page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.admin-page-header h1 { margin: 0; color: var(--green-900); font-size: clamp(1.55rem, 6vw, 2rem); line-height: 1.17; }
.admin-page-header p { margin: .35rem 0 0; color: var(--ink-soft); }
.admin-page-actions { display: flex; flex: 0 0 auto; gap: .5rem; }

.admin-nav {
  position: fixed;
  z-index: 12;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: .35rem .3rem max(.35rem, env(safe-area-inset-bottom));
  background: rgba(255,255,255,.97);
  border-top: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.admin-nav a { display: grid; min-height: 3.5rem; place-items: center; gap: .12rem; padding: .2rem; color: var(--ink-soft); font-size: .72rem; font-weight: 740; line-height: 1.1; text-align: center; text-decoration: none; border-radius: .65rem; }
.admin-nav a svg { width: 1.15rem; height: 1.15rem; }
.admin-nav a[aria-current="page"] { color: var(--green-900); background: var(--green-100); }

.summary-grid { display: grid; gap: .8rem; margin-bottom: 1.35rem; }
.summary-card { display: block; min-height: 6.5rem; padding: 1rem; color: var(--ink); text-decoration: none; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.summary-card:hover { border-color: var(--green-700); }
.summary-card__label { display: block; color: var(--ink-soft); font-size: .78rem; font-weight: 760; }
.summary-card__value { display: block; margin-top: .3rem; color: var(--green-900); font-size: 1.6rem; font-weight: 850; line-height: 1; }
.summary-card__detail { display: block; margin-top: .45rem; color: var(--ink-soft); font-size: .75rem; }

.section-card { padding: 1rem; margin-bottom: 1rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.section-card h2, .section-card h3 { margin: 0; color: var(--green-900); font-size: 1.08rem; }
.section-card__header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .8rem; }
.section-card__header a { font-size: .84rem; font-weight: 780; }

.data-list { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.data-list__item { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-top: .7rem; border-top: 1px solid var(--line); }
.data-list__item:first-child { padding-top: 0; border-top: 0; }
.item-title { margin: 0; color: var(--ink); font-size: .94rem; font-weight: 790; }
.item-detail { margin: .12rem 0 0; color: var(--ink-soft); font-size: .78rem; }
.item-actions { display: flex; flex: 0 0 auto; gap: .35rem; }

.status-pill { display: inline-flex; min-height: 1.65rem; align-items: center; gap: .28rem; padding: .2rem .52rem; color: var(--green-900); font-size: .7rem; font-weight: 800; line-height: 1.1; background: var(--green-100); border: 1px solid #b9d7c1; border-radius: 999px; white-space: nowrap; }
.status-pill--warning { color: var(--amber-900); background: var(--amber-100); border-color: #efd58f; }
.status-pill--danger { color: var(--red-900); background: var(--red-100); border-color: #efbbb6; }
.status-pill--muted { color: var(--ink-soft); background: #f1f4f1; border-color: var(--line); }

.patient-grid { display: grid; gap: .8rem; }
.patient-card { padding: 1rem; color: var(--ink); text-decoration: none; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.patient-card:hover { border-color: var(--green-700); }
.patient-card__top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.patient-card h2 { margin: 0; color: var(--green-900); font-size: 1.14rem; }
.patient-card p { margin: .45rem 0 0; color: var(--ink-soft); font-size: .82rem; }

.tabs { display: flex; gap: .35rem; overflow-x: auto; padding-bottom: .35rem; margin: -.25rem 0 1rem; scrollbar-width: thin; }
.tabs a { min-height: 2.55rem; padding: .55rem .75rem; color: var(--ink-soft); font-size: .8rem; font-weight: 760; text-decoration: none; white-space: nowrap; background: #fff; border: 1px solid var(--line); border-radius: .65rem; }
.tabs a[aria-current="page"] { color: var(--green-900); background: var(--green-100); border-color: #b9d7c1; }

.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: .75rem; }
table { width: 100%; border-collapse: collapse; background: #fff; font-size: .82rem; }
th, td { padding: .7rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
th { color: var(--ink-soft); font-size: .72rem; font-weight: 820; background: #f8faf8; }
tr:last-child td { border-bottom: 0; }

.inline-form { display: grid; gap: .75rem; }
.routine-item { display: grid; gap: .6rem; padding: .85rem; margin-top: .75rem; background: #f8faf8; border: 1px solid var(--line); border-radius: .75rem; }
.routine-item__header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.routine-item__header strong { font-size: .87rem; }
.split-divider { height: 1px; margin: .25rem 0; background: var(--line); }

.modal-backdrop {
  position: fixed;
  z-index: 50;
  inset: 0;
  display: grid;
  align-items: end;
  padding: 1rem 1rem max(1rem, env(safe-area-inset-bottom));
  background: rgba(7, 27, 17, .45);
}
.modal {
  width: min(100%, 38rem);
  max-height: min(90vh, 52rem);
  overflow: auto;
  padding: 1.1rem;
  margin: 0 auto;
  background: #fff;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
}
.modal__header { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.modal__header h2 { margin: 0; color: var(--green-900); font-size: 1.24rem; }
.modal__header p { margin: .25rem 0 0; color: var(--ink-soft); font-size: .84rem; }

.toast-region { position: fixed; z-index: 90; right: 1rem; bottom: calc(5.25rem + env(safe-area-inset-bottom)); left: 1rem; pointer-events: none; }
.toast { width: min(100%, 34rem); padding: .85rem 1rem; margin: 0 auto; color: #fff; background: var(--green-900); border-radius: .75rem; box-shadow: var(--shadow-md); }
.toast--error { background: var(--red-900); }

.offline-banner { position: sticky; z-index: 8; top: 4.4rem; width: min(100%, var(--parent-content)); padding: .65rem .75rem; margin: .75rem auto -.45rem; color: var(--amber-900); font-size: .78rem; font-weight: 700; background: var(--amber-100); border: 1px solid #efd58f; border-radius: .65rem; }
.hidden { display: none !important; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

@media (min-width: 36rem) {
  .form-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-actions .button--wide { grid-column: 1 / -1; }
}

@media (min-width: 56rem) {
  .admin-topbar { padding-right: 2rem; padding-left: 2rem; }
  .admin-shell { display: grid; grid-template-columns: 14rem minmax(0, 1fr); }
  .admin-topbar { grid-column: 1 / -1; }
  .admin-layout { width: 100%; padding: 0 2rem 2rem; }
  .admin-nav { position: sticky; top: 4.1rem; align-self: start; display: grid; grid-template-columns: 1fr; gap: .25rem; width: auto; height: calc(100vh - 4.1rem); height: calc(100dvh - 4.1rem); padding: 1.1rem .8rem; background: transparent; border-top: 0; border-right: 1px solid var(--line); backdrop-filter: none; }
  .admin-nav a { grid-template-columns: 1.35rem 1fr; min-height: 2.8rem; justify-items: start; padding: .55rem .65rem; font-size: .8rem; text-align: left; }
  .admin-nav a svg { width: 1.2rem; height: 1.2rem; }
  .summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .patient-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inline-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inline-form .field--wide, .inline-form .form-actions, .inline-form fieldset { grid-column: 1 / -1; }
  .modal-backdrop { align-items: center; }
  .toast-region { right: 2rem; bottom: 2rem; left: auto; width: 24rem; }
}

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

@keyframes spin { to { transform: rotate(360deg); } }
