:root {
  color-scheme: light;
  --bg: #f5f9f8;
  --panel: #ffffff;
  --ink: #082441;
  --muted: #536575;
  --line: #d9dee5;
  --teal: #007d79;
  --teal-dark: #007d79;
  --amber: #b7791f;
  --red: #b42318;
  --blue: #164e9f;
  --green: #15803d;
  --yellow: #a16207;
  --shadow: 0 18px 45px rgba(24, 33, 43, 0.08);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Alerta modal temporal para confirmaciones y errores del flujo de mezclas. */
.native-shell .doctor-sweet-alert {
  position: fixed;
  inset: 0;
  z-index: 250;
  display: grid;
  place-items: center;
  padding: 20px;
  animation: doctor-sweet-alert-in 180ms ease-out;
}

.native-shell .doctor-sweet-alert.is-closing {
  opacity: 0;
  transition: opacity 180ms ease;
}

.native-shell .doctor-sweet-alert-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: rgba(15, 35, 42, 0.48);
  box-shadow: none;
  cursor: default;
}

.native-shell .doctor-sweet-alert-card {
  position: relative;
  z-index: 1;
  width: min(430px, 100%);
  padding: 28px 30px 24px;
  border: 1px solid #d6e2e4;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 22px 54px rgba(20, 49, 58, 0.22);
  text-align: center;
}

.native-shell .doctor-sweet-alert-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  border: 3px solid currentColor;
  border-radius: 50%;
  font-size: 31px;
  font-weight: 700;
}

.native-shell .doctor-sweet-alert-success .doctor-sweet-alert-icon { color: #0aae9d; }
.native-shell .doctor-sweet-alert-error .doctor-sweet-alert-icon { color: #e04e55; }
.native-shell .doctor-sweet-alert-card h2 { margin: 0 0 9px; color: #082441; font-size: 21px; }
.native-shell .doctor-sweet-alert-card p { margin: 0; color: #526b78; line-height: 1.55; }

.native-shell .doctor-sweet-alert-confirm {
  min-width: 112px;
  margin-top: 21px;
  padding: 10px 18px;
  border: 1px solid #08a99b;
  border-radius: 8px;
  background: #08a99b;
  color: #fff;
  font-weight: 800;
}

@keyframes doctor-sweet-alert-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

* {
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  margin: 0;
  background: var(--bg);
  color: var(--ink);
}

a {
  color: inherit;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 72px;
  padding: 14px clamp(18px, 4vw, 48px);
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(16px);
}

.brand,
.session {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand {
  text-decoration: none;
  flex: 0 0 auto;
}

.brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  background: var(--teal);
  color: #fff;
  font-weight: 800;
}

.brand strong,
.brand small {
  display: block;
}

.brand small,
.session {
  color: var(--muted);
  font-size: 14px;
}

.session form {
  margin: 0;
}

.module-nav {
  display: flex;
  flex: 1 1 auto;
  gap: 6px;
  overflow-x: auto;
  padding: 4px;
  scrollbar-width: thin;
}

.module-nav a {
  flex: 0 0 auto;
  min-height: 34px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 7px 10px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.module-nav a:hover,
.module-nav a:focus {
  border-color: var(--line);
  background: #fff;
  color: var(--ink);
}

button,
.primary-button,
.bridge-panel a {
  min-height: 42px;
  border: 0;
  border-radius: 8px;
  padding: 0 16px;
  background: var(--teal);
  color: #fff;
  font: inherit;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.session button {
  background: #263241;
}

.shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 36px 0 56px;
}

.login-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: clamp(24px, 6vw, 72px);
  align-items: center;
  min-height: calc(100vh - 160px);
}

.login-copy h1,
.page-heading h1,
.bridge-panel h1 {
  margin: 0;
  font-size: clamp(34px, 5vw, 60px);
  line-height: 1.02;
  letter-spacing: 0;
}

.login-copy p,
.page-heading p,
.bridge-panel p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.6;
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.status-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.status-strip span,
.section-title span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 12px;
  background: #fff;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.login-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.login-panel form {
  display: grid;
  gap: 18px;
  padding: 24px;
}

label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}

select,
input {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

textarea {
  width: 100%;
  min-height: 92px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  resize: vertical;
}

.alert {
  border-left: 4px solid var(--red);
  border-radius: 8px;
  padding: 12px;
  background: #fff4f2;
  color: var(--red);
  font-size: 14px;
  font-weight: 700;
}

.action-link,
.secondary-button {
  display: inline-grid;
  place-items: center;
  min-height: 42px;
  border-radius: 8px;
  padding: 0 16px;
  font-weight: 800;
  text-decoration: none;
}

.secondary-button {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
}

.text-link {
  color: var(--blue);
  font-weight: 800;
  text-decoration: none;
}

.insurance-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}

.insurance-nav a {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.insurance-nav a:hover {
  border-color: var(--blue);
  color: var(--blue);
}

.notice {
  margin-bottom: 18px;
  border-radius: 8px;
  padding: 14px 16px;
  font-weight: 700;
}

.notice ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.notice.success {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.notice.danger {
  border: 1px solid #fecaca;
  background: #fff1f2;
  color: var(--red);
}

.insurance-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.insurance-grid {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.insurance-grid.two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.insurance-panel,
.table-card,
.form-section {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.insurance-panel {
  padding: 18px;
}

.compact-list,
.alert-list,
.timeline {
  display: grid;
  gap: 10px;
}

.compact-list.separated {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.compact-list div,
.compact-list a,
.alert-row,
.timeline div {
  display: grid;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: #fafafa;
  text-decoration: none;
}

.compact-list span,
.alert-row span,
.timeline span,
.timeline time,
.detail-list dt {
  color: var(--muted);
  font-size: 13px;
}

.alert-row.warning {
  border-color: #fde68a;
  background: #fffbeb;
}

.alert-row.critical {
  border-color: #fecaca;
  background: #fff1f2;
}

.empty-state {
  margin: 0;
  color: var(--muted);
}

.filter-bar,
.insurance-form,
.inline-form {
  display: grid;
  gap: 14px;
}

.filter-bar {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  margin-bottom: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.insurance-form {
  margin-bottom: 20px;
}

.insurance-form.compact {
  margin-top: 0;
}

.form-section {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.form-section h2 {
  margin: 0;
  font-size: 19px;
}

.form-grid,
.inline-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.span-2 {
  grid-column: 1 / -1;
}

.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.checkbox-line {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
}

.checkbox-line input {
  width: auto;
  min-height: auto;
}

.record-header,
.record-actions,
.record-summary {
  display: flex;
  gap: 12px;
}

.record-header {
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 18px;
}

.record-header h1 {
  margin: 0;
  font-size: clamp(32px, 4vw, 48px);
  letter-spacing: 0;
}

.record-header p {
  color: var(--muted);
}

.record-actions {
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}

.record-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
}

.record-summary article {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.record-summary span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.detail-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.detail-list div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 10px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 8px;
}

.detail-list dd {
  margin: 0;
}

.badge {
  display: inline-grid;
  width: max-content;
  min-height: 28px;
  place-items: center;
  border-radius: 999px;
  padding: 0 10px;
  background: #eef2f7;
  color: #344054;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.risk-low {
  background: #dcfce7;
  color: #166534;
}

.risk-medium {
  background: #fef9c3;
  color: #854d0e;
}

.risk-high {
  background: #ffedd5;
  color: #9a3412;
}

.risk-critical {
  background: #fee2e2;
  color: #991b1b;
}

.table-card {
  overflow-x: auto;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.data-table th,
.data-table td {
  border-bottom: 1px solid var(--line);
  padding: 13px 14px;
  text-align: left;
  vertical-align: top;
}

.data-table th {
  background: #f8fafc;
  color: #475467;
  font-size: 12px;
  text-transform: uppercase;
}

.data-table td span {
  display: block;
  color: var(--muted);
  font-size: 13px;
}

.table-action {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(140px, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.table-action select,
.table-action input,
.table-action button {
  min-height: 36px;
}

.pagination-wrap {
  margin-top: 14px;
}

.pagination-wrap nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 13px;
}

.pagination-wrap nav > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.pagination-wrap a,
.pagination-wrap span[aria-current],
.pagination-wrap span[aria-disabled] span,
.pagination-wrap a[rel],
.pagination-wrap span.relative {
  min-width: 34px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: var(--text);
  padding: 0 10px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
}

.pagination-wrap span[aria-current] span,
.pagination-wrap [aria-current="page"] span {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff;
}

.pagination-wrap svg {
  width: 18px;
  height: 18px;
  max-width: 18px;
  max-height: 18px;
  display: block;
  flex: 0 0 18px;
}

.permission-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.permission-grid span {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: #fafafa;
  font-size: 13px;
  font-weight: 700;
}

.page-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
}

.metric-grid,
.module-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.metric-card,
.module-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.metric-card {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 18px;
}

.metric-card span,
.module-card small {
  color: var(--muted);
  font-size: 13px;
}

.metric-card strong {
  font-size: 34px;
  line-height: 1;
}

.module-section {
  margin-top: 32px;
}

.section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.section-title h2 {
  margin: 0;
}

.module-card {
  position: relative;
  display: grid;
  gap: 8px;
  min-height: 104px;
  padding: 18px;
  text-decoration: none;
}

.module-card.module-card-priority-high {
  border-top: 3px solid #0f9f8f;
}

.module-card.module-card-priority-medium {
  border-top: 3px solid #e2a526;
}

.module-card > span:not(.module-priority-mark) {
  padding-right: 112px;
}

.module-priority-mark {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

.module-priority-mark i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.module-card-priority-high .module-priority-mark {
  background: #e7f8f3;
  color: #007d79;
}

.module-card-priority-medium .module-priority-mark {
  background: #fff5d9;
  color: #a56b00;
}

.module-card:hover {
  border-color: var(--teal);
  box-shadow: var(--shadow);
}

.module-card span {
  font-weight: 800;
}

.module-card-access {
  width: fit-content;
  margin-top: 4px;
  padding: 7px 14px;
  border: 1px solid #007d79;
  border-radius: 7px;
  background: #fff;
  color: #007d79;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.module-card:hover .module-card-access {
  background: #007d79;
  color: #fff;
}

.bridge-screen {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 24px;
}

.bridge-panel {
  width: min(520px, 100%);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 28px;
  background: #fff;
  box-shadow: var(--shadow);
}

.bridge-panel a {
  display: inline-grid;
  place-items: center;
}

.patient-hero {
  align-items: center;
}

.doctor-hero {
  align-items: center;
}

.orders-hero {
  align-items: center;
}

.pharmacy-hero {
  align-items: center;
}

.patient-summary article strong {
  display: block;
  margin-top: 6px;
  font-size: 26px;
}

.doctor-summary article strong {
  display: block;
  margin-top: 6px;
  font-size: 26px;
}

.orders-summary article strong {
  display: block;
  margin-top: 6px;
  font-size: 26px;
}

.orders-layout {
  display: grid;
  gap: 18px;
}

.orders-filter {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.orders-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.orders-product-card {
  display: grid;
  gap: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
  background: #fff;
}

.orders-product-card h3 {
  margin: 10px 0 6px;
  font-size: 19px;
}

.orders-product-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.orders-product-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.orders-product-meta div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px;
  background: #fafafa;
}

.orders-product-meta dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.orders-product-meta dd {
  margin: 4px 0 0;
  font-weight: 900;
}

.orders-product-form {
  display: grid;
  grid-template-columns: 0.7fr 1fr 1fr;
  gap: 10px;
}

.orders-product-form button {
  grid-column: 1 / -1;
}

.orders-list article {
  gap: 12px;
}

.orders-list-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.orders-items {
  display: grid;
  gap: 5px;
  color: var(--muted);
}

.pharmacy-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.pharmacy-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pharmacy-filter {
  grid-template-columns: minmax(0, 1fr) auto;
}

.pharmacy-status-form {
  grid-template-columns: minmax(120px, 1fr) minmax(160px, 1fr) auto;
}

.messenger-layout {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.messenger-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.messenger-profile-card {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 18px;
}

.messenger-route-list {
  display: grid;
  gap: 14px;
}

.messenger-route-list article {
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.messenger-route-header {
  gap: 12px;
  margin: 0;
}

.messenger-route-header span,
.messenger-last-report,
.messenger-items {
  color: var(--muted);
}

.messenger-route-detail {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.messenger-items {
  display: grid;
  gap: 4px;
  font-size: 14px;
}

.messenger-status-form {
  grid-template-columns: minmax(130px, 0.7fr) minmax(180px, 1fr) auto;
}

.messenger-reports {
  grid-column: 2;
}

.operational-layout {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.operational-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.operational-profile-card {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 18px;
}

.operational-main-panel {
  grid-column: 2;
}

.operational-status-form {
  grid-template-columns: minmax(130px, 0.7fr) minmax(170px, 1fr) auto;
}

.permission-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.muted {
  color: var(--muted);
}

.provider-layout {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.provider-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.provider-profile-card {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 18px;
}

.provider-request-list {
  display: grid;
  gap: 14px;
}

.provider-request-list article {
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.provider-request-header {
  gap: 12px;
  margin: 0;
}

.provider-request-header span,
.provider-timeline,
.provider-delivery {
  color: var(--muted);
}

.provider-request-detail {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.provider-status-form {
  grid-template-columns: minmax(130px, 0.7fr) minmax(180px, 1fr) auto;
}

.provider-timeline,
.provider-delivery {
  display: grid;
  gap: 4px;
  font-size: 14px;
}

.unit-layout {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.unit-metrics {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.unit-profile-card {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 18px;
}

.unit-main-panel {
  grid-column: 2;
}

.unit-status-form {
  grid-template-columns: minmax(130px, 0.7fr) minmax(170px, 1fr) auto;
}

.institution-layout {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.institution-metrics {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.institution-profile-card {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 18px;
}

.institution-main-panel {
  grid-column: 2;
}

.institution-status-form {
  grid-template-columns: minmax(130px, 0.7fr) minmax(170px, 1fr) auto;
}

.superadmin-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.superadmin-metrics {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.superadmin-main-panel {
  grid-column: 1 / -1;
}

.superadmin-module-form,
.superadmin-user-form {
  grid-template-columns: minmax(130px, 1fr) auto;
}

.external-pharmacy-layout,
.insurance-advisor-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.external-pharmacy-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.insurance-advisor-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.external-pharmacy-main-panel,
.insurance-advisor-main-panel {
  grid-column: 1 / -1;
}

.external-pharmacy-status-form,
.insurance-advisor-status-form {
  grid-template-columns: minmax(130px, 0.7fr) minmax(170px, 1fr) auto;
}

.patient-layout {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.doctor-layout {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.patient-profile-card {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 18px;
}

.doctor-profile-card {
  position: sticky;
  top: 94px;
  display: grid;
  gap: 18px;
}

.patient-avatar {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  border-radius: 18px;
  background: var(--teal);
  color: #fff;
  font-size: 24px;
  font-weight: 900;
}

.doctor-avatar {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  border-radius: 18px;
  background: #164e9f;
  color: #fff;
  font-size: 24px;
  font-weight: 900;
}

.patient-main-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.doctor-main-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.compact-title {
  margin-bottom: 14px;
}

.flat-table {
  border: 0;
  border-radius: 0;
}

.flat-table .data-table {
  min-width: 720px;
}

.compact-list p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

@media (max-width: 820px) {
  .topbar,
  .page-heading,
  .section-title,
  .session {
    align-items: flex-start;
    flex-direction: column;
  }

  .module-nav {
    width: 100%;
    flex: none;
  }

  .login-grid,
  .metric-grid,
  .module-grid,
  .insurance-metrics,
  .insurance-grid.two-col,
  .patient-layout,
  .patient-main-grid,
  .doctor-layout,
  .doctor-main-grid,
  .orders-filter,
  .orders-product-grid,
  .orders-product-form,
  .pharmacy-layout,
  .pharmacy-metrics,
  .pharmacy-filter,
  .pharmacy-status-form,
  .messenger-layout,
  .messenger-metrics,
  .messenger-route-detail,
  .messenger-status-form,
  .operational-layout,
  .operational-metrics,
  .operational-status-form,
  .provider-layout,
  .provider-metrics,
  .provider-request-detail,
  .provider-status-form,
  .unit-layout,
  .unit-metrics,
  .unit-status-form,
  .institution-layout,
  .institution-metrics,
  .institution-status-form,
  .superadmin-layout,
  .superadmin-metrics,
  .superadmin-module-form,
  .superadmin-user-form,
  .external-pharmacy-layout,
  .external-pharmacy-metrics,
  .external-pharmacy-status-form,
  .insurance-advisor-layout,
  .insurance-advisor-metrics,
  .insurance-advisor-status-form,
  .filter-bar,
  .form-grid,
  .inline-form,
  .record-summary,
  .permission-grid {
    grid-template-columns: 1fr;
  }

  .record-header,
  .record-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .detail-list div,
  .table-action {
    grid-template-columns: 1fr;
  }

  .patient-profile-card {
    position: static;
  }

  .doctor-profile-card {
    position: static;
  }

  .messenger-profile-card {
    position: static;
  }

  .messenger-reports {
    grid-column: auto;
  }

  .operational-profile-card {
    position: static;
  }

  .operational-main-panel {
    grid-column: auto;
  }

  .provider-profile-card {
    position: static;
  }

  .unit-profile-card {
    position: static;
  }

  .unit-main-panel {
    grid-column: auto;
  }

  .institution-profile-card {
    position: static;
  }

  .institution-main-panel {
    grid-column: auto;
  }

  .orders-product-meta {
    grid-template-columns: 1fr;
  }

  .orders-list-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .login-copy h1,
  .page-heading h1,
  .bridge-panel h1 {
    font-size: 38px;
  }
}

/* Native Laravel visual parity layer. These rules keep the established
   product look while using maintainable Blade components. */
.native-shell {
  background:
    radial-gradient(circle at 14% 0%, rgba(36, 217, 198, 0.08), transparent 28%),
    linear-gradient(180deg, #fbfefe 0%, #f5fafb 54%, #f7fbfa 100%);
}

.native-shell .topbar {
  position: sticky;
  top: 10px;
  width: min(1380px, calc(100% - 24px));
  min-height: 72px;
  margin: 10px auto 0;
  padding: 12px 18px;
  border: 1px solid #e5eef1;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 38px rgba(31, 45, 52, 0.08);
  backdrop-filter: blur(16px);
}

.native-shell .brand {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 3px 12px;
  min-width: 220px;
}

.native-shell .brand-mark {
  width: 46px;
  height: 46px;
  grid-row: 1 / 3;
  border-radius: 14px;
  background: linear-gradient(135deg, #24d9c6 0%, #069985 100%);
  box-shadow: 0 14px 24px rgba(20, 199, 183, 0.2);
  font-size: 24px;
}

.native-shell .brand strong {
  color: #344156;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.1;
}

.native-shell .brand small {
  color: var(--teal-dark);
  font-size: 12px;
  font-weight: 800;
}

.native-shell .module-nav {
  gap: 8px;
  padding: 4px;
}

.native-shell .module-nav a {
  min-height: 38px;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 10px 12px;
  color: #5f6d75;
  font-size: 12px;
  font-weight: 850;
}

.native-shell .module-nav a:hover,
.native-shell .module-nav a:focus {
  border-color: #dce9ed;
  background: #f4fbfa;
  color: var(--teal-dark);
}

.native-shell .session {
  gap: 10px;
}

.native-shell .session-badge {
  max-width: 220px;
  overflow: hidden;
  color: #65728b;
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .session button {
  min-height: 38px;
  border: 1px solid #dce9ed;
  border-radius: 12px;
  background: #fff;
  color: #344156;
  box-shadow: 0 10px 24px rgba(31, 45, 52, 0.05);
}

.native-shell .session button:hover {
  border-color: #b8e8e5;
  background: #effcf9;
  color: var(--teal-dark);
}

.native-shell .shell {
  width: min(1380px, calc(100% - 24px));
  margin: 0 auto;
  padding: 16px 0 24px;
}

.native-shell .page-heading,
.native-shell .record-header {
  position: relative;
  overflow: hidden;
  border: 1px solid #e5eef1;
  border-radius: 22px;
  padding: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfefe 100%);
  box-shadow: 0 18px 48px rgba(33, 38, 36, 0.09);
}

.native-shell .page-heading::before,
.native-shell .record-header::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, #24d9c6 0%, #069985 100%);
  content: "";
}

.native-shell .eyebrow {
  color: var(--teal-dark);
  font-size: 11px;
  font-weight: 900;
}

.native-shell .page-heading h1,
.native-shell .record-header h1 {
  color: #344156;
  font-size: clamp(30px, 3.4vw, 46px);
  font-weight: 850;
  line-height: 1.05;
}

.native-shell .page-heading p,
.native-shell .record-header p {
  max-width: 760px;
  color: #65728b;
  font-size: 15px;
}

.native-shell .dashboard-logout-form {
  position: relative;
  z-index: 1;
  align-self: flex-start;
}

.native-shell .dashboard-logout-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 15px;
  border: 1px solid #d7e4e7;
  border-radius: 10px;
  background: #fff;
  color: #344156;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 8px 20px rgba(31, 45, 52, 0.07);
}

.native-shell .dashboard-logout-button:hover {
  border-color: #0c9e91;
  color: #087f76;
}

.native-shell .dashboard-logout-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .metric-card,
.native-shell .module-card,
.native-shell .insurance-panel,
.native-shell .table-card,
.native-shell .form-section,
.native-shell .record-summary article,
.native-shell .orders-product-card {
  border: 1px solid #e5eef1;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 30px rgba(31, 45, 52, 0.06);
}

.native-shell .metric-card {
  min-height: 124px;
  padding: 20px;
}

.native-shell .metric-card span,
.native-shell .module-card small,
.native-shell .record-summary span {
  color: #65728b;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.native-shell .metric-card strong,
.native-shell .record-summary article strong {
  color: #26323f;
  font-weight: 900;
}

.native-shell .module-card {
  min-height: 118px;
  border-radius: 16px;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.native-shell .module-card:hover {
  border-color: #b8e8e5;
  box-shadow: 0 18px 42px rgba(31, 45, 52, 0.1);
  transform: translateY(-2px);
}

.native-shell .module-card.module-card-priority-high {
  border-top: 3px solid #0f9f8f;
}

.native-shell .module-card.module-card-priority-medium {
  border-top: 3px solid #e2a526;
}

.native-shell .module-card.module-card-priority-high .module-priority-mark {
  background: #e7f8f3;
  color: #007d79;
}

.native-shell .module-card.module-card-priority-medium .module-priority-mark {
  background: #fff5d9;
  color: #a56b00;
}

.native-shell .module-card span,
.native-shell .section-title h2,
.native-shell .compact-title h2 {
  color: #344156;
  font-weight: 850;
}

.native-shell .section-title span {
  border-color: #dce9ed;
  background: #f7fbfa;
  color: var(--teal-dark);
}

.native-shell .compact-list div,
.native-shell .compact-list a,
.native-shell .alert-row,
.native-shell .timeline div {
  border-color: #e5eef1;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .data-table th {
  background: #f7fbfa;
  color: #66706d;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .data-table td {
  background: #fff;
}

.native-shell .badge {
  min-height: 26px;
  border: 1px solid #dce9ed;
  background: #effcf9;
  color: var(--teal-dark);
}

.native-shell button,
.native-shell .primary-button,
.native-shell .secondary-button,
.native-shell .action-link {
  border-radius: 12px;
  font-weight: 850;
}

.native-shell .primary-button,
.native-shell button:not(.icon-button) {
  background: linear-gradient(135deg, #0d766c 0%, #069985 100%);
  box-shadow: 0 12px 22px rgba(20, 199, 183, 0.16);
}

.native-shell .secondary-button,
.native-shell .action-link {
  border: 1px solid #dce9ed;
  background: #fff;
  color: #344156;
}

.native-shell input,
.native-shell select,
.native-shell textarea {
  border-color: #dce9ed;
  border-radius: 12px;
  background: #fbfefe;
}

.native-shell .login-grid {
  min-height: calc(100vh - 126px);
  align-items: center;
  padding: 18px 0;
}

.native-shell .login-copy {
  position: relative;
  border: 1px solid #e5eef1;
  border-radius: 22px;
  padding: clamp(24px, 4vw, 44px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(251, 254, 254, 0.94));
  box-shadow: 0 18px 48px rgba(33, 38, 36, 0.09);
}

.native-shell .login-copy h1 {
  color: #344156;
  font-size: clamp(42px, 6vw, 72px);
  font-weight: 850;
}

.native-shell .login-copy p {
  max-width: 680px;
  color: #65728b;
}

.native-shell .login-panel {
  overflow: hidden;
  border-color: #e5eef1;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 48px rgba(33, 38, 36, 0.1);
}

.native-shell .login-panel-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 22px 24px 0;
}

.native-shell .login-panel-header h2 {
  margin: 2px 0 0;
  color: #344156;
  font-size: 20px;
}

.native-shell .login-mark {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #24d9c6 0%, #069985 100%);
  color: #fff;
  box-shadow: 0 14px 24px rgba(20, 199, 183, 0.2);
  font-size: 24px;
  font-weight: 900;
}

/* Formal demo access for the unified-login composition. */
.formal-login-body .topbar {
  display: none;
}

.formal-login-body .shell {
  width: 100%;
  max-width: none;
  padding: 0;
}

.formal-login-screen {
  position: relative;
  display: grid;
  min-height: 100vh;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  padding-bottom: 174px;
  background: linear-gradient(180deg, #fbfefe 0%, #f5fafb 54%, #f7fbfa 100%);
  color: #26323f;
}

.formal-login-header {
  position: relative;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  margin: 10px 12px 0;
  padding: 12px 18px;
  border: 1px solid #e5eef1;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 14px 38px rgba(31, 45, 52, 0.08);
}

.formal-login-brand {
  display: grid;
  grid-template-columns: 46px auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 3px 12px;
  color: #344156;
  text-decoration: none;
}

.formal-login-brand-icon {
  display: grid;
  width: 46px;
  height: 46px;
  grid-row: 1 / 3;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #24d9c6 0%, #069985 100%);
  color: #fff;
  box-shadow: 0 14px 24px rgba(20, 199, 183, 0.2);
}

.formal-login-brand-icon svg { width: 25px; fill: none; stroke: currentColor; stroke-width: 2; }
.formal-login-brand strong { font-size: 17px; font-weight: 850; line-height: 1.1; }
.formal-login-brand small { color: #079988; font-size: 12px; font-weight: 800; }

.formal-login-profile { display: flex; align-items: center; gap: 8px; }
.formal-login-avatar { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #b8e8e5; border-radius: 999px; background: #e9fbf8; color: #079988; font-size: 13px; font-weight: 850; }
.formal-login-profile > div { display: grid; min-width: 188px; gap: 2px; min-height: 44px; padding: 7px 12px; border: 1px solid #e3eef1; border-radius: 14px; background: rgba(255,255,255,.86); }
.formal-login-profile strong { color: #344156; font-size: 13px; font-weight: 850; }
.formal-login-profile small { color: #079988; font-size: 11px; font-weight: 800; }

.formal-login-stage { display: grid; min-height: 0; padding: 0 22px; }
.formal-login-welcome { position: relative; display: grid; width: min(720px, 100%); min-height: 440px; gap: 18px; place-self: center; place-items: center; align-content: center; padding: 90px 18px 30px; text-align: center; isolation: isolate; }
.formal-login-welcome::before { position: absolute; top: 10px; left: 50%; z-index: -1; width: min(540px, 70vw); height: 300px; background-image: radial-gradient(rgba(20,199,183,.28) 1px, transparent 1.5px); background-size: 13px 13px; content: ""; mask-image: radial-gradient(ellipse at center, #000 0%, rgba(0,0,0,.78) 46%, transparent 72%); opacity: .58; transform: translateX(-50%); }
.formal-login-welcome::after { position: absolute; top: 54px; left: 50%; color: #14c7b7; content: "+"; font-size: 38px; font-weight: 900; transform: translateX(-50%); }
.formal-login-welcome .eyebrow { margin: 0; color: #079988; }
.formal-login-welcome h1 { margin: 0; color: #26323f; font-size: clamp(24px, 2vw, 32px); font-weight: 850; }
.formal-login-welcome > p:not(.eyebrow) { max-width: 570px; margin: 0; color: #71808d; font-size: 15px; line-height: 1.5; }
.formal-login-modules { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.formal-login-modules span { display: inline-flex; min-height: 38px; align-items: center; gap: 8px; padding: 0 14px; border: 1px solid #e4edf0; border-radius: 12px; background: rgba(255,255,255,.94); color: #4d5d68; font-size: 13px; font-weight: 750; box-shadow: 0 10px 28px rgba(31,45,52,.06); }
.formal-login-modules span::before { width: 8px; height: 8px; border-radius: 50%; background: #14c7b7; box-shadow: 0 0 0 4px rgba(20,199,183,.11); content: ""; }

.formal-login-composer { position: fixed; bottom: 16px; left: 50%; z-index: 12; display: grid; width: min(1120px, calc(100vw - 32px)); grid-template-columns: 52px minmax(0,1fr); gap: 12px; padding: 12px; border: 1px solid #e2edf0; border-radius: 22px; background: rgba(255,255,255,.9); box-shadow: 0 -22px 54px rgba(248,252,253,.94), 0 18px 48px rgba(31,45,52,.09); backdrop-filter: blur(18px); transform: translateX(-50%); }
.formal-login-menu { display: grid; width: 52px; height: 52px; place-items: center; border: 1px solid #e2edf0; border-radius: 16px; background: #fff; color: #079988; font-size: 22px; }
.formal-login-composer-content { display: grid; min-width: 0; gap: 10px; }
.formal-login-composer-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 0 4px; }
.formal-login-composer-title h2 { margin: 0; color: #26323f; font-size: 15px; font-weight: 850; }
.formal-login-composer-title span { color: #71808d; font-size: 12px; font-weight: 750; }
.formal-login-session-notice { padding: 9px 12px; border: 1px solid #a9ded7; border-radius: 12px; background: #effcf9; color: #08796d; font-size: 12px; font-weight: 750; }

.superadmin-user-modal { position: fixed; inset: 0; z-index: 100; display: none; place-items: center; padding: 24px; }
.superadmin-user-modal:target { display: grid; }
.superadmin-user-modal-backdrop { position: absolute; inset: 0; background: rgba(28,39,42,.48); backdrop-filter: blur(3px); }
.superadmin-user-modal-card { position: relative; z-index: 1; width: min(760px, 100%); max-height: calc(100vh - 48px); overflow: auto; border: 1px solid #dce6e8; border-radius: 14px; background: #fff; box-shadow: 0 28px 80px rgba(18,31,35,.28); }
.superadmin-user-modal-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px; border-bottom: 1px solid #e3ebed; }
.superadmin-user-modal-card h2, .superadmin-user-modal-card p { margin: 0; }
.superadmin-user-modal-card h2 { color: #26323f; font-size: 17px; }
.superadmin-user-modal-card p { margin-top: 4px; color: #71808d; font-size: 12px; }
.superadmin-user-modal-card header > a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #dce6e8; border-radius: 10px; color: #26323f; font-size: 25px; text-decoration: none; }
.superadmin-user-modal-card form { padding: 20px; }
.superadmin-user-modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.superadmin-user-modal-grid label { gap: 7px; color: #536575; font-size: 12px; font-weight: 800; }
.superadmin-user-modal-grid input, .superadmin-user-modal-grid select { min-height: 44px; border-radius: 9px; background: #fff; }
.superadmin-user-modal-grid input[readonly], .superadmin-user-modal-grid input:disabled { background: #f6f8f8; color: #687674; }
.superadmin-user-modal-grid .span-2 { grid-column: 1 / -1; }
.superadmin-user-modal-card footer { display: flex; justify-content: flex-end; gap: 10px; padding-top: 20px; }
.superadmin-user-modal-card footer a, .superadmin-user-modal-card footer button { min-width: 150px; min-height: 44px; display: inline-grid; place-items: center; border: 1px solid #d8e2e4; border-radius: 9px; text-decoration: none; }
.superadmin-user-modal-card footer a { background: #fff; color: #26323f; }
.superadmin-user-modal-card footer button { background: #087f72; color: #fff; }
.superadmin-institution-detail { margin-top: 28px; overflow: hidden; border: 1px solid #dce6e8; border-radius: 12px; background: #fff; }
.superadmin-institution-detail > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px; border-bottom: 1px solid #dce6e8; }
.superadmin-institution-detail h3, .superadmin-institution-detail p { margin: 0; }
.superadmin-institution-detail p { margin-top: 4px; color: #71808d; font-size: 12px; }
.superadmin-institution-detail header a { padding: 11px 16px; border: 1px solid #d5e0e2; border-radius: 9px; color: #26323f; font-weight: 800; }
.superadmin-institution-summary { display: grid; width: min(720px, 100%); padding: 18px; }
.superadmin-institution-summary > div { display: grid; grid-template-columns: 110px 90px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 52px; padding: 9px 12px; border: 1px solid #dce6e8; border-bottom: 0; }
.superadmin-institution-summary > div:first-child { border-radius: 9px 9px 0 0; }
.superadmin-institution-summary > div:last-child { border-bottom: 1px solid #dce6e8; border-radius: 0 0 9px 9px; }
.superadmin-institution-summary span { color: #60706d; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.superadmin-institution-summary strong { color: #26323f; }
.superadmin-institution-summary small { color: #71808d; font-weight: 700; }
.superadmin-institution-summary a { padding: 7px 10px; border: 1px solid #cfe0e2; border-radius: 8px; color: #087f72; font-size: 11px; font-weight: 850; text-decoration: none; }
.native-shell.superadmin-doctors-catalog-body .superadmin-native-screen { grid-template-columns: 290px minmax(0, 1fr); }
.native-shell.superadmin-doctors-catalog-body .superadmin-native-workspace { padding-right: 12px; padding-left: 28px; }
.native-shell.superadmin-doctors-catalog-body .superadmin-native-catalog-table { min-width: 1540px; }
.superadmin-doctor-commissions { margin-top: 34px; overflow: hidden; border: 1px solid #d5dddb; border-radius: 9px; background: #fff; }
.superadmin-doctor-commissions > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 18px; border-bottom: 1px solid #d5dddb; }
.superadmin-doctor-commissions h3, .superadmin-doctor-commissions p { margin: 0; }
.superadmin-doctor-commissions h3 { font-size: 14px; }
.superadmin-doctor-commissions p, .superadmin-doctor-commissions header span { margin-top: 3px; color: #71808d; font-size: 12px; }
.superadmin-doctor-commission-scroll { width: 100%; overflow-x: auto; }
.superadmin-doctor-commission-scroll table { min-width: 2550px; border-collapse: collapse; }
.superadmin-doctor-commission-scroll th, .superadmin-doctor-commission-scroll td { min-width: 92px; padding: 11px 9px; border-right: 1px solid #d5dddb; border-bottom: 1px solid #d5dddb; text-align: right; vertical-align: middle; }
.superadmin-doctor-commission-scroll th { background: #f2f8f6; color: #082441; font-size: 10px; line-height: 1.05; text-transform: uppercase; white-space: normal; }
.superadmin-doctor-commission-scroll td { color: #27312f; font-size: 12px; white-space: nowrap; }
.superadmin-doctor-commission-scroll td:nth-child(-n+7) { text-align: left; }
.superadmin-doctor-commission-scroll button { min-height: 32px; border: 1px solid #ccd8d5; border-radius: 7px; background: #fff; color: #082441; font-weight: 800; }
.superadmin-doctor-commission-scroll td a { display: inline-grid; min-height: 32px; place-items: center; padding: 0 10px; border: 1px solid #ccd8d5; border-radius: 7px; background: #fff; color: #082441; font-weight: 800; text-decoration: none; }
.superadmin-doctor-commission-scroll small { display: block; margin-top: 6px; color: #71808d; }
.superadmin-commission-format { display: none; margin-top: 16px; overflow: hidden; border: 1px solid #d5dddb; border-radius: 9px; background: #fff; }
.superadmin-commission-format:target { display: block; }
.superadmin-commission-format > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; border-bottom: 1px solid #d5dddb; }
.superadmin-commission-format h3, .superadmin-commission-format p { margin: 0; }
.superadmin-commission-format h3 { font-size: 14px; }
.superadmin-commission-format header p { margin-top: 4px; color: #71808d; font-size: 12px; }
.superadmin-commission-format header a { padding: 9px 13px; border: 1px solid #d5dddb; border-radius: 8px; color: #082441; font-weight: 800; text-decoration: none; }
.superadmin-commission-toolbar { display: grid; grid-template-columns: 320px minmax(420px, 1fr) auto; gap: 14px; align-items: end; padding: 14px 18px; }
.superadmin-commission-toolbar label { gap: 7px; font-size: 11px; font-weight: 850; }
.superadmin-commission-toolbar select, .superadmin-commission-toolbar input { min-height: 42px; background: #fff; }
.superadmin-commission-toolbar .search { position: relative; }
.superadmin-commission-toolbar .search span { position: absolute; bottom: 11px; left: 14px; font-size: 19px; }
.superadmin-commission-toolbar .search input { padding-left: 42px; }
.superadmin-commission-toolbar > strong { align-self: center; font-size: 13px; }
.superadmin-commission-toolbar > strong small { display: block; margin-top: 4px; color: #71808d; }
.superadmin-commission-help { padding: 11px 18px; border-top: 1px solid #d5dddb; border-bottom: 1px solid #d5dddb; color: #536575; font-size: 11px; font-weight: 750; }
.superadmin-commission-products-scroll { max-height: 570px; overflow: auto; }
.superadmin-commission-products-scroll table { min-width: 1650px; border-collapse: collapse; }
.superadmin-commission-products-scroll th, .superadmin-commission-products-scroll td { padding: 10px 12px; border-right: 1px solid #d5dddb; border-bottom: 1px solid #d5dddb; text-align: left; vertical-align: middle; }
.superadmin-commission-products-scroll th { position: sticky; top: 0; z-index: 1; background: #f7faf9; color: #536575; font-size: 10px; text-transform: uppercase; }
.superadmin-commission-products-scroll td { font-size: 12px; }
.superadmin-commission-products-scroll td:nth-child(3) { min-width: 190px; }
.superadmin-commission-products-scroll td:nth-child(7), .superadmin-commission-products-scroll td:nth-child(8) { min-width: 260px; }
.superadmin-commission-products-scroll select { min-width: 180px; min-height: 38px; background: #fff; }
.superadmin-commission-products-scroll input[type="number"] { width: 90px; min-height: 38px; background: #fff; }
.superadmin-commission-products-scroll input[type="checkbox"] { width: 18px; height: 18px; accent-color: #078a7b; }
.superadmin-vendor-filters { display: grid; grid-template-columns: repeat(5, minmax(180px, 1fr)); gap: 14px; margin-top: 32px; padding: 16px; border: 1px solid #d5dddb; border-radius: 9px; background: #fff; }
.superadmin-vendor-filters label { gap: 7px; color: #536575; font-size: 11px; font-weight: 850; }
.superadmin-vendor-filters select { min-height: 42px; background: #fff; }
.superadmin-vendor-commissions { min-height: 420px; }
.superadmin-vendor-commissions .superadmin-doctor-commission-scroll { min-height: 330px; }
.superadmin-vendor-empty { height: 260px; color: #71808d !important; text-align: center !important; }
.superadmin-universal-commissions { margin-top: 18px; overflow: hidden; border: 1px solid #d5dddb; border-radius: 9px; background: #fff; }
.superadmin-universal-commissions > header { padding: 16px 18px; border-bottom: 1px solid #d5dddb; }
.superadmin-universal-commissions h3, .superadmin-universal-commissions p { margin: 0; }
.superadmin-universal-commissions h3 { font-size: 14px; }
.superadmin-universal-commissions p { margin-top: 4px; color: #71808d; font-size: 12px; }
.superadmin-universal-commissions .superadmin-commission-products-scroll { max-height: none; }
.superadmin-universal-commissions table { min-width: 1500px; }
@media (max-width: 1100px) { .superadmin-vendor-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.superadmin-vendor-modal-card { width: min(780px, 100%); }
.superadmin-vendor-doctors { margin-top: 18px; padding: 14px; border: 1px solid #d5dddb; border-radius: 10px; }
.superadmin-vendor-doctors legend { padding: 0 8px; color: #536575; font-size: 12px; font-weight: 850; }
.superadmin-vendor-doctor-search { position: relative; display: block; }
.superadmin-vendor-doctor-search span { position: absolute; top: 10px; left: 14px; font-size: 20px; }
.superadmin-vendor-doctor-search input { width: 100%; min-height: 42px; padding-left: 44px; background: #fff; }
.superadmin-vendor-doctor-list { max-height: 260px; margin-top: 12px; overflow: auto; border: 1px solid #d5dddb; border-radius: 8px; }
.superadmin-vendor-doctor-list table { width: 100%; border-collapse: collapse; }
.superadmin-vendor-doctor-list th, .superadmin-vendor-doctor-list td { padding: 10px 12px; border-bottom: 1px solid #d5dddb; color: #536575; font-size: 11px; text-align: left; }
.superadmin-vendor-doctor-list th { background: #f7faf9; font-weight: 900; text-transform: uppercase; }
.superadmin-vendor-doctor-list td strong { color: #27312f; }
.superadmin-vendor-doctor-list td span { color: #71808d; }
.superadmin-vendor-doctor-list input { width: 18px; height: 18px; accent-color: #078a7b; }
.superadmin-hospital-modal-card { width: min(820px, 100%); }
.superadmin-hospital-modal-card textarea { min-height: 96px; resize: vertical; }
.native-shell.superadmin-medications-catalog-body .superadmin-native-screen { grid-template-columns: 250px minmax(0, 1fr); }
.native-shell.superadmin-medications-catalog-body .superadmin-native-workspace { padding: 16px 14px 28px; }
.native-shell.superadmin-medications-catalog-body .superadmin-native-catalog-scroll { max-height: calc(100vh - 245px); overflow: auto; }
.native-shell.superadmin-medications-catalog-body .superadmin-native-catalog-table { min-width: 1580px; }
.native-shell.superadmin-medications-catalog-body .superadmin-native-catalog-table th { position: sticky; top: 0; z-index: 2; background: #f7faf9; }
.native-shell.superadmin-medications-catalog-body .superadmin-native-catalog-table th,
.native-shell.superadmin-medications-catalog-body .superadmin-native-catalog-table td { padding: 10px 12px; font-size: 10px; line-height: 1.15; }
.native-shell.superadmin-medications-catalog-body .superadmin-native-catalog-table td:nth-child(2) { min-width: 280px; }
.native-shell.superadmin-medications-catalog-body .superadmin-native-catalog-table td:nth-child(3) { min-width: 430px; font-weight: 800; }
.native-shell.superadmin-medications-catalog-body .superadmin-native-catalog-table td:nth-child(4) { min-width: 300px; text-transform: uppercase; }

@media (max-width: 680px) {
  .superadmin-user-modal { padding: 10px; }
  .superadmin-user-modal-card { max-height: calc(100vh - 20px); }
  .superadmin-user-modal-grid { grid-template-columns: 1fr; }
  .superadmin-user-modal-grid .span-2 { grid-column: auto; }
  .superadmin-user-modal-card footer { flex-direction: column; }
}
.formal-login-form { display: grid; grid-template-columns: minmax(240px,1.15fr) minmax(180px,.8fr) 132px minmax(250px,.95fr); gap: 10px; align-items: end; }
.formal-login-form label { gap: 6px; color: #5b6562; font-size: 12px; font-weight: 850; }
.formal-login-form select, .formal-login-form input { min-height: 52px; border-radius: 16px; background: #fff; }
.formal-login-form select:focus, .formal-login-form input:focus { border-color: #14c7b7; box-shadow: 0 0 0 3px rgba(20,199,183,.13); outline: none; }
.formal-login-submit, .formal-login-register button { min-height: 52px; border-radius: 16px; font-size: 14px; }
.formal-login-submit { border: 0; background: linear-gradient(135deg,#24d9c6 0%,#09a28f 100%) !important; color: #fff; }
.formal-login-register { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.formal-login-register button { padding: 0 10px; border: 1px solid #dce9ed; background: #fff !important; color: #079988; box-shadow: none !important; }
.formal-login-error { grid-column: 1 / -1; margin: 0; color: #b42318; font-size: 13px; font-weight: 700; }
.formal-login-credential { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.6fr); gap: 8px 12px; padding: 10px 12px; border: 1px solid #e2edf0; border-radius: 16px; background: rgba(255,255,255,.68); color: #71808d; font-size: 12px; }
.formal-login-credential strong { color: #26323f; font-size: 13px; }
.formal-login-credential code { color: #079988; font-family: inherit; font-weight: 900; }

@media (max-width: 900px) {
  .formal-login-screen { overflow: auto; padding-bottom: 0; }
  .formal-login-stage { padding: 24px 16px; }
  .formal-login-welcome { min-height: 430px; }
  .formal-login-composer { position: relative; bottom: auto; left: auto; width: calc(100% - 24px); grid-template-columns: 1fr; margin: 0 12px 12px; transform: none; }
  .formal-login-menu { display: none; }
  .formal-login-form { grid-template-columns: 1fr 1fr; }
  .formal-login-register { grid-column: 1 / -1; }
}

/* Modulo nativo de consulta externa */
.native-shell.outpatient-module-body .topbar { display: none; }
.native-shell.outpatient-module-body .shell { width: 100%; max-width: none; margin: 0; padding: 0; }
.outpatient-module-screen { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 100vh; background: #f4f7f6; color: #142022; }
.outpatient-module-sidebar { border-right: 1px solid #d5dedd; background: #fff; }
.outpatient-module-brand { display: flex; gap: 10px; align-items: center; padding: 18px 14px; }
.outpatient-module-brand > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 8px; background: #e5f6f2; color: #007d79; font-size: 20px; font-weight: 800; }
.outpatient-module-brand div { display: grid; gap: 2px; }
.outpatient-module-brand strong { font-size: 14px; }
.outpatient-module-brand small { color: #667476; font-size: 10px; }
.outpatient-module-sidebar nav { display: grid; gap: 6px; padding: 8px; }
.outpatient-module-sidebar nav a { padding: 12px 14px; border-radius: 7px; color: #566365; font-size: 13px; font-weight: 800; text-decoration: none; }
.outpatient-module-sidebar nav a.is-active { background: #dff3ee; color: #006b62; }
.outpatient-module-main { min-width: 0; padding: 18px; }
.outpatient-module-header { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.outpatient-module-header h1 { margin: 3px 0; font-size: 21px; }
.outpatient-module-header span { color: #677578; font-size: 12px; }
.outpatient-module-header time { height: fit-content; padding: 8px 12px; border: 1px solid #efc27c; border-radius: 18px; color: #b76a00; font-size: 11px; font-weight: 800; }
.outpatient-module-card { overflow: hidden; border: 1px solid #d4dddc; border-radius: 8px; background: #fff; }
.outpatient-module-card-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; border-bottom: 1px solid #d7dfde; }
.outpatient-module-card-head h2 { margin: 0 0 3px; font-size: 15px; }
.outpatient-module-card-head p { margin: 0; color: #667476; font-size: 11px; }
.outpatient-module-card-head > div:last-child { display: flex; gap: 8px; align-items: center; }
.outpatient-module-card-head a, .outpatient-form-actions button { padding: 9px 13px; border: 1px solid #74cdbb; border-radius: 6px; background: #e8fff7; color: #006b62; font-size: 12px; font-weight: 800; text-decoration: none; }
.outpatient-table-wrap { overflow-x: auto; }
.outpatient-table-wrap table { width: 100%; min-width: 1050px; border-collapse: collapse; font-size: 11px; }
.outpatient-table-wrap th, .outpatient-table-wrap td { padding: 13px 11px; border-bottom: 1px solid #d7dfde; text-align: left; vertical-align: middle; }
.outpatient-table-wrap th { color: #4f5d5f; font-size: 9px; text-transform: uppercase; }
.outpatient-table-wrap td select { min-width: 105px; padding: 6px; border: 1px solid #ccd6d5; border-radius: 5px; background: #fff; font-size: 10px; }
.outpatient-status { display: inline-block; padding: 5px 9px; border: 1px solid #efc27c; border-radius: 5px; background: #fff6e8; color: #b76a00; font-size: 10px; font-weight: 800; }
.outpatient-appointment-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 16px; border-bottom: 1px solid #d7dfde; }
.outpatient-appointment-form label { display: grid; gap: 5px; color: #4d5a5c; font-size: 10px; font-weight: 800; }
.outpatient-appointment-form input, .outpatient-appointment-form select { min-height: 40px; padding: 8px 10px; border: 1px solid #ccd6d5; border-radius: 6px; background: #fff; }
.outpatient-appointment-form .span-2 { grid-column: 1 / -1; }
.outpatient-form-actions { display: flex; justify-content: flex-end; gap: 8px; }
.outpatient-form-actions a { padding: 9px 13px; color: #263234; text-decoration: none; }
@media (max-width: 800px) { .outpatient-module-screen { grid-template-columns: 1fr; } .outpatient-module-sidebar { border-right: 0; border-bottom: 1px solid #d5dedd; } .outpatient-appointment-form { grid-template-columns: 1fr; } }

@media (max-width: 600px) {
  .formal-login-header { align-items: flex-start; gap: 12px; }
  .formal-login-profile > div { display: none; }
  .formal-login-form, .formal-login-credential { grid-template-columns: 1fr; }
  .formal-login-submit, .formal-login-register { grid-column: 1; }
  .formal-login-composer-title { align-items: flex-start; flex-direction: column; }
}

.native-shell .patient-hero {
  min-height: 142px;
  align-items: center;
}

.native-shell .patient-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .assistant-mark,
.native-shell .patient-hero-mark {
  display: grid;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg, #24d9c6 0%, #069985 100%);
  color: #fff;
  box-shadow: 0 14px 24px rgba(20, 199, 183, 0.2);
  font-size: 26px;
  font-weight: 900;
}

.native-shell .patient-summary {
  gap: 14px;
}

.native-shell .patient-summary article {
  position: relative;
  min-height: 96px;
  overflow: hidden;
}

.native-shell .patient-summary article::after {
  position: absolute;
  right: -24px;
  bottom: -34px;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  background: rgba(36, 217, 198, 0.1);
  content: "";
}

.native-shell .patient-layout {
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.native-shell .patient-profile-card {
  top: 104px;
  overflow: hidden;
  padding: 0;
}

.native-shell .patient-profile-header {
  display: grid;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid #e5eef1;
  background: linear-gradient(180deg, #fbfefe 0%, #f4fbfa 100%);
}

.native-shell .patient-profile-header h2 {
  margin: 0;
  color: #344156;
  font-size: 19px;
  line-height: 1.15;
}

.native-shell .patient-profile-header span {
  display: block;
  margin-top: 4px;
  color: var(--teal-dark);
  font-size: 13px;
  font-weight: 850;
}

.native-shell .patient-avatar {
  width: 76px;
  height: 76px;
  border: 1px solid #b8e8e5;
  border-radius: 22px;
  background: linear-gradient(135deg, #24d9c6 0%, #069985 100%);
  box-shadow: 0 14px 24px rgba(20, 199, 183, 0.2);
}

.native-shell .patient-profile-card .detail-list {
  padding: 18px 20px 20px;
}

.native-shell .patient-profile-card .detail-list div {
  grid-template-columns: 92px minmax(0, 1fr);
}

.native-shell .patient-profile-card .detail-list dd {
  overflow-wrap: anywhere;
}

.native-shell .patient-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .patient-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #24d9c6 0%, rgba(36, 217, 198, 0) 68%);
  content: "";
}

.native-shell .patient-panel .compact-title {
  min-height: 40px;
}

.native-shell .patient-panel .compact-list {
  max-height: 380px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .patient-panel.span-2 .compact-list {
  max-height: none;
}

.native-shell.patient-assistant-native-body {
  min-height: 100vh;
  background: #f4f7f8;
}

.native-shell.patient-assistant-native-body .topbar {
  display: none;
}

.native-shell.patient-assistant-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .patient-assistant-native-screen {
  min-height: 100vh;
  background: #fff;
  color: #081826;
}

.native-shell .patient-assistant-native-topbar {
  display: flex;
  min-height: 88px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 30px;
  border-bottom: 1px solid #d9e3e5;
  background: #fff;
}

.native-shell .patient-assistant-native-brand {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 12px;
}

.native-shell .patient-assistant-native-brand > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: linear-gradient(135deg, #23d1b7 0%, #12a7d5 100%);
  color: #fff;
  font-size: 22px;
  font-weight: 900;
}

.native-shell .patient-assistant-native-brand strong,
.native-shell .patient-assistant-native-brand small {
  display: block;
}

.native-shell .patient-assistant-native-brand strong {
  color: #081826;
  font-size: 15px;
  font-weight: 900;
}

.native-shell .patient-assistant-native-brand small {
  margin-top: 5px;
  color: #00917f;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .patient-assistant-native-session {
  display: grid;
  grid-template-columns: 38px minmax(190px, 1fr);
  align-items: center;
  gap: 10px;
}

.native-shell .patient-assistant-native-session > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #bde5df;
  border-radius: 999px;
  background: #eaf9f6;
  color: #00806f;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .patient-assistant-native-session button {
  display: grid;
  min-height: 44px;
  padding: 6px 14px;
  border: 1px solid #cddde0;
  border-radius: 10px;
  background: #fff;
  color: #26384a;
  text-align: left;
}

.native-shell .patient-assistant-native-session strong,
.native-shell .patient-assistant-native-session small {
  display: block;
}

.native-shell .patient-assistant-native-session strong {
  font-size: 12px;
  font-weight: 900;
}

.native-shell .patient-assistant-native-session small {
  color: #6b7b87;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.native-shell .patient-assistant-native-main {
  position: relative;
  min-height: calc(100vh - 88px);
  padding: 192px 24px 118px;
  background:
    radial-gradient(circle at 50% 34%, rgba(26, 203, 184, 0.17) 0 1px, transparent 1px) 0 0 / 16px 16px,
    linear-gradient(180deg, rgba(242, 253, 251, 0.92) 0%, rgba(255, 255, 255, 0) 42%),
    #fff;
}

.native-shell .patient-assistant-native-intro {
  display: grid;
  justify-items: center;
  max-width: 650px;
  margin: 0 auto 56px;
  text-align: center;
}

.native-shell .patient-assistant-native-spark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-bottom: 20px;
  border-radius: 999px;
  color: #12b8a5;
  font-size: 30px;
  font-weight: 900;
}

.native-shell .patient-assistant-native-intro h1 {
  margin: 0 0 72px;
  color: #26384a;
  font-size: 21px;
  line-height: 1.15;
}

.native-shell .patient-assistant-native-suggestions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.native-shell .patient-assistant-native-suggestions a {
  min-height: 38px;
  padding: 11px 16px;
  border: 1px solid #d5e1e3;
  border-radius: 9px;
  background: #fff;
  color: #31475b;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(15, 47, 71, 0.05);
}

.native-shell .patient-assistant-native-menu {
  position: fixed;
  left: 388px;
  bottom: 78px;
  z-index: 3;
  display: grid;
  width: 280px;
  gap: 10px;
  padding: 10px;
  border: 1px solid #d7e4e7;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 54px rgba(15, 47, 71, 0.12);
}

.native-shell .patient-assistant-native-menu a {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  min-height: 48px;
  gap: 12px;
  padding: 8px 14px;
  border: 1px solid #dce8ea;
  border-radius: 10px;
  color: #667789;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.native-shell .patient-assistant-native-menu a span {
  color: #009b8b;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .patient-assistant-native-panels,
.native-shell .patient-assistant-native-table-card {
  max-width: 1060px;
  margin-left: auto;
  margin-right: auto;
}

.native-shell .patient-assistant-native-panels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.native-shell .patient-assistant-native-card,
.native-shell .patient-assistant-native-table-card {
  overflow: hidden;
  border: 1px solid #d7e4e7;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 42px rgba(15, 47, 71, 0.05);
}

.native-shell .patient-assistant-native-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #d7e4e7;
}

.native-shell .patient-assistant-native-heading h2 {
  margin: 0;
  color: #26384a;
  font-size: 17px;
}

.native-shell .patient-assistant-native-heading span {
  display: inline-flex;
  min-width: 28px;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  padding: 0 9px;
  border: 1px solid #bde5df;
  border-radius: 999px;
  background: #eefbf8;
  color: #007d79;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .patient-assistant-native-list {
  display: grid;
  gap: 10px;
  max-height: 280px;
  overflow: auto;
  padding: 14px 16px;
}

.native-shell .patient-assistant-native-list div {
  padding: 12px;
  border: 1px solid #dce8ea;
  border-radius: 10px;
  background: #fbfdfd;
}

.native-shell .patient-assistant-native-list strong,
.native-shell .patient-assistant-native-list span,
.native-shell .patient-assistant-native-list em {
  display: block;
}

.native-shell .patient-assistant-native-list strong {
  color: #23384a;
  font-size: 13px;
}

.native-shell .patient-assistant-native-list span,
.native-shell .patient-assistant-native-list p {
  margin: 4px 0 0;
  color: #5b7182;
  font-size: 12px;
}

.native-shell .patient-assistant-native-list em,
.native-shell .patient-assistant-native-table em {
  display: inline-flex;
  width: max-content;
  margin-top: 8px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #e8f7f4;
  color: #007d79;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.native-shell .patient-assistant-native-profile {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}

.native-shell .patient-assistant-native-profile div {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e2ecee;
}

.native-shell .patient-assistant-native-profile dt {
  color: #6b7b87;
  font-size: 12px;
}

.native-shell .patient-assistant-native-profile dd {
  margin: 0;
  color: #26384a;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .patient-assistant-native-profile dd span {
  display: block;
  margin-top: 4px;
  color: #5b7182;
  font-weight: 700;
}

.native-shell .patient-assistant-native-table-card {
  margin-bottom: 18px;
}

.native-shell .patient-assistant-native-table-scroll {
  overflow-x: auto;
}

.native-shell .patient-assistant-native-table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
}

.native-shell .patient-assistant-native-table th,
.native-shell .patient-assistant-native-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #d7e4e7;
  text-align: left;
  vertical-align: top;
}

.native-shell .patient-assistant-native-table th {
  color: #5b7182;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .patient-assistant-native-table td {
  color: #26384a;
  font-size: 13px;
}

.native-shell .patient-assistant-native-table td strong,
.native-shell .patient-assistant-native-table td span {
  display: block;
}

.native-shell .patient-assistant-native-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.native-shell .patient-assistant-native-composer {
  position: fixed;
  right: 374px;
  bottom: 16px;
  left: 374px;
  z-index: 4;
  display: grid;
  grid-template-columns: 52px 1fr 132px;
  gap: 12px;
  padding: 10px;
  border: 1px solid #d7e4e7;
  border-radius: 16px 16px 0 0;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 18px 42px rgba(15, 47, 71, 0.09);
}

.native-shell .patient-assistant-native-composer > button,
.native-shell .patient-assistant-native-composer label {
  min-height: 52px;
  border: 1px solid #d7e4e7;
  border-radius: 12px;
  background: #fff;
}

.native-shell .patient-assistant-native-composer label {
  display: grid;
  align-items: center;
}

.native-shell .patient-assistant-native-composer input {
  width: 100%;
  border: 0;
  color: #26384a;
  font-size: 14px;
  outline: 0;
}

.native-shell .patient-assistant-native-composer button {
  color: #64788a;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .patient-assistant-native-composer button:last-child {
  border-color: #14b8a6;
  background: #18c7b8;
  color: #fff;
}

/* Portal paciente homologado (sin Comunidad) */
html:has(> body.patient-portal-body) { scrollbar-gutter: stable; }
.native-shell.patient-portal-body .topbar { display: none; }
.native-shell.patient-portal-body .shell { width: 100%; max-width: none; margin: 0; padding: 0; }
.native-shell .patient-portal { --patient-topbar-height: 70px; --patient-bottom-nav-space: 106px; position: relative; min-height: 100vh; overflow-x: clip; background: #f7fbfb; color: #243044; }
.native-shell .patient-portal::after {
  content: "";
  position: fixed;
  z-index: 18;
  right: 0;
  bottom: 0;
  left: 0;
  height: 122px;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.64) 34%, rgba(255,255,255,.32) 62%, rgba(255,255,255,.10) 84%, rgba(255,255,255,0) 100%);
  -webkit-mask-image: linear-gradient(0deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.74) 36%, rgba(0,0,0,.38) 64%, rgba(0,0,0,.12) 84%, rgba(0,0,0,0) 100%);
  mask-image: linear-gradient(0deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.74) 36%, rgba(0,0,0,.38) 64%, rgba(0,0,0,.12) 84%, rgba(0,0,0,0) 100%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
}
.native-shell .patient-portal-topbar { position: sticky; top: 4px; z-index: 30; display: grid; grid-template-columns: 52px minmax(0, 1fr) 48px; gap: 9px; align-items: center; min-height: 70px; width: calc(100% - 8px); margin: 4px; padding: 5px 10px 5px 5px; box-sizing: border-box; background: rgba(255,255,255,.98); border: 1px solid #dce9eb; border-radius: 22px; box-shadow: 0 13px 30px rgba(34,78,85,.10); }
.native-shell .patient-portal-topbar .patient-portal-dots { width: 50px; height: 50px; border: 1px solid #d3e2e5 !important; border-radius: 16px; background: #fff !important; color: #111 !important; font-size: 20px; font-weight: 800; line-height: 1; box-shadow: none !important; cursor: pointer; }
.native-shell .patient-portal-question { display: grid; grid-template-columns: minmax(0,1fr) 48px; gap: 0; align-items: center; min-width: 0; height: 50px; overflow: hidden; border: 1px solid #d7e4e7; border-radius: 16px; background: linear-gradient(90deg,#fff 55%,#f5fffd); box-shadow: none; }
.native-shell .patient-ai-top-spark { display: grid; width: 48px; height: 48px; place-items: center; margin-left: 5px; border-radius: 50%; background: #e9fbf7; color: #04a99b; font-size: 16px; font-weight: 950; box-shadow: inset 0 0 0 1px rgba(103,222,211,.28); }
.native-shell .patient-portal-question input { width: 100%; height: 50px; padding: 0 15px; border: 0; border-radius: 0; outline: 0; background: transparent; color: #3d4b57; font: inherit; box-shadow: none; }
.native-shell .patient-portal-question input:focus { border-color: #9bded8; box-shadow: 0 0 0 3px rgba(31,190,178,.08); }
.native-shell .patient-portal-question button { width: 40px; height: 40px; justify-self: center; border: 0; border-radius: 50%; background: #89e0d7; color: #fff; font-size: 27px; font-weight: 500; line-height: 1; cursor: pointer; box-shadow: 0 8px 18px rgba(59,196,184,.22); }
.native-shell .patient-portal-question button svg,
.native-shell .patient-ai-chat-composer button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.native-shell .patient-ai-chat-composer button svg { width: 22px; height: 22px; }
.native-shell .patient-ai-chat-shell[hidden] { display: none !important; }
.native-shell .patient-ai-chat-shell {
  position: fixed;
  z-index: 28;
  top: calc(var(--patient-topbar-height, 70px) + 22px);
  left: 50%;
  width: min(92vw, 1280px);
  transform: translate(-50%, -14px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease, transform .28s ease;
}
.native-shell .patient-ai-chat-shell.is-open {
  transform: translate(-50%, 0);
  opacity: 1;
  pointer-events: auto;
}
.native-shell .patient-ai-chat {
  position: relative;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: min(62vh, 560px);
  max-height: calc(100dvh - var(--patient-topbar-height, 70px) - var(--patient-bottom-nav-space, 106px) - 34px);
  overflow: hidden;
  padding: 56px 30px 24px;
  border: 1px solid #dfeaed;
  border-radius: 24px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 24px 70px rgba(23, 52, 68, .12);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.native-shell .patient-ai-chat-close {
  position: absolute;
  top: 22px;
  right: 24px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0 !important;
  border-radius: 50%;
  background: transparent !important;
  color: #102542;
  box-shadow: none !important;
  font-size: 36px;
  line-height: 1;
  cursor: pointer;
}
.native-shell .patient-ai-chat-messages {
  display: grid;
  align-content: start;
  gap: 22px;
  min-height: 0;
  overflow-y: auto;
  padding: 0 14px 22px 0;
  scrollbar-width: thin;
}
.native-shell .patient-ai-message {
  display: grid;
  grid-template-columns: 48px minmax(0, 560px);
  gap: 16px;
  align-items: start;
}
.native-shell .patient-ai-message.is-user {
  grid-template-columns: minmax(0, 560px);
  justify-content: end;
}
.native-shell .patient-ai-avatar {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: #e9fbf7;
  color: #02a99a;
  font-size: 15px;
  font-weight: 950;
}
.native-shell .patient-ai-bubble {
  min-width: 0;
  padding: 18px 20px;
  border: 1px solid #dce8ed;
  border-radius: 18px;
  background: #fff;
  color: #20304a;
  box-shadow: 0 10px 24px rgba(21, 54, 72, .05);
}
.native-shell .patient-ai-message.is-user .patient-ai-bubble {
  border-color: #d9f2ef;
  background: #e6f8f5;
}
.native-shell .patient-ai-bubble p {
  margin: 0;
  color: #20304a;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}
.native-shell .patient-ai-message time {
  grid-column: 2;
  margin-top: -14px;
  color: #708299;
  font-size: 12px;
  font-weight: 700;
}
.native-shell .patient-ai-message.is-user time {
  grid-column: 1;
  justify-self: end;
  padding-right: 10px;
}
.native-shell .patient-ai-smart-card {
  display: grid;
  gap: 7px;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #bfece7;
  border-radius: 16px;
  background: linear-gradient(135deg, #f2fffc, #fff);
}
.native-shell .patient-ai-smart-card small { color: #007d79; font-size: 12px; font-weight: 950; text-transform: uppercase; }
.native-shell .patient-ai-smart-card strong { color: #132542; font-size: 19px; }
.native-shell .patient-ai-smart-card span,
.native-shell .patient-ai-smart-card p { margin: 0; color: #51657f; font-size: 14px; font-weight: 800; }
.native-shell .patient-ai-smart-card div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 8px; }
.native-shell .patient-ai-smart-card button {
  min-height: 40px;
  border: 1px solid #04aaa0 !important;
  border-radius: 10px;
  background: #fff !important;
  color: #008c80;
  box-shadow: none !important;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
}
.native-shell .patient-ai-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.native-shell .patient-ai-chips button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #d5e7eb !important;
  border-radius: 999px;
  background: #f8ffff !important;
  color: #008c80;
  box-shadow: none !important;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.native-shell .patient-ai-chat-composer {
  display: grid;
  grid-template-columns: minmax(0,1fr) 52px;
  gap: 14px;
  align-items: center;
  padding-top: 20px;
  border-top: 1px solid #e2ecef;
}
.native-shell .patient-ai-chat-composer input {
  width: 100%;
  min-height: 58px;
  box-sizing: border-box;
  padding: 0 18px;
  border: 1px solid #d8e5ea;
  border-radius: 18px;
  background: #fff;
  color: #20304a;
  font: inherit;
  outline: 0;
}
.native-shell .patient-ai-chat-composer input:focus {
  border-color: #94e4dc;
  box-shadow: 0 0 0 4px rgba(12, 181, 168, .1);
}
.native-shell .patient-ai-chat-composer button {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 0 !important;
  border-radius: 50%;
  background: #8fe0d8 !important;
  color: #fff;
  box-shadow: 0 12px 24px rgba(9, 170, 157, .18) !important;
  font-size: 30px;
  cursor: pointer;
}
@media (max-width: 700px) {
  .native-shell .patient-portal-question { grid-template-columns: minmax(0,1fr) 42px; }
  .native-shell .patient-ai-top-spark { width: 38px; height: 38px; margin-left: 4px; font-size: 12px; }
  .native-shell .patient-portal-question input { padding-inline: 10px; font-size: 13px; }
  .native-shell .patient-portal-question button { width: 36px; height: 36px; font-size: 23px; }
  .native-shell .patient-ai-chat-shell {
    top: calc(var(--patient-topbar-height, 70px) + 12px);
    width: calc(100vw - 18px);
  }
  .native-shell .patient-ai-chat {
    min-height: min(62vh, 520px);
    max-height: calc(100dvh - var(--patient-topbar-height, 70px) - var(--patient-bottom-nav-space, 106px) - 18px);
    padding: 50px 14px 14px;
    border-radius: 20px;
  }
  .native-shell .patient-ai-chat-close { top: 12px; right: 14px; }
  .native-shell .patient-ai-chat-messages { gap: 17px; padding-right: 4px; }
  .native-shell .patient-ai-message {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
  }
  .native-shell .patient-ai-message.is-user { grid-template-columns: minmax(0, 1fr); }
  .native-shell .patient-ai-avatar { width: 36px; height: 36px; font-size: 11px; }
  .native-shell .patient-ai-bubble { padding: 14px; border-radius: 16px; }
  .native-shell .patient-ai-bubble p { font-size: 13px; }
  .native-shell .patient-ai-smart-card div { grid-template-columns: 1fr; }
  .native-shell .patient-ai-chat-composer {
    grid-template-columns: minmax(0,1fr) 46px;
    gap: 9px;
    padding-top: 12px;
  }
  .native-shell .patient-ai-chat-composer input { min-height: 48px; border-radius: 15px; }
  .native-shell .patient-ai-chat-composer button { width: 46px; height: 46px; font-size: 25px; }
}
.native-shell .patient-portal-topbar .patient-portal-profile-trigger { display: flex; align-items: center; gap: 10px; width: 46px; height: 46px; padding: 0; border: 0 !important; border-radius: 50%; background: #fff !important; color: inherit; box-shadow: none !important; text-align: left; cursor: pointer; }
.native-shell .patient-portal-topbar .patient-portal-profile-trigger > span:first-child,
.native-shell .patient-portal-avatar { display: grid; place-items: center; width: 46px; height: 46px; box-sizing: border-box; overflow: hidden; border: 1px solid #64d9d0; border-radius: 50%; background: #f3fffd; color: #087b70; font-size: 12px; font-weight: 900; }
.native-shell .patient-portal-topbar .patient-portal-profile-trigger > span:first-child { background: #fff !important; box-shadow: none !important; }
.native-shell .patient-portal-topbar .patient-portal-profile-trigger img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.native-shell .patient-portal-profile-trigger strong,
.native-shell .patient-portal-profile-trigger small { display: block; }
.native-shell .patient-portal-profile-trigger small { margin-top: 2px; color: #70808c; }
.native-shell .patient-portal-layout { display: block; min-height: calc(100vh - 78px); }
.native-shell .patient-portal-menu { position: fixed; z-index: 29; top: 78px; left: 16px; display: flex; flex-direction: column; gap: 8px; width: 280px; min-height: 0; padding: 10px 9px 9px; visibility: hidden; opacity: 0; transform: translateY(-12px) scale(.985); transform-origin: top left; pointer-events: none; background: #fff; border: 1px solid #e3ebed; border-radius: 0 0 19px 19px; box-shadow: 0 24px 42px rgba(30,75,82,.14); transition: opacity .16s ease, transform .16s ease, visibility .16s; }
.native-shell .patient-portal.is-support-open .patient-portal-menu { visibility: visible; opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.native-shell .patient-portal-menu-title { padding: 1px 10px 8px; color: #087f74; font-size: 12px; line-height: 1.2; text-align: center; }
.native-shell .patient-portal-menu button { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 48px; padding: 9px 15px; border: 1px solid #d8e4e6; border-radius: 13px; background: #fff; color: #536775; font: inherit; font-size: 13px; font-weight: 500; text-align: left; cursor: pointer; }
.native-shell .patient-portal-menu button span { position: relative; display: grid; place-items: center; width: 21px; height: 25px; border: 0; border-radius: 0; color: #009b90; font-size: 0; }
.native-shell .patient-portal-menu button:hover,
.native-shell .patient-portal-menu button.is-active { background: #f1fbf9; color: #006e64; border-color: #a9dbd5; }
.native-shell .patient-support-icon::before,
.native-shell .patient-support-icon::after { content: ""; position: absolute; box-sizing: border-box; }
.native-shell .patient-support-icon-shield::before { width: 13px; height: 16px; border: 1.7px solid currentColor; border-radius: 8px 8px 10px 10px; clip-path: polygon(50% 0,100% 18%,90% 72%,50% 100%,10% 72%,0 18%); }
.native-shell .patient-support-icon-shield::after { width: 6px; height: 3px; border-left: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(-45deg); top: 9px; left: 8px; }
.native-shell .patient-support-icon-flask::before { width: 13px; height: 16px; border: 1.7px solid currentColor; border-radius: 2px 2px 7px 7px; clip-path: polygon(30% 0,70% 0,70% 37%,100% 90%,92% 100%,8% 100%,0 90%,30% 37%); }
.native-shell .patient-support-icon-flask::after { width: 10px; border-top: 1.5px solid currentColor; top: 15px; left: 5px; }
.native-shell .patient-support-icon-book::before { width: 15px; height: 16px; border: 1.7px solid currentColor; border-radius: 2px; }
.native-shell .patient-support-icon-book::after { width: 7px; height: 5px; border-top: 1.4px solid currentColor; border-bottom: 1.4px solid currentColor; top: 8px; left: 7px; }
.native-shell .patient-support-icon-file::before { width: 13px; height: 17px; border: 1.7px solid currentColor; border-radius: 2px; }
.native-shell .patient-support-icon-file::after { width: 7px; height: 5px; border-top: 1.4px solid currentColor; border-bottom: 1.4px solid currentColor; top: 9px; left: 7px; }
.native-shell .patient-support-icon-calendar::before { width: 16px; height: 15px; border: 1.7px solid currentColor; border-radius: 2px; top: 5px; }
.native-shell .patient-support-icon-calendar::after { width: 16px; border-top: 1.7px solid currentColor; top: 10px; left: 3px; }
.native-shell .patient-support-icon-people::before { width: 9px; height: 9px; border: 1.6px solid currentColor; border-radius: 50%; top: 2px; left: 3px; box-shadow: 10px 3px 0 -2px #fff,10px 3px 0 -0.5px currentColor; }
.native-shell .patient-support-icon-people::after { width: 15px; height: 8px; border: 1.6px solid currentColor; border-bottom: 0; border-radius: 10px 10px 0 0; top: 15px; left: 1px; }
.native-shell .patient-portal-content { position: relative; min-width: 0; min-height: calc(100vh - 62px); padding: 28px 28px 115px; }
.native-shell .patient-portal-view { display: none; max-width: 1450px; margin: 0 auto; }
.native-shell .patient-portal-view.is-active { display: block; }
.native-shell .patient-portal-notice { max-width: 1450px; margin: 0 auto 16px; padding: 12px 15px; border: 1px solid #9ed5cd; border-radius: 9px; background: #e9f8f5; color: #066d63; font-weight: 700; }
.native-shell .patient-portal-notice.is-error { border-color: #efb1aa; background: #fff0ee; color: #b42318; }
.native-shell .patient-portal-intro { display: grid; place-items: center; align-content: center; min-height: calc(100vh - 210px); padding: 20px; background: radial-gradient(circle at center,rgba(64,215,202,.13) 1px,transparent 1.5px) center/12px 12px no-repeat; background-size: 390px 230px; }
.native-shell .patient-portal-intro .patient-assistant-native-spark { margin: 0 0 96px; }
.native-shell .patient-portal-intro h1 { margin: 0; font-size: 22px; }
.native-shell .patient-portal-intro .patient-assistant-native-suggestions button { padding: 10px 15px; border: 1px solid #d7e2e3; border-radius: 9px; background: #fff; color: #394854; font-weight: 700; cursor: pointer; }
.native-shell .patient-portal-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.native-shell .patient-portal-summary-grid article,
.native-shell .patient-portal-card,
.native-shell .patient-portal-table-card,
.native-shell .patient-portal-appointment-list { border: 1px solid #d7e2e3; border-radius: 11px; background: #fff; }
.native-shell .patient-portal-summary-grid article { min-height: 130px; padding: 18px; }
.native-shell .patient-portal-summary-grid small,
.native-shell .patient-portal-summary-grid strong,
.native-shell .patient-portal-summary-grid span { display: block; }
.native-shell .patient-portal-summary-grid small { color: #75858e; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.native-shell .patient-portal-summary-grid strong { margin: 18px 0 6px; font-size: 17px; }
.native-shell .patient-portal-summary-grid span { color: #71808a; font-size: 13px; }
.native-shell .patient-portal-view-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.native-shell .patient-portal-view-heading small { color: #087b70; font-weight: 800; }
.native-shell .patient-portal-view-heading h1 { margin: 5px 0 3px; font-size: 26px; }
.native-shell .patient-portal-view-heading p { margin: 0; color: #71808a; }
.native-shell .patient-portal-view-heading > span { padding: 8px 12px; border: 1px solid #d7e2e3; border-radius: 999px; background: #fff; font-weight: 700; }
.native-shell .patient-portal-two-columns { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr); gap: 16px; align-items: start; }
.native-shell .patient-portal-card { padding: 20px; }
.native-shell .patient-portal-card h2 { margin: 0 0 18px; font-size: 17px; }
.native-shell .patient-portal-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.native-shell .patient-portal-form label { color: #586a74; font-size: 12px; font-weight: 800; }
.native-shell .patient-portal-form input,
.native-shell .patient-portal-form select,
.native-shell .patient-portal-filters input,
.native-shell .patient-portal-filters select { width: 100%; min-height: 42px; margin-top: 6px; padding: 9px 11px; border: 1px solid #d4dfe1; border-radius: 8px; background: #fff; color: #243044; }
.native-shell .patient-portal-form input[readonly] { background: #f4f8f8; color: #40536e; cursor: default; }
.native-shell .patient-portal-primary { min-height: 42px; margin-top: 18px; padding: 0 20px; border: 0; border-radius: 8px; background: #087f74; color: #fff; font-weight: 800; cursor: pointer; }
.native-shell .patient-portal-preview { text-align: center; }
.native-shell .patient-portal-preview .patient-portal-avatar { width: 82px; height: 82px; margin: 5px auto 13px; font-size: 24px; }
.native-shell .patient-portal-preview p { color: #71808a; }
.native-shell .patient-portal-preview dl,
.native-shell .patient-portal-policy dl { margin: 20px 0 0; text-align: left; }
.native-shell .patient-portal-preview dl div,
.native-shell .patient-portal-policy dl div { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-top: 1px solid #e3eaeb; }
.native-shell .patient-portal-preview dt,
.native-shell .patient-portal-policy dt { color: #71808a; }
.native-shell .patient-portal-preview dd,
.native-shell .patient-portal-policy dd { margin: 0; font-weight: 700; text-align: right; }
.native-shell .patient-portal-policy > small { color: #087b70; font-weight: 800; }
.native-shell .patient-portal-policy > strong { display: block; margin: 12px 0; color: #5d6c75; }
.native-shell .patient-portal-filters { display: grid; grid-template-columns: minmax(280px, 1fr) 210px; gap: 12px; margin-bottom: 14px; }
.native-shell .patient-portal-table-card { overflow: auto; }
.native-shell .patient-portal-table-card table { width: 100%; min-width: 850px; border-collapse: collapse; }
.native-shell .patient-portal-table-card th,
.native-shell .patient-portal-table-card td { padding: 13px 15px; border-bottom: 1px solid #dfe7e8; text-align: left; vertical-align: top; }
.native-shell .patient-portal-table-card th { color: #60717a; font-size: 11px; text-transform: uppercase; }
.native-shell .patient-portal-table-card td { font-size: 13px; }
.native-shell .patient-portal-table-card td div + div { margin-top: 8px; }
.native-shell .patient-portal-table-card td small { display: block; margin-top: 3px; color: #71808a; }
.native-shell .patient-portal-status { display: inline-block; padding: 6px 10px; border-radius: 999px; background: #e4f5f2; color: #06766c; font-size: 11px; font-weight: 800; white-space: nowrap; }
.native-shell .patient-portal-empty { padding: 55px 20px !important; color: #71808a; text-align: center !important; }

/* Análisis clínicos del paciente */
.native-shell .patient-analyses-view {
  max-width: 820px;
  margin: 0 auto;
}

.native-shell .patient-analyses-panel {
  display: grid;
  gap: 22px;
  min-width: 0;
}

.native-shell .patient-analyses-hero {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  min-width: 0;
  padding: 30px 36px;
  border: 1px solid #d7e8ea;
  border-radius: 22px;
  background: linear-gradient(130deg, #f4fffc 0%, #fff 58%, #f7fbfb 100%);
  box-shadow: 0 20px 48px rgba(20, 48, 66, .06);
}

.native-shell .patient-analyses-hero-icon {
  display: grid;
  width: 92px;
  height: 92px;
  place-items: center;
  border: 1px solid #bfeee7;
  border-radius: 23px;
  background: #ecfbf7;
  color: #078f82;
}

.native-shell .patient-analyses-hero-icon svg {
  width: 56px;
  height: 56px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-analyses-hero small,
.native-shell .patient-analyses-hero h1 {
  margin: 0;
}

.native-shell .patient-analyses-hero small {
  display: block;
  color: #079887;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.1;
  text-transform: uppercase;
}

.native-shell .patient-analyses-hero h1 {
  margin-top: 9px;
  color: #10223d;
  font-size: 44px;
  font-weight: 950;
  line-height: 1.02;
  letter-spacing: 0;
}

.native-shell .patient-analyses-body {
  display: grid;
  gap: 22px;
  min-width: 0;
}

.native-shell .patient-analyses-filter-bar {
  display: flex;
  align-items: stretch;
  gap: 14px;
  min-width: 0;
  overflow-x: auto;
  padding: 2px 2px 18px;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  cursor: grab;
  -webkit-overflow-scrolling: touch;
}

.native-shell .patient-analyses-filter-bar::-webkit-scrollbar {
  display: none;
}

.native-shell .patient-analyses-filter-bar.is-panning {
  cursor: grabbing;
  user-select: none;
}

.native-shell .patient-analyses-filter-bar button {
  --analysis-color: #007d79;
  position: relative;
  display: grid;
  flex: 0 0 128px;
  width: 128px;
  min-height: 118px;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 16px 12px;
  border: 1px solid #dbe8ed !important;
  border-radius: 18px;
  background: #fff !important;
  color: #082441;
  font: inherit;
  font-size: 20px;
  font-weight: 950;
  text-align: center;
  white-space: nowrap;
  box-shadow: none !important;
  cursor: pointer;
  overflow: hidden;
  scroll-snap-align: start;
}

.native-shell .patient-analyses-filter-bar button .patient-register-history-image,
.native-shell .patient-analyses-filter-bar button .patient-register-history-glyph {
  display: grid;
  width: 50px;
  height: 46px;
  place-items: center;
  color: var(--analysis-color);
  font-size: 26px;
  line-height: 1;
}

.native-shell .patient-analyses-filter-bar button .patient-register-history-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  filter: drop-shadow(0 7px 10px rgba(18, 43, 72, .13));
}

.native-shell .patient-analyses-filter-bar button b {
  max-width: 100%;
  overflow: hidden;
  color: #082441;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.05;
  text-overflow: ellipsis;
}

.native-shell .patient-analyses-filter-bar button.is-active {
  border-color: #09a99b !important;
  background: linear-gradient(150deg, #eafffa, #fff) !important;
  color: #082441 !important;
  box-shadow: 0 18px 36px rgba(10, 158, 145, .11) !important;
}

.native-shell .patient-analyses-filter-bar .is-all { --analysis-color: #007d79; }
.native-shell .patient-analyses-filter-bar .is-lab { --analysis-color: #0a9f62; }
.native-shell .patient-analyses-filter-bar .is-image { --analysis-color: #166dd2; }
.native-shell .patient-analyses-filter-bar .is-pdf { --analysis-color: #6825b5; }

.native-shell .patient-analyses-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
}

.native-shell .patient-analyses-sort,
.native-shell .patient-analyses-filter-action {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid #dce8ed !important;
  border-radius: 16px;
  background: #fff !important;
  color: #0e67c5;
  font: inherit;
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(20, 48, 66, .05) !important;
  cursor: pointer;
}

.native-shell .patient-analyses-sort {
  padding: 0 22px;
}

.native-shell .patient-analyses-filter-action {
  margin-left: auto;
  padding: 0 24px;
}

.native-shell .patient-analyses-sort svg,
.native-shell .patient-analyses-filter-action svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-analyses-sort b {
  color: inherit;
  font-size: 22px;
  line-height: 1;
}

.native-shell .patient-analyses-list {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.native-shell .patient-analysis-card {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) auto;
  grid-template-areas:
    "icon copy status"
    "icon copy action";
  align-items: center;
  gap: 12px 22px;
  min-width: 0;
  padding: 24px 26px;
  border: 1px solid #dce8ed;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(20, 48, 66, .06);
}

.native-shell .patient-analysis-card[hidden] {
  display: none !important;
}

.native-shell .patient-analysis-card-icon {
  grid-area: icon;
  display: grid;
  width: 104px;
  height: 104px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #e8fbf7, #f6fffd);
  color: #08a799;
}

.native-shell .patient-analysis-card-icon svg {
  width: 64px;
  height: 64px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-analysis-card-copy {
  grid-area: copy;
  min-width: 0;
}

.native-shell .patient-analysis-card-copy h2,
.native-shell .patient-analysis-card-copy p {
  margin: 0;
}

.native-shell .patient-analysis-card-copy h2 {
  color: #10223d;
  font-size: 27px;
  font-weight: 950;
  line-height: 1.08;
}

.native-shell .patient-analysis-card-copy p {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  color: #63708d;
  font-size: 21px;
  font-weight: 650;
  line-height: 1.2;
}

.native-shell .patient-analysis-card-copy p + p {
  margin-top: 10px;
}

.native-shell .patient-analysis-card-copy p span {
  color: #536184;
  font-size: 20px;
  line-height: 1;
}

.native-shell .patient-analysis-type-pill {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  margin-top: 16px;
  padding: 0 17px;
  border-radius: 999px;
  background: #e8faf6;
  color: #079887;
  font-size: 18px;
  font-weight: 800;
}

.native-shell .patient-analysis-type-pill.is-image {
  background: #eaf3ff;
  color: #1269c9;
}

.native-shell .patient-analysis-type-pill.is-pdf {
  background: #f2ebff;
  color: #6825b5;
}

.native-shell .patient-analysis-status {
  grid-area: status;
  justify-self: end;
  min-width: 116px;
  padding: 12px 18px;
  border-radius: 16px;
  font-size: 18px;
  font-weight: 850;
  text-align: center;
  white-space: nowrap;
}

.native-shell .patient-analysis-status.is-new {
  background: #fff0d9;
  color: #ee7900;
}

.native-shell .patient-analysis-status.is-loaded {
  background: #e9fbf7;
  color: #078f82;
}

.native-shell .patient-analysis-status.is-reviewed {
  background: #eef4ff;
  color: #1766c2;
}

.native-shell .patient-analysis-view-link {
  grid-area: action;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: #009d8f;
  font: inherit;
  font-size: 20px;
  font-weight: 950;
  text-decoration: none;
  cursor: pointer;
}

.native-shell .patient-analysis-view-link b {
  font-size: 32px;
  line-height: 1;
}

.native-shell button.patient-analysis-view-link:disabled {
  color: #8ea0ae;
  cursor: default;
}

.native-shell .patient-analyses-empty {
  padding: 30px 18px;
  border: 1px solid #dce8ed;
  border-radius: 18px;
  background: #fff;
  color: #65758a;
  font-size: 16px;
  font-weight: 800;
  text-align: center;
}

.native-shell .patient-analyses-empty[hidden] {
  display: none !important;
}

.native-shell .patient-analysis-filter-dialog {
  width: min(430px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 44px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 20px;
  overflow: hidden;
  background: #fff !important;
  color: #082441;
  box-shadow: 0 32px 92px rgba(9, 26, 37, .34);
}

.native-shell .patient-analysis-filter-dialog::backdrop {
  background: rgba(10, 20, 27, .56);
  backdrop-filter: blur(5px);
}

.native-shell .patient-analysis-filter-modal {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  max-height: inherit;
  overflow: hidden;
  background: #fff !important;
}

.native-shell .patient-analysis-filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid #e1eaee;
}

.native-shell .patient-analysis-filter-header h2 {
  margin: 0;
  color: #082441;
  font-size: 21px;
  font-weight: 950;
  line-height: 1;
}

.native-shell .patient-analysis-filter-header button {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #f4faf9;
  color: #0f1c2f;
  font: inherit;
  font-size: 30px;
  font-weight: 450;
  line-height: 1;
  cursor: pointer;
}

.native-shell .patient-analysis-filter-content {
  display: grid;
  align-content: start;
  min-width: 0;
  overflow: auto;
  padding: 0 24px;
}

.native-shell .patient-analysis-filter-group {
  display: grid;
  min-width: 0;
  gap: 0;
  padding: 0;
  border-bottom: 1px solid #eef3f5;
}

.native-shell .patient-analysis-filter-group:last-child {
  border-bottom: 0;
}

.native-shell .patient-analysis-filter-group h3 {
  margin: 0;
  color: #082441;
  font-size: 18px;
  font-weight: 950;
}

.native-shell .patient-analysis-filter-toggle {
  display: grid;
  width: 100%;
  min-height: 82px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #082441;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.native-shell .patient-analysis-filter-row-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 14px;
  background: #eafffa;
  color: #009383;
}

.native-shell .patient-analysis-filter-row-icon svg {
  width: 21px;
  height: 21px;
  stroke-width: 2.2;
}

.native-shell .patient-analysis-filter-row-copy {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.native-shell .patient-analysis-filter-row-copy strong,
.native-shell .patient-analysis-filter-row-copy small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .patient-analysis-filter-row-copy strong {
  font-size: 15px;
  font-weight: 950;
}

.native-shell .patient-analysis-filter-row-copy small {
  color: #617083;
  font-size: 12px;
  font-weight: 750;
}

.native-shell .patient-analysis-filter-chevron {
  color: #66768c;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  transition: transform .2s ease;
}

.native-shell .patient-analysis-filter-group.is-open .patient-analysis-filter-chevron {
  transform: rotate(180deg);
}

.native-shell .patient-analysis-filter-options {
  display: flex;
  min-width: 0;
  flex-wrap: nowrap;
  gap: 10px;
  margin: -2px 0 18px 58px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 2px 4px 8px;
  scroll-behavior: smooth;
  scroll-padding-inline: 4px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  touch-action: pan-x;
}

.native-shell .patient-analysis-filter-options[hidden] {
  display: none !important;
}

.native-shell .patient-analysis-filter-options::-webkit-scrollbar {
  display: none;
}

.native-shell .patient-analysis-filter-options.is-panning {
  cursor: grabbing;
  scroll-snap-type: none;
}

.native-shell .patient-analysis-filter-options button {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 0 17px;
  border: 1px solid #dbe5ea;
  border-radius: 13px;
  background: #fff;
  color: #28364b;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 12px 26px rgba(17, 45, 62, .05);
  cursor: pointer;
  scroll-snap-align: start;
  white-space: nowrap;
  transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.native-shell .patient-analysis-filter-options button.is-active {
  border-color: #a8e7df;
  background: #eafffa;
  color: #008f80;
  box-shadow: 0 14px 30px rgba(8, 157, 144, .12);
}

.native-shell .patient-analysis-filter-footer {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.45fr);
  gap: 12px;
  padding: 18px 24px 24px;
  border-top: 1px solid #e1eaee;
  background: #fff;
}

.native-shell .patient-analysis-filter-footer button {
  min-height: 48px;
  border-radius: 12px;
  font: inherit;
  font-size: 14px;
  font-weight: 950;
  cursor: pointer;
}

.native-shell .patient-analysis-filter-clear {
  border: 1px solid #bde8e2;
  background: #fff;
  color: #009383;
}

.native-shell .patient-analysis-filter-apply {
  border: 0;
  background: linear-gradient(135deg, #27cbbd, #008f80);
  color: #fff;
  box-shadow: 0 16px 30px rgba(8, 157, 144, .2);
}

.native-shell .patient-portal-appointment-list { overflow: hidden; }
.native-shell .patient-portal-appointment-list article { display: grid; grid-template-columns: 90px 1fr auto; gap: 18px; align-items: center; padding: 17px; border-bottom: 1px solid #dfe7e8; }
.native-shell .patient-portal-appointment-list time { text-align: center; }
.native-shell .patient-portal-appointment-list time strong,
.native-shell .patient-portal-appointment-list time span { display: block; }
.native-shell .patient-portal-appointment-list time strong { color: #087b70; font-size: 25px; }
.native-shell .patient-portal-appointment-list time span { color: #70808a; font-size: 11px; text-transform: uppercase; }
.native-shell .patient-portal-appointment-list h2 { margin: 4px 0; font-size: 16px; }
.native-shell .patient-portal-appointment-list p,
.native-shell .patient-portal-appointment-list small { color: #71808a; }
.native-shell .patient-portal-doctor-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.native-shell .patient-portal-doctor-grid article { display: flex; gap: 14px; min-height: 145px; padding: 17px; border: 1px solid #d7e2e3; border-radius: 10px; background: #fff; }
.native-shell .patient-portal-doctor-grid h2 { margin: 4px 0 7px; font-size: 16px; }
.native-shell .patient-portal-doctor-grid strong { color: #087b70; font-size: 13px; }
.native-shell .patient-portal-doctor-grid p,
.native-shell .patient-portal-doctor-grid small { color: #71808a; }
.native-shell .patient-portal-bottom-nav { position: fixed; z-index: 19; left: calc(50% - 380px); bottom: 8px; display: grid; grid-template-columns: repeat(5,minmax(105px,1fr)); width: 760px; min-height: 78px; padding: 8px; border: 1px solid #e2eaeb; border-radius: 20px 20px 0 0; background: rgba(255,255,255,.96); box-shadow: 0 -15px 35px rgba(30,75,82,.1); }
.native-shell .patient-portal-bottom-nav button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 0; border-radius: 16px; background: transparent; color: #5f7280; font-size: 10px; font-weight: 800; cursor: pointer; }
.native-shell .patient-portal-bottom-nav button.is-active { background: #e4faf6; color: #008b80; }
.native-shell .patient-portal-bottom-nav .patient-bottom-icon { font-size: 20px; line-height: 1; }
.native-shell .patient-portal-bottom-nav .patient-bottom-register { margin: -6px 0 0; background: #e4faf6; color: #008b80; box-shadow: 0 12px 25px rgba(26,184,170,.12); }
.native-shell .patient-portal-bottom-nav .patient-bottom-register.is-active { background: #1fc2b4; color: #fff; box-shadow: 0 12px 25px rgba(26,184,170,.26); }
.native-shell .patient-portal-bottom-nav .patient-bottom-register > span { font-size: 24px; line-height: 1; }

.native-shell .patient-health-panel {
  overflow: hidden;
  border: 1px solid #dce8ed;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 22px 50px rgba(16,42,60,.07);
}

.native-shell .patient-health-hero {
  position: relative;
  display: flex;
  min-height: 140px;
  align-items: center;
  gap: 26px;
  overflow: hidden;
  padding: 24px 42px;
  border-bottom: 1px solid #dce8ed;
  background:
    linear-gradient(105deg, rgba(255,255,255,.98) 5%, rgba(247,255,254,.88) 70%, rgba(255,255,255,.96)),
    repeating-radial-gradient(circle at 76% 44%, rgba(39,205,190,.20) 0 2px, transparent 2px 12px);
}

.native-shell .patient-health-hero::after {
  content: "";
  position: absolute;
  inset: -130px -80px -140px 45%;
  opacity: .55;
  background: repeating-radial-gradient(circle at 50% 50%, transparent 0 18px, rgba(36,201,188,.19) 19px 21px);
  pointer-events: none;
}

.native-shell .patient-health-hero > * {
  position: relative;
  z-index: 1;
}

.native-shell .patient-health-hero-icon {
  display: grid;
  flex: 0 0 86px;
  width: 86px;
  height: 86px;
  place-items: center;
  border: 1px solid #c9eeea;
  border-radius: 20px;
  background: rgba(255,255,255,.84);
  color: #09a99b;
  box-shadow: 0 16px 35px rgba(44,156,148,.08);
}

.native-shell .patient-health-hero svg,
.native-shell .patient-health-metric svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-health-hero svg {
  width: 45px;
  height: 45px;
  stroke-width: 4;
}

.native-shell .patient-health-hero h1 {
  margin: 0 0 7px;
  color: #43536a;
  font-size: clamp(34px, 3vw, 44px);
  line-height: .98;
  letter-spacing: 0;
}

.native-shell .patient-health-hero p {
  margin: 0;
  color: #6d7f90;
  font-size: 15px;
  font-weight: 800;
}

.native-shell .patient-health-filters {
  display: flex;
  align-items: center;
  gap: 12px;
  overflow-x: auto;
  margin: 0 28px;
  padding: 24px 0;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 0;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  touch-action: pan-y;
  cursor: grab;
  will-change: scroll-position;
  -webkit-overflow-scrolling: touch;
}

.native-shell .patient-health-filters::-webkit-scrollbar {
  display: none;
}

.native-shell .patient-health-filters.is-dragging,
.native-shell .patient-health-filters.is-gliding {
  cursor: grabbing;
  scroll-behavior: auto;
  scroll-snap-type: none;
  user-select: none;
}

.native-shell .patient-health-filters button {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 0 22px;
  border: 1px solid #d9e7ed;
  border-radius: 999px;
  background: #fff;
  color: #31506d;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: 0 12px 28px rgba(16,42,60,.06);
  cursor: pointer;
  scroll-snap-align: start;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 220ms ease, transform 180ms ease;
}

.native-shell .patient-health-filters button:active { transform: scale(.98); }

.native-shell .patient-health-filters button span {
  display: grid;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 50%;
  color: var(--health-accent, #08a799);
  font-size: 13px;
}

.native-shell .patient-health-filters button.is-active {
  min-width: 106px;
  border-color: transparent;
  background: linear-gradient(135deg,#20c9bb,#03a99f);
  color: #fff;
  box-shadow: 0 15px 30px rgba(10,184,171,.2);
}

.native-shell .patient-health-filters .is-active span { color: #fff; }
.native-shell .patient-health-filters .is-activity { --health-accent: #12c28f; }
.native-shell .patient-health-filters .is-nutrition { --health-accent: #17bb76; }
.native-shell .patient-health-filters .is-sleep { --health-accent: #8d5cf6; }
.native-shell .patient-health-filters .is-vitals { --health-accent: #277cff; }
.native-shell .patient-health-filters .is-wellness { --health-accent: #ff9c22; }
.native-shell .patient-health-filters .is-biomarkers { --health-accent: #8f5cf6; }

.native-shell .patient-health-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0 28px 18px;
}

.native-shell .patient-health-metric,
.native-shell .patient-health-section,
.native-shell .patient-health-recent-grid article {
  border: 1px solid #dfe9ed;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(19,44,60,.04);
}

.native-shell .patient-health-metric {
  --accent: #15c879;
  --soft: #e8fbf1;
  display: grid;
  min-height: 174px;
  align-content: start;
  padding: 19px;
  color: var(--accent);
}

.native-shell .patient-health-metric.is-blue,
.native-shell .patient-health-ring.is-blue,
.native-shell .patient-health-plan-list article.is-blue,
.native-shell .patient-health-recent-grid article.is-blue { --accent: #2f80ff; --soft: #eaf2ff; }

.native-shell .patient-health-metric.is-orange,
.native-shell .patient-health-ring.is-orange,
.native-shell .patient-health-plan-list article.is-orange,
.native-shell .patient-health-recent-grid article.is-orange { --accent: #ff9415; --soft: #fff3df; }

.native-shell .patient-health-metric.is-purple,
.native-shell .patient-health-ring.is-purple,
.native-shell .patient-health-plan-list article.is-purple,
.native-shell .patient-health-recent-grid article.is-purple { --accent: #8f5cf6; --soft: #f1e9ff; }

.native-shell .patient-health-metric-icon,
.native-shell .patient-health-plan-list article > span,
.native-shell .patient-health-recent-grid article > span {
  display: grid;
  width: 47px;
  height: 47px;
  place-items: center;
  border-radius: 50%;
  background: var(--soft);
  color: var(--accent);
}

.native-shell .patient-health-metric-icon svg {
  width: 26px;
  height: 26px;
  stroke-width: 2.5;
}

.native-shell .patient-health-metric > strong {
  margin-top: -39px;
  padding-left: 60px;
  color: #2c3957;
  font-size: 26px;
  font-weight: 950;
  line-height: 1;
}

.native-shell .patient-health-metric > small,
.native-shell .patient-health-recent-grid article > small,
.native-shell .patient-health-plan-list small {
  color: #6d7f90;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .patient-health-metric > small {
  margin: 9px 0 0 60px;
}

.native-shell .patient-health-metric > em {
  width: max-content;
  margin: 10px 0 12px 60px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--soft);
  color: var(--accent);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.native-shell .patient-health-sparkline {
  width: 100%;
  height: 42px;
  margin-top: auto;
  color: var(--accent);
}

.native-shell .patient-health-sparkline polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
}

.native-shell .patient-health-section {
  margin: 0 28px 18px;
  padding: 22px 24px;
}

.native-shell .patient-health-section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.native-shell .patient-health-section h2 {
  margin: 0;
  color: #2c3957;
  font-size: 20px;
  font-weight: 950;
}

.native-shell .patient-health-section header button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  color: #0a9f91;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .patient-health-ring-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.native-shell .patient-health-ring {
  --accent: #15c879;
  display: grid;
  justify-items: center;
  text-align: center;
}

.native-shell .patient-health-ring span {
  position: relative;
  display: grid;
  width: 112px;
  height: 112px;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--accent) calc(var(--value) * 1%), #eef4f5 0);
}

.native-shell .patient-health-ring span::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px #eef4f5;
}

.native-shell .patient-health-ring strong {
  position: relative;
  z-index: 1;
  color: #2c3957;
  font-size: 22px;
  font-weight: 950;
}

.native-shell .patient-health-ring h3 {
  margin: 13px 0 4px;
  color: #2c3957;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .patient-health-ring p {
  margin: 0;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
}

.native-shell .patient-health-plan-list {
  display: grid;
  gap: 18px;
}

.native-shell .patient-health-plan-list article {
  --accent: #15c879;
  --soft: #e8fbf1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.native-shell .patient-health-plan-list strong {
  display: block;
  color: #4c5b70;
  font-size: 15px;
  font-weight: 900;
}

.native-shell .patient-health-plan-list small {
  display: block;
  margin: 4px 0 7px;
}

.native-shell .patient-health-plan-list i {
  display: block;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent) var(--progress), #eaf0f2 0);
}

.native-shell .patient-health-plan-list article > b {
  color: #70808f;
  font-size: 24px;
  font-weight: 500;
}

.native-shell .patient-health-recent-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.native-shell .patient-health-recent-grid article {
  --accent: #15c879;
  --soft: #e8fbf1;
  display: grid;
  min-height: 164px;
  align-content: start;
  padding: 17px;
  color: var(--accent);
}

.native-shell .patient-health-recent-grid article > span {
  width: 43px;
  height: 43px;
  margin-bottom: 12px;
  font-size: 21px;
}

.native-shell .patient-health-recent-grid strong {
  color: #2c3957;
  font-size: 24px;
  font-weight: 950;
}

.native-shell .patient-health-recent-grid strong small {
  color: #2c3957;
  font-size: 12px;
}

.native-shell .patient-health-recent-grid article > em {
  margin-top: 4px;
  color: #6d7f90;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

body.is-health-screen-open {
  overflow: hidden;
}

.native-shell .patient-health-mobile-screen-layer[hidden],
.native-shell .patient-health-mobile-screen[hidden] {
  display: none !important;
}

.native-shell .patient-health-mobile-screen-layer {
  position: fixed;
  top: var(--patient-topbar-height, 70px);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 42;
  display: grid;
  place-items: start center;
  overflow-y: auto;
  padding: 18px 18px calc(var(--patient-bottom-nav-space, 106px) + 18px);
  background: rgba(244,250,250,.78);
  backdrop-filter: blur(16px);
}

.native-shell .patient-health-mobile-screen {
  --accent: #13bd83;
  --soft: #e8fbf1;
  display: flex;
  box-sizing: border-box;
  width: min(100%, 390px);
  min-height: min(820px, calc(100dvh - var(--patient-topbar-height, 70px) - 36px));
  max-height: calc(100dvh - var(--patient-topbar-height, 70px) - var(--patient-bottom-nav-space, 106px) - 36px);
  flex-direction: column;
  gap: 18px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 26px 18px 22px;
  border: 1px solid #deeaee;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 26px 70px rgba(21,48,65,.18);
}

.native-shell .patient-health-screen-header {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  align-items: center;
  gap: 12px;
}

.native-shell .patient-health-screen-header button {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #082441;
  font-size: 27px;
  cursor: pointer;
}

.native-shell .patient-health-screen-header h2 {
  margin: 0;
  color: #082441;
  font-size: 23px;
  font-weight: 950;
  letter-spacing: 0;
}

.native-shell .patient-health-screen-lead {
  margin: 0 4px 10px;
  color: #536887;
  font-size: 18px;
  font-weight: 650;
  line-height: 1.55;
}

.native-shell .patient-health-screen-subtitle {
  margin: 10px 4px 0;
  color: #082441;
  font-size: 18px;
  font-weight: 950;
}

.native-shell .patient-health-screen-list {
  display: grid;
  gap: 14px;
}

.native-shell .patient-health-mobile-card {
  --accent: #15c879;
  --soft: #e8fbf1;
  display: grid;
  align-items: center;
  gap: 14px;
  min-height: 112px;
  padding: 15px;
  border: 1px solid #dfe9ed;
  border-radius: 15px;
  background: #fff;
  color: var(--accent);
  box-shadow: 0 14px 30px rgba(19,44,60,.045);
}

.native-shell .patient-health-mobile-card.is-blue { --accent: #2f80ff; --soft: #eaf2ff; }
.native-shell .patient-health-mobile-card.is-orange { --accent: #ff9415; --soft: #fff3df; }
.native-shell .patient-health-mobile-card.is-purple { --accent: #8f5cf6; --soft: #f1e9ff; }

.native-shell .patient-health-indicator-detail {
  grid-template-columns: 104px minmax(0,1fr) 18px;
}

.native-shell .patient-health-screen-ring {
  position: relative;
  display: grid;
  width: 92px;
  height: 92px;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--accent) calc(var(--value) * 1%), #eef4f5 0);
}

.native-shell .patient-health-screen-ring::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 1px #eef4f5;
}

.native-shell .patient-health-screen-ring strong {
  position: relative;
  z-index: 1;
  color: #263754;
  font-size: 21px;
  font-weight: 950;
}

.native-shell .patient-health-mobile-card h3,
.native-shell .patient-health-data-detail strong {
  margin: 0;
  color: #082441;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.2;
}

.native-shell .patient-health-mobile-card p,
.native-shell .patient-health-mobile-card small,
.native-shell .patient-health-mobile-card em {
  display: block;
  margin: 4px 0 0;
  color: #536887;
  font-size: 13px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.45;
}

.native-shell .patient-health-indicator-detail p {
  color: var(--accent);
  font-weight: 900;
}

.native-shell .patient-health-mobile-card > b {
  color: #63758b;
  font-size: 26px;
  font-weight: 450;
}

.native-shell .patient-health-plan-detail,
.native-shell .patient-health-data-detail {
  grid-template-columns: 66px minmax(0,1fr) 18px;
  min-height: 154px;
}

.native-shell .patient-health-screen-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 50%;
  background: var(--soft);
  color: var(--accent);
  font-size: 25px;
  font-weight: 950;
}

.native-shell .patient-health-plan-detail i {
  display: block;
  height: 8px;
  overflow: hidden;
  margin-top: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent) var(--progress), #e9f0f2 0);
}

.native-shell .patient-health-plan-detail em {
  margin-top: 10px;
  color: var(--accent);
  font-weight: 950;
}

.native-shell .patient-health-data-detail {
  align-items: start;
}

.native-shell .patient-health-data-detail .patient-health-sparkline {
  height: 58px;
  margin-top: 18px;
}

.native-shell .patient-health-data-detail strong small {
  display: inline;
  color: #082441;
  font-size: 13px;
}

.native-shell .patient-health-screen-tip {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr);
  gap: 14px;
  align-items: center;
  margin-top: auto;
  padding: 18px;
  border: 1px solid #d6f0ed;
  border-radius: 15px;
  background: linear-gradient(135deg,#effffd,#f7fbfb);
}

.native-shell .patient-health-screen-tip span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  color: #079b8e;
  font-size: 25px;
}

.native-shell .patient-health-screen-tip strong {
  display: block;
  color: #07887c;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.35;
}

.native-shell .patient-health-screen-tip p {
  margin: 6px 0 0;
  color: #4b6179;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

.native-shell .patient-health-screen-primary {
  min-height: 56px;
  margin-top: 4px;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(135deg,#07a091,#06b6a7);
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  box-shadow: 0 16px 30px rgba(4,170,155,.22);
  cursor: pointer;
}

body.is-register-modal-open {
  overflow: hidden;
}

.native-shell .patient-register-modal[hidden] {
  display: none !important;
}

.native-shell .patient-register-form [hidden],
.native-shell .patient-register-options [hidden] {
  display: none !important;
}

.native-shell .patient-register-option-block[hidden],
.native-shell [data-register-metric-section][hidden] {
  display: none !important;
}

.native-shell .patient-register-modal {
  position: fixed;
  inset: 0;
  z-index: 260;
  display: grid;
  place-items: end center;
  padding: calc(var(--patient-topbar-height, 70px) + 14px) 18px 18px;
  background: rgba(15, 28, 38, 0.42);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.native-shell .patient-register-panel {
  display: grid;
  gap: 18px;
}

.native-shell .patient-register-hero {
  position: relative;
  display: flex;
  min-height: 140px;
  align-items: center;
  gap: 26px;
  overflow: hidden;
  padding: 24px 42px;
  border: 1px solid #dce8ed;
  border-radius: 22px;
  background:
    linear-gradient(105deg, rgba(255,255,255,.98) 5%, rgba(244,255,253,.86) 68%, rgba(255,255,255,.96)),
    repeating-radial-gradient(circle at 69% 42%, rgba(39,205,190,.2) 0 2px, transparent 2px 12px),
    repeating-linear-gradient(94deg, rgba(39,205,190,.15) 0 2px, transparent 2px 12px);
  box-shadow: 0 22px 50px rgba(16,42,60,.07);
}

.native-shell .patient-register-hero-icon {
  display: grid;
  flex: 0 0 82px;
  width: 82px;
  height: 82px;
  place-items: center;
  border: 1px solid #bfe9e6;
  border-radius: 20px;
  background: linear-gradient(135deg, #effffd, #fff);
  color: #08a799;
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
}

.native-shell .patient-register-hero small {
  color: #008d83;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .02em;
}

.native-shell .patient-register-hero h1 {
  margin: 4px 0 2px;
  color: #40506a;
  font-size: 38px;
  font-weight: 950;
  letter-spacing: 0;
}

.native-shell .patient-register-hero p {
  margin: 0;
  color: #65788f;
  font-size: 15px;
  font-weight: 850;
}

.native-shell .patient-register-workspace {
  width: min(100%, 760px);
  margin: 0 auto;
}

.native-shell .patient-register-sheet {
  position: relative;
  box-sizing: border-box;
  width: min(100%, 620px);
  max-height: calc(100dvh - var(--patient-topbar-height, 70px) - 32px);
  overflow-y: auto;
  padding: 24px;
  border: 1px solid #d7e7e9;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(7, 29, 40, 0.25);
}

.native-shell .patient-register-view-sheet {
  width: 100%;
  max-height: none;
  overflow: visible;
  border-radius: 22px;
  box-shadow: 0 22px 50px rgba(16,42,60,.08);
}

.native-shell .patient-register-close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #d7e7e9;
  border-radius: 14px;
  background: #fff;
  color: #082441;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

.native-shell .patient-register-sheet > small {
  display: block;
  margin-right: 52px;
  color: #008d83;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.native-shell .patient-register-sheet h2 {
  margin: 4px 52px 6px 0;
  color: #082441;
  font-size: 27px;
  font-weight: 950;
  letter-spacing: 0;
}

.native-shell .patient-register-sheet p {
  margin: 0 52px 17px 0;
  color: #536887;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.native-shell .patient-register-view-sheet > small,
.native-shell .patient-register-view-sheet h2,
.native-shell .patient-register-view-sheet p {
  margin-right: 0;
}

.native-shell .patient-register-options {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin: 0 -4px 14px;
  padding: 0 4px 10px;
  scroll-behavior: auto;
  scroll-snap-type: none;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  cursor: grab;
}

.native-shell .patient-register-options::-webkit-scrollbar {
  display: none;
}

.native-shell .patient-register-options.is-panning {
  cursor: grabbing;
  user-select: none;
}

.native-shell .patient-register-options button {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 44px;
  align-items: center;
  gap: 7px;
  padding: 0 13px;
  border: 1px solid #d7e7e9;
  border-radius: 15px;
  background: #fff;
  color: #263754;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  user-select: none;
}

.native-shell .patient-register-options button .patient-register-metric-glyph,
.native-shell .patient-register-options button .patient-register-metric-image {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  background: #eafff9;
  color: #008d83;
}

.native-shell .patient-register-options button.is-active {
  border-color: #9eece3;
  background: #eafff9;
  color: #007c72;
}

.native-shell .patient-register-form {
  display: grid;
  gap: 13px;
}

.native-shell .patient-register-form label,
.native-shell .patient-register-attachment {
  display: grid;
  gap: 8px;
  color: #536887;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .patient-register-form input,
.native-shell .patient-register-form textarea {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  border: 1px solid #d7e7e9;
  border-radius: 16px;
  background: #fbfefe;
  color: #082441;
  font: inherit;
  font-weight: 800;
  outline: 0;
  padding: 10px 12px;
}

.native-shell .patient-register-form textarea {
  resize: vertical;
}

.native-shell .patient-register-form input:focus,
.native-shell .patient-register-form textarea:focus {
  border-color: #8fe4dc;
  box-shadow: 0 0 0 4px rgba(15, 185, 170, .1);
}

.native-shell .patient-register-value-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  overflow: hidden;
  border: 1px solid #d7e7e9;
  border-radius: 16px;
  background: #fbfefe;
}

.native-shell .patient-register-value-row input {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.native-shell .patient-register-value-row b {
  min-width: 58px;
  padding: 0 13px;
  color: #008d83;
  font-size: 13px;
  font-weight: 950;
  text-align: center;
}

.native-shell .patient-register-attachment-box {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 64px;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid #d7e7e9;
  border-radius: 18px;
  background: #fbfefe;
}

.native-shell .patient-register-attachment-button {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid #bfe9e6;
  border-radius: 15px;
  background: linear-gradient(135deg, #eafff9, #fff);
  color: #008d83;
  font-size: 25px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.native-shell .patient-register-attachment-box strong,
.native-shell .patient-register-attachment-box small {
  display: block;
}

.native-shell .patient-register-attachment-box strong {
  color: #082441;
  font-size: 14px;
  font-weight: 950;
}

.native-shell .patient-register-attachment-box small {
  margin-top: 2px;
  overflow: hidden;
  color: #697b8f;
  font-size: 12px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .patient-register-success {
  padding: 12px 14px;
  border: 1px solid #bfeee8;
  border-radius: 16px;
  background: #effffd;
  color: #007c72;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .patient-register-actions {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 10px;
  margin-top: 4px;
}

.native-shell .patient-register-secondary,
.native-shell .patient-register-primary {
  min-height: 54px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 950;
  cursor: pointer;
}

.native-shell .patient-register-secondary {
  border: 1px solid #d7e7e9;
  background: #fff;
  color: #082441;
}

.native-shell .patient-register-primary {
  border: 0;
  background: linear-gradient(135deg, #07a091, #06b6a7);
  color: #fff;
  box-shadow: 0 16px 30px rgba(4,170,155,.22);
}

/* Dispositivos medicos del paciente */
.native-shell .patient-devices-panel { overflow: hidden; border: 1px solid #dce8ed; border-radius: 22px; background: #fff; box-shadow: 0 22px 50px rgba(16,42,60,.07); }
.native-shell .patient-devices-hero { position: relative; display: flex; align-items: center; gap: 26px; min-height: 140px; padding: 24px 42px; overflow: hidden; border-bottom: 1px solid #dce8ed; background: linear-gradient(105deg,rgba(255,255,255,.98) 5%,rgba(244,255,253,.86) 68%,rgba(255,255,255,.96)), repeating-radial-gradient(circle at 69% 42%,rgba(39,205,190,.2) 0 2px,transparent 2px 12px), repeating-linear-gradient(94deg,rgba(39,205,190,.15) 0 2px,transparent 2px 12px); }
.native-shell .patient-devices-hero::before { content: ""; position: absolute; inset: -120px -60px -140px 45%; opacity: .55; background: repeating-radial-gradient(circle at 50% 50%,transparent 0 17px,rgba(36,201,188,.2) 18px 20px); pointer-events: none; }
.native-shell .patient-devices-hero > * { position: relative; z-index: 1; }
.native-shell .patient-devices-hero-icon { display: grid; flex: 0 0 86px; place-items: center; width: 86px; height: 86px; border: 1px solid #c9eeea; border-radius: 20px; background: rgba(255,255,255,.84); color: #6aa39f; box-shadow: 0 16px 35px rgba(44,156,148,.08); }
.native-shell .patient-devices-hero-icon svg { width: 45px; height: 45px; fill: none; stroke: currentColor; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.native-shell .patient-devices-hero h1 { margin: 0 0 7px; color: #43536a; font-size: clamp(34px,3vw,44px); line-height: .98; letter-spacing: 0; }
.native-shell .patient-devices-hero p { margin: 0; color: #6d7f90; font-size: 15px; font-weight: 800; }
.native-shell .patient-devices-redesign { display: grid; gap: 22px; padding: 24px 28px 28px; background: #fff; }
.native-shell .patient-device-filters { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 2px 2px 9px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x proximity; overscroll-behavior-inline: contain; scrollbar-width: none; touch-action: pan-y; cursor: grab; will-change: scroll-position; -webkit-overflow-scrolling: touch; }
.native-shell .patient-device-filters::-webkit-scrollbar { display: none; }
.native-shell .patient-device-filters.is-dragging,
.native-shell .patient-device-filters.is-gliding { scroll-behavior: auto; scroll-snap-type: none; cursor: grabbing; user-select: none; }
.native-shell .patient-device-filters button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 11px; min-height: 52px; padding: 0 22px; border: 1px solid #d9e7ed !important; border-radius: 999px; background: #fff !important; color: #087b70; font: inherit; font-size: 13px; font-weight: 900; white-space: nowrap; box-shadow: 0 12px 28px rgba(16,42,60,.06) !important; cursor: pointer; scroll-snap-align: start; transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 220ms ease, transform 180ms ease; }
.native-shell .patient-device-filters button:active { transform: scale(.98); }
.native-shell .patient-device-filters button.is-active { min-width: 106px; border-color: #08afa4 !important; background: linear-gradient(135deg,#20c9bb,#03a99f) !important; color: #fff !important; box-shadow: 0 15px 30px rgba(10,184,171,.2) !important; }
.native-shell .patient-device-filters button.is-linked { color: #0a9f62; }
.native-shell .patient-device-filters button.is-pending { color: #f2a000; }
.native-shell .patient-device-filters button.is-vitals { color: #166bd7; }
.native-shell .patient-device-filters button.is-glucose { color: #704cff; }
.native-shell .patient-device-filters button.is-active.is-linked,
.native-shell .patient-device-filters button.is-active.is-pending,
.native-shell .patient-device-filters button.is-active.is-vitals,
.native-shell .patient-device-filters button.is-active.is-glucose { color: #fff; }
.native-shell .patient-device-filter-icon { position: relative; display: inline-grid; flex: 0 0 20px; place-items: center; width: 20px; height: 20px; color: currentColor; }
.native-shell .patient-device-filter-icon::before,
.native-shell .patient-device-filter-icon::after { content: ""; position: absolute; box-sizing: border-box; }
.native-shell .patient-device-filter-menu::before { width: 16px; height: 2px; border-radius: 999px; background: currentColor; box-shadow: 0 -6px 0 currentColor,0 6px 0 currentColor; }
.native-shell .patient-device-filter-check::before { width: 13px; height: 7px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
.native-shell .patient-device-filter-clock::before { width: 18px; height: 18px; border: 2px solid currentColor; border-radius: 50%; }
.native-shell .patient-device-filter-clock::after { width: 7px; height: 6px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translate(1px,-1px); }
.native-shell .patient-device-filter-heart::before { width: 16px; height: 16px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); border-radius: 0 0 2px 8px; }
.native-shell .patient-device-filter-heart::after { width: 14px; height: 7px; border-top: 2px solid currentColor; border-radius: 50%; transform: translateY(2px); }
.native-shell .patient-device-filter-drop::before { width: 15px; height: 15px; border: 2px solid currentColor; border-radius: 50% 50% 50% 2px; transform: rotate(-45deg); }
.native-shell .patient-device-list { display: grid; gap: 16px; }
.native-shell .patient-device-empty { padding: 28px; border: 1px dashed #bfe7e4; border-radius: 18px; background: #f9fffe; color: #60758b; font-size: 14px; font-weight: 850; text-align: center; }
.native-shell .patient-device-card { display: grid; grid-template-columns: 96px minmax(0,1fr) 220px; gap: 22px; align-items: center; min-height: 178px; padding: 24px 26px; border: 1px solid #dce8ed; border-radius: 19px; background: #fff; box-shadow: 0 18px 42px rgba(16,42,60,.06); }
.native-shell .patient-device-icon-wrap { position: relative; display: grid; place-items: center; width: 96px; height: 96px; }
.native-shell .patient-device-presence-dot { position: absolute; left: -13px; top: 39px; display: block; width: 14px; height: 14px; border: 5px solid #dcfbf7; border-radius: 50%; background: #20c9bb; }
.native-shell .patient-device-card.is-pending .patient-device-presence-dot { border-color: #fff3d9; background: #f3b323; }
.native-shell .patient-device-icon-tile { display: grid; place-items: center; width: 94px; height: 94px; border-radius: 22px; }
.native-shell .patient-device-icon-pressure { background: #e6effd; color: #166bd7; }
.native-shell .patient-device-icon-glucose { background: #efe7ff; color: #704cff; }
.native-shell .patient-device-icon-tile svg { width: 48px; height: 48px; fill: none; stroke: currentColor; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.native-shell .patient-device-content { min-width: 0; }
.native-shell .patient-device-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.native-shell .patient-device-copy h2 { margin: 0 0 8px; color: #101b36; font-size: 20px; line-height: 1.15; letter-spacing: 0; }
.native-shell .patient-device-copy p { margin: 0; color: #435a70; font-size: 14px; line-height: 1.45; }
.native-shell .patient-device-badge { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 84px; min-height: 36px; padding: 0 16px; border-radius: 999px; font-size: 12px; font-weight: 900; }
.native-shell .patient-device-badge.is-linked { background: #dff8ed; color: #009961; }
.native-shell .patient-device-badge.is-pending { background: #fff1db; color: #bd6e00; }
.native-shell .patient-device-details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 0; }
.native-shell .patient-device-details div { min-height: 65px; padding: 13px 14px; border: 1px solid #dce8ed; border-radius: 11px; background: #fbfdfd; }
.native-shell .patient-device-details dt { margin: 0 0 9px; color: #617386; font-size: 10px; font-weight: 900; line-height: 1; text-transform: uppercase; }
.native-shell .patient-device-details dd { margin: 0; color: #19263d; font-size: 12px; font-weight: 900; line-height: 1.25; }
.native-shell .patient-device-actions { display: grid; gap: 12px; padding-left: 24px; border-left: 1px solid #dce8ed; }
.native-shell .patient-device-action { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 53px; padding: 0 18px; border: 1px solid #dce8ed !important; border-radius: 14px; background: #fff !important; color: #00756d !important; font: inherit; font-size: 13px; font-weight: 900; box-shadow: none !important; cursor: pointer; }
.native-shell .patient-device-action.is-primary { border-color: #008a83 !important; background: #fff !important; }

/* Recetas del paciente, homologadas al portal de referencia */
.native-shell .patient-prescriptions-view { max-width: 760px; margin: 0 auto; }
.native-shell .patient-prescriptions-panel { width: 100%; max-width: 100%; min-width: 0; overflow: hidden; border: 1px solid #dce8ed; border-radius: 22px; background: #fff; box-shadow: 0 22px 50px rgba(16,42,60,.07); }
.native-shell .patient-prescriptions-hero { position: relative; display: flex; align-items: center; gap: 26px; min-height: 150px; padding: 26px 40px; overflow: hidden; border-bottom: 1px solid #dce8ed; background: linear-gradient(110deg,rgba(255,255,255,.94) 8%,rgba(238,253,250,.8) 60%,rgba(255,255,255,.9)); }
.native-shell .patient-prescriptions-hero::before { content: ""; position: absolute; inset: -260px -40px -240px 390px; opacity: .62; background: repeating-radial-gradient(ellipse at 62% 48%,transparent 0 10px,rgba(39,205,190,.22) 11px 12px); transform: rotate(-4deg); pointer-events: none; }
.native-shell .patient-prescriptions-hero > * { position: relative; z-index: 1; }
.native-shell .patient-prescriptions-hero-icon { display: grid; flex: 0 0 86px; place-items: center; width: 86px; height: 86px; border: 1px solid #bfe9e4; border-radius: 20px; background: #edfcf9; color: #087f74; }
.native-shell .patient-prescriptions-hero-icon span { position: relative; width: 34px; height: 42px; border: 4px solid currentColor; border-radius: 3px; }
.native-shell .patient-prescriptions-hero-icon span::before { content: ""; position: absolute; top: -4px; right: -4px; width: 13px; height: 13px; border-left: 4px solid currentColor; border-bottom: 4px solid currentColor; background: #edfcf9; }
.native-shell .patient-prescriptions-hero-icon span::after { content: ""; position: absolute; left: 8px; bottom: 9px; width: 14px; height: 4px; border-top: 3px solid currentColor; border-bottom: 3px solid currentColor; }
.native-shell .patient-prescriptions-hero h1 { margin: 0; color: #071833; font-size: clamp(34px,3vw,48px); line-height: 1; }
.native-shell .patient-prescriptions-redesign { display: grid; gap: 18px; padding: 20px 18px 28px; background: #fff; }
.native-shell .patient-prescription-filter-bar { display: flex; align-items: stretch; gap: 14px; min-width: 0; overflow-x: auto; padding: 2px 2px 18px; scrollbar-width: none; overscroll-behavior-x: contain; touch-action: pan-x; cursor: grab; -webkit-overflow-scrolling: touch; }
.native-shell .patient-prescription-filter-bar::-webkit-scrollbar { display: none; }
.native-shell .patient-prescription-filter { --prescription-filter-color: #007d79; position: relative; display: grid; flex: 0 0 128px; width: 128px; min-height: 118px; place-items: center; align-content: center; gap: 12px; padding: 16px 12px; border: 1px solid #d8e6ec !important; border-radius: 18px; background: #fff !important; color: #082441; font: inherit; font-size: 20px; font-weight: 950; text-align: center; white-space: nowrap; box-shadow: none !important; cursor: pointer; overflow: hidden; scroll-snap-align: start; }
.native-shell .patient-prescription-filter .patient-register-history-image,
.native-shell .patient-prescription-filter .patient-register-history-glyph { display: grid; width: 50px; height: 46px; place-items: center; color: var(--prescription-filter-color); font-size: 26px; line-height: 1; }
.native-shell .patient-prescription-filter .patient-register-history-image img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; pointer-events: none; filter: drop-shadow(0 7px 10px rgba(18, 43, 72, .13)); }
.native-shell .patient-prescription-filter .patient-register-history-glyph { border-radius: 16px; background: color-mix(in srgb, var(--prescription-filter-color) 11%, #fff); font-weight: 950; }
.native-shell .patient-prescription-filter b { max-width: 100%; overflow: hidden; color: #082441; font-size: 12px; font-weight: 950; line-height: 1.05; text-overflow: ellipsis; }
.native-shell .patient-prescription-filter.is-active { border-color: #0aa89e !important; background: linear-gradient(150deg, #eafffa, #fff) !important; color: #082441 !important; box-shadow: 0 18px 36px rgba(10, 158, 145, .11) !important; }
.native-shell .patient-prescription-filter.is-all { --prescription-filter-color: #007d79; }
.native-shell .patient-prescription-filter-active { --prescription-filter-color: #10a75a; }
.native-shell .patient-prescription-filter-expired { --prescription-filter-color: #f23d3d; }
.native-shell .patient-prescription-filter-redeemed { --prescription-filter-color: #007d79; }
.native-shell .patient-prescription-filter-partial { --prescription-filter-color: #f2a900; }
.native-shell .patient-prescription-card-list { display: grid; gap: 18px; min-width: 0; }
.native-shell .patient-prescription-card {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: 22px 20px;
  border: 1px solid #dce8ed;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(16, 42, 60, .06);
}
.native-shell .patient-prescription-card[hidden] { display: none !important; }
.native-shell .patient-prescription-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  min-width: 0;
  padding-bottom: 18px;
  border-bottom: 1px solid #dce8ed;
}
.native-shell .patient-prescription-doctor {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.native-shell .patient-prescription-avatar {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid #bfeee7;
  border-radius: 50%;
  background: #e9fbf7;
  color: #04998c;
  font-size: 19px;
  font-weight: 950;
}
.native-shell .patient-prescription-doctor h2,
.native-shell .patient-prescription-doctor p,
.native-shell .patient-prescription-info-row strong,
.native-shell .patient-prescription-info-row p { margin: 0; min-width: 0; }
.native-shell .patient-prescription-doctor h2 {
  color: #10223d;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.05;
}
.native-shell .patient-prescription-doctor p,
.native-shell .patient-prescription-info-row p {
  margin-top: 4px;
  color: #53657c;
  font-size: 19px;
  font-weight: 650;
  line-height: 1.2;
}
.native-shell .patient-prescription-status {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex: 0 0 auto;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 14px;
  font-size: 18px;
  font-weight: 950;
  white-space: nowrap;
}
.native-shell .patient-prescription-status i {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: currentColor;
}
.native-shell .patient-prescription-status.is-active {
  border-color: #cbefe1;
  background: #e9faf2;
  color: #0aa45a;
}
.native-shell .patient-prescription-status.is-expired {
  border-color: #ffd2d2;
  background: #fff0f0;
  color: #ef3f42;
}
.native-shell .patient-prescription-status.is-redeemed {
  border-color: #bfe9e4;
  background: #edfcf9;
  color: #007d79;
}
.native-shell .patient-prescription-status.is-partial {
  border-color: #ffe6a8;
  background: #fff9e8;
  color: #b57a00;
}
.native-shell .patient-prescription-card-body {
  display: grid;
  gap: 14px;
}
.native-shell .patient-prescription-info-row {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  min-width: 0;
}
.native-shell .patient-prescription-row-icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 12px;
  background: #eafbf7;
  color: #05998c;
}
.native-shell .patient-prescription-row-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.native-shell .patient-prescription-info-row strong {
  display: block;
  color: #10223d;
  font-size: 19px;
  font-weight: 950;
  line-height: 1.15;
}
.native-shell .patient-prescription-card-action {
  position: relative;
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  padding: 0 22px;
  border: 1px solid #d8e6ec !important;
  border-radius: 15px;
  background: #fff !important;
  color: #007d79;
  font: inherit;
  font-size: 18px;
  font-weight: 950;
  box-shadow: none !important;
  cursor: pointer;
}
.native-shell .patient-prescription-card-action b {
  position: absolute;
  right: 22px;
  margin: 0;
  color: #243553;
  font-size: 31px;
  line-height: 1;
}
.native-shell .patient-prescription-card-action span { margin: 0; }
.native-shell .patient-prescriptions-empty {
  padding: 24px 18px;
  border: 1px solid #dce8ed;
  border-radius: 18px;
  background: #fff;
  color: #5c7186;
  font-size: 15px;
  font-weight: 800;
  text-align: center;
}
.native-shell .patient-prescriptions-empty[hidden] { display: none !important; }
.native-shell .patient-prescription-dialog { width: min(960px,calc(100vw - 30px)); max-height: calc(100vh - 30px); padding: 0; overflow: auto; border: 1px solid #cfdadd; border-radius: 12px; background: #fff; color: #26343b; box-shadow: 0 28px 75px rgba(16,34,42,.3); }
.native-shell .patient-prescription-dialog::backdrop { background: rgba(28,42,45,.52); }
.native-shell .patient-prescription-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 18px; border-bottom: 1px solid #d9e2e4; background: #fff; }
.native-shell .patient-prescription-dialog-header small { display: block; margin-bottom: 3px; color: #677984; font-size: 10px; font-weight: 900; }
.native-shell .patient-prescription-dialog-header h2 { margin: 0; font-size: 16px; }
.native-shell .patient-prescription-dialog-header button { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid #aebabc; border-radius: 0; background: #fff; color: #20292d; font-size: 27px; line-height: 1; cursor: pointer; }
.native-shell .patient-prescription-paper { margin: 14px; padding: 26px; border: 1px solid #d2dcde; background: #fff; }
.native-shell .patient-prescription-paper-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid #d9e2e4; }
.native-shell .patient-prescription-paper-title h3 { margin: 0 0 5px; font-size: 19px; }
.native-shell .patient-prescription-paper-title p,.native-shell .patient-prescription-paper-title small { margin: 0; color: #6f818b; font-size: 12px; }
.native-shell .patient-prescription-paper-title > div:last-child { text-align: right; }
.native-shell .patient-prescription-paper-title strong { display: block; margin-top: 2px; font-size: 14px; }
.native-shell .patient-prescription-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 12px 0; }
.native-shell .patient-prescription-detail-grid > div { min-height: 60px; padding: 10px; border: 1px solid #e0e7e8; border-radius: 7px; background: #fbfdfd; }
.native-shell .patient-prescription-detail-grid dt { margin-bottom: 4px; color: #71838d; font-size: 11px; }
.native-shell .patient-prescription-detail-grid dd { margin: 0; color: #29363b; font-size: 14px; font-weight: 800; }
.native-shell .patient-prescription-lines { display: grid; gap: 8px; margin-top: 12px; }
.native-shell .patient-prescription-lines > div { padding: 13px 10px; border: 1px solid #e0e7e8; border-radius: 7px; }
.native-shell .patient-prescription-lines small,.native-shell .patient-prescription-lines strong { display: block; }
.native-shell .patient-prescription-lines small { color: #71838d; font-size: 11px; }
.native-shell .patient-prescription-lines strong { margin-top: 3px; font-size: 14px; }
.native-shell .patient-prescription-lines p { margin: 5px 0 0; color: #53656e; font-size: 12px; }
.native-shell .patient-prescription-paper-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; min-height: 125px; margin-top: 16px; }
.native-shell .patient-prescription-signature { width: 250px; text-align: center; }
.native-shell .patient-prescription-signature span { display: block; border-top: 1px solid #7e8a8e; }
.native-shell .patient-prescription-signature strong,.native-shell .patient-prescription-signature small { display: block; margin-top: 7px; font-size: 11px; }
.native-shell .patient-prescription-signature small { margin-top: 2px; color: #677984; }
.native-shell .patient-prescription-qr { text-align: center; }
.native-shell .patient-prescription-qr span { display: block; width: 88px; height: 88px; border: 1px solid #26343b; background: repeating-conic-gradient(#26343b 0 25%,#fff 0 50%) 0 0/14px 14px; box-shadow: inset 0 0 0 7px #fff; }
.native-shell .patient-prescription-qr small { display: block; margin-top: 6px; color: #677984; font-size: 10px; font-weight: 800; }
@media (max-width: 760px) {
  .native-shell .patient-prescription-paper { margin: 8px; padding: 16px; }
  .native-shell .patient-prescription-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1000px) {
  .native-shell .patient-portal-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .native-shell .patient-portal-doctor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .native-shell .patient-health-metrics,
  .native-shell .patient-health-ring-grid,
  .native-shell .patient-health-recent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .native-shell .patient-health-hero { min-height: 125px; padding: 22px 24px; }
  .native-shell .patient-health-filters { margin: 0 18px; padding: 18px 0 14px; }
  .native-shell .patient-health-metrics { padding: 0 18px 18px; }
  .native-shell .patient-health-section { margin: 0 18px 18px; }
  .native-shell .patient-devices-hero { min-height: 125px; padding: 22px 24px; }
  .native-shell .patient-devices-redesign { padding: 18px; }
  .native-shell .patient-device-card { grid-template-columns: 96px minmax(0,1fr); }
  .native-shell .patient-device-actions { grid-column: 2; grid-template-columns: repeat(2,minmax(0,1fr)); padding-left: 0; border-left: 0; }
  .native-shell .patient-device-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .native-shell .patient-prescriptions-hero { min-height: 125px; padding: 22px 24px; }
  .native-shell .patient-prescriptions-redesign { padding: 18px; }
}
@media (max-width: 700px) {
  .native-shell .patient-portal-topbar { grid-template-columns: 43px minmax(0,1fr) 43px; padding: 5px 7px; }
  .native-shell .patient-portal-dots,
  .native-shell .patient-portal-profile-trigger > span:first-child { width: 41px; height: 41px; }
  .native-shell .patient-portal-question { grid-template-columns: minmax(0,1fr); }
  .native-shell .patient-portal-question button { display: none; }
  .native-shell .patient-portal-question input { height: 42px; }
  .native-shell .patient-portal-menu { position: fixed; top: 74px; left: 7px; width: min(280px, calc(100vw - 14px)); border-radius: 0 0 18px 18px; }
  .native-shell .patient-portal-content { padding: 18px 12px 95px; }
  .native-shell .patient-portal-intro { min-height: 420px; }
  .native-shell .patient-portal-bottom-nav { left: 5px; bottom: 4px; grid-template-columns: repeat(5,1fr); width: calc(100% - 10px); min-height: 68px; }
  .native-shell .patient-health-panel { border-radius: 18px; }
  .native-shell .patient-health-hero { gap: 15px; min-height: 116px; padding: 18px; }
  .native-shell .patient-health-hero-icon { flex-basis: 62px; width: 62px; height: 62px; border-radius: 16px; }
  .native-shell .patient-health-hero-icon svg { width: 35px; height: 35px; }
  .native-shell .patient-health-hero h1 { font-size: 31px; }
  .native-shell .patient-health-filters { margin: 0 14px; padding: 14px 0 12px; }
  .native-shell .patient-health-filters button { min-height: 46px; padding: 0 15px; }
  .native-shell .patient-health-mobile-screen-layer { place-items: stretch; padding: 0; background: #fff; backdrop-filter: none; }
  .native-shell .patient-health-mobile-screen { width: 100%; min-height: calc(100dvh - var(--patient-topbar-height, 70px)); max-height: calc(100dvh - var(--patient-topbar-height, 70px)); overflow-y: auto; border: 0; border-radius: 0; box-shadow: none; padding: 22px 20px calc(var(--patient-bottom-nav-space, 106px) + env(safe-area-inset-bottom) + 18px); }
  .native-shell .patient-health-screen-header { margin-top: 0; }
  .native-shell .patient-health-metrics { gap: 10px; padding: 0 14px 14px; }
  .native-shell .patient-health-metric { min-height: 156px; padding: 14px; }
  .native-shell .patient-health-metric-icon { width: 39px; height: 39px; }
  .native-shell .patient-health-metric-icon svg { width: 22px; height: 22px; }
  .native-shell .patient-health-metric > strong { margin-top: -32px; padding-left: 50px; font-size: 20px; }
  .native-shell .patient-health-metric > small { margin-left: 50px; font-size: 10px; }
  .native-shell .patient-health-metric > em { margin-left: 50px; padding: 4px 8px; font-size: 9px; }
  .native-shell .patient-health-section { margin: 0 14px 14px; padding: 17px 14px; }
  .native-shell .patient-health-section > header { margin-bottom: 14px; }
  .native-shell .patient-health-section h2 { font-size: 17px; }
  .native-shell .patient-health-ring-grid { gap: 12px; }
  .native-shell .patient-health-ring span { width: 92px; height: 92px; }
  .native-shell .patient-health-ring span::before { inset: 7px; }
  .native-shell .patient-health-ring strong { font-size: 18px; }
  .native-shell .patient-health-plan-list article { gap: 12px; }
  .native-shell .patient-health-plan-list article > span { width: 43px; height: 43px; }
  .native-shell .patient-health-recent-grid { gap: 10px; }
  .native-shell .patient-health-recent-grid article { min-height: 148px; padding: 14px; }
  .native-shell .patient-health-recent-grid strong { font-size: 20px; }
  .native-shell .patient-register-modal { place-items: end stretch; padding: var(--patient-topbar-height, 70px) 0 0; }
  .native-shell .patient-register-panel { gap: 14px; }
  .native-shell .patient-register-hero { min-height: 116px; gap: 15px; padding: 18px; border-radius: 18px; }
  .native-shell .patient-register-hero-icon { flex-basis: 62px; width: 62px; height: 62px; border-radius: 16px; font-size: 34px; }
  .native-shell .patient-register-hero h1 { font-size: 31px; }
  .native-shell .patient-register-workspace { width: 100%; }
  .native-shell .patient-register-sheet { width: 100%; max-height: calc(100dvh - var(--patient-topbar-height, 70px)); padding: 22px 18px calc(18px + env(safe-area-inset-bottom)); border-right: 0; border-bottom: 0; border-left: 0; border-radius: 24px 24px 0 0; }
  .native-shell .patient-register-view-sheet { max-height: none; overflow: visible; border-right: 1px solid #d7e7e9; border-bottom: 1px solid #d7e7e9; border-left: 1px solid #d7e7e9; border-radius: 18px; }
  .native-shell .patient-register-sheet h2 { font-size: 24px; }
  .native-shell .patient-register-sheet p { margin-right: 0; }
  .native-shell .patient-register-actions { grid-template-columns: 1fr; }
  .native-shell .patient-devices-hero { gap: 15px; padding: 18px; }
  .native-shell .patient-devices-hero-icon { flex-basis: 62px; width: 62px; height: 62px; border-radius: 16px; }
  .native-shell .patient-devices-hero-icon svg { width: 35px; height: 35px; }
  .native-shell .patient-devices-hero h1 { font-size: 31px; }
  .native-shell .patient-device-filters button { min-height: 46px; padding: 0 15px; }
  .native-shell .patient-device-card { grid-template-columns: 1fr; gap: 18px; padding: 22px 18px; }
  .native-shell .patient-device-icon-wrap { width: 94px; height: 94px; }
  .native-shell .patient-device-main { flex-direction: column; gap: 12px; margin-bottom: 14px; }
  .native-shell .patient-device-details,
  .native-shell .patient-device-actions { grid-column: auto; grid-template-columns: 1fr; }
  .native-shell .patient-prescriptions-hero { gap: 15px; padding: 18px; }
  .native-shell .patient-prescriptions-hero-icon { flex-basis: 62px; width: 62px; height: 62px; border-radius: 16px; }
  .native-shell .patient-prescriptions-hero h1 { font-size: 31px; }
  .native-shell .patient-prescriptions-redesign { gap: 14px; padding: 16px 14px 18px; }
  .native-shell .patient-prescription-filter-bar {
    gap: 12px;
    margin-inline: -12px;
    padding: 1px 12px 10px;
  }
  .native-shell .patient-prescription-filter {
    flex: 0 0 112px;
    width: 112px;
    min-height: 104px;
    gap: 9px;
    padding: 16px 12px;
  }
  .native-shell .patient-prescription-filter .patient-register-history-image,
  .native-shell .patient-prescription-filter .patient-register-history-glyph {
    width: 48px;
    height: 42px;
  }
  .native-shell .patient-prescription-filter b {
    font-size: 9px;
    line-height: 1;
  }
  .native-shell .patient-prescription-card-list { gap: 14px; }
  .native-shell .patient-prescription-card {
    gap: 14px;
    padding: 18px 14px;
    border-radius: 16px;
  }
  .native-shell .patient-prescription-card-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding-bottom: 14px;
  }
  .native-shell .patient-prescription-doctor {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 10px;
  }
  .native-shell .patient-prescription-avatar {
    width: 50px;
    height: 50px;
    font-size: 16px;
  }
  .native-shell .patient-prescription-doctor h2 {
    font-size: 18px;
    line-height: 1.08;
  }
  .native-shell .patient-prescription-doctor p,
  .native-shell .patient-prescription-info-row p {
    font-size: 15px;
  }
  .native-shell .patient-prescription-status {
    min-height: 38px;
    gap: 8px;
    padding: 0 11px;
    border-radius: 12px;
    font-size: 14px;
  }
  .native-shell .patient-prescription-status i {
    width: 9px;
    height: 9px;
  }
  .native-shell .patient-prescription-card-body { gap: 12px; }
  .native-shell .patient-prescription-info-row {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
  }
  .native-shell .patient-prescription-row-icon {
    width: 42px;
    height: 42px;
    border-radius: 11px;
  }
  .native-shell .patient-prescription-row-icon svg {
    width: 24px;
    height: 24px;
  }
  .native-shell .patient-prescription-info-row strong {
    font-size: 16px;
  }
  .native-shell .patient-prescription-card-action {
    min-height: 54px;
    border-radius: 13px;
    font-size: 16px;
  }
  .native-shell .patient-prescription-card-action b {
    right: 16px;
    font-size: 26px;
  }
  .native-shell .patient-analyses-view {
    max-width: 100%;
  }
  .native-shell .patient-analyses-panel {
    gap: 16px;
    width: 100%;
    overflow: hidden;
  }
  .native-shell .patient-analyses-hero {
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 12px;
    padding: 18px 14px;
    border-radius: 18px;
  }
  .native-shell .patient-analyses-hero-icon {
    width: 62px;
    height: 62px;
    border-radius: 16px;
  }
  .native-shell .patient-analyses-hero-icon svg {
    width: 38px;
    height: 38px;
  }
  .native-shell .patient-analyses-hero small {
    font-size: 10px;
    line-height: 1;
  }
  .native-shell .patient-analyses-hero h1 {
    margin-top: 7px;
    font-size: 24px;
    line-height: 1.02;
  }
  .native-shell .patient-analyses-body {
    gap: 14px;
  }
  .native-shell .patient-analyses-filter-bar {
    gap: 12px;
    margin-inline: -12px;
    padding: 1px 12px 10px;
    cursor: grab;
  }
  .native-shell .patient-analyses-filter-bar button {
    flex: 0 0 112px;
    width: 112px;
    min-height: 104px;
    gap: 9px;
    padding: 16px 12px;
  }
  .native-shell .patient-analyses-filter-bar button .patient-register-history-image,
  .native-shell .patient-analyses-filter-bar button .patient-register-history-glyph {
    width: 48px;
    height: 42px;
  }
  .native-shell .patient-analyses-filter-bar button b {
    font-size: 9px;
    line-height: 1;
  }
  .native-shell .patient-analyses-toolbar {
    gap: 10px;
  }
  .native-shell .patient-analyses-sort,
  .native-shell .patient-analyses-filter-action {
    min-height: 46px;
    gap: 8px;
    border-radius: 14px;
    font-size: 13px;
  }
  .native-shell .patient-analyses-sort {
    flex: 1 1 auto;
    justify-content: flex-start;
    padding: 0 12px;
  }
  .native-shell .patient-analyses-filter-action {
    flex: 0 0 auto;
    padding: 0 13px;
  }
  .native-shell .patient-analyses-sort svg,
  .native-shell .patient-analyses-filter-action svg {
    width: 19px;
    height: 19px;
  }
  .native-shell .patient-analyses-sort b {
    margin-left: auto;
    font-size: 18px;
  }
  .native-shell .patient-analyses-list {
    gap: 14px;
  }
  .native-shell .patient-analysis-card {
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 8px 12px;
    padding: 16px 14px;
    border-radius: 18px;
  }
  .native-shell .patient-analysis-card-icon {
    width: 68px;
    height: 68px;
  }
  .native-shell .patient-analysis-card-icon svg {
    width: 42px;
    height: 42px;
  }
  .native-shell .patient-analysis-card-copy h2 {
    font-size: 18px;
    line-height: 1.1;
  }
  .native-shell .patient-analysis-card-copy p {
    gap: 7px;
    margin-top: 7px;
    font-size: 14px;
  }
  .native-shell .patient-analysis-card-copy p span {
    font-size: 14px;
  }
  .native-shell .patient-analysis-type-pill {
    min-height: 28px;
    margin-top: 10px;
    padding: 0 12px;
    font-size: 13px;
  }
  .native-shell .patient-analysis-status {
    min-width: auto;
    padding: 8px 11px;
    border-radius: 13px;
    font-size: 13px;
  }
  .native-shell .patient-analysis-view-link {
    grid-column: 2 / 4;
    justify-self: end;
    gap: 8px;
    min-height: 34px;
    font-size: 15px;
  }
  .native-shell .patient-analysis-view-link b {
    font-size: 25px;
  }
  .native-shell .patient-analyses-empty {
    padding: 22px 14px;
    border-radius: 16px;
    font-size: 14px;
  }
  .native-shell .patient-analysis-filter-dialog {
    width: min(292px, calc(100vw - 34px));
    max-height: min(620px, calc(100dvh - 42px));
    border-radius: 18px;
  }
  .native-shell .patient-analysis-filter-header {
    gap: 10px;
    padding: 15px 16px;
  }
  .native-shell .patient-analysis-filter-header h2 {
    font-size: 18px;
  }
  .native-shell .patient-analysis-filter-header button {
    width: 34px;
    height: 34px;
    font-size: 28px;
  }
  .native-shell .patient-analysis-filter-content {
    padding: 0 16px;
  }
  .native-shell .patient-analysis-filter-group {
    gap: 0;
    padding: 0;
  }
  .native-shell .patient-analysis-filter-group h3 {
    font-size: 14px;
  }
  .native-shell .patient-analysis-filter-toggle {
    min-height: 64px;
    gap: 11px;
  }
  .native-shell .patient-analysis-filter-row-icon {
    width: 34px;
    height: 34px;
    border-radius: 11px;
  }
  .native-shell .patient-analysis-filter-row-icon svg {
    width: 18px;
    height: 18px;
  }
  .native-shell .patient-analysis-filter-row-copy strong {
    font-size: 12px;
  }
  .native-shell .patient-analysis-filter-row-copy small {
    font-size: 10px;
  }
  .native-shell .patient-analysis-filter-chevron {
    font-size: 18px;
  }
  .native-shell .patient-analysis-filter-options {
    gap: 9px;
    margin: -2px 0 12px 45px;
  }
  .native-shell .patient-analysis-filter-options button {
    min-height: 38px;
    padding: 0 13px;
    border-radius: 12px;
    font-size: 12px;
  }
  .native-shell .patient-analysis-filter-footer {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.42fr);
    gap: 10px;
    padding: 14px 16px 16px;
  }
  .native-shell .patient-analysis-filter-footer button {
    min-height: 44px;
    border-radius: 12px;
    font-size: 13px;
  }
  .native-shell .patient-portal-summary-grid,
  .native-shell .patient-portal-two-columns,
  .native-shell .patient-portal-form-grid,
  .native-shell .patient-portal-doctor-grid { grid-template-columns: 1fr; }
}

/* Registro rapido redisenado */
.native-shell .patient-portal-view[data-patient-view="register"] {
  max-width: 1180px;
}

.native-shell .patient-register-panel {
  display: block;
  padding: 0;
}

.native-shell .patient-register-workspace {
  width: min(100%, 1120px);
  margin: 0 auto;
}

.native-shell .patient-register-sheet,
.native-shell .patient-register-view-sheet {
  --patient-register-main-title-size: 30px;
  width: 100%;
  max-height: none;
  overflow: visible;
  padding: 34px 28px 28px;
  border: 1px solid #d9e7ec;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(22, 54, 72, .08);
}

.native-shell .patient-register-heading {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 72px;
  padding: 0 72px;
  text-align: center;
}

.native-shell .patient-register-heading small {
  display: block;
  color: #008e80;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: .02em;
}

.native-shell .patient-register-heading h2 {
  margin: 14px 0 10px;
  color: #082441;
  font-size: clamp(38px, 5vw, 52px);
  line-height: 1;
  letter-spacing: 0;
}

.native-shell .patient-register-heading p {
  max-width: 720px;
  margin: 0 auto;
  color: #576b87;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
}

.native-shell .patient-register-history-selector {
  display: grid;
  gap: 24px;
  margin: 0 0 28px;
}

.native-shell .patient-register-sheet .patient-register-history-selector h3,
.native-shell .patient-register-sheet .patient-register-main-title {
  margin: 0;
  color: #082441;
  font-size: var(--patient-register-main-title-size);
  font-weight: 950;
  line-height: 1.08;
  letter-spacing: 0;
}

.native-shell .patient-register-history-carousel {
  display: flex;
  gap: 18px;
  min-width: 0;
  overflow-x: auto;
  padding: 10px 2px;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  cursor: grab;
  -webkit-overflow-scrolling: touch;
}

.native-shell .patient-register-history-carousel::-webkit-scrollbar {
  display: none;
}

.native-shell .patient-register-history-carousel.is-panning {
  cursor: grabbing;
  user-select: none;
}

.native-shell .patient-register-history-card {
  position: relative;
  flex: 0 0 128px;
  width: 128px;
}

.native-shell .patient-register-history-card[hidden],
.native-shell .patient-register-history-empty[hidden] {
  display: none !important;
}

.native-shell .patient-register-history-carousel button[data-register-history-category] {
  --history-color: #007d79;
  appearance: none;
  position: relative;
  display: grid;
  width: 100%;
  min-height: 118px;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 16px 12px;
  border: 1px solid #d5e2e8 !important;
  border-radius: 18px;
  background: #fff !important;
  color: #082441;
  box-shadow: none !important;
  font: inherit;
  font-size: 20px;
  font-weight: 950;
  text-align: center;
  cursor: pointer;
  overflow: hidden;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.native-shell .patient-register-history-carousel button:focus-visible {
  outline: 3px solid rgba(15, 185, 170, .28);
  outline-offset: 3px;
}

.native-shell .patient-register-history-carousel button:active {
  transform: translateY(1px);
}

.native-shell .patient-register-history-carousel button .patient-register-history-image,
.native-shell .patient-register-history-carousel button .patient-register-history-glyph {
  display: grid;
  width: 50px;
  height: 46px;
  place-items: center;
  color: var(--history-color);
  font-size: 26px;
  line-height: 1;
}

.native-shell .patient-register-history-carousel button .patient-register-history-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  filter: drop-shadow(0 7px 10px rgba(18, 43, 72, .13));
}

.native-shell .patient-register-history-carousel button b {
  max-width: 100%;
  overflow: hidden;
  color: #082441;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.05;
  text-overflow: ellipsis;
}

.native-shell .patient-register-history-carousel button.is-active {
  border-color: #0aa89b !important;
  background: linear-gradient(135deg, #f0fffc, #fff) !important;
  color: #00877b;
  box-shadow: 0 18px 36px rgba(12, 173, 160, .12) !important;
}

.native-shell .patient-register-history-carousel button.is-active::after {
  content: none;
  display: none;
}

.native-shell .patient-register-history-carousel .patient-register-history-favorite:focus-visible {
  outline: 2px solid #006f66;
  outline-offset: 2px;
}

.native-shell .patient-register-history-empty {
  display: grid;
  min-height: 118px;
  place-items: center;
  margin: 0;
  color: #65748a;
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}

.native-shell .patient-register-history-carousel .is-consultation { --history-color: #1761c7; }
.native-shell .patient-register-history-carousel .is-laboratory { --history-color: #0a9f62; }
.native-shell .patient-register-history-carousel .is-study { --history-color: #8945f4; }
.native-shell .patient-register-history-carousel .is-prescription { --history-color: #f47a00; }
.native-shell .patient-register-history-carousel .is-hospitalization { --history-color: #f0212a; }
.native-shell .patient-register-history-carousel .is-vaccine { --history-color: #007d79; }
.native-shell .patient-register-history-carousel .is-manual { --history-color: #007d79; }

.native-shell .patient-register-history-composer {
  position: relative;
  display: grid;
  gap: 22px;
  width: 100%;
  margin-top: -8px;
  padding: 26px 34px 34px;
  border: 1px solid #63d7cf;
  border-radius: 24px;
  background: linear-gradient(150deg, #f5fffd, #fff);
  color: #082441;
  box-shadow: 0 28px 64px rgba(11, 93, 87, .16);
}

.native-shell .patient-register-history-composer[hidden] {
  display: none !important;
}

.native-shell .patient-register-history-composer::before,
.native-shell .patient-register-form::before {
  content: "";
  position: absolute;
  top: -8px;
  left: var(--history-pointer-left, 44px);
  width: 16px;
  height: 16px;
  border-top: 1px solid #63d7cf;
  border-left: 1px solid #63d7cf;
  background: #f5fffd;
  transform: rotate(45deg);
}

.native-shell .patient-register-history-composer.is-popup-open,
.native-shell .patient-register-form.is-popup-open {
  animation: patient-register-popup-in .22s ease-out both;
}

.native-shell .patient-register-history-collapse {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 0 !important;
  border-radius: 14px;
  background: transparent !important;
  color: #082441;
  box-shadow: none !important;
  cursor: pointer;
}

.native-shell .patient-register-history-collapse svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-register-history-composer h4,
.native-shell .patient-register-history-composer p {
  margin: 0;
}

.native-shell .patient-register-history-composer h4 {
  color: #082441;
  font-size: 25px;
  font-weight: 950;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.native-shell .patient-register-history-composer p {
  margin-top: 7px;
  color: #4f6078;
  font-size: 18px;
  font-weight: 750;
  line-height: 1.35;
}

.native-shell .patient-register-history-field {
  display: grid;
  gap: 12px;
  min-width: 0;
  color: #082441;
  font-size: 20px;
  font-weight: 950;
}

.native-shell .patient-register-history-field > span {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}

.native-shell .patient-register-history-field em {
  color: #c21b68;
  font-style: normal;
}

.native-shell .patient-register-history-field select {
  width: 100%;
  min-height: 72px;
  padding: 0 22px;
  border: 1px solid #d7e5eb;
  border-radius: 18px;
  background: #fbfefe;
  color: #082441;
  font: inherit;
  font-size: 20px;
  font-weight: 850;
  outline: 0;
}

.native-shell .patient-register-history-field select:focus,
.native-shell .patient-register-history-textarea textarea:focus,
.native-shell .patient-register-history-date-row:focus-within {
  border-color: #88e0d8;
  box-shadow: 0 0 0 4px rgba(15, 185, 170, .1);
}

.native-shell .patient-register-history-textarea {
  position: relative;
  min-width: 0;
}

.native-shell .patient-register-history-textarea textarea {
  width: 100%;
  min-height: 118px;
  padding: 26px 28px 48px;
  border: 1px solid #cedce5;
  border-radius: 18px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  resize: vertical;
  outline: 0;
}

.native-shell .patient-register-history-textarea textarea::placeholder {
  color: #7d889c;
  opacity: 1;
}

.native-shell .patient-register-history-textarea textarea:focus {
  border-color: #7bded5;
  box-shadow: 0 0 0 4px rgba(15, 185, 170, .12);
}

.native-shell .patient-register-history-textarea small {
  position: absolute;
  right: 18px;
  bottom: 16px;
  color: #243553;
  font-size: 18px;
  font-weight: 800;
}

.native-shell .patient-register-history-divider {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  color: #253553;
  font-size: 18px;
  font-weight: 800;
}

.native-shell .patient-register-history-divider::before,
.native-shell .patient-register-history-divider::after {
  content: "";
  height: 1px;
  background: #8390a9;
}

.native-shell .patient-register-history-divider span {
  line-height: 1;
}

.native-shell .patient-register-history-actions {
  display: grid;
  grid-template-columns: minmax(78px, .35fr) minmax(0, 1.2fr) minmax(0, 1.55fr);
  gap: 12px;
  min-width: 0;
}

.native-shell .patient-register-history-photo,
.native-shell .patient-register-history-submit {
  display: inline-flex;
  min-height: 78px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  border-radius: 15px;
  font: inherit;
  font-size: 24px;
  font-weight: 950;
  cursor: pointer;
}

.native-shell .patient-register-history-photo {
  border: 1px solid #0aa99c !important;
  background: #fff !important;
  color: #009587;
  box-shadow: none !important;
}

.native-shell .patient-register-history-photo:focus-visible {
  outline: 2px solid #007d79;
  outline-offset: 2px;
}

.native-shell .patient-register-file-button {
  gap: 12px;
  padding: 0 12px;
  border-color: #91a3b8 !important;
  color: #435772;
  font-size: 18px;
  font-weight: 850;
}

.native-shell .patient-register-history-photo.patient-register-file-button svg {
  width: 27px;
  height: 27px;
  flex: none;
}

.native-shell .patient-register-file-button span {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.15;
}

.native-shell .patient-register-history-submit {
  border: 0 !important;
  background: linear-gradient(135deg, #16c5b9, #009383) !important;
  color: #fff;
  box-shadow: 0 18px 34px rgba(0, 147, 131, .24) !important;
}

.native-shell .patient-register-history-photo svg,
.native-shell .patient-register-history-submit svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-register-history-photo-name {
  margin-top: -6px;
  overflow: hidden;
  color: #62728a;
  font-size: 14px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .patient-register-history-feedback {
  margin: 0;
  padding: 13px 15px;
  border: 1px solid #aeeae3;
  border-radius: 14px;
  background: #eafffb;
  color: #007c72;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .patient-register-history-feedback.is-error {
  border-color: #f0c3ca;
  background: #fff3f5;
  color: #bb1f3b;
}

.native-shell .patient-register-history-feedback[hidden] {
  display: none !important;
}

.native-shell .patient-register-image-dialog {
  position: fixed;
  inset: auto 0 22px;
  width: min(380px, calc(100vw - 32px));
  max-width: none;
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  color: #082441;
  box-shadow: 0 32px 92px rgba(9, 26, 37, .34);
}

.native-shell .patient-register-image-dialog::backdrop {
  background: rgba(10, 20, 27, .55);
  backdrop-filter: blur(5px);
}

.native-shell .patient-register-image-sheet {
  display: grid;
  gap: 0;
  padding: 0;
  background: #fff;
}

.native-shell .patient-register-image-sheet header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 20px 22px 14px;
}

.native-shell .patient-register-image-sheet h2 {
  margin: 0;
  color: #082441;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.15;
}

.native-shell .patient-register-image-sheet header button {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 0 !important;
  border-radius: 50%;
  background: #f4faf9 !important;
  color: #082441;
  font: inherit;
  font-size: 28px;
  line-height: 1;
  box-shadow: none !important;
  cursor: pointer;
}

.native-shell .patient-register-image-stage {
  display: grid;
  gap: 0;
  padding: 0 22px;
}

.native-shell .patient-register-image-stage[hidden] {
  display: none !important;
}

.native-shell .patient-register-image-stage > small {
  display: block;
  overflow: hidden;
  padding: 0 0 10px;
  color: #62728a;
  font-size: 13px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .patient-register-image-stage button,
.native-shell .patient-register-image-cancel {
  display: grid;
  width: 100%;
  min-height: 70px;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 0;
  border: 0;
  border-top: 1px solid #edf3f5;
  background: transparent;
  color: #082441;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.native-shell .patient-register-image-stage button:first-child {
  border-top: 0;
}

.native-shell .patient-register-image-stage button > span,
.native-shell .patient-register-image-cancel > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 11px;
  background: #e9fbf8;
  color: #009d8f;
  font-size: 24px;
  line-height: 1;
}

.native-shell .patient-register-image-stage svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-register-image-stage strong,
.native-shell .patient-register-image-cancel strong {
  color: #082441;
  font-size: 15px;
  font-weight: 950;
}

.native-shell .patient-register-image-stage small {
  display: block;
  margin-top: 4px;
  color: #65768c;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.native-shell .patient-register-image-cancel {
  margin: 8px 22px 18px;
  width: calc(100% - 44px);
  min-height: 60px;
  padding: 0 14px;
  border: 1px solid #edf3f5 !important;
  border-radius: 15px;
  background: #fff !important;
  box-shadow: none !important;
}

.native-shell .patient-register-image-cancel > span {
  background: #fff;
  color: #082441;
}

.native-shell .patient-register-main-title {
  margin-bottom: 22px;
}

.native-shell .patient-register-sheet .patient-register-main-title {
  margin-bottom: 22px;
}

.native-shell .patient-register-segmented {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 0;
  margin: -4px 0 26px;
  padding: 6px;
  border: 1px solid #dce8ee;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  box-shadow: inset 0 1px 2px rgba(12, 47, 62, .04), 0 16px 34px rgba(20, 51, 70, .06);
}

.native-shell .patient-register-segmented button {
  display: inline-flex;
  min-width: 0;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0 !important;
  border-radius: 999px;
  background: transparent !important;
  color: #66788f;
  box-shadow: none !important;
  font: inherit;
  font-size: 18px;
  font-weight: 950;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.native-shell .patient-register-segmented button.is-active {
  background: linear-gradient(135deg, #20d1c2, #07aa9b) !important;
  color: #fff;
  box-shadow: 0 16px 30px rgba(10, 169, 155, .24) !important;
}

.native-shell .patient-register-segmented button span {
  color: inherit;
  font-size: 22px;
  line-height: 1;
}

.native-shell .patient-register-metric-stage {
  --patient-register-option-width: 128px;
  --patient-register-option-height: 118px;
  --patient-register-carousel-x: 2px;
  --patient-register-carousel-y: 10px;
  --patient-register-carousel-height: 138px;
  display: grid;
  margin-bottom: 16px;
}

.native-shell .patient-register-metric-stage > .patient-register-option-block {
  grid-area: 1 / 1;
  margin: 0 -2px;
  transition: opacity .24s ease, transform .24s ease, visibility .24s ease;
}

.native-shell .patient-register-metric-stage > [data-register-metric-section] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(5px);
}

.native-shell .patient-register-metric-stage > [data-register-metric-section].is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.native-shell .patient-register-option-block {
  display: grid;
  gap: 10px;
  margin: 0 -2px 16px;
}

.native-shell .patient-register-strip-title {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 16px;
  padding: 0 2px;
  color: #082441;
}

.native-shell .patient-register-strip-title span {
  color: #008e80;
  font-size: 14px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.native-shell .patient-register-strip-title small {
  color: #65748a;
  font-size: 12px;
  font-weight: 800;
  text-align: right;
}

.native-shell .patient-register-options {
  position: relative;
  display: flex;
  gap: 18px;
  margin: 0;
  padding: 0 2px 20px;
  overflow-x: auto;
  border-bottom: 0;
  scroll-behavior: auto;
  scroll-snap-type: none;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
}

.native-shell .patient-register-favorite-options {
  min-height: var(--patient-register-carousel-height);
  padding: var(--patient-register-carousel-y) var(--patient-register-carousel-x);
  border: 0;
  border-radius: 0;
  background: #fff;
}

.native-shell .patient-register-metric-stage .patient-register-options {
  min-height: var(--patient-register-carousel-height);
  align-items: stretch;
  padding: var(--patient-register-carousel-y) var(--patient-register-carousel-x);
}

.native-shell .patient-register-options::-webkit-scrollbar {
  display: none;
}

.native-shell .patient-register-options.is-panning {
  cursor: grabbing;
  user-select: none;
}

.native-shell .patient-register-options button {
  position: relative;
  display: grid;
  flex: 0 0 var(--patient-register-option-width, 128px);
  width: var(--patient-register-option-width, 128px);
  min-height: var(--patient-register-option-height, 118px);
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 16px 12px;
  border: 1px solid #d5e2e8 !important;
  border-radius: 18px;
  background: #fff !important;
  color: #082441;
  box-shadow: none !important;
  font-size: 20px;
  font-weight: 950;
  text-align: center;
  cursor: pointer;
  user-select: none;
}

.native-shell .patient-register-options button b {
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  font-size: 12px;
  font-weight: inherit;
  line-height: 1.05;
  text-overflow: ellipsis;
}

.native-shell .patient-register-options button .patient-register-metric-glyph,
.native-shell .patient-register-options button .patient-register-metric-image {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #eafcf8;
  color: #009b8f;
  font-size: 26px;
  line-height: 1;
}

.native-shell .patient-register-options button .patient-register-metric-image {
  width: 50px;
  height: 46px;
  overflow: visible;
  border-radius: 0;
  background: transparent;
}

.native-shell .patient-register-options button .patient-register-metric-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  transform: none;
  filter: drop-shadow(0 7px 10px rgba(18, 43, 72, .13));
}

.native-shell .patient-register-favorite-toggle,
.native-shell .patient-register-history-carousel .patient-register-history-favorite {
  position: absolute;
  top: 9px;
  right: 9px;
  display: grid;
  width: 28px;
  height: 28px;
  min-height: 28px;
  place-items: center;
  padding: 0;
  border: 1px solid #d5e9ee;
  border-radius: 50%;
  background: #fff;
  color: #9aa7b5;
  font-size: 14px;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(20, 67, 83, .08);
  z-index: 2;
  cursor: pointer;
}

.native-shell .patient-register-favorite-toggle.is-favorite,
.native-shell .patient-register-history-carousel .patient-register-history-favorite.is-favorite {
  border-color: rgba(245, 180, 0, .35);
  background: #fffbea;
  color: #ffc400;
}

.native-shell .patient-register-options button.is-active {
  border-color: #0aa89b !important;
  background: linear-gradient(135deg, #f0fffc, #fff) !important;
  color: #00877b;
  box-shadow: 0 18px 36px rgba(12, 173, 160, .12) !important;
}

.native-shell .patient-register-options button.is-active::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -21px;
  left: 0;
  height: 7px;
  border-radius: 999px 999px 0 0;
  background: #008c80;
}

.native-shell .patient-register-favorites-empty {
  display: flex;
  flex: 0 0 min(420px, 100%);
  min-height: 78px;
  align-items: center;
  justify-content: center;
  padding: 14px 18px;
  border: 1px dashed #bce1e6;
  border-radius: 17px;
  background: rgba(255, 255, 255, .78);
  color: #65748a;
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}

.native-shell .patient-register-form {
  position: relative;
  display: grid;
  gap: 22px;
  margin-top: 4px;
  padding: 26px 34px 34px;
  border: 1px solid #63d7cf;
  border-radius: 24px;
  background: linear-gradient(150deg, #f5fffd, #fff);
  box-shadow: 0 28px 64px rgba(11, 93, 87, .16);
}

.native-shell .patient-register-form[hidden] {
  display: none !important;
}

@keyframes patient-register-popup-in {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.native-shell .patient-register-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.native-shell .patient-register-selected-metric {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 78px;
  padding: 14px 18px;
  border: 1px solid #ccebed;
  border-radius: 18px;
  background: linear-gradient(135deg, #effffc, #fff);
}

.native-shell .patient-register-selected-icon {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  overflow: hidden;
  border-radius: 18px;
  background: #e8fffa;
  color: #008e80;
  font-size: 30px;
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(9, 170, 157, .16);
}

.native-shell .patient-register-selected-icon img {
  display: block;
  width: 82%;
  height: 82%;
  object-fit: contain;
  object-position: center;
  transform: none;
  filter: drop-shadow(0 7px 10px rgba(18, 43, 72, .14));
}

.native-shell .patient-register-selected-metric small,
.native-shell .patient-register-selected-metric h3,
.native-shell .patient-register-selected-metric p,
.native-shell .patient-register-selected-metric div > span {
  display: block;
  margin: 0;
}

.native-shell .patient-register-selected-metric small {
  color: #008e80;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.native-shell .patient-register-selected-metric h3 {
  margin-top: 0;
  color: #082441;
  font-size: 25px;
  font-weight: 950;
  line-height: 1.08;
}

.native-shell .patient-register-selected-metric p {
  margin-top: 8px;
  color: #526681;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
}

.native-shell .patient-register-selected-metric div > span {
  width: max-content;
  max-width: 100%;
  margin-top: 10px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #e6fbf6;
  color: #008c80;
  font-size: 12px;
  font-weight: 950;
}

.native-shell .patient-register-form label,
.native-shell .patient-register-attachment {
  display: grid;
  gap: 12px;
  color: #082441;
  font-size: 20px;
  font-weight: 950;
}

.native-shell .patient-register-form label > span,
.native-shell .patient-register-attachment > span {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}

.native-shell .patient-register-form label em,
.native-shell .patient-register-attachment em {
  color: #5a6880;
  font-style: normal;
  font-weight: 700;
}

.native-shell .patient-register-form label > span em {
  color: #c21b68;
}

.native-shell .patient-register-value-row,
.native-shell .patient-register-date-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 86px;
  overflow: hidden;
  border: 1px solid #d7e5eb;
  border-radius: 18px;
  background: #fbfefe;
}

.native-shell .patient-register-value-row input,
.native-shell .patient-register-date-row input {
  min-height: 84px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #082441;
  font-size: 24px;
  font-weight: 850;
  padding: 0 22px;
}

.native-shell .patient-register-value-row input::placeholder,
.native-shell .patient-register-form textarea::placeholder {
  color: #8792a0;
  opacity: 1;
}

.native-shell .patient-register-value-row b {
  min-width: 70px;
  padding: 0 22px;
  color: #008b7e;
  font-size: 22px;
  font-weight: 950;
  text-align: center;
}

.native-shell .patient-register-date-row {
  grid-template-columns: 56px minmax(0, 1fr) 56px;
}

.native-shell .patient-register-date-row i {
  display: grid;
  place-items: center;
  color: #132541;
  font-style: normal;
  font-size: 22px;
}

.native-shell .patient-register-history-date-row {
  grid-template-columns: minmax(0, 1fr);
}

.native-shell .patient-register-history-date-row i {
  display: none;
}

.native-shell .patient-register-history-date-row input {
  min-width: 0;
  padding-inline: 18px;
  font-size: 21px;
}

.native-shell .patient-register-history-date-row input::-webkit-calendar-picker-indicator {
  flex: 0 0 auto;
  margin-left: 8px;
  opacity: .9;
}

.native-shell .patient-register-notes-wrap {
  position: relative;
}

.native-shell .patient-register-form textarea {
  min-height: 212px;
  padding: 26px 28px 48px;
  border: 1px solid #cedce5;
  border-radius: 18px;
  background: #fff;
  color: #082441;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  resize: vertical;
  outline: 0;
}

.native-shell .patient-register-notes-wrap small {
  position: absolute;
  right: 18px;
  bottom: 16px;
  color: #243553;
  font-size: 18px;
  font-weight: 800;
}

.native-shell .patient-register-parameter-text {
  margin-top: 2px;
}

.native-shell .patient-register-parameter-attachment {
  gap: 18px;
}

.native-shell .patient-register-parameter-actions {
  display: grid;
  grid-template-columns: minmax(78px, .35fr) minmax(0, 1.2fr) minmax(0, 1.55fr);
  gap: 12px;
  min-width: 0;
}

.native-shell .patient-register-form input:focus,
.native-shell .patient-register-form textarea:focus,
.native-shell .patient-register-value-row:focus-within,
.native-shell .patient-register-date-row:focus-within {
  border-color: #88e0d8;
  box-shadow: 0 0 0 4px rgba(15, 185, 170, .1);
}

.native-shell .patient-register-attachment-box {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) auto;
  width: 100%;
  min-height: 110px;
  align-items: center;
  gap: 18px;
  padding: 14px 22px 14px 18px;
  border: 1px dashed #c7d8e1 !important;
  border-radius: 18px;
  background: #fff !important;
  color: inherit;
  box-shadow: none !important;
  text-align: left;
  cursor: pointer;
}

.native-shell .patient-register-attachment-box[hidden] {
  display: none !important;
}

.native-shell .patient-register-attachment-button {
  display: grid;
  width: 66px;
  height: 66px;
  place-items: center;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #defaf5, #fff);
  color: #009c8f;
  font-size: 28px;
}

.native-shell .patient-register-attachment-button svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-register-attachment-box strong,
.native-shell .patient-register-attachment-box small {
  display: block;
}

.native-shell .patient-register-attachment-box strong {
  color: #00877b;
  font-size: 21px;
  font-weight: 950;
}

.native-shell .patient-register-attachment-box small {
  margin-top: 4px;
  overflow: hidden;
  color: #5f718a;
  font-size: 18px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .patient-register-attachment-box i {
  color: #082441;
  font-style: normal;
  font-size: 46px;
  line-height: 1;
}

.native-shell .patient-register-uploaded-card[hidden],
.native-shell .patient-register-transcript-card[hidden],
.native-shell .patient-register-attachment-category[hidden] {
  display: none !important;
}

.native-shell .patient-register-uploaded-card {
  display: grid;
  gap: 16px;
  padding: 16px;
  border: 1px dashed #b9dce2;
  border-radius: 18px;
  background: #fff;
}

.native-shell .patient-register-uploaded-file {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 42px;
  gap: 14px;
  align-items: center;
}

.native-shell .patient-register-file-type {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 14px;
  background: #ffe9e9;
  color: #e63946;
  font-size: 15px;
  font-weight: 950;
}

.native-shell .patient-register-file-type.is-image {
  background: #e5fbf6;
  color: #007d79;
}

.native-shell .patient-register-uploaded-preview {
  display: block;
  width: 64px;
  height: 64px;
  overflow: hidden;
  border: 1px solid #d7e7e9;
  border-radius: 14px;
  background: #f3f8f8;
}

.native-shell .patient-register-uploaded-preview[hidden] {
  display: none !important;
}

.native-shell .patient-register-uploaded-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.native-shell .patient-register-uploaded-file strong,
.native-shell .patient-register-uploaded-file b,
.native-shell .patient-register-uploaded-file small {
  display: block;
}

.native-shell .patient-register-uploaded-file b {
  margin-bottom: 3px;
  color: #007d79;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.native-shell .patient-register-uploaded-file strong {
  overflow: hidden;
  color: #162943;
  font-size: 18px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .patient-register-uploaded-file small {
  margin-top: 4px;
  color: #61748d;
  font-size: 14px;
  font-weight: 800;
}

.native-shell .patient-register-uploaded-file button {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 0 !important;
  border-radius: 50%;
  background: #fff !important;
  color: #162943;
  box-shadow: none !important;
  cursor: pointer;
}

.native-shell .patient-register-uploaded-file button svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-register-uploaded-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  color: #007d79;
  font-size: 15px;
  font-weight: 900;
}

.native-shell .patient-register-uploaded-status span {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: #09a99b;
  color: #fff;
}

.native-shell .patient-register-uploaded-status button {
  margin-left: auto;
  min-height: 40px;
  padding: 0 22px;
  border: 1px solid #0bb5aa !important;
  border-radius: 10px;
  background: #fff !important;
  color: #007d79;
  box-shadow: none !important;
  font-size: 14px;
  font-weight: 950;
  cursor: pointer;
}

.native-shell .patient-register-transcript-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #0fb7aa;
  border-radius: 18px;
  background: linear-gradient(180deg, #f7fffd, #fff);
}

.native-shell .patient-register-transcript-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.native-shell .patient-register-transcript-card header div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
}

.native-shell .patient-register-transcript-card header strong {
  color: #082441;
  font-size: 16px;
  font-weight: 950;
}

.native-shell .patient-register-transcript-card header small {
  color: #5f718a;
  font-size: 12px;
  font-weight: 850;
}

.native-shell .patient-register-transcript-card header span {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 0 9px;
  border-radius: 999px;
  background: #e6fbf7;
  color: #009c90;
  font-size: 12px;
  font-weight: 950;
}

.native-shell .patient-register-transcript-card header button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #0fb7aa !important;
  border-radius: 10px;
  background: #fff !important;
  color: #007d79;
  box-shadow: none !important;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
}

.native-shell .patient-register-transcript-card textarea {
  min-height: 210px;
  padding: 18px;
  border: 1px solid #cfe1e7;
  border-radius: 14px;
  background: #fff;
  color: #253750;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.45;
  white-space: pre-wrap;
}

.native-shell .patient-register-transcript-card textarea[readonly] {
  background: #fbfefe;
}

.native-shell .patient-register-transcript-card.is-editing textarea {
  border-color: #0fb7aa;
  box-shadow: 0 0 0 4px rgba(15,183,170,.1);
}

.native-shell .patient-register-transcript-card p {
  margin: 0;
  color: #5e718b;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .patient-register-attachment-category {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid #d8e7eb;
  border-radius: 18px;
  background: #fff;
}

.native-shell .patient-register-attachment-category select {
  width: 100%;
  min-height: 56px;
  padding: 0 16px;
  border: 1px solid #d4e5eb;
  border-radius: 14px;
  background: #fbfefe;
  color: #082441;
  font: inherit;
  font-size: 15px;
  font-weight: 850;
  outline: 0;
}

.native-shell .patient-register-attachment-category select:focus {
  border-color: #88e0d8;
  box-shadow: 0 0 0 4px rgba(15,185,170,.1);
}

.native-shell .patient-register-attachment-category small {
  color: #61748d;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .patient-register-safe-note {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  padding: 24px;
  border-radius: 18px;
  background: linear-gradient(105deg, #eafff9, #f5fffd 55%, #f0faf8);
}

.native-shell .patient-register-safe-note > span {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  border-radius: 50%;
  background: #d6f9ef;
  color: #007d79;
  font-size: 34px;
  font-weight: 950;
}

.native-shell .patient-register-safe-note strong {
  display: block;
  color: #00877b;
  font-size: 21px;
  font-weight: 950;
}

.native-shell .patient-register-safe-note p {
  margin: 6px 0 0;
  color: #50647e;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.42;
}

.native-shell .patient-register-success {
  padding: 15px 18px;
  border: 1px solid #bfeee8;
  border-radius: 16px;
  background: #effffd;
  color: #007c72;
  font-size: 15px;
  font-weight: 900;
}

.native-shell .patient-register-success.is-error {
  border-color: #f0c3ca;
  background: #fff3f5;
  color: #bb1f3b;
}

.native-shell .patient-register-saved-screen {
  display: grid;
  min-height: 430px;
  align-content: center;
  justify-items: center;
  gap: 13px;
  padding: 48px 24px 28px;
  border: 1px solid #d7e7e9;
  border-radius: 24px;
  background: #fff;
  color: #082441;
  text-align: center;
  box-shadow: 0 20px 52px rgba(22, 54, 72, .07);
}

.native-shell .patient-register-saved-screen[hidden] {
  display: none !important;
}

.native-shell .patient-register-saved-screen.is-visible {
  animation: patient-register-popup-in .22s ease-out both;
}

.native-shell .patient-register-saved-check {
  position: relative;
  display: grid;
  width: 88px;
  height: 88px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #19c8bb, #007d79);
  color: #fff;
  font-size: 52px;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 18px 34px rgba(0, 147, 131, .22);
}

.native-shell .patient-register-saved-screen h3,
.native-shell .patient-register-saved-screen p {
  margin: 0;
}

.native-shell .patient-register-saved-screen h3 {
  margin-top: 16px;
  color: #082441;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.15;
}

.native-shell .patient-register-saved-screen p {
  max-width: 270px;
  color: #536783;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.45;
}

.native-shell .patient-register-saved-actions {
  display: grid;
  width: 100%;
  gap: 12px;
  margin-top: 64px;
}

.native-shell .patient-register-saved-actions button {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  font: inherit;
  font-size: 16px;
  font-weight: 950;
  cursor: pointer;
}

.native-shell .patient-register-saved-actions button:first-child {
  border: 0 !important;
  background: linear-gradient(135deg, #16c5b9, #009383) !important;
  color: #fff;
  box-shadow: 0 16px 30px rgba(0, 147, 131, .22) !important;
}

.native-shell .patient-register-saved-actions button:last-child {
  border: 1px solid #0bb5aa !important;
  background: #fff !important;
  color: #007d79;
  box-shadow: none !important;
}

.native-shell .patient-register-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 0;
}

.native-shell .patient-register-secondary,
.native-shell .patient-register-primary {
  display: inline-flex;
  min-height: 78px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 18px;
  font-size: 22px;
  font-weight: 950;
  cursor: pointer;
}

.native-shell .patient-register-secondary {
  border: 1px solid #02a99b !important;
  background: #fff !important;
  color: #00877b;
  box-shadow: none !important;
}

.native-shell .patient-register-primary {
  border: 0 !important;
  background: linear-gradient(135deg, #1dc7bb, #007d79) !important;
  color: #fff;
  box-shadow: 0 18px 36px rgba(4,170,155,.24) !important;
}

.native-shell .patient-register-primary svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-register-primary span[aria-hidden="true"] {
  font-size: 28px;
  line-height: 1;
}

.native-shell .patient-register-parameter-submit {
  width: 100%;
  gap: 16px;
  font-size: 24px;
}

@media (max-width: 760px) {
  .native-shell .patient-portal-view[data-patient-view="register"] {
    max-width: 460px;
  }

  .native-shell .patient-register-sheet,
  .native-shell .patient-register-view-sheet {
    --patient-register-main-title-size: 20px;
    padding: 18px 16px 20px;
    border-radius: 20px;
  }

  .native-shell .patient-register-heading {
    min-height: 42px;
    padding: 0;
  }

  .native-shell .patient-register-heading small {
    font-size: 12px;
  }

  .native-shell .patient-register-heading h2 {
    margin-top: 12px;
    font-size: 34px;
  }

  .native-shell .patient-register-heading p {
    font-size: 17px;
  }

  .native-shell .patient-register-history-selector {
    gap: 16px;
    margin-bottom: 24px;
  }

  .native-shell .patient-register-history-carousel {
    gap: 12px;
    margin-inline: -16px;
    padding-inline: 16px;
    padding-bottom: 10px;
  }

  .native-shell .patient-register-history-carousel button[data-register-history-category] {
    width: 100%;
    min-height: 104px;
    gap: 9px;
  }

  .native-shell .patient-register-history-card {
    flex-basis: 112px;
    width: 112px;
  }

  .native-shell .patient-register-history-carousel button .patient-register-history-image,
  .native-shell .patient-register-history-carousel button .patient-register-history-glyph {
    width: 48px;
    height: 42px;
  }

  .native-shell .patient-register-history-carousel button b {
    font-size: 9px;
    line-height: 1;
  }

  .native-shell .patient-register-history-carousel button.is-active::after {
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    font-size: 17px;
  }

  .native-shell .patient-history-filters {
    gap: 12px;
    margin-inline: -12px;
    padding-inline: 12px;
    padding-bottom: 10px;
  }

  .native-shell .patient-history-filters button {
    flex: 0 0 112px;
    width: 112px;
    min-height: 104px;
    gap: 9px;
  }

  .native-shell .patient-history-filters button .patient-register-history-image,
  .native-shell .patient-history-filters button .patient-register-history-glyph {
    width: 48px;
    height: 42px;
  }

  .native-shell .patient-history-filters button b {
    font-size: 9px;
    line-height: 1;
  }

  .native-shell .patient-history-filters button.is-active::after {
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    font-size: 17px;
  }

  .native-shell .patient-register-history-composer {
    gap: 14px;
    padding: 16px 14px;
    border-radius: 18px;
  }

  .native-shell .patient-register-history-composer header {
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 12px;
  }

  .native-shell .patient-register-history-collapse {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .native-shell .patient-register-history-collapse svg {
    width: 20px;
    height: 20px;
  }

  .native-shell .patient-register-history-composer h4 {
    font-size: 21px;
  }

  .native-shell .patient-register-history-composer p {
    margin-top: 4px;
    font-size: 13px;
  }

  .native-shell .patient-register-history-field {
    gap: 9px;
    font-size: 14px;
  }

  .native-shell .patient-register-history-field select {
    min-height: 54px;
    padding: 0 14px;
    border-radius: 15px;
    font-size: 14px;
  }

  .native-shell .patient-register-history-textarea textarea {
    min-height: 104px;
    padding: 18px 14px 36px;
    border-radius: 15px;
    font-size: 16px;
  }

  .native-shell .patient-register-history-textarea textarea[data-register-history-notes] {
    min-height: 116px;
  }

  .native-shell .patient-register-history-textarea small {
    right: 13px;
    bottom: 11px;
    font-size: 13px;
  }

  .native-shell .patient-register-history-divider {
    gap: 14px;
    font-size: 13px;
  }

  .native-shell .patient-register-history-actions {
    grid-template-columns: 48px minmax(0, 1.5fr) minmax(0, 1fr);
    gap: 8px;
  }

  .native-shell .patient-register-history-photo,
  .native-shell .patient-register-history-submit {
    min-height: 52px;
    gap: 10px;
    border-radius: 12px;
    font-size: 16px;
  }

  .native-shell .patient-register-history-photo svg,
  .native-shell .patient-register-history-submit svg {
    width: 24px;
    height: 24px;
  }

  .native-shell .patient-register-file-button {
    gap: 6px;
    padding: 0 6px;
    font-size: 13px;
  }

  .native-shell .patient-register-history-photo.patient-register-file-button svg {
    width: 20px;
    height: 20px;
  }

  .native-shell .patient-register-history-photo-name,
  .native-shell .patient-register-history-feedback {
    font-size: 12px;
  }

  .native-shell .patient-register-image-preview {
    width: min(160px, 100%);
    padding: 8px;
    border-radius: 14px;
  }

  .native-shell .patient-register-image-preview button {
    width: 24px;
    height: 24px;
    font-size: 18px;
  }

  .native-shell .patient-register-image-preview small {
    font-size: 11px;
  }

  .native-shell .patient-register-image-dialog {
    inset: auto 0 14px;
    width: min(292px, calc(100vw - 34px));
    border-radius: 18px;
  }

  .native-shell .patient-register-image-sheet header {
    padding: 15px 16px 10px;
  }

  .native-shell .patient-register-image-sheet h2 {
    font-size: 16px;
  }

  .native-shell .patient-register-image-sheet header button {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    font-size: 26px;
  }

  .native-shell .patient-register-image-stage {
    padding-inline: 16px;
  }

  .native-shell .patient-register-image-stage button,
  .native-shell .patient-register-image-cancel {
    min-height: 58px;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 11px;
  }

  .native-shell .patient-register-image-stage button > span,
  .native-shell .patient-register-image-cancel > span {
    width: 30px;
    height: 30px;
    border-radius: 10px;
  }

  .native-shell .patient-register-image-stage strong,
  .native-shell .patient-register-image-cancel strong {
    font-size: 12px;
  }

  .native-shell .patient-register-image-stage small {
    font-size: 10px;
  }

  .native-shell .patient-register-image-cancel {
    width: calc(100% - 32px);
    margin: 8px 16px 14px;
  }

  .native-shell .patient-register-saved-screen {
    min-height: 360px;
    gap: 10px;
    padding: 36px 18px 22px;
    border-radius: 20px;
  }

  .native-shell .patient-register-saved-check {
    width: 72px;
    height: 72px;
    font-size: 42px;
  }

  .native-shell .patient-register-saved-screen h3 {
    margin-top: 12px;
    font-size: 18px;
  }

  .native-shell .patient-register-saved-screen p {
    max-width: 230px;
    font-size: 13px;
  }

  .native-shell .patient-register-saved-actions {
    gap: 10px;
    margin-top: 42px;
  }

  .native-shell .patient-register-saved-actions button {
    min-height: 48px;
    border-radius: 12px;
    font-size: 13px;
  }

  .native-shell .patient-register-main-title {
    margin-bottom: 16px;
  }

  .native-shell .patient-register-sheet .patient-register-main-title {
    margin-bottom: 18px;
  }

  .native-shell .patient-register-segmented {
    margin: 0 0 14px;
    padding: 4px;
    border-radius: 999px;
    box-shadow: inset 0 1px 2px rgba(12, 47, 62, .04), 0 10px 18px rgba(20, 51, 70, .05);
  }

  .native-shell .patient-register-segmented button {
    min-height: 34px;
    gap: 6px;
    font-size: 11px;
  }

  .native-shell .patient-register-segmented button span {
    font-size: 13px;
  }

  .native-shell .patient-register-metric-stage {
    --patient-register-option-width: 112px;
    --patient-register-option-height: 104px;
    --patient-register-carousel-x: 16px;
    --patient-register-carousel-y: 10px;
    --patient-register-carousel-height: 124px;
    margin-bottom: 14px;
  }

  .native-shell .patient-register-metric-stage > .patient-register-option-block {
    margin: 0 -16px;
  }

  .native-shell .patient-register-option-block {
    gap: 8px;
    margin-inline: -16px;
    margin-bottom: 14px;
  }

  .native-shell .patient-register-strip-title {
    display: grid;
    gap: 2px;
    padding-inline: 16px;
  }

  .native-shell .patient-register-strip-title span {
    font-size: 11px;
  }

  .native-shell .patient-register-strip-title small {
    font-size: 11px;
    text-align: left;
  }

  .native-shell .patient-register-options {
    gap: 12px;
    margin-inline: 0;
    padding-inline: 16px;
    padding-bottom: 16px;
  }

  .native-shell .patient-register-favorite-options {
    min-height: var(--patient-register-carousel-height);
    margin-inline: 0;
    padding: var(--patient-register-carousel-y) var(--patient-register-carousel-x);
    border: 0;
    border-radius: 0;
  }

  .native-shell .patient-register-option-block-all .patient-register-options {
    display: flex;
    grid-template-columns: none;
    gap: 12px;
    overflow-x: auto;
    padding: var(--patient-register-carousel-y) var(--patient-register-carousel-x);
    scroll-snap-type: none;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
  }

  .native-shell .patient-register-options button {
    flex: 0 0 var(--patient-register-option-width, 112px);
    width: var(--patient-register-option-width, 112px);
    min-height: var(--patient-register-option-height, 104px);
    font-size: 16px;
    gap: 9px;
  }

  .native-shell .patient-register-options button b {
    font-size: 9px;
    line-height: 1;
  }

  .native-shell .patient-register-options button .patient-register-metric-image {
    width: 48px;
    height: 42px;
  }

  .native-shell .patient-register-favorite-toggle,
  .native-shell .patient-register-history-carousel .patient-register-history-favorite {
    top: 7px;
    right: 7px;
    width: 26px;
    height: 26px;
    min-height: 26px;
    font-size: 13px;
  }

  .native-shell .patient-register-options button.is-active::after {
    bottom: -17px;
    height: 6px;
  }

  .native-shell .patient-register-form {
    gap: 14px;
    padding: 16px 14px;
    border-radius: 18px;
  }

  .native-shell .patient-register-selected-metric {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 0;
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
  }

  .native-shell .patient-register-selected-icon {
    width: 50px;
    height: 50px;
    border-radius: 15px;
    font-size: 24px;
  }

  .native-shell .patient-register-selected-metric small {
    font-size: 10px;
  }

  .native-shell .patient-register-selected-metric h3 {
    font-size: 21px;
  }

  .native-shell .patient-register-selected-metric p {
    font-size: 13px;
  }

  .native-shell .patient-register-selected-metric div > span {
    font-size: 11px;
  }

  .native-shell .patient-register-form label,
  .native-shell .patient-register-attachment {
    font-size: 16px;
  }

  .native-shell .patient-register-value-row,
  .native-shell .patient-register-date-row {
    min-height: 64px;
    border-radius: 15px;
  }

  .native-shell .patient-register-value-row input,
  .native-shell .patient-register-date-row input {
    min-height: 62px;
    padding-inline: 14px;
    font-size: 17px;
  }

  .native-shell .patient-register-value-row b {
    min-width: 48px;
    padding-inline: 12px;
    font-size: 17px;
  }

  .native-shell .patient-register-date-row {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
  }

  .native-shell .patient-register-history-date-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .patient-register-history-date-row input {
    padding-inline: 16px;
    font-size: 16px;
  }

  .native-shell .patient-register-form textarea {
    min-height: 132px;
    padding: 18px 14px 36px;
    border-radius: 15px;
    font-size: 16px;
  }

  .native-shell .patient-register-notes-wrap small {
    right: 13px;
    bottom: 11px;
    font-size: 13px;
  }

  .native-shell .patient-register-attachment-box {
    grid-template-columns: 54px minmax(0, 1fr) auto;
    min-height: 86px;
    gap: 13px;
    padding: 12px 14px;
  }

  .native-shell .patient-register-attachment-button {
    width: 52px;
    height: 52px;
    border-radius: 15px;
    font-size: 22px;
  }

  .native-shell .patient-register-attachment-button svg {
    width: 25px;
    height: 25px;
  }

  .native-shell .patient-register-attachment-box strong {
    font-size: 16px;
  }

  .native-shell .patient-register-attachment-box small {
    font-size: 13px;
  }

  .native-shell .patient-register-uploaded-card,
  .native-shell .patient-register-transcript-card,
  .native-shell .patient-register-attachment-category {
    padding: 14px;
    border-radius: 16px;
  }

  .native-shell .patient-register-uploaded-file {
    grid-template-columns: 50px minmax(0, 1fr) 38px;
    gap: 10px;
  }

  .native-shell .patient-register-file-type {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    font-size: 12px;
  }

  .native-shell .patient-register-uploaded-preview {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }

  .native-shell .patient-register-uploaded-file strong {
    font-size: 14px;
  }

  .native-shell .patient-register-uploaded-file small,
  .native-shell .patient-register-uploaded-status,
  .native-shell .patient-register-transcript-card p,
  .native-shell .patient-register-attachment-category small {
    font-size: 12px;
  }

  .native-shell .patient-register-uploaded-status button {
    width: 100%;
    margin-left: 0;
  }

  .native-shell .patient-register-transcript-card header {
    align-items: flex-start;
  }

  .native-shell .patient-register-transcript-card header strong {
    font-size: 14px;
  }

  .native-shell .patient-register-transcript-card textarea {
    min-height: 170px;
    padding: 14px;
    font-size: 13px;
  }

  .native-shell .patient-register-attachment-category select {
    min-height: 50px;
    font-size: 13px;
  }

  .native-shell .patient-register-safe-note {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    padding: 17px;
  }

  .native-shell .patient-register-safe-note > span {
    width: 50px;
    height: 50px;
    font-size: 26px;
  }

  .native-shell .patient-register-safe-note strong {
    font-size: 16px;
  }

  .native-shell .patient-register-safe-note p {
    font-size: 14px;
  }

  .native-shell .patient-register-actions {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .native-shell .patient-register-secondary,
  .native-shell .patient-register-primary {
    min-height: 52px;
    border-radius: 12px;
    font-size: 16px;
  }

  .native-shell .patient-register-primary svg {
    width: 24px;
    height: 24px;
  }

  .native-shell .patient-register-parameter-actions {
    grid-template-columns: 48px minmax(0, 1.5fr) minmax(0, 1fr);
    gap: 8px;
  }

  .native-shell .patient-register-parameter-submit {
    gap: 10px;
    font-size: 16px;
  }
}

@media (max-width: 360px) {
  .native-shell .patient-register-selected-metric {
    gap: 8px;
  }

  .native-shell .patient-register-selected-metric h3,
  .native-shell .patient-register-history-composer h4 {
    font-size: 18px;
  }
}

.native-shell .doctor-hero {
  min-height: 142px;
  align-items: center;
}

.native-shell .doctor-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .doctor-hero-mark {
  background: linear-gradient(135deg, #2dd4bf 0%, #1976d2 100%);
  box-shadow: 0 14px 24px rgba(25, 118, 210, 0.16);
}

.native-shell .doctor-summary {
  gap: 14px;
}

.native-shell .doctor-summary article {
  position: relative;
  min-height: 96px;
  overflow: hidden;
}

.native-shell .doctor-summary article::after {
  position: absolute;
  right: -26px;
  bottom: -36px;
  width: 98px;
  height: 98px;
  border-radius: 999px;
  background: rgba(25, 118, 210, 0.09);
  content: "";
}

.native-shell .doctor-layout {
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.native-shell .doctor-profile-card {
  top: 104px;
  overflow: hidden;
  padding: 0;
}

.native-shell .doctor-profile-header {
  display: grid;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid #e5eef1;
  background: linear-gradient(180deg, #fbfefe 0%, #f4f8ff 100%);
}

.native-shell .doctor-profile-header h2 {
  margin: 0;
  color: #26324a;
  font-size: 19px;
  line-height: 1.15;
}

.native-shell .doctor-profile-header span {
  display: block;
  margin-top: 4px;
  color: #1976d2;
  font-size: 13px;
  font-weight: 850;
}

.native-shell .doctor-avatar {
  width: 76px;
  height: 76px;
  border: 1px solid #bfdcff;
  border-radius: 22px;
  background: linear-gradient(135deg, #2dd4bf 0%, #1976d2 100%);
  box-shadow: 0 14px 24px rgba(25, 118, 210, 0.16);
}

.native-shell .doctor-profile-card .detail-list {
  padding: 18px 20px 20px;
}

.native-shell .doctor-profile-card .detail-list div {
  grid-template-columns: 112px minmax(0, 1fr);
}

.native-shell .doctor-profile-card .detail-list dd {
  overflow-wrap: anywhere;
}

.native-shell .doctor-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .doctor-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #1976d2 0%, rgba(45, 212, 191, 0) 68%);
  content: "";
}

.native-shell .doctor-panel .compact-title {
  min-height: 40px;
}

.native-shell .doctor-panel .compact-list {
  max-height: 380px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .doctor-panel.span-2 .compact-list {
  max-height: none;
}

.native-shell .doctor-panel .badge {
  background: #edf7ff;
  color: #155fa0;
}

.native-shell.doctor-assistant-native-body {
  min-height: 100vh;
  background: #f4f7f8;
}

.native-shell.doctor-assistant-native-body .topbar {
  display: none;
}

.native-shell.doctor-assistant-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .doctor-assistant-native-screen {
  min-height: 100vh;
  border: 1px solid #d5e1e3;
  border-radius: 12px;
  background: #fff;
  color: #081826;
}

.native-shell .doctor-assistant-native-topbar {
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 30px;
  border-bottom: 1px solid #d9e3e5;
  background: #fff;
}

.native-shell .doctor-assistant-native-brand {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 12px;
}

.native-shell .doctor-assistant-native-brand > span,
.native-shell .doctor-assistant-native-spark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: linear-gradient(135deg, #23d1b7 0%, #16a8d5 100%);
  color: #fff;
  font-size: 22px;
  font-weight: 900;
  box-shadow: 0 18px 38px rgba(22, 168, 213, 0.18);
}

.native-shell .doctor-assistant-native-brand strong,
.native-shell .doctor-assistant-native-brand small {
  display: block;
}

.native-shell .doctor-assistant-native-brand strong {
  color: #081826;
  font-size: 15px;
  font-weight: 900;
}

.native-shell .doctor-assistant-native-brand small {
  margin-top: 5px;
  color: #00917f;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .doctor-assistant-native-session {
  display: flex;
  align-items: center;
  gap: 10px;
}

.native-shell .doctor-assistant-native-session a,
.native-shell .doctor-assistant-native-session button {
  display: grid;
  min-height: 44px;
  align-items: center;
  border: 1px solid #cddde0;
  border-radius: 10px;
  background: #fff;
  color: #26384a;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .doctor-assistant-native-session a {
  padding: 0 16px;
  background: #e8f7f4;
  color: #007d79;
}

.native-shell .doctor-assistant-native-session button {
  grid-template-columns: 34px 1fr;
  gap: 10px;
  min-width: 190px;
  padding: 6px 12px;
  text-align: left;
}

.native-shell .doctor-assistant-native-session button span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 999px;
  background: #e5f7f4;
  color: #00a491;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .doctor-assistant-native-session small {
  display: block;
  color: #6b7b87;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.native-shell .doctor-assistant-native-account {
  position: relative;
}

.native-shell .doctor-assistant-native-session .doctor-assistant-native-account-trigger {
  grid-template-columns: 34px minmax(0, 1fr) 16px;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.native-shell .doctor-assistant-native-session .doctor-assistant-native-account-trigger:hover,
.native-shell .doctor-assistant-native-session .doctor-assistant-native-account-trigger:focus-visible,
.native-shell .doctor-assistant-native-session .doctor-assistant-native-account-trigger[aria-expanded="true"] {
  border-color: #7fcfc5;
  background: #f7fdfc;
  box-shadow: 0 10px 24px rgba(11, 70, 73, 0.12);
  outline: none;
}

.native-shell .doctor-assistant-native-account-trigger > div {
  min-width: 0;
}

.native-shell .doctor-assistant-native-account-trigger > div strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .doctor-assistant-native-account-chevron {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #687a84;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  transition: transform 160ms ease;
}

.native-shell .doctor-assistant-native-account-trigger[aria-expanded="true"] .doctor-assistant-native-account-chevron {
  transform: rotate(180deg);
}

.native-shell .doctor-assistant-native-account-menu {
  position: absolute;
  z-index: 120;
  top: calc(100% + 10px);
  right: 0;
  width: min(240px, calc(100vw - 32px));
  padding: 8px;
  border: 1px solid #d4e1e2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(11, 42, 52, 0.18);
}

.native-shell .doctor-assistant-native-account-menu[hidden] {
  display: none;
}

.native-shell .doctor-assistant-native-account-menu form {
  margin: 0;
}

.native-shell .doctor-assistant-native-session .doctor-assistant-native-account-logout {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  padding: 8px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #b4232f;
  cursor: pointer;
  text-align: left;
}

.native-shell .doctor-assistant-native-session .doctor-assistant-native-account-logout:hover,
.native-shell .doctor-assistant-native-session .doctor-assistant-native-account-logout:focus-visible {
  background: #fff1f2;
  outline: none;
}

.native-shell .doctor-assistant-native-account-logout > svg {
  width: 21px;
  height: 21px;
  justify-self: center;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .doctor-assistant-native-session .doctor-assistant-native-account-logout > span {
  display: block;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  color: inherit;
}

.native-shell .doctor-assistant-native-account-logout strong,
.native-shell .doctor-assistant-native-account-logout small {
  display: block;
}

.native-shell .doctor-assistant-native-account-logout small {
  margin-top: 3px;
  color: #7b6064;
  text-transform: none;
}

.native-shell .doctor-assistant-native-main {
  position: relative;
  min-height: calc(100vh - 84px);
  padding: 92px 30px 108px;
  background:
    linear-gradient(180deg, rgba(234, 252, 250, 0.72) 0%, rgba(255, 255, 255, 0) 34%),
    #fff;
}

/* Las solicitudes especializadas se muestran como una tarea enfocada. En esta
   ruta no deben competir con el resto de paneles del escritorio médico. */
.native-shell .doctor-service-request-page .doctor-assistant-native-main {
  min-height: calc(100vh - 84px);
  padding: 32px clamp(18px, 4vw, 64px) 56px;
}

.native-shell .doctor-service-request-page .doctor-assistant-native-main > * {
  display: none !important;
}

.native-shell .doctor-service-request-page .doctor-assistant-native-main > #doctor-requests {
  display: block !important;
  width: min(1180px, 100%);
  margin: 0 auto;
}

.native-shell .doctor-service-request-page .doctor-assistant-native-main > .doctor-assistant-native-composer {
  display: grid !important;
}

.native-shell .doctor-service-request-page .doctor-service-request-focus .doctor-request-types {
  display: block;
  padding: 0;
  border-bottom: 0;
}

.native-shell .doctor-service-request-page .doctor-service-request-focus .doctor-request-card {
  border: 0;
  border-radius: 0 0 12px 12px;
}

.native-shell .doctor-service-request-page .doctor-service-request-focus .doctor-request-card > summary {
  display: none;
}

.native-shell .doctor-service-request-page .doctor-service-request-focus .doctor-workspace-form {
  padding: 20px;
}

/* Inicio del m&oacute;dulo m&eacute;dico: se mantiene deliberadamente despejado, como el
   panel de bienvenida de la versi&oacute;n de referencia. Las vistas operativas se
   muestran al entrar mediante el men&uacute; flotante. */
.native-shell .doctor-section-home .doctor-assistant-native-brand {
  display: none;
}

.native-shell .doctor-section-home .doctor-assistant-native-topbar {
  justify-content: flex-end;
  min-height: 74px;
  padding: 12px 26px;
}

.native-shell .doctor-section-home .doctor-assistant-native-main {
  display: grid;
  align-content: start;
  min-height: calc(100vh - 76px);
  padding-top: 104px;
  padding-bottom: 104px;
}

.native-shell .doctor-section-home .doctor-assistant-native-intro {
  margin-bottom: 0;
}

.native-shell .doctor-assistant-native-menu {
  position: fixed;
  left: 58px;
  bottom: 120px;
  z-index: 20;
  width: 252px;
  padding: 8px;
  border: 1px solid #d7e4ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
}

.native-shell .doctor-assistant-native-menu[hidden] { display: none !important; }
.native-shell .doctor-menu-panel {
  display: grid;
  gap: 6px;
}
.native-shell .doctor-menu-panel[data-doctor-menu-panel="main"] {
  gap: 4px;
}
.native-shell .doctor-menu-panel[hidden] { display: none !important; }
.native-shell .doctor-menu-panel > strong {
  padding: 6px 10px 8px;
  color: #26374a;
  font-size: 11px;
}
.native-shell .doctor-assistant-native-menu a,
.native-shell .doctor-assistant-native-menu button {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 16px;
  align-items: center;
  width: 100%;
  min-height: 52px;
  gap: 8px;
  padding: 11px 13px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: #fff;
  color: #31475b;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.native-shell .doctor-assistant-native-menu a:not(:has(.doctor-menu-icon)) {
  grid-template-columns: minmax(0, 1fr);
  min-height: 46px;
  border-color: #d7e4e7;
}
.native-shell .doctor-assistant-native-menu a:hover,
.native-shell .doctor-assistant-native-menu button:hover {
  border-color: #a9e6df;
  background: #f7fffd;
}
.native-shell .doctor-assistant-native-menu a b,
.native-shell .doctor-assistant-native-menu button b {
  margin-left: auto;
  font-size: 18px;
  font-weight: 500;
}
.native-shell .doctor-assistant-native-menu a span,
.native-shell .doctor-assistant-native-menu button span {
  color: #60778a;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}
.native-shell .doctor-assistant-native-menu .doctor-menu-icon {
  width: 16px;
  height: 16px;
  stroke: #60778a;
  stroke-width: 1.7;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.native-shell .doctor-assistant-native-menu a.is-active {
  border: 1px solid #6bded2;
  background: #ebfbf8;
  color: #008c7d;
}
.native-shell .doctor-assistant-native-menu a.is-active .doctor-menu-icon {
  stroke: #008c7d;
}

/* El menú principal del médico es una lista continua, no seis tarjetas. */
.native-shell .doctor-menu-panel[data-doctor-menu-panel="main"] > a,
.native-shell .doctor-menu-panel[data-doctor-menu-panel="main"] > button {
  min-height: 50px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  outline: none;
  font-size: 10px;
  font-weight: 700;
}
.native-shell .doctor-menu-panel[data-doctor-menu-panel="main"] > a:hover,
.native-shell .doctor-menu-panel[data-doctor-menu-panel="main"] > button:hover {
  border-color: #63dcd0;
  background: #effcf9;
  color: #007f75;
}
.native-shell .doctor-menu-panel[data-doctor-menu-panel="main"] > a:hover .doctor-menu-icon,
.native-shell .doctor-menu-panel[data-doctor-menu-panel="main"] > button:hover .doctor-menu-icon {
  stroke: #007d79;
}
.native-shell .doctor-menu-panel[data-doctor-menu-panel="main"] > a:focus:not(:focus-visible),
.native-shell .doctor-menu-panel[data-doctor-menu-panel="main"] > button:focus:not(:focus-visible) {
  border-color: transparent;
  background: #fff;
}
.native-shell .doctor-menu-panel[data-doctor-menu-panel="main"] > a.is-active {
  border-color: #71ddd2;
  background: #edfffb;
}

.native-shell .doctor-assistant-native-menu .doctor-menu-panel:not([data-doctor-menu-panel="main"]) > a,
.native-shell .doctor-assistant-native-menu .doctor-menu-panel:not([data-doctor-menu-panel="main"]) > button:not(.doctor-menu-back) {
  min-height: 52px;
  border-color: #d7e4ec;
  background: #fff;
  color: #33495d;
}

.native-shell .doctor-assistant-native-menu .doctor-menu-panel:not([data-doctor-menu-panel="main"]) > a:not(:has(.doctor-menu-icon)) {
  grid-template-columns: minmax(0, 1fr);
}

.native-shell .doctor-assistant-native-menu .doctor-menu-panel:not([data-doctor-menu-panel="main"]) > a:hover,
.native-shell .doctor-assistant-native-menu .doctor-menu-panel:not([data-doctor-menu-panel="main"]) > button:not(.doctor-menu-back):hover {
  border-color: #70dcd1;
  background: #effcf9;
  color: #008c7d;
}
.native-shell .doctor-assistant-native-menu .doctor-menu-back {
  display: inline-flex;
  width: max-content;
  min-height: 40px;
  margin: 2px 0 4px;
  padding: 8px 14px;
  border-color: transparent;
  background: #e8faf6;
  color: #008c7d;
}
.native-shell .doctor-assistant-native-menu .doctor-menu-back span {
  margin-right: 7px;
  color: inherit;
}
.native-shell .doctor-assistant-native-menu .doctor-menu-panel:not([data-doctor-menu-panel="main"]) {
  gap: 7px;
}
.native-shell .doctor-assistant-native-menu .doctor-menu-panel:not([data-doctor-menu-panel="main"]) > strong {
  padding: 5px 10px 2px;
  font-size: 11px;
  color: #263f55;
}
.native-shell .doctor-assistant-native-menu .doctor-menu-panel:not([data-doctor-menu-panel="main"]) > a,
.native-shell .doctor-assistant-native-menu .doctor-menu-panel:not([data-doctor-menu-panel="main"]) > button:not(.doctor-menu-back) {
  grid-template-columns: 20px minmax(0, 1fr) 16px;
  min-height: 52px;
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 11px;
}

.native-shell .doctor-section-clinics .doctor-assistant-native-main {
  padding-top: 28px;
}
.native-shell .doctor-section-clinics .doctor-assistant-native-main > section:not(.doctor-clinics-native-view) {
  display: none;
}
.native-shell .doctor-clinics-native-view {
  overflow: visible;
  border: 1px solid #d6e2e3;
  border-radius: 14px;
  background: #fff;
}

.native-shell .doctor-clinic-overview { padding: 18px; border: 1px solid #cfe3e5; border-radius: 14px; background: linear-gradient(105deg, #fbffff, #f0fffc); }
.native-shell .doctor-clinic-overview-actions { display: flex; align-items: center; gap: 10px; }
.native-shell .doctor-clinic-overview-actions > div { display: grid; gap: 6px; text-align: center; }
.native-shell .doctor-clinic-overview-actions > div strong { font-size: 10px; }
.native-shell .doctor-clinic-overview-actions > div a, .native-shell .doctor-clinic-overview-actions > a, .native-shell .doctor-clinic-overview-actions button { min-height: 32px; padding: 7px 14px; border: 1px solid #d5e4e8; border-radius: 10px; background: #fff; color: #0d2e4b; font-size: 9px; font-weight: 800; text-decoration: none; }
.native-shell .doctor-clinic-overview-actions > span { flex: 1; }
.native-shell .doctor-clinic-overview-actions button { border-color: #14bdb5; background: #14bdb5; color: #fff; cursor: pointer; }
.native-shell .doctor-clinic-totals { display: flex; justify-content: center; gap: 10px; margin-top: 16px; }
.native-shell .doctor-clinic-totals article { display: grid; min-width: 210px; gap: 5px; padding: 12px; border: 1px solid #d5e4e8; border-radius: 10px; background: #fff; text-align: center; }
.native-shell .doctor-clinic-totals small, .native-shell .doctor-clinic-totals span { color: #567083; font-size: 8px; }.native-shell .doctor-clinic-totals strong { color: #008d86; font-size: 10px; }
.native-shell .doctor-clinic-schedule { background:#f7fbfc; }.native-shell .doctor-clinic-schedule header { display:flex; align-items:center; gap:10px; padding:18px; border-bottom:1px solid #dbe8eb; background:#fff; }.native-shell .doctor-clinic-schedule header div { display:grid; gap:4px; }.native-shell .doctor-clinic-schedule header small { color:#567083; font-size:9px; }.native-shell .doctor-clinic-schedule header span { flex:1; }.native-shell .doctor-clinic-schedule button,.native-shell .doctor-clinic-schedule header a { min-height:32px; padding:7px 12px; border:1px solid #d4e3e7; border-radius:9px; background:#fff; color:#12354f; font-size:9px; font-weight:800; text-decoration:none; }.native-shell .doctor-clinic-schedule .is-primary { border-color:#14bdb5; background:#14bdb5; color:#fff; }.native-shell .doctor-clinic-schedule header em { padding:8px 11px; border:1px solid #bfe8e3; border-radius:999px; color:#087e76; font-size:9px; font-style:normal; }
.native-shell .doctor-schedule-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; padding:16px; }.native-shell .doctor-schedule-steps article { display:flex; align-items:center; gap:12px; padding:16px; border:1px solid #dce8eb; border-radius:999px; background:#fff; }.native-shell .doctor-schedule-steps b { display:grid; width:26px; height:26px; place-items:center; border-radius:50%; background:#16bdb5; color:#fff; }.native-shell .doctor-schedule-steps div { display:grid; gap:3px; }.native-shell .doctor-schedule-steps small { color:#567083; font-size:8px; }
.native-shell .doctor-schedule-grid { display:grid; grid-template-columns:38% 62%; gap:12px; padding:0 16px 22px; }.native-shell .doctor-schedule-grid > * { display:grid; align-content:start; gap:10px; padding:14px; border:1px solid #dce8eb; border-radius:12px; background:#fff; }.native-shell .doctor-schedule-grid small { color:#567083; font-size:8px; }.native-shell .doctor-schedule-grid label { display:grid; gap:5px; color:#31536a; font-size:8px; font-weight:800; }.native-shell .doctor-schedule-grid select,.native-shell .doctor-schedule-grid input,.native-shell .doctor-schedule-grid textarea { min-height:32px; padding:7px; border:1px solid #d3e2e7; border-radius:8px; color:#12354f; font-size:9px; }.native-shell .doctor-schedule-day { display:grid; grid-template-columns:50px 1fr; gap:7px; padding:10px 0; border-bottom:1px solid #e4eef0; }.native-shell .doctor-schedule-day b { border:1px solid #d5e6ea; border-radius:999px; padding:7px; text-align:center; font-size:8px; }.native-shell .doctor-schedule-day span { font-size:9px; }.native-shell .doctor-schedule-day em { grid-column:2; padding:8px; border:1px dashed #cfe2e7; border-radius:8px; color:#668091; font-size:8px; font-style:normal; text-align:center; }.native-shell .doctor-schedule-day button { grid-column:2; border:0; color:#008d86; text-align:left; }
.native-shell .doctor-schedule-calendar-head { display:flex; align-items:center; gap:10px; }.native-shell .doctor-schedule-calendar-head strong { margin-right:auto; }.native-shell .doctor-schedule-calendar { display:grid; grid-template-columns:repeat(7,1fr); border:1px solid #dce8eb; border-radius:9px; overflow:hidden; }.native-shell .doctor-schedule-calendar b,.native-shell .doctor-schedule-calendar button { min-height:50px; padding:8px; border:0; border-right:1px solid #e2ecef; border-bottom:1px solid #e2ecef; font-size:9px; }.native-shell .doctor-schedule-calendar b { min-height:22px; background:#f6fafb; text-align:center; }.native-shell .doctor-schedule-calendar button { background:#fff; color:#06355a; font-weight:800; text-align:left; cursor:pointer; }.native-shell .doctor-schedule-calendar button:hover { background:#f0fffc; }.native-shell .doctor-schedule-calendar button.is-out { color:#a9bbc5; background:#fafcfd; }.native-shell .doctor-schedule-calendar button.is-selected { outline:2px solid #6bddd5; outline-offset:-2px; background:#edfffc; }.native-shell .doctor-schedule-grid main p { padding:10px; background:#f4f9fa; color:#567083; font-size:8px; }.native-shell .doctor-schedule-grid aside > em { padding:10px; border:1px dashed #cfe2e7; border-radius:8px; color:#668091; font-size:8px; font-style:normal; text-align:center; }.native-shell .doctor-schedule-grid .outline { border-color:#14bdb5; color:#008d86; }.native-shell .doctor-schedule-calendar button.has-schedule::after { content:""; display:block; width:6px; height:6px; margin:6px auto 0; border-radius:50%; background:#14bdb5; }.native-shell .doctor-schedule-calendar button.is-selected.has-schedule::after { background:#087e76; }
.native-shell .doctor-schedule-range { grid-column:2; display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:12px; border:1px solid #d8e7eb; border-radius:11px; background:#fff; }.native-shell .doctor-schedule-range[hidden] { display:none; }.native-shell .doctor-schedule-range header { grid-column:1/-1; display:grid; grid-template-columns:1fr auto auto; gap:7px; align-items:center; padding-bottom:8px; border-bottom:1px solid #e3edef; }.native-shell .doctor-schedule-range header span { color:#547083; font-size:8px; }.native-shell .doctor-schedule-range header button { grid-column:auto; padding:7px; border:1px solid #d7e5e8; border-radius:7px; background:#fff; color:#12354f; font-size:8px; }.native-shell .doctor-schedule-range > div { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }.native-shell .doctor-schedule-range > div button { grid-column:auto; padding:8px; border:1px solid #d6e4e8; border-radius:7px; background:#fff; color:#12354f; text-align:center; }.native-shell .doctor-schedule-range > div .is-active { border-color:#72ddd5; background:#e9fbf8; color:#087e76; }
.native-shell .doctor-clinic-native-form[hidden] { display: none !important; }
.native-shell .doctor-clinic-native-form { padding: 10px; }
.native-shell .doctor-clinic-section {
  margin-bottom: 9px;
  border: 1px solid #cfe6e4;
  border-radius: 10px;
  background: #fbfffe;
}
.native-shell .doctor-clinic-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  padding: 7px 10px;
  color: #007d70;
  font-size: 11px;
}
.native-shell .doctor-clinic-section-title button {
  min-width: 132px;
  padding: 7px 12px;
  border: 1px solid #ccdcdf;
  border-radius: 999px;
  background: #fff;
  color: #13232e;
  font-size: 10px;
  font-weight: 800;
}
.native-shell .doctor-clinic-section-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 290px));
  gap: 8px;
  padding: 8px;
  border-top: 1px solid #d8eae8;
}
.native-shell .doctor-clinic-section-body[hidden] { display: none !important; }
.native-shell .doctor-clinic-section-body label {
  display: grid;
  gap: 5px;
  color: #435661;
  font-size: 10px;
  font-weight: 800;
}
.native-shell .doctor-clinic-section-body input,
.native-shell .doctor-clinic-section-body select {
  width: 100%;
  min-height: 31px;
  padding: 6px 9px;
  border: 1px solid #cfdddf;
  border-radius: 7px;
  background: #fff;
}
.native-shell .doctor-clinic-section-body .wide { grid-column: 1 / -1; }
.native-shell .doctor-clinic-location {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px;
  border: 1px solid #d9e5e6;
  border-radius: 8px;
  background: #fff;
}
.native-shell .doctor-clinic-location > strong { width: 100%; font-size: 9px; }
.native-shell .doctor-clinic-location label {
  display: flex;
  grid-auto-flow: column;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid #cfdddf;
  border-radius: 999px;
}
.native-shell .doctor-clinic-location input { width: auto; min-height: 0; }
.native-shell .doctor-clinic-address,
.native-shell .doctor-clinic-operations { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.native-shell .doctor-clinic-form-actions { display: flex; gap: 8px; padding: 0 0 2px; }
.native-shell .doctor-clinic-form-actions button,
.native-shell .doctor-clinic-empty button {
  min-width: 154px;
  padding: 9px 14px;
  border: 1px solid #cadadc;
  border-radius: 8px;
  background: #fff;
  color: #10212c;
  font-size: 10px;
  font-weight: 850;
}
.native-shell .doctor-clinic-form-actions button:first-child,
.native-shell .doctor-clinic-empty button { border-color: #14bcae; background: #14bcae; color: #fff; }
.native-shell .doctor-clinic-empty {
  display: grid;
  min-height: 215px;
  place-items: center;
  align-content: center;
  gap: 8px;
  margin: 0 10px 10px;
  border: 1px dashed #bddbdd;
  border-radius: 12px;
  color: #5c7180;
  text-align: center;
}
.native-shell .doctor-clinic-empty span {
  display: grid; width: 48px; height: 48px; place-items: center;
  border-radius: 999px; background: #e8faf7; color: #008d7e;
}
.native-shell .doctor-clinic-empty strong { color: #102334; font-size: 11px; }
.native-shell .doctor-clinic-empty p { margin: 0; font-size: 10px; }
.native-shell .doctor-clinic-list { display: grid; gap: 8px; padding: 10px; }
.native-shell .doctor-clinic-list article {
  display: flex; align-items: center; gap: 14px; padding: 12px;
  border: 1px solid #d7e2e3; border-radius: 9px;
}
.native-shell .doctor-clinic-card { position: relative; display: grid !important; grid-template-columns: minmax(245px, 1fr) minmax(340px, 1.1fr) minmax(360px, 1.1fr); align-items: center; gap: 20px; min-height: 128px; padding: 18px !important; border-left: 4px solid #13beb5 !important; border-radius: 12px !important; }
.native-shell .doctor-clinic-menu { position: absolute; z-index: 4; left: 20px; bottom: 14px; }.native-shell .doctor-clinic-menu > button { width: 32px; height: 32px; border: 1px solid #d5e4e8; border-radius: 8px; background: #fff; color: #12354f; cursor: pointer; }.native-shell .doctor-clinic-menu > div { position: absolute; z-index: 5; left: 0; bottom: 40px; display: grid; width: 166px; padding: 9px; border: 1px solid #d7e4e8; border-radius: 9px; background: #fff; box-shadow: 0 10px 24px rgba(31, 65, 81, .16); }.native-shell .doctor-clinic-menu > div[hidden] { display: none; }.native-shell .doctor-clinic-menu a, .native-shell .doctor-clinic-menu button { min-height: 31px; padding: 8px 9px; border: 0; border-radius: 6px; background: transparent; color: #12354f; font-size: 9px; line-height: 1.2; text-align: left; text-decoration: none; cursor: pointer; transition: background .15s ease, color .15s ease; }.native-shell .doctor-clinic-menu a:hover, .native-shell .doctor-clinic-menu > div > button:hover { background: #eaf8f5; color: #087e76; }.native-shell .doctor-clinic-menu form button { width: 100%; color: #c73b3b; background: transparent; }.native-shell .doctor-clinic-menu form button:hover { background: #eaf8f5; color: #c73b3b; }
.native-shell .doctor-clinic-menu > div,
.native-shell .doctor-clinic-menu > div form { display: block; margin: 0; padding: 0; background: #fff; }
.native-shell .doctor-clinic-menu > div { width: 166px; padding: 8px; }
.native-shell .doctor-clinic-menu > div > a,
.native-shell .doctor-clinic-menu > div > button,
.native-shell .doctor-clinic-menu > div form > button { display: block; width: 100%; min-height: 31px; margin: 0; padding: 8px 9px; border: 0; border-radius: 5px; background: #fff !important; box-shadow: none; color: #12354f; font-size: 9px; font-weight: 500; text-align: left; }
.native-shell .doctor-clinic-menu > div > a:hover,
.native-shell .doctor-clinic-menu > div > button:hover,
.native-shell .doctor-clinic-menu > div form > button:hover { background: #eaf8f5 !important; color: #087e76; }
.native-shell .doctor-clinic-menu > div form > button { color: #c73b3b; }.native-shell .doctor-clinic-menu > div form > button:hover { color: #c73b3b; }
.native-shell .doctor-clinic-card-main { display: flex !important; gap: 12px; }.native-shell .doctor-clinic-card-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #e6fbf8; color: #00a89e; }
.native-shell .doctor-clinic-card-main div { display: grid; gap: 5px; }.native-shell .doctor-clinic-card-main small, .native-shell .doctor-clinic-card-main em { color: #597183; font-size: 8px; font-style: normal; }.native-shell .doctor-clinic-card-main strong { font-size: 11px; }.native-shell .doctor-clinic-card-main button { width: max-content; padding: 6px 10px; border: 1px solid #d5e4e8; border-radius: 8px; background: #fff; color: #0d2e4b; font-size: 8px; font-weight: 800; }
.native-shell .doctor-clinic-card dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0; }.native-shell .doctor-clinic-card dl div { display: grid; gap: 3px; }.native-shell .doctor-clinic-card dt { color: #667e8f; font-size: 8px; font-weight: 800; text-transform: uppercase; }.native-shell .doctor-clinic-card dd { margin: 0; color: #12354f; font-size: 9px; font-weight: 800; }
.native-shell .doctor-clinic-card-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }.native-shell .doctor-clinic-card-metrics div { display: grid; gap: 6px; min-height: 62px; padding: 10px; border: 1px solid #dce9eb; border-radius: 9px; }.native-shell .doctor-clinic-card-metrics b, .native-shell .doctor-clinic-card-metrics small { color: #597183; font-size: 8px; }.native-shell .doctor-clinic-card-metrics strong { color: #008d86; font-size: 10px; }
.native-shell .doctor-clinic-list article div { display: grid; gap: 4px; margin-right: auto; }
.native-shell .doctor-clinic-list article small { color: #687a84; }

/* Doctor / pacientes: composiciÃ³n compacta equivalente al portal native. */
.native-shell .doctor-section-patients .doctor-assistant-native-topbar {
  min-height: 82px;
  justify-content: flex-end;
  padding: 14px 24px;
}

.native-shell .doctor-section-patients .doctor-assistant-native-brand {
  display: none;
}

.native-shell .doctor-section-patients .doctor-assistant-native-main {
  padding: 24px 30px 108px;
}

.native-shell .doctor-section-patients .doctor-assistant-native-main > section:not(#doctor-patients) {
  display: none;
}

.native-shell .doctor-section-patients #doctor-patients {
  max-width: none;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.native-shell .doctor-patients-searchbar {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

.native-shell .doctor-patients-searchbar > span {
  margin-left: 10px;
  color: #647786;
  font-size: 15px;
}

.native-shell .doctor-patients-searchbar input {
  width: 100%;
  min-height: 39px;
  padding: 8px 12px;
  border: 1px solid #d3e0e3;
  border-radius: 9px;
  background: #fff;
  color: #243746;
  font-size: 10px;
  outline: none;
}

.native-shell .doctor-patients-searchbar input:focus {
  border-color: #15b9ad;
  box-shadow: 0 0 0 2px rgba(21, 185, 173, 0.08);
}

.native-shell .doctor-patients-searchbar a {
  display: grid;
  width: 44px;
  height: 39px;
  place-items: center;
  border: 1px solid #d3e0e3;
  border-radius: 9px;
  background: #fff;
  color: #4c6576;
  text-decoration: none;
}

.native-shell .doctor-patients-titlebar,
.native-shell .doctor-patients-table-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 48px;
  padding: 10px 16px;
  border: 1px solid #d5e3e5;
  background: #f8fffd;
}

.native-shell .doctor-patients-titlebar {
  margin-bottom: 20px;
  border-radius: 11px;
}

.native-shell .doctor-patients-titlebar strong,
.native-shell .doctor-patients-titlebar small,
.native-shell .doctor-patients-table-heading strong,
.native-shell .doctor-patients-table-heading small {
  display: block;
}

.native-shell .doctor-patients-titlebar strong,
.native-shell .doctor-patients-table-heading strong {
  color: #152a37;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .doctor-patients-titlebar small,
.native-shell .doctor-patients-table-heading small {
  margin-top: 2px;
  color: #607481;
  font-size: 9px;
}

.native-shell .doctor-patients-titlebar button {
  min-width: 145px;
  min-height: 29px;
  padding: 6px 16px;
  border: 0;
  border-radius: 10px;
  background: #16bdb5;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .doctor-patients-table-heading {
  border-radius: 11px 11px 0 0;
  background: #fff;
}

.native-shell .doctor-patients-create {
  margin: -20px 0 20px;
  padding: 8px 12px 9px;
  border: 1px solid #d5e3e5;
  border-top: 0;
  border-radius: 0 0 11px 11px;
  background: #fff;
}

.native-shell .doctor-patients-create[hidden] {
  display: none !important;
}

.native-shell .doctor-patient-create-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.native-shell .doctor-patient-create-form label {
  display: grid;
  gap: 3px;
  color: #334d5d;
  font-size: 8px;
  font-weight: 800;
}

.native-shell .doctor-patient-create-form input,
.native-shell .doctor-patient-create-form select {
  width: 100%;
  min-height: 27px;
  padding: 5px 8px;
  border: 1px solid #cedcdf;
  border-radius: 7px;
  background: #fff;
  color: #172b39;
  font: inherit;
  font-weight: 700;
}

.native-shell .doctor-patient-create-form input:focus,
.native-shell .doctor-patient-create-form select:focus {
  border-color: #16bdb5;
  outline: 1px solid #16bdb5;
}

.native-shell .doctor-patient-create-actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 6px;
}

.native-shell .doctor-patient-create-actions button {
  min-width: 135px;
  min-height: 27px;
  padding: 5px 14px;
  border: 1px solid #cadadd;
  border-radius: 9px;
  background: #fff;
  color: #172b39;
  font-size: 8px;
    font-weight: 900;
}

.native-shell .doctor-patient-create-actions a {
    display: inline-flex;
    min-width: 135px;
    min-height: 27px;
    align-items: center;
    justify-content: center;
    padding: 5px 14px;
    border: 1px solid #cadadd;
    border-radius: 9px;
    background: #fff;
    color: #172b39;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
    box-sizing: border-box;
}

.native-shell .doctor-patient-create-actions button[type="submit"] {
  border-color: #16bdb5;
  background: #16bdb5;
  color: #fff;
}

.native-shell .doctor-patient-create-actions button:disabled {
  border-color: #e1e7e9;
  background: #f2f5f6;
  color: #a9b6bb;
}

@media (max-width: 900px) {
  .native-shell .doctor-patient-create-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.native-shell .doctor-section-agenda .doctor-assistant-native-topbar {
  min-height: 70px;
}

.native-shell .doctor-section-agenda .doctor-assistant-native-main {
  display: block;
  padding: 24px 28px 90px;
}

.native-shell .doctor-section-agenda .doctor-assistant-native-main > section:not(.doctor-agenda-native) {
    display: none !important;
}

/* Flujo aislado: agendar videollamada (módulo médico). */
.native-shell .doctor-section-video .doctor-assistant-native-main {
    min-height: calc(100vh - 150px);
    padding: 24px 30px 118px;
}

.native-shell .doctor-section-video .doctor-assistant-native-main > section:not(.doctor-video-scheduler) {
    display: none !important;
}

.native-shell .doctor-video-scheduler {
    width: min(604px, calc(100vw - 52px));
    margin: 24px auto 0;
    padding: 20px;
    border: 1px solid #d7e5eb;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(50, 86, 112, .10);
    box-sizing: border-box;
}

.native-shell .doctor-video-scheduler-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 18px;
    border-bottom: 1px solid #dfe9ed;
}

.native-shell .doctor-video-back {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 13px;
    border: 1px solid #d3e1e8;
    border-radius: 11px;
    color: #092746;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.native-shell .doctor-video-scheduler-heading {
    min-width: 0;
    flex: 1 1 auto;
}

.native-shell .doctor-video-scheduler-heading h2,
.native-shell .doctor-video-scheduler-heading p,
.native-shell .doctor-video-step-title h3,
.native-shell .doctor-video-step-title p {
    margin: 0;
}

.native-shell .doctor-video-scheduler-heading h2 {
    color: #102e4d;
    font-size: 14px;
    font-weight: 800;
}

.native-shell .doctor-video-scheduler-heading p,
.native-shell .doctor-video-step-title p {
    margin-top: 4px;
    color: #648099;
    font-size: 11px;
}

.native-shell .doctor-video-steps {
    display: flex;
    flex: 0 0 auto;
    gap: 7px;
    margin: 2px 0 0;
    padding: 0;
    list-style: none;
}

.native-shell .doctor-video-steps li {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 27px;
    padding: 0 9px;
    border: 1px solid #d4e1e7;
    border-radius: 999px;
    color: #668097;
    font-size: 10px;
    white-space: nowrap;
}

.native-shell .doctor-video-steps li.is-active {
    border-color: #11b8ac;
    background: #10bdb0;
    color: #fff;
    font-weight: 800;
}

.native-shell .doctor-video-steps span {
    font-size: 10px;
}

.native-shell .doctor-video-scheduler-panel {
    margin-top: 20px;
    padding: 22px;
    border: 1px solid #dbe7ec;
    border-radius: 13px;
}

.native-shell .doctor-video-step-title {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 17px;
}

.native-shell .doctor-video-step-title > span {
    display: grid;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    place-items: center;
    border-radius: 50%;
    background: #10b8ad;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.native-shell .doctor-video-step-title h3 {
    color: #133350;
    font-size: 12px;
    font-weight: 800;
}

.native-shell .doctor-video-patient-field {
    display: grid;
    gap: 6px;
    color: #29465f;
    font-size: 11px;
    font-weight: 700;
}

.native-shell .doctor-video-patient-field select {
    width: 100%;
    height: 40px;
    padding: 0 13px;
    border: 1px solid #cfe0e8;
    border-radius: 11px;
    background: #fff;
    color: #102e4d;
    font-size: 11px;
    font-weight: 700;
}

.native-shell .doctor-video-patient-summary {
    margin: 0 16px;
    padding: 14px 17px;
    border: 1px solid #d8e4e9;
    border-radius: 9px;
    color: #133350;
}

.native-shell .doctor-video-patient-summary > strong {
    display: block;
    margin-bottom: 16px;
    font-size: 11px;
}

.native-shell .doctor-video-patient-summary > strong span {
    color: #5c7991;
    font-size: 10px;
    font-weight: 500;
}

.native-shell .doctor-video-patient-data {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 48px;
}

.native-shell .doctor-video-patient-data div {
    display: grid;
    gap: 4px;
}

.native-shell .doctor-video-patient-data small {
    color: #5e7890;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.native-shell .doctor-video-patient-data b {
    color: #153552;
    font-size: 10px;
}

.native-shell .doctor-video-scheduler-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
}

.native-shell .doctor-video-scheduler-actions button {
    min-width: 70px;
    min-height: 36px;
    border: 0;
    border-radius: 11px;
    background: #11bcb0;
    box-shadow: 0 10px 20px rgba(13, 180, 168, .22);
    color: #fff;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
}

.native-shell .doctor-video-scheduler-actions .doctor-video-submit {
    background: #1677d2;
    box-shadow: 0 10px 20px rgba(22, 119, 210, .24);
}

.native-shell .doctor-video-scheduler [data-video-wizard-step][hidden] { display: none !important; }

.native-shell .doctor-video-form-fields {
    display: grid;
    width: min(482px, 100%);
    margin: 26px auto 0;
    gap: 14px;
}

.native-shell .doctor-video-form-fields label {
    display: grid;
    gap: 7px;
    color: #29465f;
    font-size: 11px;
    font-weight: 700;
}

.native-shell .doctor-video-form-fields input,
.native-shell .doctor-video-form-fields select,
.native-shell .doctor-video-form-fields textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 40px;
    padding: 9px 12px;
    border: 1px solid #cfe0e8;
    border-radius: 11px;
    background: #fff;
    color: #102e4d;
    font: inherit;
}

.native-shell .doctor-video-form-fields textarea { min-height: 78px; resize: vertical; }
.native-shell .doctor-video-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

.native-shell .doctor-video-confirm-box {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    width: min(500px, 100%);
    margin: 20px auto;
    padding: 14px;
    border: 1px solid #afe6e0;
    border-radius: 10px;
    background: #f6fffd;
    box-sizing: border-box;
}

.native-shell .doctor-video-confirm-card {
    display: flex;
    min-height: 62px;
    padding: 11px;
    flex-direction: column;
    gap: 4px;
    border: 1px solid #d7e4ed;
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
}

.native-shell .doctor-video-confirm-card small { color: #668097; font-size: 9px; }
.native-shell .doctor-video-confirm-card strong { color: #12324e; font-size: 10px; }
.native-shell .doctor-video-confirm-card span { color: #668097; font-size: 9px; }

.native-shell .doctor-video-ready { padding-top: 34px; text-align: center; }
.native-shell .doctor-video-ready > p { margin: 5px auto 10px; color: #648099; font-size: 11px; }
.native-shell .doctor-video-ready-check {
    display: grid;
    width: 52px;
    height: 52px;
    margin: 0 auto 14px;
    place-items: center;
    border-radius: 50%;
    background: #def8f1;
    color: #0baea3;
    font-size: 23px;
}

.native-shell .doctor-video-scheduler-actions { gap: 10px; }
.native-shell .doctor-video-scheduler-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 16px;
    border-radius: 11px;
    background: #11bcb0;
    color: #fff;
    box-shadow: 0 10px 20px rgba(13, 180, 168, .22);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.native-shell .doctor-video-plain-button {
    border: 1px solid #d3e1e8 !important;
    background: #fff !important;
    color: #102e4d !important;
    box-shadow: none !important;
}

@media (max-width: 820px) {
    .native-shell .doctor-video-scheduler-header {
        flex-wrap: wrap;
    }

    .native-shell .doctor-video-steps {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .native-shell .doctor-video-patient-summary {
        margin: 0;
    }

    .native-shell .doctor-video-field-grid,
    .native-shell .doctor-video-confirm-box { grid-template-columns: 1fr; }
}

.native-shell .doctor-agenda-native {
  overflow: hidden;
  border: 1px solid #d5e3e5;
  border-radius: 12px;
  background: #fff;
  color: #0d2637;
  box-shadow: 0 18px 42px rgba(31, 77, 84, .06);
}

.native-shell .doctor-agenda-title,
.native-shell .doctor-agenda-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px;
}

.native-shell .doctor-agenda-title > div:first-child {
  display: grid;
  gap: 3px;
}

.native-shell .doctor-agenda-title strong {
  font-size: 13px;
  font-weight: 900;
}

.native-shell .doctor-agenda-title span,
.native-shell .doctor-agenda-title small {
  color: #536b7b;
  font-size: 9px;
}

.native-shell .doctor-agenda-title > div:last-child {
  display: flex;
  gap: 9px;
}

.native-shell .doctor-agenda-title button,
.native-shell .doctor-agenda-title a,
.native-shell .doctor-agenda-toolbar button,
.native-shell .doctor-agenda-filters button {
  min-height: 36px;
  padding: 8px 14px;
  border: 1px solid #d2e0e3;
  border-radius: 8px;
  background: #fff;
  color: #112b3b;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .doctor-agenda-title a {
  display: grid;
  min-width: 42px;
  place-items: center;
  text-decoration: none;
}

.native-shell .doctor-agenda-title .is-primary,
.native-shell .doctor-agenda-toolbar .is-active {
  border-color: #13bbb3;
  background: #13bbb3;
  color: #fff;
  box-shadow: 0 12px 24px rgba(19, 187, 179, .16);
}

.native-shell .doctor-agenda-unit-requests {
  border-top: 1px solid #d5e3e5;
  border-bottom: 1px solid #d5e3e5;
}

.native-shell .doctor-agenda-unit-requests > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 20px;
}

.native-shell .doctor-agenda-unit-requests h2 {
  margin: 0;
  font-size: 12px;
}

.native-shell .doctor-agenda-unit-requests > header span {
  color: #536b7b;
  font-size: 10px;
  font-weight: 700;
}

.native-shell .doctor-agenda-unit-table-wrap {
  overflow-x: auto;
}

.native-shell .doctor-agenda-unit-requests table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
  font-size: 10px;
}

.native-shell .doctor-agenda-unit-requests th,
.native-shell .doctor-agenda-unit-requests td {
  padding: 10px 20px;
  border-top: 1px solid #e3ecee;
  text-align: left;
}

.native-shell .doctor-agenda-unit-requests th {
  background: #f7fbfb;
  color: #536b7b;
  font-size: 9px;
  text-transform: uppercase;
}

.native-shell .doctor-agenda-unit-requests td.is-empty {
  color: #536b7b;
  text-align: center;
}

.native-shell .doctor-agenda-unit-requests td button {
  min-height: 30px;
  padding: 6px 12px;
  border: 1px solid #0b938d;
  border-radius: 6px;
  background: #fff;
  color: #08746f;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.native-shell .doctor-agenda-toolbar {
  justify-content: flex-start;
  padding-top: 0;
}

.native-shell .doctor-agenda-toolbar button {
  min-height: 34px;
}

.native-shell .doctor-agenda-toolbar button svg {
  width: 13px;
  height: 13px;
  margin-right: 5px;
  vertical-align: -2px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

.native-shell .doctor-agenda-toolbar i {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--dot);
}

.native-shell .doctor-agenda-new {
  margin: 0 20px 16px;
  padding: 12px;
  border: 1px solid #d5e3e5;
  border-radius: 9px;
  background: #fbfefe;
}

.native-shell .doctor-agenda-new[hidden] {
  display: none !important;
}

.native-shell .doctor-agenda-new form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.native-shell .doctor-agenda-new label {
  display: grid;
  gap: 4px;
  color: #3a5362;
  font-size: 8px;
  font-weight: 800;
}

.native-shell .doctor-agenda-new input,
.native-shell .doctor-agenda-new select,
.native-shell .doctor-agenda-filters input,
.native-shell .doctor-agenda-filters select {
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid #d3e1e4;
  border-radius: 8px;
  background: #fff;
  color: #17303e;
  font-size: 9px;
  font-weight: 700;
}

.native-shell .doctor-agenda-new form > div {
  display: flex;
  align-items: end;
  gap: 7px;
}

.native-shell .doctor-agenda-new button {
  min-height: 34px;
  padding: 7px 18px;
  border: 1px solid #14bcb4;
  border-radius: 8px;
  background: #14bcb4;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .doctor-agenda-new button:last-child {
  border-color: #d2e0e3;
  background: #fff;
  color: #17303e;
}

.native-shell .doctor-agenda-layout {
  display: grid;
  grid-template-columns: 250px minmax(900px, 1fr);
  gap: 14px;
  padding: 0 20px 20px;
}

.native-shell .doctor-agenda-layout > aside {
  display: grid;
  align-content: start;
  gap: 12px;
}

.native-shell .doctor-agenda-mini,
.native-shell .doctor-agenda-filters {
  padding: 14px;
  border: 1px solid #d7e3e5;
  border-radius: 9px;
  background: #fff;
}

.native-shell .doctor-agenda-mini header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.native-shell .doctor-agenda-mini header button {
  width: 26px;
  height: 26px;
  border: 1px solid #d5e2e5;
  border-radius: 6px;
  background: #fff;
}

.native-shell .doctor-agenda-mini header strong {
  display: flex;
  gap: 13px;
  font-size: 9px;
}

.native-shell .doctor-agenda-mini .week,
.native-shell .doctor-agenda-mini .days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.native-shell .doctor-agenda-mini .week b,
.native-shell .doctor-agenda-mini .days span {
  display: grid;
  min-height: 29px;
  place-items: center;
  color: #193447;
  font-size: 8px;
  font-weight: 800;
}

.native-shell .doctor-agenda-mini .days .is-out {
  color: #aebbc4;
}

.native-shell .doctor-agenda-mini .days .is-today {
  border-radius: 8px;
  background: #16bbb3;
  color: #fff;
}

.native-shell .doctor-agenda-filters {
  display: grid;
  gap: 10px;
}

.native-shell .doctor-agenda-filters > strong,
.native-shell .doctor-agenda-filters label {
  display: grid;
  gap: 5px;
  font-size: 8px;
  font-weight: 900;
}

.native-shell .doctor-agenda-week {
  overflow: auto;
  border: 1px solid #d6e2e5;
  border-radius: 9px;
}

.native-shell .doctor-agenda-week-head {
  display: grid;
  grid-template-columns: 62px repeat(7, minmax(140px, 1fr));
  min-width: 1042px;
  border-bottom: 1px solid #d6e2e5;
}

.native-shell .doctor-agenda-week-head > span,
.native-shell .doctor-agenda-week-head > div {
  display: grid;
  min-height: 52px;
  place-items: center;
  border-right: 1px solid #dce7e9;
  font-size: 8px;
}

.native-shell .doctor-agenda-week-head > div b {
  color: #607685;
}

.native-shell .doctor-agenda-week-head > div strong {
  color: #0c2c40;
}

.native-shell .doctor-agenda-week-head > .is-today {
  background: #e8fbf8;
}

.native-shell .doctor-agenda-time-grid {
  position: relative;
  width: 100%;
  min-width: 1042px;
  height: 990px;
  margin-left: 0;
  background:
    repeating-linear-gradient(to bottom, transparent 0, transparent 89px, #e0e9eb 90px),
    #fff;
}

.native-shell .doctor-agenda-time-grid::before {
  position: absolute;
  inset: 0 auto 0 62px;
  width: 1px;
  background: #dce7e9;
  content: "";
}

.native-shell .doctor-agenda-time-grid .time-label {
  position: absolute;
  top: calc(var(--row) * 90px + 12px);
  left: 14px;
  color: #436072;
  font-size: 9px;
  font-weight: 800;
}

.native-shell .doctor-agenda-time-grid .day-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(62px + (100% - 62px) / 7 * var(--day));
  width: 1px;
  background: #e0e9eb;
}

.native-shell .doctor-agenda-event {
  position: absolute;
  z-index: 2;
  top: calc(var(--start) * 1.5px + 10px);
  left: calc(66px + (100% - 62px) / 7 * var(--day));
  width: calc((100% - 62px) / 7 - 10px);
  min-height: max(74px, calc(var(--duration) * 1.5px));
  padding: 10px 9px;
  overflow: hidden;
  border: 1px solid #b9e6e1;
  border-left: 4px solid #16bbb3;
  border-radius: 7px;
  background: #e7faf7;
  color: #102b3c;
  font-style: normal;
}

.native-shell .doctor-agenda-event[hidden] {
  display: none !important;
}

.native-shell .doctor-agenda-event strong,
.native-shell .doctor-agenda-event b,
.native-shell .doctor-agenda-event span,
.native-shell .doctor-agenda-event small {
  display: block;
  margin-bottom: 3px;
  font-size: 8px;
  line-height: 1.25;
}

.native-shell .doctor-agenda-event em {
  display: inline-block;
  margin-top: 3px;
  padding: 3px 6px;
  border-radius: 999px;
  background: #d9f8e7;
  color: #007840;
  font-size: 7px;
  font-style: normal;
  font-weight: 900;
}

@media (max-width: 1100px) {
  .native-shell .doctor-agenda-layout {
    grid-template-columns: 210px minmax(820px, 1fr);
    overflow-x: auto;
  }
}

.native-shell .doctor-section-patients .doctor-assistant-native-table-scroll {
  border: 1px solid #d5e3e5;
  border-top: 0;
  border-radius: 0 0 11px 11px;
  background: #fff;
}

.native-shell .doctor-patients-table {
  min-width: 1460px;
  table-layout: fixed;
}

.native-shell .doctor-patients-table th,
.native-shell .doctor-patients-table td {
  padding: 9px 8px;
  color: #213746;
  font-size: 9px;
  line-height: 1.3;
  text-transform: none;
}

.native-shell .doctor-patients-table th {
  font-size: 8px;
}

.native-shell .doctor-patients-table td strong {
  color: #071b29;
  font-weight: 900;
}

.native-shell .doctor-patients-table td span:not(.doctor-patient-status) {
  margin-top: 2px;
  color: #557080;
  font-size: 8px;
}

.native-shell .doctor-patients-table th:nth-child(1) { width: 8%; }
.native-shell .doctor-patients-table th:nth-child(2) { width: 14%; }
.native-shell .doctor-patients-table th:nth-child(3) { width: 10%; }
.native-shell .doctor-patients-table th:nth-child(4) { width: 9%; }
.native-shell .doctor-patients-table th:nth-child(5) { width: 9%; }
.native-shell .doctor-patients-table th:nth-child(6) { width: 8%; }
.native-shell .doctor-patients-table th:nth-child(7) { width: 9%; }
.native-shell .doctor-patients-table th:nth-child(8) { width: 14%; }
.native-shell .doctor-patients-table th:nth-child(9) { width: 12%; }
.native-shell .doctor-patients-table th:nth-child(10) { width: 12%; }
.native-shell .doctor-patients-table th:nth-child(11) { width: 8%; }

.native-shell .doctor-patients-filters th {
  padding: 6px 4px;
  background: #fbfefe;
}

.native-shell .doctor-patients-filters input,
.native-shell .doctor-patients-filters select,
.native-shell .doctor-patients-filters button {
  width: 100%;
  min-height: 26px;
  padding: 4px 7px;
  border: 1px solid #d0dfe1;
  border-radius: 7px;
  background: #fff;
  color: #394e5d;
  font-size: 8px;
  font-weight: 700;
}

.native-shell .doctor-patient-status {
  display: inline-flex !important;
  width: max-content;
  margin: 0 !important;
  padding: 4px 8px;
  border-radius: 999px;
  background: #dff6ef;
  color: #008b78 !important;
  font-size: 8px !important;
  font-weight: 900;
}

.native-shell .doctor-patient-status-inactivo {
  background: #fde8e4;
  color: #c53628 !important;
}

.native-shell .doctor-patient-edit {
  display: inline-flex;
  min-width: 86px;
  min-height: 25px;
  align-items: center;
  justify-content: center;
  border: 1px solid #cddcdf;
  border-radius: 999px;
  background: #fff;
  color: #172b38;
  font-size: 8px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .doctor-section-patients .doctor-patient-expedient {
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid #d5e3e5;
  border-radius: 11px;
  background: #fff;
}

.native-shell .doctor-assistant-native-menu a {
  grid-template-columns: 28px minmax(0, 1fr) 16px;
}

.native-shell .doctor-assistant-native-menu a span {
  color: #60778a;
  font-size: 16px;
  font-weight: 500;
}

.native-shell .doctor-assistant-native-intro {
  display: grid;
  justify-items: center;
  max-width: 760px;
  margin: 0 auto 56px;
  text-align: center;
}

.native-shell .doctor-assistant-native-spark {
  width: 44px;
  height: 44px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: #d6f5ef;
  color: #08a895;
  box-shadow: none;
}

.native-shell .doctor-assistant-native-intro h1 {
  margin: 0 0 14px;
  color: #081826;
  font-size: 24px;
  line-height: 1.15;
}

.native-shell .doctor-assistant-native-intro p {
  max-width: 520px;
  margin: 0 0 26px;
  color: #5b7182;
  font-size: 13px;
  line-height: 1.6;
}

.native-shell .doctor-assistant-native-suggestions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 18px;
}

.native-shell .doctor-assistant-native-suggestions button,
.native-shell .doctor-assistant-native-more {
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid #d5e1e3;
  border-radius: 8px;
  background: #fff;
  color: #22384b;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 14px 30px rgba(15, 47, 71, 0.05);
}

.native-shell .doctor-assistant-native-more {
  border-radius: 999px;
}

.native-shell .doctor-assistant-native-panels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 980px;
  margin: 0 0 18px 365px;
}

.native-shell .doctor-assistant-native-card,
.native-shell .doctor-assistant-native-table-card {
  overflow: hidden;
  border: 1px solid #d7e4e7;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 20px 42px rgba(15, 47, 71, 0.05);
}

.native-shell .doctor-assistant-native-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #d7e4e7;
}

.native-shell .doctor-assistant-native-heading h2 {
  margin: 0;
  color: #26384a;
  font-size: 17px;
}

.native-shell .doctor-assistant-native-heading span {
  display: inline-flex;
  min-width: 28px;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  padding: 0 9px;
  border: 1px solid #bde5df;
  border-radius: 999px;
  background: #eefbf8;
  color: #007d79;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .doctor-assistant-native-list {
  display: grid;
  gap: 10px;
  max-height: 280px;
  overflow: auto;
  padding: 14px 16px;
}

.native-shell .doctor-assistant-native-list div {
  padding: 12px;
  border: 1px solid #dce8ea;
  border-radius: 10px;
  background: #fbfdfd;
}

.native-shell .doctor-assistant-native-list strong,
.native-shell .doctor-assistant-native-list span,
.native-shell .doctor-assistant-native-list em {
  display: block;
}

.native-shell .doctor-assistant-native-list strong {
  color: #23384a;
  font-size: 13px;
}

.native-shell .doctor-assistant-native-list span,
.native-shell .doctor-assistant-native-list p {
  margin: 4px 0 0;
  color: #5b7182;
  font-size: 12px;
}

.native-shell .doctor-assistant-native-list em {
  width: max-content;
  margin-top: 8px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #e7f3ff;
  color: #1262a3;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.native-shell .doctor-assistant-native-profile {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}

.native-shell .doctor-assistant-native-profile div {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e2ecee;
}

.native-shell .doctor-assistant-native-profile dt {
  color: #6b7b87;
  font-size: 12px;
}

.native-shell .doctor-assistant-native-profile dd {
  margin: 0;
  color: #26384a;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .doctor-assistant-native-profile dd span {
  display: block;
  margin-top: 4px;
  color: #5b7182;
  font-weight: 700;
}

.native-shell .doctor-assistant-native-table-card {
  max-width: 980px;
  margin: 0 0 18px 365px;
}

.native-shell .doctor-assistant-native-table-scroll {
  overflow-x: auto;
}

.native-shell .doctor-assistant-native-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.native-shell .doctor-assistant-native-table th,
.native-shell .doctor-assistant-native-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #d7e4e7;
  text-align: left;
  vertical-align: top;
}

.native-shell .doctor-assistant-native-table th {
  color: #5b7182;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .doctor-assistant-native-table td {
  color: #26384a;
  font-size: 13px;
}

.native-shell .doctor-assistant-native-table td strong,
.native-shell .doctor-assistant-native-table td span {
  display: block;
}

.native-shell .doctor-assistant-native-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.native-shell .doctor-assistant-native-composer {
  position: fixed;
  right: 76px;
  bottom: 22px;
  left: 76px;
  z-index: 4;
  display: grid;
  grid-template-columns: 52px 1fr 40px 52px;
  gap: 12px;
}

.native-shell .doctor-assistant-native-composer > button,
.native-shell .doctor-assistant-native-composer label {
  min-height: 54px;
  border: 1px solid #d7e4e7;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 34px rgba(15, 47, 71, 0.08);
}

.native-shell .doctor-assistant-native-composer label {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
}

.native-shell .doctor-assistant-native-composer label span {
  color: #08a895;
  text-align: center;
  font-weight: 900;
}

.native-shell .doctor-assistant-native-composer input {
  width: 100%;
  border: 0;
  color: #26384a;
  font-size: 14px;
  outline: 0;
}

.native-shell .doctor-assistant-native-composer button {
  color: #64788a;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .doctor-assistant-native-composer > button:first-child {
  border-color: #d6e3eb;
  background: #fff;
  color: #23384a;
  font-size: 19px;
  font-weight: 400;
}

.native-shell .doctor-assistant-native-composer button:last-child {
  border-color: #18bdd0;
  background: #18bdd0;
  color: #fff;
}

.native-shell .doctor-workspace-card { margin-top: 18px; }
.native-shell .doctor-workspace-card .doctor-assistant-native-heading > div p { margin: 3px 0 0; color: #68747a; font-size: 12px; }
.native-shell .doctor-workspace-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; border-bottom: 1px solid #d8e0e0; }
.native-shell .doctor-workspace-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; border: 1px solid #d8e0e0; border-radius: 9px; background: #fff; }
.native-shell .doctor-workspace-form > strong, .native-shell .doctor-workspace-form .wide { grid-column: 1 / -1; }
.native-shell .doctor-workspace-form label { display: grid; gap: 5px; color: #536168; font-size: 11px; font-weight: 700; }
.native-shell .doctor-workspace-form input, .native-shell .doctor-workspace-form select, .native-shell .doctor-workspace-form textarea { width: 100%; padding: 9px 10px; border: 1px solid #ced9d9; border-radius: 7px; background: #fff; color: #122126; }
.native-shell .doctor-workspace-form button, .native-shell .doctor-workspace-complete button { align-self: end; padding: 9px 13px; border: 1px solid #087f76; border-radius: 7px; background: #087f76; color: #fff; font-weight: 700; }
.native-shell .doctor-workspace-secondary { padding: 7px 10px; border: 1px solid #ced9d9; border-radius: 7px; background: #fff; font-weight: 700; }
.native-shell .doctor-inline-editor { display: inline-block; min-width: 74px; }
.native-shell .doctor-inline-editor > summary { cursor: pointer; list-style: none; padding: 8px 12px; border: 1px solid #d5dee5; border-radius: 9px; background: #fff; color: #172033; font-weight: 700; }
.native-shell .doctor-inline-editor[open] { display: block; margin: 4px 0 10px; }
.native-shell .doctor-inline-editor[open] > summary { width: max-content; margin-bottom: 8px; }
.native-shell .doctor-inline-editor .doctor-workspace-form { min-width: 520px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.native-shell .doctor-inline-delete { display: inline-block; margin-left: 6px; }
.native-shell .doctor-patient-expedient { border-top: 1px solid var(--line); padding: 18px; }
.native-shell .doctor-patient-expedient > .doctor-workspace-form { margin-top: 14px; }
.native-shell .doctor-patient-history-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.native-shell .doctor-patient-history-grid section { border: 1px solid var(--line); border-radius: 10px; padding: 14px; }
.native-shell .doctor-patient-history-grid h3 { margin: 0 0 10px; }
.native-shell .doctor-patient-history-grid p { border-top: 1px solid var(--line); display: grid; gap: 3px; margin: 0; padding: 9px 0; }
.native-shell .doctor-patient-history-grid p:first-of-type { border-top: 0; }
.native-shell .doctor-patient-history-grid span { color: var(--muted); }
.native-shell .doctor-workspace-notice, .native-shell .doctor-workspace-error { margin: 12px 14px 0; padding: 9px 11px; border: 1px solid #cbd8d7; border-radius: 7px; background: #f7faf9; }
.native-shell .doctor-workspace-error { border-color: #e4b7b2; }
.native-shell .doctor-workspace-encounter { margin: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.native-shell .doctor-workspace-complete { display: flex; gap: 6px; min-width: 220px; }
.native-shell .doctor-workspace-complete input { min-width: 130px; padding: 7px; border: 1px solid #ced9d9; border-radius: 6px; }
.native-shell .doctor-video-actions { display: flex; flex-wrap: wrap; gap: 10px; padding: 14px; border-bottom: 1px solid #d8e0e0; }
.native-shell .doctor-encounter-editor-row > td { padding: 12px; background: #fafcfc; }
.native-shell .doctor-clinical-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; border: 1px solid #d6dfdf; border-radius: 9px; background: #fff; }
.native-shell .doctor-clinical-form label { display: grid; gap: 5px; color: #536168; font-size: 11px; font-weight: 700; }
.native-shell .doctor-clinical-form input, .native-shell .doctor-clinical-form textarea { width: 100%; padding: 9px 10px; border: 1px solid #ced9d9; border-radius: 7px; background: #fff; color: #122126; }
.native-shell .doctor-vital-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 12px; border: 1px solid #d6dfdf; border-radius: 8px; }
.native-shell .doctor-vital-grid legend { padding: 0 6px; color: #17272c; font-weight: 700; }
.native-shell .doctor-clinical-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; }
.native-shell .doctor-clinical-actions button { padding: 9px 13px; border: 1px solid #087f76; border-radius: 7px; background: #087f76; color: #fff; font-weight: 700; }
.native-shell .doctor-prescription-record { align-items: start; }
.native-shell .doctor-prescription-record .doctor-inline-editor { grid-column: 1 / -1; margin-top: 7px; }
.native-shell .doctor-prescription-update-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: min(1100px, 78vw); padding: 12px; border: 1px solid #d6dfdf; border-radius: 8px; background: #fff; }
.native-shell .doctor-prescription-update-form label { display: grid; gap: 5px; color: #536168; font-size: 11px; font-weight: 700; }
.native-shell .doctor-prescription-update-form input, .native-shell .doctor-prescription-update-form textarea { width: 100%; min-width: 90px; padding: 8px; border: 1px solid #ced9d9; border-radius: 6px; background: #fff; }
.native-shell .doctor-prescription-update-form .wide { grid-column: 1 / -1; }
.native-shell .doctor-prescription-update-form > button { justify-self: end; padding: 9px 13px; border: 1px solid #087f76; border-radius: 7px; background: #087f76; color: #fff; font-weight: 700; }
.native-shell .doctor-request-types { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 14px; border-bottom: 1px solid #d8e0e0; }
.native-shell .doctor-request-card { border: 1px solid #d6dfdf; border-radius: 9px; background: #fff; }
.native-shell .doctor-request-card > summary { display: grid; gap: 5px; min-height: 76px; padding: 14px; cursor: pointer; list-style: none; }
.native-shell .doctor-request-card > summary span { color: #67747a; font-size: 12px; font-weight: 400; }
.native-shell .doctor-request-card[open] { grid-column: 1 / -1; }
.native-shell .doctor-request-card[open] > summary { min-height: 0; border-bottom: 1px solid #d8e0e0; }
.native-shell .doctor-request-card .doctor-workspace-form { border: 0; }
.native-shell .doctor-specialized-request-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.native-shell .doctor-specialized-section { margin: 4px 0; padding: 12px; border: 1px solid #d6dfdf; border-radius: 8px; background: #fff; }
.native-shell .doctor-specialized-section legend { padding: 0 7px; color: #1b292e; font-size: 12px; font-weight: 800; }
.native-shell .doctor-specialized-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.native-shell .doctor-products-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.native-shell .doctor-oncology-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #d8e0e0; border-radius: 7px; }
.native-shell .doctor-oncology-table { width: 100%; min-width: 1600px; border-collapse: collapse; background: #fff; }
.native-shell .doctor-oncology-table th, .native-shell .doctor-oncology-table td { padding: 7px; border-right: 1px solid #d8e0e0; border-bottom: 1px solid #d8e0e0; vertical-align: top; font-size: 10px; }
.native-shell .doctor-oncology-table th { background: #f7f9f9; color: #34444a; text-align: left; text-transform: uppercase; }
.native-shell .doctor-check-cluster { min-width: 115px; }
.native-shell .doctor-check-cluster label { display: inline-flex; grid-template-columns: auto 1fr; align-items: center; margin: 2px 7px 2px 0; font-size: 10px; }
.native-shell .doctor-check-cluster input { width: auto; }
.native-shell .doctor-date-cluster { display: grid; grid-template-columns: repeat(2, 132px); gap: 4px; }
@media (max-width: 1100px) {
  .native-shell .doctor-specialized-request-form, .native-shell .doctor-specialized-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .native-shell .doctor-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .native-shell .doctor-specialized-request-form, .native-shell .doctor-specialized-grid, .native-shell .doctor-products-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) { .native-shell .doctor-workspace-grid, .native-shell .doctor-workspace-encounter { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .native-shell .doctor-clinical-form, .native-shell .doctor-vital-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .native-shell .doctor-request-types, .native-shell .doctor-prescription-update-form { grid-template-columns: 1fr; } }
.native-shell .doctor-appointment-action { margin-top: 7px; }
.native-shell .doctor-appointment-action button { padding: 7px 10px; border: 1px solid #cbd7d7; border-radius: 6px; background: #fff; color: #123137; font-size: 11px; font-weight: 700; }
.native-shell .outpatient-schedule-help { margin: 0; color: #637178; font-size: 11px; }
.native-shell .outpatient-row-action { display: inline-flex; padding: 8px 12px; border: 1px solid #ccd7d7; border-radius: 7px; background: #fff; color: #17272c; font-weight: 700; text-decoration: none; }
.native-shell .outpatient-patient-form-card { margin-top: 12px; }
.native-shell .outpatient-patient-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 16px; }
.native-shell .outpatient-patient-form label { display: grid; gap: 6px; color: #526066; font-size: 11px; font-weight: 700; }
.native-shell .outpatient-patient-form input { min-width: 0; padding: 10px; border: 1px solid #ccd7d7; border-radius: 7px; background: #fff; }
@media (max-width: 800px) { .native-shell .outpatient-patient-form { grid-template-columns: 1fr; } }

.native-shell.orders-store-native-body {
  min-height: 100vh;
  background: #f4fafb;
}

.native-shell.orders-store-native-body .topbar {
  display: none;
}

.native-shell.orders-store-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .orders-store-native-screen {
  min-height: 100vh;
  background:
    linear-gradient(180deg, #f0fbfa 0%, #f8fbfd 32%, #fff 100%);
  color: #0b1830;
}

.native-shell .orders-store-native-topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: 218px minmax(260px, 1fr) auto auto minmax(190px, 260px);
  gap: 12px;
  align-items: center;
  max-width: 1440px;
  min-height: 76px;
  margin: 0 auto;
  padding: 10px 18px;
  border: 1px solid #d5e7ef;
  border-top: 0;
  border-radius: 0 0 18px 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 38px rgba(18, 45, 74, 0.08);
  backdrop-filter: blur(12px);
}

.native-shell .orders-store-native-brand {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 10px;
  color: #0b1830;
  text-decoration: none;
}

.native-shell .orders-store-native-brand > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #20c6b5 0%, #0f9f91 100%);
  color: #fff;
  font-size: 23px;
  font-weight: 900;
}

.native-shell .orders-store-native-brand strong,
.native-shell .orders-store-native-brand small {
  display: block;
}

.native-shell .orders-store-native-brand strong {
  font-size: 15px;
  font-weight: 900;
}

.native-shell .orders-store-native-brand small {
  color: #008a7f;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .orders-store-native-search {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  min-height: 46px;
  margin: 0;
  padding: 0 14px;
  border: 1px solid #d5e7ef;
  border-radius: 14px;
  background: #f8fbfd;
}

.native-shell .orders-store-native-search span {
  color: #466078;
  font-weight: 900;
}

.native-shell .orders-store-native-search input {
  width: 100%;
  border: 0;
  background: transparent;
  color: #0b1830;
  font-size: 14px;
  outline: 0;
}

.native-shell .orders-store-native-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.native-shell .orders-store-native-nav a,
.native-shell .orders-store-native-home,
.native-shell .orders-store-native-patient {
  min-height: 42px;
  padding: 12px 14px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #25364d;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .orders-store-native-nav a.is-active,
.native-shell .orders-store-native-home {
  border-color: #d5e7ef;
  background: #fff;
}

.native-shell .orders-store-native-nav a span {
  display: inline-grid;
  min-width: 22px;
  min-height: 22px;
  place-items: center;
  margin-left: 4px;
  border-radius: 999px;
  background: #0f62fe;
  color: #fff;
  font-size: 11px;
}

.native-shell .orders-store-native-patient {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: center;
  border-color: #d5e7ef;
  background: #fff;
}

.native-shell .orders-store-native-patient span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #a9e6df;
  border-radius: 999px;
  color: #008a7f;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .orders-store-native-patient strong,
.native-shell .orders-store-native-patient small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .orders-store-native-patient small {
  color: #008a7f;
  font-size: 10px;
  text-transform: uppercase;
}

.native-shell .orders-store-native-main {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 18px 56px;
}

.native-shell .orders-store-native-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 36%);
  gap: 24px;
  min-height: 190px;
  align-items: center;
  margin-bottom: 20px;
  padding: 40px 58px;
  border: 1px solid #d5e7ef;
  border-top: 0;
  border-radius: 0 0 24px 24px;
  background:
    radial-gradient(circle at 78% 22%, rgba(15, 98, 254, 0.18), transparent 30%),
    linear-gradient(110deg, #ecfffb 0%, #eff7ff 100%);
}

.native-shell .orders-store-native-hero h1 {
  max-width: 760px;
  margin: 8px 0 12px;
  color: #0b1830;
  font-size: 46px;
  line-height: 1.02;
}

.native-shell .orders-store-native-hero p {
  margin: 0;
  color: #50647a;
  font-size: 15px;
}

.native-shell .orders-store-native-hero-card {
  display: grid;
  min-height: 128px;
  place-items: center;
  border: 1px solid #bddff4;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.48);
}

.native-shell .orders-store-native-hero-card strong {
  color: #0f62fe;
  font-size: 46px;
  line-height: 1;
}

.native-shell .orders-store-native-hero-card span {
  color: #50647a;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .orders-store-native-section,
.native-shell .orders-store-native-catalog,
.native-shell .orders-store-native-history {
  margin-bottom: 18px;
  padding: 16px;
  border: 1px solid #d5e7ef;
  border-radius: 18px;
  background: #fff;
}

.native-shell .orders-store-native-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.native-shell .orders-store-native-heading .eyebrow {
  margin: 0;
  color: #008a7f;
  font-size: 11px;
}

.native-shell .orders-store-native-heading h2 {
  margin: 0;
  color: #0b1830;
  font-size: 20px;
}

.native-shell .orders-store-native-heading a,
.native-shell .orders-store-native-heading span {
  color: #0f62fe;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .orders-store-native-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.native-shell .orders-store-native-products.is-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.native-shell .orders-store-native-product-card {
  overflow: hidden;
  border: 1px solid #d5e7ef;
  border-radius: 12px;
  background: #fff;
}

.native-shell .orders-store-native-product-art {
  display: grid;
  min-height: 86px;
  place-items: center;
  border-bottom: 1px solid #d5e7ef;
  background: #f6fbfd;
}

.native-shell .orders-store-native-product-art span {
  display: grid;
  width: 112px;
  height: 64px;
  place-items: center;
  padding: 8px;
  border-radius: 7px;
  background: linear-gradient(135deg, #0f62fe 0%, #16a34a 100%);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.1;
}

.native-shell .orders-store-native-product-body {
  position: relative;
  padding: 12px 12px 10px;
}

.native-shell .orders-store-native-tags {
  display: flex;
  gap: 6px;
  margin-bottom: 9px;
}

.native-shell .orders-store-native-tags span {
  padding: 5px 8px;
  border-radius: 999px;
  background: #e9f1f6;
  color: #50647a;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .orders-store-native-tags span:first-child {
  background: #fff3c4;
  color: #a16207;
}

.native-shell .orders-store-native-product-card h3 {
  min-height: 34px;
  margin: 0 0 6px;
  color: #0b1830;
  font-size: 13px;
  line-height: 1.25;
}

.native-shell .orders-store-native-product-card p {
  min-height: 28px;
  margin: 0 0 8px;
  color: #50647a;
  font-size: 11px;
}

.native-shell .orders-store-native-product-card strong {
  display: block;
  color: #0b1830;
  font-size: 16px;
}

.native-shell .orders-store-native-product-card small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 10px;
  font-weight: 900;
  text-align: right;
}

.native-shell .orders-store-native-product-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin: 0;
  padding: 0 12px 12px;
}

.native-shell .orders-store-native-product-actions button {
  min-height: 32px;
  border: 1px solid #cbddea;
  border-radius: 8px;
  background: #fff;
  color: #50647a;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .orders-store-native-product-actions button:last-child {
  border-color: #0f62fe;
  color: #0f62fe;
}

.native-shell .orders-store-native-product-actions button:disabled {
  border-color: #e2e8f0;
  background: #f1f5f9;
  color: #94a3b8;
}

.native-shell .orders-store-native-category-row {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
  overflow-x: auto;
}

.native-shell .orders-store-native-category-row a {
  min-width: 156px;
  padding: 13px 16px;
  border: 1px solid #d5e7ef;
  border-radius: 14px;
  color: #25364d;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .orders-store-native-category-row a.is-active {
  border-color: #20c6b5;
  background: #eefdfa;
}

.native-shell .orders-store-native-list {
  display: grid;
  gap: 10px;
}

.native-shell .orders-store-native-list article {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid #d5e7ef;
  border-radius: 12px;
  background: #f8fbfd;
}

.native-shell .orders-store-native-list strong,
.native-shell .orders-store-native-list span {
  display: block;
}

.native-shell .orders-store-native-list span {
  color: #50647a;
  font-size: 12px;
}

.native-shell .orders-hero {
  min-height: 150px;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(247, 251, 250, 0.96) 100%),
    radial-gradient(circle at 92% 20%, rgba(13, 118, 110, 0.12), transparent 30%);
}

.native-shell .orders-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .orders-hero-mark {
  background: linear-gradient(135deg, #34d399 0%, #0d766c 100%);
  box-shadow: 0 14px 24px rgba(13, 118, 110, 0.18);
}

.native-shell .orders-summary {
  gap: 14px;
}

.native-shell .orders-summary article {
  position: relative;
  min-height: 96px;
  overflow: hidden;
}

.native-shell .orders-summary article::after {
  position: absolute;
  right: -26px;
  bottom: -36px;
  width: 98px;
  height: 98px;
  border-radius: 999px;
  background: rgba(52, 211, 153, 0.12);
  content: "";
}

.native-shell .orders-catalog-panel,
.native-shell .orders-history-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .orders-catalog-panel::before,
.native-shell .orders-history-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #34d399 0%, rgba(52, 211, 153, 0) 70%);
  content: "";
}

.native-shell .orders-filter {
  align-items: end;
  border-color: #dce9ed;
  border-radius: 18px;
  background: #f7fbfa;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.native-shell .orders-product-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.native-shell .orders-product-card {
  position: relative;
  overflow: hidden;
  border-color: #e5eef1;
  border-radius: 20px;
  padding: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfefe 100%);
  box-shadow: 0 12px 30px rgba(31, 45, 52, 0.06);
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.native-shell .orders-product-card:hover {
  border-color: #b8e8e5;
  box-shadow: 0 18px 42px rgba(31, 45, 52, 0.1);
  transform: translateY(-2px);
}

.native-shell .orders-card-header {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.native-shell .orders-product-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid #b8e8e5;
  border-radius: 16px;
  background: #effcf9;
  color: var(--teal-dark);
  font-size: 14px;
  font-weight: 900;
}

.native-shell .orders-product-card h3 {
  color: #344156;
  font-size: 18px;
  line-height: 1.15;
}

.native-shell .orders-product-card p {
  color: #65728b;
  font-size: 13px;
}

.native-shell .orders-product-meta div {
  border-color: #e5eef1;
  border-radius: 14px;
  background: #f7fbfa;
}

.native-shell .orders-product-meta dd {
  color: #26323f;
}

.native-shell .orders-product-form {
  align-items: end;
  border-top: 1px solid #e5eef1;
  padding-top: 14px;
}

.native-shell .orders-list article {
  border-color: #e5eef1;
  border-radius: 16px;
  background: #fbfefe;
}

.native-shell .orders-items {
  border-top: 1px solid #e5eef1;
  padding-top: 10px;
}

.native-shell .pharmacy-hero {
  min-height: 150px;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 250, 0.96) 100%),
    radial-gradient(circle at 88% 18%, rgba(6, 153, 133, 0.13), transparent 32%);
}

.native-shell .pharmacy-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .pharmacy-hero-mark {
  background: linear-gradient(135deg, #24d9c6 0%, #047857 100%);
  box-shadow: 0 14px 24px rgba(4, 120, 87, 0.18);
}

.native-shell .pharmacy-metrics {
  gap: 14px;
}

.native-shell .pharmacy-metrics .metric-card {
  position: relative;
  min-height: 104px;
  overflow: hidden;
}

.native-shell .pharmacy-metrics .metric-card::after {
  position: absolute;
  right: -26px;
  bottom: -36px;
  width: 98px;
  height: 98px;
  border-radius: 999px;
  background: rgba(6, 153, 133, 0.1);
  content: "";
}

.native-shell .pharmacy-layout {
  align-items: start;
}

.native-shell .pharmacy-orders-panel,
.native-shell .pharmacy-side-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .pharmacy-orders-panel::before,
.native-shell .pharmacy-side-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #24d9c6 0%, rgba(36, 217, 198, 0) 70%);
  content: "";
}

.native-shell .pharmacy-orders-panel .table-card {
  border-color: #e5eef1;
  border-radius: 16px;
}

.native-shell .pharmacy-orders-panel .data-table {
  min-width: 940px;
}

.native-shell .pharmacy-orders-panel .data-table tr:hover td {
  background: #fbfefe;
}

.native-shell .pharmacy-status-form {
  align-items: center;
}

.native-shell .pharmacy-status-form button {
  min-height: 38px;
}

.native-shell .pharmacy-side-panel .filter-bar {
  border-color: #dce9ed;
  border-radius: 16px;
  background: #f7fbfa;
}

.native-shell .pharmacy-side-panel .compact-list {
  max-height: 460px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .pharmacy-side-panel .compact-list div {
  border-color: #e5eef1;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .pharmacy-side-panel .badge,
.native-shell .pharmacy-orders-panel .badge {
  background: #effcf9;
  color: var(--teal-dark);
}

.native-shell .messenger-hero {
  min-height: 150px;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 250, 0.96) 100%),
    radial-gradient(circle at 88% 18%, rgba(37, 99, 235, 0.12), transparent 32%);
}

.native-shell .messenger-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .messenger-hero-mark {
  background: linear-gradient(135deg, #38bdf8 0%, #2563eb 100%);
  box-shadow: 0 14px 24px rgba(37, 99, 235, 0.16);
}

.native-shell .messenger-metrics {
  gap: 14px;
}

.native-shell .messenger-metrics .metric-card {
  position: relative;
  min-height: 104px;
  overflow: hidden;
}

.native-shell .messenger-metrics .metric-card::after {
  position: absolute;
  right: -26px;
  bottom: -36px;
  width: 98px;
  height: 98px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.09);
  content: "";
}

.native-shell .messenger-layout {
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.native-shell .messenger-profile-card {
  top: 104px;
  overflow: hidden;
  padding: 0;
}

.native-shell .messenger-profile-header {
  display: grid;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid #e5eef1;
  background: linear-gradient(180deg, #fbfefe 0%, #f4f8ff 100%);
}

.native-shell .messenger-profile-header h2 {
  margin: 0;
  color: #26324a;
  font-size: 19px;
  line-height: 1.15;
}

.native-shell .messenger-profile-header span {
  display: block;
  margin-top: 4px;
  color: #2563eb;
  font-size: 13px;
  font-weight: 850;
}

.native-shell .messenger-avatar {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  border: 1px solid #bfdbfe;
  border-radius: 22px;
  background: linear-gradient(135deg, #38bdf8 0%, #2563eb 100%);
  color: #fff;
  box-shadow: 0 14px 24px rgba(37, 99, 235, 0.16);
  font-size: 24px;
  font-weight: 900;
}

.native-shell .messenger-profile-card .detail-list {
  padding: 18px 20px 20px;
}

.native-shell .messenger-profile-card .detail-list div {
  grid-template-columns: 92px minmax(0, 1fr);
}

.native-shell .messenger-routes-panel,
.native-shell .messenger-reports {
  position: relative;
  overflow: hidden;
}

.native-shell .messenger-routes-panel::before,
.native-shell .messenger-reports::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #38bdf8 0%, rgba(56, 189, 248, 0) 70%);
  content: "";
}

.native-shell .messenger-route-list article {
  border-color: #e5eef1;
  border-radius: 18px;
  padding: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfefe 100%);
  box-shadow: 0 12px 30px rgba(31, 45, 52, 0.06);
}

.native-shell .messenger-route-header {
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.native-shell .messenger-route-header::before {
  display: none;
}

.native-shell .messenger-route-detail div {
  border-bottom-color: #e5eef1;
}

.native-shell .messenger-items {
  border: 1px solid #e5eef1;
  border-radius: 14px;
  padding: 12px;
  background: #f7fbfa;
}

.native-shell .messenger-status-form {
  align-items: center;
  border-top: 1px solid #e5eef1;
  padding-top: 12px;
}

.native-shell .messenger-last-report {
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  padding: 10px 12px;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 800;
}

.native-shell .messenger-reports .compact-list {
  max-height: 460px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .messenger-reports .compact-list div {
  border-color: #e5eef1;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .messenger-routes-panel .badge,
.native-shell .messenger-reports .badge {
  background: #eff6ff;
  color: #1d4ed8;
}

.native-shell.messenger-native-body {
  background: #f3f6f5;
}

.native-shell.messenger-native-body .topbar {
  display: none;
}

.native-shell.messenger-native-body .shell {
  display: block;
  max-width: none;
  padding: 0;
}

.native-shell .messenger-native-screen {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 246px minmax(0, 1fr);
  color: #0f1b2d;
  background: #f3f6f5;
}

.native-shell .messenger-native-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 100vh;
  padding: 18px 14px;
  border-right: 1px solid #cfd9d7;
  background: #f8fbfa;
}

.native-shell .messenger-native-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 34px;
}

.native-shell .messenger-native-brand > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #dff4ee;
  color: #00796f;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .messenger-native-brand strong,
.native-shell .messenger-native-brand small {
  display: block;
}

.native-shell .messenger-native-brand strong {
  font-size: 15px;
  font-weight: 900;
}

.native-shell .messenger-native-brand small {
  margin-top: 2px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.native-shell .messenger-native-menu {
  display: grid;
  gap: 10px;
}

.native-shell .messenger-native-menu a {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 14px;
  border-radius: 7px;
  color: #536575;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .messenger-native-menu a.is-active {
  background: #dff4ee;
  color: #00796f;
}

.native-shell .messenger-native-menu a span {
  width: 18px;
  color: #667985;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .messenger-native-workspace {
  padding: 24px 26px 44px 24px;
  overflow: hidden;
}

.native-shell .messenger-native-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.native-shell .messenger-native-topbar .eyebrow {
  margin: 0 0 4px;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .messenger-native-topbar h1 {
  margin: 0;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 900;
}

.native-shell .messenger-native-topbar span {
  display: block;
  margin-top: 5px;
  color: #536575;
  font-size: 12px;
}

.native-shell .messenger-native-topbar a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #0f1b2d;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .messenger-native-summary {
  display: grid;
  grid-template-columns: minmax(320px, 1.4fr) repeat(3, minmax(150px, 0.4fr));
  gap: 14px;
  margin-bottom: 16px;
}

.native-shell .messenger-native-summary article {
  min-height: 64px;
  padding: 16px 18px;
  border: 1px solid #cfd9d7;
  border-radius: 7px;
  background: #fff;
}

.native-shell .messenger-native-summary span {
  display: block;
  margin-bottom: 6px;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .messenger-native-summary strong {
  display: block;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 900;
}

.native-shell .messenger-native-summary article:not(.messenger-native-wide-stat) strong {
  font-size: 18px;
}

.native-shell .messenger-native-card,
.native-shell .messenger-native-route-card {
  border: 1px solid #cfd9d7;
  border-radius: 7px;
  background: #fff;
  overflow: hidden;
}

.native-shell .messenger-native-card {
  margin-bottom: 16px;
}

.native-shell .messenger-native-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  border-bottom: 1px solid #cfd9d7;
}

.native-shell .messenger-native-card-head h2,
.native-shell .messenger-native-card-head p {
  margin: 0;
}

.native-shell .messenger-native-card-head h2 {
  font-size: 22px;
  line-height: 1.15;
  font-weight: 900;
}

.native-shell .messenger-native-card-head p {
  margin-top: 4px;
  color: #536575;
  font-size: 12px;
}

.native-shell .messenger-native-card-head > span {
  color: #536575;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .messenger-native-scan form {
  padding: 18px;
  border-bottom: 1px solid #cfd9d7;
}

.native-shell .messenger-native-scan label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .messenger-native-scan form div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.native-shell .messenger-native-scan input {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  color: #6f7f87;
  font-weight: 900;
}

.native-shell .messenger-native-scan button,
.native-shell .messenger-native-route-head button,
.native-shell .messenger-native-route-head form button {
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 7px;
  background: #0b7a6f;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .messenger-native-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
  margin-bottom: 16px;
}

.native-shell .messenger-native-route-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
}

.native-shell .messenger-native-route-head span {
  display: block;
  margin-bottom: 5px;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .messenger-native-route-head h3,
.native-shell .messenger-native-route-head p {
  margin: 0;
}

.native-shell .messenger-native-route-head h3 {
  font-size: 15px;
  font-weight: 900;
}

.native-shell .messenger-native-route-head p {
  margin-top: 4px;
  color: #536575;
  font-size: 12px;
}

.native-shell .messenger-native-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 16px 14px;
}

.native-shell .messenger-native-tags span {
  padding: 7px 10px;
  border: 1px solid #cdd8d5;
  border-radius: 999px;
  background: #f8fbfa;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .messenger-native-table-wrap {
  max-height: 390px;
  overflow: auto;
  border-top: 1px solid #cfd9d7;
}

.native-shell .messenger-native-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.native-shell .messenger-native-table th,
.native-shell .messenger-native-table td {
  padding: 13px 14px;
  border-bottom: 1px solid #cfd9d7;
  text-align: left;
  vertical-align: top;
}

.native-shell .messenger-native-table th {
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .messenger-native-table td {
  font-size: 13px;
}

.native-shell .messenger-native-table td strong,
.native-shell .messenger-native-table td span {
  display: block;
}

.native-shell .messenger-native-table td span {
  margin-top: 4px;
  color: #536575;
  font-size: 11px;
}

.native-shell .messenger-native-table form {
  display: grid;
  grid-template-columns: minmax(116px, 1fr) minmax(110px, 1fr) auto;
  gap: 7px;
}

.native-shell .messenger-native-table select,
.native-shell .messenger-native-table input {
  min-height: 32px;
  border: 1px solid #bfdbfe;
  border-radius: 7px;
  font-size: 12px;
}

.native-shell .messenger-native-table button {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #bfdbfe;
  border-radius: 7px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .messenger-native-empty {
  height: 88px;
  color: #536575;
  font-size: 14px !important;
  font-weight: 900;
  text-align: center !important;
  vertical-align: middle !important;
}

.native-shell .messenger-native-status {
  display: inline-flex !important;
  width: max-content;
  padding: 6px 10px;
  border: 1px solid #bfdbfe;
  border-radius: 7px;
  background: #eff6ff;
  color: #1d4ed8 !important;
  font-size: 11px !important;
  font-weight: 900;
}

.native-shell .messenger-native-history-list {
  padding: 16px;
}

.native-shell .messenger-native-history-list div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid #d8e2df;
  border-radius: 7px;
}

.native-shell .messenger-native-history-list strong,
.native-shell .messenger-native-history-list span {
  display: block;
}

.native-shell .messenger-native-history-list span,
.native-shell .messenger-native-history-list p {
  color: #536575;
  font-size: 12px;
}

.native-shell .operational-hero {
  min-height: 150px;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 250, 0.96) 100%),
    radial-gradient(circle at 88% 18%, rgba(15, 118, 110, 0.12), transparent 32%);
}

.native-shell .operational-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .operational-hero-mark {
  background: linear-gradient(135deg, #22c55e 0%, #007d79 100%);
  box-shadow: 0 14px 24px rgba(15, 118, 110, 0.18);
}

.native-shell .operational-metrics {
  gap: 14px;
}

.native-shell .operational-metrics .metric-card {
  position: relative;
  min-height: 104px;
  overflow: hidden;
}

.native-shell .operational-metrics .metric-card::after {
  position: absolute;
  right: -26px;
  bottom: -36px;
  width: 98px;
  height: 98px;
  border-radius: 999px;
  background: rgba(15, 118, 110, 0.1);
  content: "";
}

.native-shell .operational-layout {
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.native-shell .operational-profile-card {
  top: 104px;
  overflow: hidden;
  padding: 0;
}

.native-shell .operational-profile-header {
  display: grid;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid #e5eef1;
  background: linear-gradient(180deg, #fbfefe 0%, #f4fbfa 100%);
}

.native-shell .operational-profile-header h2 {
  margin: 0;
  color: #26323f;
  font-size: 19px;
  line-height: 1.15;
}

.native-shell .operational-profile-header span {
  display: block;
  margin-top: 4px;
  color: var(--teal-dark);
  font-size: 13px;
  font-weight: 850;
}

.native-shell .operational-avatar {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  border: 1px solid #b8e8e5;
  border-radius: 22px;
  background: linear-gradient(135deg, #22c55e 0%, #007d79 100%);
  color: #fff;
  box-shadow: 0 14px 24px rgba(15, 118, 110, 0.18);
  font-size: 24px;
  font-weight: 900;
}

.native-shell .operational-profile-card .detail-list,
.native-shell .operational-profile-card > div:not(.operational-profile-header) {
  padding-right: 20px;
  padding-left: 20px;
}

.native-shell .operational-profile-card .detail-list {
  padding-top: 18px;
}

.native-shell .operational-profile-card > div:not(.operational-profile-header) {
  padding-bottom: 20px;
}

.native-shell .operational-profile-card .detail-list div {
  grid-template-columns: 104px minmax(0, 1fr);
}

.native-shell .operational-requests-panel,
.native-shell .operational-orders-panel,
.native-shell .operational-side-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .operational-requests-panel::before,
.native-shell .operational-orders-panel::before,
.native-shell .operational-side-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #22c55e 0%, rgba(34, 197, 94, 0) 70%);
  content: "";
}

.native-shell .operational-requests-panel .table-card {
  border-color: #e5eef1;
  border-radius: 16px;
}

.native-shell .operational-requests-panel .data-table {
  min-width: 920px;
}

.native-shell .operational-requests-panel .data-table tr:hover td {
  background: #fbfefe;
}

.native-shell .operational-status-form {
  align-items: center;
}

.native-shell .operational-side-panel .compact-list,
.native-shell .operational-orders-panel .compact-list {
  max-height: 430px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .operational-side-panel .compact-list div,
.native-shell .operational-orders-panel .compact-list div {
  border-color: #e5eef1;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .operational-requests-panel .badge,
.native-shell .operational-side-panel .badge,
.native-shell .operational-orders-panel .badge {
  background: #effcf9;
  color: var(--teal-dark);
}

.native-shell.operational-native-body {
  min-height: 100vh;
  background: #f3f5f4;
}

.native-shell.operational-native-body .topbar {
  display: none;
}

.native-shell.operational-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .operational-native-screen {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 258px minmax(0, 1fr);
  grid-template-rows: 58px minmax(0, 1fr);
  background: #f3f5f4;
  color: #101820;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.native-shell .operational-native-screen svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.native-shell .operational-native-topbar {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 258px minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
  border-bottom: 1px solid #d6dddb;
  background: #fff;
}

.native-shell .operational-native-topbar > strong,
.native-shell .operational-native-topbar > span {
  display: flex;
  height: 100%;
  align-items: center;
  min-width: 0;
  padding: 0 24px;
  color: #172638;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.native-shell .operational-native-topbar > strong {
  border-right: 1px solid #d6dddb;
}

.native-shell .operational-native-topbar > span {
  color: #516174;
  font-size: 13px;
}

.native-shell .operational-native-user {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0 18px;
}

.native-shell .operational-native-user > button {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #1b2a3d;
}

.native-shell .operational-native-user div {
  display: grid;
  gap: 2px;
  min-width: 118px;
}

.native-shell .operational-native-user strong {
  color: #082441;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .operational-native-user small {
  max-width: 190px;
  overflow: hidden;
  color: #516174;
  font-size: 10px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .operational-native-sidebar {
  position: sticky;
  top: 0;
  grid-row: 2;
  align-self: start;
  min-height: 100vh;
  padding: 16px 16px 28px;
  border-right: 1px solid #d6dddb;
  background: #fff;
}

.native-shell .operational-native-brand {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
}

.native-shell .operational-native-brand strong,
.native-shell .operational-native-brand span {
  display: block;
}

.native-shell .operational-native-brand strong {
  font-size: 15px;
  font-weight: 850;
}

.native-shell .operational-native-brand span {
  color: #536575;
  font-size: 12px;
}

.native-shell .operational-native-mark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #9fd8cf;
  border-radius: 9px;
  background: #e6f5f2;
  color: #007d79;
  font-size: 24px;
  line-height: 1;
}

.native-shell .operational-native-menu {
  display: grid;
  gap: 22px;
}

.native-shell .operational-native-menu section {
  display: grid;
  gap: 8px;
  padding-left: 10px;
  border-left: 2px solid #d8e4e1;
}

.native-shell .operational-native-menu section.is-active {
  border-left-color: #9bd8cf;
}

.native-shell .operational-native-menu h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 4px -10px;
  color: #56615f;
  font-size: 15px;
  font-weight: 850;
}

.native-shell .operational-native-menu h2 span {
  color: #61716e;
  font-size: 18px;
}

.native-shell .operational-native-menu a {
  display: block;
  padding: 8px 12px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #536575;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.native-shell .operational-native-menu a.is-selected {
  border-color: #8ccbc3;
  background: #e1f3ef;
  color: #006f64;
}

.native-shell .operational-menu-caption {
  display: block;
  margin: 10px 14px 4px;
  color: #586568;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
}

/* Navegación del área operativa homologada con Legacy. */
.native-shell .operational-legacy-menu { gap: 22px; }
.native-shell .operational-legacy-menu section {
  gap: 7px;
  padding-left: 10px;
  border-left: 1px solid #d6e3e0;
}
.native-shell .operational-legacy-menu section.is-active { border-left-color: #cee8e3; }
.native-shell .operational-legacy-menu .operational-legacy-group-title {
  min-height: 38px;
  margin: 0 0 1px -10px;
  padding: 8px 11px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #536575;
  font-size: 14px;
}
.native-shell .operational-legacy-menu section.is-active .operational-legacy-group-title {
  border-color: #a4cdc6;
  background: #e4f4f0;
  color: #006f63;
}
.native-shell .operational-legacy-menu .operational-legacy-group-icon {
  width: 18px;
  color: #62716e;
  font-size: 17px;
  text-align: center;
}
.native-shell .operational-legacy-menu section.is-active .operational-legacy-group-icon { color: #008b7e; }
.native-shell .operational-legacy-menu a {
  position: relative;
  min-height: 29px;
  padding: 7px 10px 7px 30px;
  border-radius: 6px;
  color: #4a5957;
  font-size: 11px;
  font-weight: 800;
}
.native-shell .operational-legacy-menu a::before {
  position: absolute;
  top: 50%;
  left: 11px;
  width: 7px;
  height: 7px;
  border: 1px solid #61706d;
  border-radius: 50%;
  content: '';
  transform: translateY(-50%);
}
.native-shell .operational-legacy-menu a.is-selected {
  border-color: #8fcfc6;
  background: #ebf8f5;
  color: #007b6d;
}
.native-shell .operational-legacy-menu a.is-selected::before { border-color: #008f80; }
.native-shell .operational-legacy-subgroup {
  display: grid;
  gap: 3px;
  padding: 7px 0 7px;
  border: 1px solid;
  border-radius: 7px;
}
.native-shell .operational-legacy-subgroup.is-administrative {
  border-color: #b8a4f2;
  background: #f0eaff;
}
.native-shell .operational-legacy-subgroup.is-operational {
  border-color: #9aaef5;
  background: #e6edff;
}
.native-shell .operational-legacy-subgroup .operational-menu-caption {
  margin: 0 10px 2px;
  color: #5840c4;
  font-size: 8px;
}
.native-shell .operational-legacy-subgroup.is-operational .operational-menu-caption { color: #294fc1; }
.native-shell .operational-legacy-subgroup a { margin: 0 5px; }
.native-shell .operational-legacy-calendar {
  margin-top: 0;
  border-color: #90d4c8 !important;
  background: #e6f8f3;
  color: #176b62 !important;
}

.native-shell .operational-area-menu {
  gap: 14px;
}

.native-shell .operational-area-menu a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 52px;
  gap: 12px;
  padding: 9px 14px;
  border: 0;
  border-radius: 7px;
  color: #22344a;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.22;
  text-decoration: none;
}

.native-shell .operational-area-menu a:hover,
.native-shell .operational-area-menu a.is-active {
  background: #e4f5f2;
  color: #007d79;
}

.native-shell .operational-area-menu a > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 7px;
  color: #1f334a;
}

.native-shell .operational-area-menu a.is-active > span {
  background: #007d79;
  color: #fff;
}

.native-shell .operational-area-menu a i {
  color: currentColor;
  font-size: 24px;
  font-style: normal;
  line-height: 1;
}

.native-shell .operational-section-card,
.native-shell .operational-form-card {
  margin-top: 18px;
}

.native-shell .operational-detail-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}

.native-shell .operational-detail-form label {
  display: grid;
  gap: 7px;
  color: #344246;
  font-size: 12px;
  font-weight: 700;
}

.native-shell .operational-detail-form input,
.native-shell .operational-detail-form select,
.native-shell .operational-detail-form textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid #cfd9da;
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
  color: #172124;
}

.native-shell .operational-detail-form textarea { min-height: 82px; resize: vertical; }
.native-shell .operational-detail-form .span-2 { grid-column: 1 / -1; }
.native-shell .operational-detail-form fieldset { border: 1px solid #d7dfdf; border-radius: 9px; padding: 14px; }
.native-shell .operational-detail-form legend { padding: 0 6px; font-size: 12px; font-weight: 800; }
.native-shell .operational-medication-grid { display: grid; grid-template-columns: 34px 2fr 1fr 1fr 1.2fr; gap: 8px; align-items: center; }
.native-shell .operational-medication-grid span { font-weight: 800; text-align: center; }

.native-shell .operational-calendar-grid { display: grid; gap: 0; }
.native-shell .operational-calendar-grid article { display: grid; grid-template-columns: 70px 1fr auto; gap: 16px; align-items: center; padding: 16px 18px; border-top: 1px solid #dce3e3; }
.native-shell .operational-calendar-grid time { font-size: 16px; font-weight: 800; }
.native-shell .operational-calendar-grid article div { display: grid; gap: 4px; }
.native-shell .operational-calendar-grid article div span { color: #637174; font-size: 12px; }

.native-shell .operational-service-calendar-heading {
  padding-bottom: 14px;
}

.native-shell .operational-service-calendar-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, .8fr)) minmax(210px, 1.35fr) 132px;
  gap: 14px;
  align-items: end;
  padding: 14px 18px;
  border-bottom: 1px solid #dce3e3;
}

.native-shell .operational-service-calendar-filters label {
  display: grid;
  min-width: 0;
  gap: 7px;
  color: #253238;
  font-size: 10px;
  font-weight: 850;
}

.native-shell .operational-service-calendar-filters select,
.native-shell .operational-service-calendar-filters input,
.native-shell .operational-service-calendar-clear {
  width: 100%;
  min-height: 38px;
  border: 1px solid #d1dcde;
  border-radius: 6px;
  background: #fff;
  color: #182833;
  font: inherit;
  font-size: 11px;
  font-weight: 750;
}

.native-shell .operational-service-calendar-filters select {
  padding: 0 30px 0 10px;
}

.native-shell .operational-service-calendar-search > span {
  position: relative;
  display: block;
}

.native-shell .operational-service-calendar-search svg {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 11px;
  width: 15px;
  height: 15px;
  fill: none;
  stroke: #668089;
  stroke-width: 1.8;
  transform: translateY(-50%);
}

.native-shell .operational-service-calendar-search input {
  padding: 0 10px 0 34px;
}

.native-shell button.operational-service-calendar-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 10px;
  border-color: #27b9ad !important;
  background: #fff !important;
  color: #008b80 !important;
  box-shadow: none !important;
  cursor: pointer;
  white-space: nowrap;
}

.native-shell button.operational-service-calendar-clear svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.native-shell button.operational-service-calendar-clear:hover,
.native-shell button.operational-service-calendar-clear:focus-visible {
  border-color: #008b80 !important;
  background: #eaf8f6 !important;
  color: #006f67 !important;
}

.native-shell button.operational-service-calendar-clear:focus-visible {
  outline: 2px solid rgba(0, 139, 128, .22);
  outline-offset: 2px;
}

.native-shell .operational-service-calendar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 18px;
}

.native-shell .operational-service-calendar-navigation,
.native-shell .operational-service-calendar-legend {
  display: flex;
  align-items: center;
  gap: 8px;
}

.native-shell .operational-service-calendar-navigation button,
.native-shell .operational-service-calendar-navigation select {
  min-height: 36px;
  border: 1px solid #d1dcde;
  border-radius: 6px;
  background: #fff;
  color: #172638;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .operational-service-calendar-navigation button {
  width: 36px;
  padding: 0;
  font-size: 20px;
  cursor: pointer;
}

.native-shell .operational-service-calendar-navigation select {
  min-width: 108px;
  padding: 0 30px 0 11px;
}

.native-shell .operational-service-calendar-navigation select[data-service-calendar-year] {
  min-width: 78px;
}

.native-shell .operational-service-calendar-navigation button.is-today {
  width: auto;
  padding: 0 15px;
  border-color: #22b5a8;
  color: #008b80;
  font-size: 11px;
}

.native-shell .operational-service-calendar-legend {
  flex-wrap: wrap;
  justify-content: flex-end;
  color: #536368;
  font-size: 10px;
}

.native-shell .operational-service-calendar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.native-shell .operational-service-calendar-legend span::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #13a56f;
  content: '';
}

.native-shell .operational-service-calendar-legend .is-completed::before { background: #258cec; }
.native-shell .operational-service-calendar-legend .is-pending::before { background: #f5a623; }
.native-shell .operational-service-calendar-legend .is-cancelled::before { background: #ed6262; }

.native-shell .operational-service-calendar-scroll {
  margin: 0 18px;
  overflow-x: auto;
  border: 1px solid #dce3e3;
  border-radius: 7px;
}

.native-shell .operational-service-calendar-weekdays,
.native-shell .operational-service-calendar-grid {
  display: grid;
  min-width: 980px;
  grid-template-columns: repeat(7, minmax(140px, 1fr));
}

.native-shell .operational-service-calendar-weekdays span {
  display: grid;
  min-height: 28px;
  place-items: center;
  border-right: 1px solid #e2e8e8;
  background: #f7f9f9;
  color: #26333a;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .operational-service-calendar-weekdays span:last-child {
  border-right: 0;
}

.native-shell .operational-service-calendar-day {
  min-height: 98px;
  padding: 7px 8px 8px;
  overflow: hidden;
  border-top: 1px solid #e2e8e8;
  border-right: 1px solid #e2e8e8;
  background: #fff;
  cursor: pointer;
  transition: background-color .16s ease, box-shadow .16s ease;
}

.native-shell .operational-service-calendar-day:hover,
.native-shell .operational-service-calendar-day:focus-within {
  background: #f4fbfa;
  box-shadow: inset 0 0 0 1px rgba(0, 139, 128, .24);
}

.native-shell .operational-service-calendar-day:nth-child(7n) {
  border-right: 0;
}

.native-shell .operational-service-calendar-day.is-outside {
  background: #fafbfb;
}

.native-shell button.operational-service-calendar-date {
  display: grid;
  width: 23px;
  height: 23px;
  min-height: 23px;
  place-items: center;
  padding: 0;
  border: 0 !important;
  border-radius: 50%;
  background: transparent !important;
  color: #26343a !important;
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .operational-service-calendar-day.is-outside .operational-service-calendar-date {
  color: #98a5a8 !important;
}

.native-shell .operational-service-calendar-day.is-today .operational-service-calendar-date {
  background: #13aa98 !important;
  color: #fff !important;
}

.native-shell .operational-service-calendar-day > div {
  display: grid;
  gap: 4px;
  margin-top: 3px;
}

.native-shell button.operational-service-calendar-event,
.native-shell button.operational-service-calendar-more {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 34px;
  gap: 2px;
  padding: 5px 7px;
  overflow: hidden;
  border: 1px solid #bfe9d7 !important;
  border-radius: 5px;
  background: #f2fbf7 !important;
  color: #184d3d !important;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.native-shell button.operational-service-calendar-event::before {
  position: absolute;
  width: 6px;
  height: 6px;
  margin: 3px 0 0 -1px;
  border-radius: 50%;
  background: #13a56f;
  content: '';
}

.native-shell button.operational-service-calendar-event strong,
.native-shell button.operational-service-calendar-event span {
  overflow: hidden;
  padding-left: 10px;
  font-size: 9px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell button.operational-service-calendar-event.is-completed {
  border-color: #c6ddf7 !important;
  background: #f3f8fe !important;
  color: #285b89 !important;
}
.native-shell button.operational-service-calendar-event.is-completed::before { background: #258cec; }
.native-shell button.operational-service-calendar-event.is-pending {
  border-color: #f4dfba !important;
  background: #fffaf1 !important;
  color: #80510e !important;
}
.native-shell button.operational-service-calendar-event.is-pending::before { background: #f5a623; }
.native-shell button.operational-service-calendar-event.is-cancelled {
  border-color: #f2cccc !important;
  background: #fff7f7 !important;
  color: #9e3c3c !important;
}
.native-shell button.operational-service-calendar-event.is-cancelled::before { background: #ed6262; }

.native-shell button.operational-service-calendar-more {
  min-height: 24px;
  border: 0 !important;
  background: transparent !important;
  color: #007d79 !important;
  font-size: 9px;
  font-weight: 850;
  text-align: center;
}

.native-shell .operational-service-calendar-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 14px 18px 18px;
  color: #627278;
  font-size: 10px;
}

.native-shell .operational-service-calendar-note span {
  display: grid;
  width: 15px;
  height: 15px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .operational-service-calendar-dialog {
  width: min(680px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  padding: 0;
  overflow: auto;
  border: 1px solid #d2dddc;
  border-radius: 8px;
  background: #fff;
  color: #172638;
  box-shadow: 0 30px 70px rgba(15, 23, 42, .28);
}

.native-shell .operational-service-calendar-dialog[open] {
  display: flex;
  flex-direction: column;
}

.native-shell .operational-service-calendar-dialog::backdrop {
  background: rgba(15, 23, 42, .42);
}

.native-shell .operational-service-calendar-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 18px;
  border-bottom: 1px solid #dce3e3;
  flex: 0 0 auto;
}

.native-shell .operational-service-calendar-dialog header small {
  color: #007d79;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .operational-service-calendar-dialog h3 {
  margin: 3px 0 0;
  font-size: 17px;
}

.native-shell .operational-service-calendar-dialog header button {
  display: grid;
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  place-items: center;
  padding: 0;
  border: 1px solid #d1dcde;
  border-radius: 6px;
  background: #fff;
  color: #172638;
  font-size: 22px;
  cursor: pointer;
}

.native-shell .operational-service-calendar-dialog > div {
  display: grid;
  gap: 10px;
  padding: 18px;
}

.native-shell .operational-service-calendar-dialog-body {
  min-height: 150px;
  overflow: auto;
}

.native-shell .operational-service-calendar-dialog footer {
  display: flex;
  flex: 0 0 auto;
  justify-content: flex-end;
  padding: 12px 18px;
  border-top: 1px solid #dce3e3;
  background: #fbfcfc;
}

.native-shell .operational-service-calendar-dialog footer .operational-secondary-button {
  min-height: 36px;
  padding: 0 18px;
  border-color: #14998b;
  background: #fff;
  color: #007d79;
}

.native-shell .operational-service-calendar-dialog-count {
  justify-self: start;
  padding: 6px 10px;
  border-radius: 999px;
  background: #e8f8f3;
  color: #087d68;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .operational-service-calendar-dialog-event {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 14px;
  border: 1px solid #dce3e3;
  border-left: 4px solid #13a56f;
  border-radius: 7px;
}

.native-shell .operational-service-calendar-dialog-event.is-completed { border-left-color: #258cec; }
.native-shell .operational-service-calendar-dialog-event.is-pending { border-left-color: #f5a623; }
.native-shell .operational-service-calendar-dialog-event.is-cancelled { border-left-color: #ed6262; }
.native-shell .operational-service-calendar-dialog-event h4 { margin: 0; font-size: 14px; }
.native-shell .operational-service-calendar-dialog-event p { margin: 4px 0 0; color: #526268; font-size: 11px; }
.native-shell .operational-service-calendar-dialog-event p b { color: #26343a; }

.native-shell .operational-service-calendar-dialog-event-title {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 9px;
}

.native-shell .operational-service-calendar-dialog-event-title time {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #26343a;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .operational-service-calendar-dialog-event-title time::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #13a56f;
  content: '';
}

.native-shell .operational-service-calendar-dialog-event.is-completed time::before { background: #258cec; }
.native-shell .operational-service-calendar-dialog-event.is-pending time::before { background: #f5a623; }
.native-shell .operational-service-calendar-dialog-event.is-cancelled time::before { background: #ed6262; }

.native-shell .operational-service-calendar-dialog-event-title > div {
  display: grid;
  gap: 3px;
}

.native-shell .operational-service-calendar-dialog-event-title span {
  color: #58686d;
  font-size: 10px;
  font-weight: 750;
}

.native-shell .operational-service-calendar-dialog-actions {
  display: grid;
  min-width: 112px;
  gap: 8px;
  justify-items: stretch;
}

.native-shell .operational-service-calendar-dialog-status,
.native-shell .operational-oncology-mixture-status {
  justify-self: end;
  padding: 5px 8px;
  border-radius: 999px;
  background: #e8f8f3;
  color: #087d68;
  font-size: 9px;
  font-weight: 900;
  text-transform: none;
}

.native-shell .operational-service-calendar-dialog-status.is-completed,
.native-shell .operational-oncology-mixture-status.is-completed { background: #eaf3fd; color: #2474bd; }
.native-shell .operational-service-calendar-dialog-status.is-pending,
.native-shell .operational-oncology-mixture-status.is-pending { background: #fff1df; color: #b86c00; }
.native-shell .operational-service-calendar-dialog-status.is-cancelled,
.native-shell .operational-oncology-mixture-status.is-cancelled { background: #fdeaea; color: #b84444; }

.native-shell .operational-service-calendar-dialog-actions > a,
.native-shell .operational-service-calendar-dialog-actions > button {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border: 1px solid #14998b;
  border-radius: 6px;
  color: #007d79;
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}

.native-shell .operational-service-calendar-dialog-actions > button {
  background: #fff;
  cursor: pointer;
}

.native-shell .operational-service-calendar-dialog-actions > a {
  border-color: #d5dede;
  color: #526268;
}

.native-shell .operational-service-calendar-dialog-actions > a.is-primary {
  border-color: #008f80;
  background: #008f80;
  color: #fff;
  box-shadow: 0 10px 22px rgba(0, 143, 128, .14);
}

.native-shell .operational-service-calendar-dialog-empty {
  display: grid;
  min-height: 150px;
  place-content: center;
  justify-items: center;
  text-align: center;
}

.native-shell .operational-service-calendar-dialog-empty span {
  padding: 6px 10px;
  border-radius: 999px;
  background: #f1f4f4;
  color: #637174;
  font-size: 10px;
  font-weight: 850;
}

.native-shell .operational-service-calendar-dialog-empty h4 {
  margin: 14px 0 4px;
  font-size: 16px;
}

.native-shell .operational-service-calendar-dialog-empty p {
  margin: 0;
  color: #637174;
  font-size: 11px;
}

.native-shell .operational-oncology-mixture-dialog {
  width: min(980px, calc(100vw - 32px));
}

.native-shell .operational-service-calendar-dialog > .operational-oncology-mixture-body {
  display: block;
  padding: 0;
  overflow: auto;
}

.native-shell .operational-oncology-mixture-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  padding: 16px 20px;
  border-bottom: 1px solid #dce3e3;
  background: #fbfcfc;
}

.native-shell .operational-oncology-mixture-summary > div,
.native-shell .operational-oncology-mixture-fields > div {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.native-shell .operational-oncology-mixture-summary small,
.native-shell .operational-oncology-mixture-fields small,
.native-shell .operational-oncology-mixture-observations small {
  color: #657379;
  font-size: 9px;
  font-weight: 850;
}

.native-shell .operational-oncology-mixture-summary strong,
.native-shell .operational-oncology-mixture-fields strong {
  overflow-wrap: anywhere;
  font-size: 11px;
}

.native-shell .operational-oncology-mixture-summary .operational-oncology-mixture-status {
  justify-self: start;
}

.native-shell .operational-oncology-mixture-section {
  padding: 17px 20px;
  border-bottom: 1px solid #dce3e3;
}

.native-shell .operational-oncology-mixture-section:last-child {
  border-bottom: 0;
}

.native-shell .operational-oncology-mixture-section h4 {
  margin: 0 0 13px;
  color: #007d79;
  font-size: 11px;
}

.native-shell .operational-oncology-mixture-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 22px;
}

.native-shell .operational-oncology-mixture-fields.is-patient {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.native-shell .operational-oncology-mixture-date-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}

.native-shell .operational-oncology-mixture-date-form label {
  display: grid;
  gap: 5px;
  color: #657379;
  font-size: 9px;
  font-weight: 850;
}

.native-shell .operational-oncology-mixture-date-form input {
  width: 100%;
  min-height: 36px;
  padding: 0 9px;
  border: 1px solid #d1dcde;
  border-radius: 5px;
  background: #fff;
  color: #172638;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  color-scheme: light;
}

.native-shell .operational-mixture-date-control {
  position: relative;
  display: block;
}

.native-shell .operational-mixture-date-control input {
  padding-right: 34px;
}

.native-shell .operational-mixture-date-control svg {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  fill: none;
  stroke: #17324b;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  pointer-events: none;
}

.native-shell .operational-oncology-mixture-date-form button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #14998b;
  border-radius: 5px;
  background: #078d80;
  color: #fff;
  font: inherit;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
  white-space: nowrap;
}

.native-shell .operational-oncology-mixture-observations {
  margin-top: 16px;
}

.native-shell .operational-oncology-mixture-observations p {
  min-height: 36px;
  margin: 6px 0 0;
  padding: 9px 11px;
  border: 1px solid #dce3e3;
  border-radius: 5px;
  color: #45555a;
  font-size: 11px;
}

.native-shell .operational-oncology-mixture-table-wrap {
  overflow-x: auto;
  border: 1px solid #dce3e3;
  border-radius: 6px;
}

.native-shell .operational-oncology-mixture-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 10px;
}

.native-shell .operational-oncology-mixture-table th,
.native-shell .operational-oncology-mixture-table td {
  padding: 8px 10px;
  border-right: 1px solid #e5eaea;
  border-bottom: 1px solid #e5eaea;
  text-align: left;
}

.native-shell .operational-oncology-mixture-table th:last-child,
.native-shell .operational-oncology-mixture-table td:last-child { border-right: 0; }
.native-shell .operational-oncology-mixture-table tbody tr:last-child td { border-bottom: 0; }
.native-shell .operational-oncology-mixture-table th { background: #f7f9f9; color: #45555a; font-size: 9px; }
.native-shell .operational-oncology-mixture-table tr.is-selected td { background: #eaf8f6; }
.native-shell .operational-oncology-mixture-table tr.is-selected td:first-child { box-shadow: inset 3px 0 0 #079b8d; }

.native-shell .operational-oncology-mixture-note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 11px 0 0;
  color: #5f6f74;
  font-size: 9px;
}

.native-shell .operational-oncology-mixture-note span {
  display: grid;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 8px;
  font-weight: 900;
}

@media (max-width: 1280px) {
  .native-shell .operational-service-calendar-filters {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }
}

@media (max-width: 760px) {
  .native-shell .operational-service-calendar-filters { grid-template-columns: 1fr; }
  .native-shell .operational-service-calendar-toolbar { align-items: flex-start; flex-direction: column; }
  .native-shell .operational-service-calendar-legend { justify-content: flex-start; }
  .native-shell .operational-service-calendar-navigation { width: 100%; overflow-x: auto; }
  .native-shell .operational-service-calendar-dialog-event { grid-template-columns: 1fr; }
  .native-shell .operational-service-calendar-dialog-actions { grid-template-columns: 1fr 1fr; }
  .native-shell .operational-service-calendar-dialog-status { grid-column: 1 / -1; justify-self: start; }
  .native-shell .operational-oncology-mixture-summary,
  .native-shell .operational-oncology-mixture-fields,
  .native-shell .operational-oncology-mixture-fields.is-patient { grid-template-columns: 1fr 1fr; }
  .native-shell .operational-oncology-mixture-date-form { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .native-shell .operational-oncology-mixture-summary,
  .native-shell .operational-oncology-mixture-fields,
  .native-shell .operational-oncology-mixture-fields.is-patient { grid-template-columns: 1fr; }
  .native-shell .operational-oncology-mixture-date-form { grid-template-columns: 1fr; }
  .native-shell .operational-service-calendar-dialog-actions { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .native-shell .operational-detail-form { grid-template-columns: 1fr; }
  .native-shell .operational-detail-form .span-2 { grid-column: auto; }
  .native-shell .operational-medication-grid { grid-template-columns: 28px 1fr; }
}

.native-shell .operational-native-workspace {
  grid-row: 2;
  min-width: 0;
  padding: 28px 28px 42px;
}

.native-shell .operational-native-header {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(520px, 700px);
  align-items: start;
  gap: 18px;
  margin-bottom: 16px;
}

.native-shell .operational-native-header .eyebrow {
  color: #475b57;
}

.native-shell .operational-native-header h1 {
  max-width: 620px;
  margin: 4px 0;
  color: #050d14;
  font-size: 25px;
  line-height: 1.08;
  letter-spacing: 0;
}

.native-shell .operational-native-header p {
  margin: 0;
  color: #596965;
  font-size: 13px;
}

.native-shell .operational-native-logout {
  margin: 0;
}

.native-shell .operational-native-user .operational-native-logout button {
  display: inline-flex;
  min-width: 132px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid #ff8f8f !important;
  border-radius: 8px;
  background: #fff !important;
  color: #d62828 !important;
  box-shadow: none !important;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}

.native-shell .operational-native-user .operational-native-logout button:hover,
.native-shell .operational-native-user .operational-native-logout button:focus-visible {
  background: #fff5f5 !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(214, 40, 40, 0.12) !important;
}

.native-shell .operational-native-user .operational-native-logout svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .operational-native-controls {
  display: grid;
  grid-template-columns: 1fr 150px;
  gap: 10px;
  align-items: end;
}

.native-shell .operational-native-controls label {
  display: grid;
  gap: 6px;
  color: #536575;
  font-size: 11px;
  font-weight: 800;
}

.native-shell .operational-native-controls .span-2 {
  grid-column: span 2;
}

.native-shell .operational-native-controls select,
.native-shell .operational-native-filter input,
.native-shell .operational-native-filter select {
  width: 100%;
  min-height: 34px;
  border: 1px solid #cfd8d6;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font-size: 12px;
  font-weight: 700;
}

.native-shell .operational-native-controls time {
  justify-self: end;
  color: #536575;
  font-size: 12px;
  font-weight: 850;
}

@media (max-width: 1320px) {
  .native-shell .operational-native-header {
    grid-template-columns: minmax(320px, 1fr) minmax(520px, 700px);
  }
}

@media (max-width: 900px) {
  .native-shell .operational-native-screen {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto minmax(0, 1fr);
  }

  .native-shell .operational-native-topbar {
    grid-template-columns: 1fr;
  }

  .native-shell .operational-native-topbar > strong,
  .native-shell .operational-native-topbar > span {
    height: auto;
    padding: 14px 18px;
  }

  .native-shell .operational-native-topbar > strong {
    border-right: 0;
    border-bottom: 1px solid #d6dddb;
  }

  .native-shell .operational-native-user {
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 12px 18px 16px;
  }

  .native-shell .operational-native-sidebar {
    position: static;
    grid-row: 2;
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid #d6dddb;
  }

  .native-shell .operational-native-workspace {
    grid-row: 3;
    padding: 20px 16px 32px;
  }

  .native-shell .operational-native-header,
  .native-shell .operational-native-controls {
    grid-template-columns: 1fr;
  }

  .native-shell .operational-native-controls .span-2 {
    grid-column: auto;
  }

  .native-shell .operational-native-controls time,
  .native-shell .operational-native-logout {
    justify-self: start;
  }
}

.native-shell .operational-section-tabs {
  display: flex;
  gap: 10px;
  margin: 0 0 16px;
  padding: 12px;
  overflow-x: auto;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  scrollbar-width: thin;
}

.native-shell .operational-oncology-carousel {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  padding: 12px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .operational-oncology-carousel-track {
  display: flex;
  min-width: 0;
  gap: 10px;
  overflow-x: auto;
  padding: 1px;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.native-shell .operational-oncology-carousel-track::-webkit-scrollbar {
  display: none;
}

.native-shell button.operational-oncology-carousel-arrow {
  display: grid;
  width: 34px;
  min-width: 34px;
  height: 34px;
  min-height: 34px;
  place-items: center;
  padding: 0;
  border: 1px solid #a6dcd4 !important;
  border-radius: 50%;
  background: #fff !important;
  color: #008f80 !important;
  font: inherit;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 14px 28px rgba(0, 143, 128, .09) !important;
  cursor: pointer;
}

.native-shell button.operational-oncology-carousel-arrow:hover,
.native-shell button.operational-oncology-carousel-arrow:focus-visible {
  background: #edfbf8 !important;
  outline: none;
}

.native-shell .operational-oncology-filter {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  flex: 0 0 260px;
  min-height: 58px;
  align-items: center;
  gap: 12px;
  padding: 9px 15px;
  border: 1px solid #d6dfdf;
  border-radius: 7px;
  background: #fff;
  color: #15243a;
  text-decoration: none;
}

.native-shell .operational-compact-carousel .operational-oncology-filter {
  grid-template-columns: 28px minmax(0, 1fr);
  flex: 0 0 168px;
  width: 168px;
  height: 72px;
  min-height: 72px;
  gap: 10px;
  padding: 8px 12px;
}

.native-shell .operational-compact-carousel .operational-oncology-filter-copy strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  line-height: 1.25;
  text-wrap: balance;
}

.native-shell .operational-oncology-filter.is-active {
  border-color: #00a7c8;
  background: #edfcff;
  box-shadow: inset 0 -2px 0 #00a7c8;
}

.native-shell .operational-oncology-filter-initial {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: #f7fafb;
  color: #557174;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .operational-oncology-filter.is-active .operational-oncology-filter-initial {
  background: #fff;
  color: #008aa2;
}

.native-shell .operational-oncology-filter-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.native-shell .operational-oncology-filter-copy strong,
.native-shell .operational-oncology-filter-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .operational-oncology-filter-copy strong {
  font-size: 12px;
  font-weight: 900;
}

.native-shell .operational-oncology-filter-copy small {
  color: #008f80;
  font-size: 10px;
  font-weight: 850;
}

.native-shell .operational-section-tabs a {
  display: inline-flex;
  min-height: 42px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 1px solid #cfd8d6;
  border-radius: 7px;
  background: #fff;
  color: #172638;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}

.native-shell .operational-section-tabs a:hover,
.native-shell .operational-section-tabs a.is-active {
  border-color: #009688;
  background: #e9f7f4;
  color: #007d79;
  box-shadow: inset 0 -2px 0 #009688;
}

@media (max-width: 720px) {
  .native-shell .operational-oncology-carousel {
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    gap: 8px;
    padding: 10px;
  }

  .native-shell button.operational-oncology-carousel-arrow {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    font-size: 20px;
  }

  .native-shell .operational-oncology-filter {
    flex-basis: 214px;
    min-height: 54px;
    padding: 8px 12px;
  }
}

.native-shell .operational-native-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.native-shell .operational-native-metrics article {
  display: grid;
  gap: 12px;
  min-height: 108px;
  padding: 18px 16px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .operational-native-metrics article.is-active {
  border-color: #028c7d;
  background: #eef9f6;
}

.native-shell .operational-native-metrics span,
.native-shell .operational-native-metrics small {
  color: #536575;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .operational-native-metrics strong {
  color: #082441;
  font-size: 28px;
  line-height: 1;
}

.native-shell .operational-native-table-card {
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .operational-native-table-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 18px 16px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .operational-native-table-heading h2 {
  margin: 3px 0 2px;
  color: #111827;
  font-size: 18px;
  line-height: 1.2;
}

.native-shell .operational-native-table-heading span {
  color: #536575;
  font-size: 12px;
}

.native-shell .operational-native-table-heading strong {
  flex: 0 0 auto;
  padding: 8px 13px;
  border: 1px solid #f0b94e;
  border-radius: 999px;
  background: #fff9eb;
  color: #9a5b00;
  font-size: 12px;
}

.native-shell .operational-native-filter {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) 178px;
  gap: 14px;
  padding: 20px 16px;
}

.native-shell .operational-native-filter label {
  display: grid;
  gap: 7px;
  color: #536575;
  font-size: 11px;
  font-weight: 800;
}

.native-shell .operational-native-filter label:first-child {
  position: relative;
}

.native-shell .operational-native-filter label:first-child span {
  position: absolute;
  top: 9px;
  left: 12px;
  color: #66736f;
  font-size: 24px;
  line-height: 1;
}

.native-shell .operational-native-filter input {
  padding-left: 42px;
}

.native-shell .operational-native-table-scroll {
  overflow-x: auto;
  border-top: 1px solid #d5dddb;
}

.native-shell .operational-native-table {
  width: 100%;
  min-width: 1540px;
  border-collapse: collapse;
}

.native-shell .operational-native-table th,
.native-shell .operational-native-table td {
  padding: 16px 14px;
  border-bottom: 1px solid #d5dddb;
  text-align: left;
  vertical-align: middle;
}

.native-shell .operational-native-table th {
  color: #536575;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .operational-native-table td {
  color: #27312f;
  font-size: 13px;
}

.native-shell .operational-native-table td strong {
  color: #24302e;
  font-weight: 850;
}

.native-shell .operational-chip,
.native-shell .operational-mini-form button,
.native-shell .operational-view-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 10px;
  border: 1px solid #81908c;
  border-radius: 4px;
  background: #f6faf9;
  color: #465552;
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}

.native-shell .operational-chip.warning {
  border-color: #f59e0b;
  background: #fff7ed;
  color: #c2410c;
}

.native-shell .operational-chip.oncology {
  border-color: #7c3aed;
  background: #f5f0ff;
  color: #6d28d9;
}

.native-shell .operational-chip.success {
  border-color: #22c55e;
  background: #effcf4;
  color: #047857;
}

.native-shell .operational-chip.danger,
.native-shell .operational-mini-form button.danger {
  border-color: #ef4444;
  background: #fff1f2;
  color: #dc2626;
}

.native-shell .operational-authorization-list {
  display: grid;
  justify-items: start;
  gap: 4px;
}

.native-shell .operational-authorization-control { position: relative; }
.native-shell .authorization-pill {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid currentColor;
  border-radius: 4px;
  font-size: .72rem;
  font-weight: 900;
  white-space: nowrap;
}
.native-shell .authorization-button {
  font: inherit;
  cursor: pointer;
}
.native-shell .authorization-button:hover {
  filter: brightness(.96);
}
.native-shell .authorization-pill::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 4px;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.native-shell .authorization-pill.auth-approved,
.native-shell button.authorization-button.auth-approved {
  border-color: #087d42;
  background: #d5f8e2;
  background-image: none;
  color: #087d42;
  box-shadow: none;
}
.native-shell .authorization-pill.auth-pending,
.native-shell button.authorization-button.auth-pending {
  border-color: #d07600;
  background: #fff5d8;
  background-image: none;
  color: #d07600;
  box-shadow: none;
}
.native-shell .authorization-pill.auth-rejected,
.native-shell button.authorization-button.auth-rejected {
  border-color: #d01010;
  background: #ffe4e4;
  background-image: none;
  color: #d01010;
  box-shadow: none;
}
.native-shell .authorization-locked { cursor: not-allowed; }
.native-shell .operational-authorization-control.is-open > .authorization-button {
  border-color: #22c55e;
  background: #effcf4;
  color: #047857;
}
.native-shell .operational-authorization-menu {
  position: static;
  display: none;
  min-width: 118px;
  margin-top: 5px;
  gap: 5px;
  padding: 6px;
  border: 1px solid #d9e2e0;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 14px 28px rgba(25, 50, 60, .16);
}
.native-shell .operational-authorization-control.is-open > .operational-authorization-menu {
  display: grid;
}
.native-shell .operational-authorization-control form button {
  width: 100%;
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid;
  border-radius: 4px;
  background: #fff;
  color: #31413e;
  font: inherit;
  font-size: .72rem;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}
.native-shell .operational-authorization-control form button::before { content: '○ '; font-size: 12px; line-height: 0; }
.native-shell .operational-authorization-control form button.success { border-color: #087d42; background: #d5f8e2; color: #087d42; }
.native-shell .operational-authorization-control form button.warning { border-color: #d07600; background: #fff5d8; color: #d07600; }
.native-shell .operational-authorization-control form button.danger { border-color: #d01010; background: #ffe4e4; color: #d01010; }
.native-shell .operational-authorization-control form button.is-selected {
  outline: 2px solid rgba(8, 125, 66, .16);
  outline-offset: 1px;
}
.native-shell .operational-native-table tbody tr:has(.operational-authorization-control.is-open) {
  background: #f2fbf8;
}

.native-shell .operational-cancellation-row td {
  padding: 8px 14px;
  background: #f4f7f6;
  color: #43534f;
  font-size: 11px;
}

.native-shell .operational-mini-form {
  margin: 0;
}

.native-shell .operational-provider-control {
  position: relative;
  display: inline-flex;
}

.native-shell .operational-provider-menu {
  position: absolute;
  z-index: 25;
  top: calc(100% + 5px);
  left: 0;
  display: none;
  min-width: 132px;
  padding: 6px;
  border: 1px solid #d9e2e0;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 14px 28px rgba(25, 50, 60, .16);
}

.native-shell .operational-provider-control.is-open > .operational-provider-menu {
  display: grid;
}

.native-shell .operational-provider-menu button {
  width: 100%;
  justify-content: flex-start;
  background-image: none;
  box-shadow: none;
  cursor: pointer;
}

.native-shell .operational-mini-form button:disabled,
.native-shell .operational-disabled-action:disabled {
  border-color: #aebbb8;
  background: #eef2f1;
  background-image: none;
  color: #7b8986;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
}

.native-shell .operational-view-button {
  border-color: #22c55e;
  background: #effcf4;
  color: #047857;
}

.native-shell .operational-heading-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.native-shell .operational-room-schedule {
  display: grid;
  gap: 8px;
}

.native-shell .operational-room-schedule-row {
  display: grid;
  grid-template-columns: minmax(150px, .7fr) 1fr 1fr;
  gap: 12px;
  align-items: end;
  padding: 10px;
  border: 1px solid #d7dfdf;
  border-radius: 8px;
  background: #fff;
}

.native-shell .operational-room-schedule-row > label:first-child {
  min-height: 38px;
  flex-direction: row;
  align-items: center;
}

.native-shell .operational-room-schedule-row input[type="checkbox"] {
  width: 16px;
  min-height: 16px;
}

.native-shell .operational-calendar-actions {
  display: grid;
  justify-items: end;
  gap: 7px;
}

.native-shell .operational-room-availability {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid #d7dfdf;
  border-radius: 8px;
  background: #fff;
  color: #52606d;
  font-size: 12px;
}

.native-shell .operational-room-overview-table {
  min-width: 1460px;
}

.native-shell .operational-room-overview-table td small {
  display: block;
  margin-top: 4px;
  color: #63716e;
  font-size: 11px;
}

.native-shell .operational-room-id,
.native-shell .operational-room-today-count {
  white-space: nowrap;
}

.native-shell .operational-room-id {
  color: #526360;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .operational-room-occupancy {
  display: grid;
  width: 112px;
  gap: 6px;
}

.native-shell .operational-room-occupancy > strong {
  color: #087d70;
  font-size: 13px;
}

.native-shell .operational-room-occupancy > span {
  display: block;
  height: 7px;
  overflow: hidden;
  border-radius: 4px;
  background: #dce8e5;
}

.native-shell .operational-room-occupancy i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #08a88f;
}

.native-shell .operational-room-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.native-shell .operational-room-actions .operational-secondary-button {
  min-height: 28px;
  padding: 4px 10px;
}

.native-shell .operational-room-detail {
  margin-top: 16px;
}

.native-shell .operational-room-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 18px;
  gap: 14px;
}

.native-shell .operational-room-detail-grid > div {
  min-width: 0;
  padding: 12px;
  border: 1px solid #dce4e2;
  border-radius: 6px;
  background: #f8fbfa;
}

.native-shell .operational-room-detail-grid > .span-2 {
  grid-column: span 2;
}

.native-shell .operational-room-detail-grid dt {
  margin-bottom: 6px;
  color: #66736f;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .operational-room-detail-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: #1d2d2a;
  font-size: 13px;
  font-weight: 750;
}

@media (max-width: 760px) {
  .native-shell .operational-room-schedule-row {
    grid-template-columns: 1fr;
  }

  .native-shell .operational-room-detail-grid {
    grid-template-columns: 1fr;
  }

  .native-shell .operational-room-detail-grid > .span-2 {
    grid-column: auto;
  }
}

.native-shell .operational-primary-button,
.native-shell .operational-secondary-button,
.native-shell .operational-modal-card header a,
.native-shell .operational-modal-card footer a,
.native-shell .operational-modal-card footer button,
.native-shell .operational-modal-body label button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 14px;
  border: 1px solid #cfd8d6;
  border-radius: 7px;
  background: #fff;
  color: #111827;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.native-shell .operational-primary-button,
.native-shell .operational-modal-card footer button {
  border-color: #087d70;
  background: #087d70;
  color: #fff;
}

.native-shell .operational-primary-button span {
  margin-right: 8px;
  font-size: 18px;
  line-height: 1;
}

.native-shell .operational-patients-card {
  margin-top: 48px;
}

.native-shell .operational-patients-table {
  min-width: 1320px;
}

.native-shell .operational-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.native-shell .operational-modal:target,
.native-shell .operational-modal.is-open {
  display: flex;
}

.native-shell .operational-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 23, 0.42);
}

.native-shell .operational-modal-card {
  position: relative;
  z-index: 1;
  width: min(820px, calc(100vw - 40px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  border: 1px solid #d5dddb;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 30px 70px rgba(15, 23, 42, 0.28);
}

.native-shell .operational-modal-card header,
.native-shell .operational-modal-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
}

.native-shell .operational-modal-card header {
  border-bottom: 1px solid #d5dddb;
}

.native-shell .operational-modal-card footer {
  border-top: 1px solid #d5dddb;
}

.native-shell .operational-modal-card h2,
.native-shell .operational-modal-card p {
  margin: 0;
}

.native-shell .operational-modal-card h2 {
  font-size: 18px;
  line-height: 1.2;
}

.native-shell .operational-modal-card p {
  color: #61716e;
  font-size: 12px;
}

.native-shell .operational-modal-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 20px;
}

.native-shell .operational-modal-body label {
  display: grid;
  gap: 7px;
  color: #64716e;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .operational-modal-body input {
  width: 100%;
  min-height: 42px;
  border: 1px solid #cfd8d6;
  border-radius: 7px;
  background: #fff;
  color: #111827;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
}

.native-shell .operational-modal-body label button {
  justify-self: start;
  min-width: 104px;
  background: #eef5f4;
}

.native-shell .operational-native-support {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.native-shell .operational-native-support article {
  min-width: 0;
  padding: 16px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .operational-native-support .compact-list {
  max-height: 220px;
  overflow: auto;
}

.native-shell .operational-native-support .compact-list div {
  border-color: #dbe5e2;
  border-radius: 7px;
  background: #fbfdfc;
}

.native-shell .provider-hero {
  min-height: 150px;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 250, 0.96) 100%),
    radial-gradient(circle at 88% 18%, rgba(124, 58, 237, 0.1), transparent 32%);
}

.native-shell .provider-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .provider-hero-mark {
  background: linear-gradient(135deg, #14b8a6 0%, #7c3aed 100%);
  box-shadow: 0 14px 24px rgba(124, 58, 237, 0.14);
}

.native-shell .provider-metrics {
  gap: 14px;
}

.native-shell .provider-metrics .metric-card {
  position: relative;
  min-height: 104px;
  overflow: hidden;
}

.native-shell .provider-metrics .metric-card::after {
  position: absolute;
  right: -26px;
  bottom: -36px;
  width: 98px;
  height: 98px;
  border-radius: 999px;
  background: rgba(124, 58, 237, 0.08);
  content: "";
}

.native-shell .provider-layout {
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.native-shell .provider-profile-card {
  top: 104px;
  overflow: hidden;
  padding: 0;
}

.native-shell .provider-profile-header {
  display: grid;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid #e5eef1;
  background: linear-gradient(180deg, #fbfefe 0%, #f7f4ff 100%);
}

.native-shell .provider-profile-header h2 {
  margin: 0;
  color: #2f2a45;
  font-size: 19px;
  line-height: 1.15;
}

.native-shell .provider-profile-header span {
  display: block;
  margin-top: 4px;
  color: #6d28d9;
  font-size: 13px;
  font-weight: 850;
}

.native-shell .provider-avatar {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  border: 1px solid #d8b4fe;
  border-radius: 22px;
  background: linear-gradient(135deg, #14b8a6 0%, #7c3aed 100%);
  color: #fff;
  box-shadow: 0 14px 24px rgba(124, 58, 237, 0.14);
  font-size: 24px;
  font-weight: 900;
}

.native-shell .provider-profile-card .detail-list {
  padding: 18px 20px 20px;
}

.native-shell .provider-profile-card .detail-list div {
  grid-template-columns: 92px minmax(0, 1fr);
}

.native-shell .provider-requests-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .provider-requests-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #14b8a6 0%, rgba(124, 58, 237, 0) 70%);
  content: "";
}

.native-shell .provider-request-list article {
  border-color: #e5eef1;
  border-radius: 18px;
  padding: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfefe 100%);
  box-shadow: 0 12px 30px rgba(31, 45, 52, 0.06);
}

.native-shell .provider-request-header {
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.native-shell .provider-request-header::before {
  display: none;
}

.native-shell .provider-request-detail div {
  border-bottom-color: #e5eef1;
}

.native-shell .provider-status-form {
  align-items: center;
  border-top: 1px solid #e5eef1;
  padding-top: 12px;
}

.native-shell .provider-timeline,
.native-shell .provider-delivery {
  border: 1px solid #e5eef1;
  border-radius: 14px;
  padding: 12px;
  background: #fbfefe;
}

.native-shell .provider-delivery {
  border-color: #d8b4fe;
  background: #faf5ff;
  color: #6d28d9;
  font-weight: 800;
}

.native-shell .provider-requests-panel .badge {
  background: #faf5ff;
  color: #6d28d9;
}

.native-shell.provider-native-body {
  min-height: 100vh;
  background: #f3f5f4;
}

.native-shell.provider-native-body .topbar {
  display: none;
}

.native-shell.provider-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .provider-native-screen {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 232px minmax(0, 1fr);
  background: #f3f5f4;
  color: #082441;
}

.native-shell .provider-native-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 100vh;
  padding: 20px 0;
  border-right: 1px solid #d5dddb;
  background: #fbfdfc;
}

.native-shell .provider-native-brand {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
  padding: 0 14px 28px;
}

.native-shell .provider-native-brand > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  background: #e1f4f1;
  color: #007d79;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .provider-native-brand strong,
.native-shell .provider-native-brand small {
  display: block;
}

.native-shell .provider-native-brand strong {
  color: #082441;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .provider-native-brand small {
  color: #536575;
  font-size: 11px;
  line-height: 1.25;
}

.native-shell .provider-native-menu {
  display: grid;
  gap: 4px;
}

.native-shell .provider-native-menu p {
  margin: 18px 0 4px;
  padding: 0 8px;
  color: #536575;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .provider-native-menu strong {
  display: block;
  padding: 0 8px 8px;
  color: #082441;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .provider-native-menu a {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  align-items: center;
  min-height: 42px;
  margin: 0 31px 0 0;
  padding: 8px 10px 8px 16px;
  border: 1px solid transparent;
  border-radius: 0 8px 8px 0;
  color: #536575;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.15;
  text-decoration: none;
}

.native-shell .provider-native-menu a.is-active {
  border-color: #b8ded8;
  background: #dff2ee;
  color: #007d79;
}

.native-shell .provider-native-menu a span {
  color: #63716f;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .provider-native-workspace {
  min-width: 0;
  padding: 24px;
}

.native-shell .provider-native-topbar {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.native-shell .provider-native-topbar .eyebrow {
  color: #536575;
}

.native-shell .provider-native-topbar h1 {
  margin: 4px 0 0;
  color: #082441;
  font-size: 20px;
}

.native-shell .provider-native-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.native-shell .provider-native-actions a {
  min-height: 34px;
  padding: 9px 18px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .provider-native-actions time {
  color: #536575;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-native-card {
  margin-bottom: 16px;
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .provider-native-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .provider-native-heading h2 {
  margin: 0 0 4px;
  color: #082441;
  font-size: 16px;
}

.native-shell .provider-native-heading p,
.native-shell .provider-native-heading span {
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .provider-native-catalogs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px 18px 18px;
}

.native-shell .provider-native-catalogs article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: center;
  min-height: 92px;
  padding: 18px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .provider-native-catalogs article span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 7px;
  background: #e1f4f1;
  color: #007d79;
  font-weight: 900;
}

.native-shell .provider-native-catalogs article:nth-child(2) span {
  background: #f1e8ff;
  color: #6d28d9;
}

.native-shell .provider-native-catalogs strong,
.native-shell .provider-native-catalogs p {
  display: block;
  margin: 0;
}

.native-shell .provider-native-catalogs strong {
  color: #082441;
  font-size: 13px;
}

.native-shell .provider-native-catalogs p {
  margin-top: 5px;
  color: #536575;
  font-size: 12px;
}

.native-shell .provider-native-price-card .provider-native-heading {
  min-height: 126px;
}

.native-shell .provider-native-price-actions {
  display: grid;
  grid-template-columns: 180px 190px;
  gap: 10px;
  align-items: end;
}

.native-shell .provider-native-price-actions label {
  display: grid;
  grid-row: span 2;
  gap: 8px;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .provider-native-price-actions select,
.native-shell .provider-native-price-actions button {
  min-height: 42px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-native-empty {
  display: grid;
  min-height: 88px;
  place-items: center;
  border-top: 1px solid #d5dddb;
  color: #536575;
  font-size: 13px;
}

.native-shell .provider-native-requests {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.native-shell .provider-native-requests article {
  padding: 14px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fbfdfc;
}

.native-shell .provider-native-request-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.native-shell .provider-native-request-head strong,
.native-shell .provider-native-request-head span {
  display: block;
}

.native-shell .provider-native-request-head strong {
  color: #082441;
  font-size: 14px;
}

.native-shell .provider-native-request-head span {
  color: #536575;
  font-size: 12px;
}

.native-shell .provider-native-request-head em {
  width: max-content;
  padding: 6px 10px;
  border: 1px solid #e9d5ff;
  border-radius: 999px;
  background: #f5edff;
  color: #7e22ce;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.native-shell .provider-native-requests dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 12px;
  margin: 0 0 12px;
}

.native-shell .provider-native-requests dl div {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .provider-native-requests dt,
.native-shell .provider-native-requests dd {
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .provider-native-requests dd {
  color: #27312f;
  font-weight: 800;
}

.native-shell .provider-native-form {
  display: grid;
  grid-template-columns: minmax(160px, 300px) minmax(240px, 1fr) auto;
  gap: 8px;
  margin: 0 0 10px;
}

.native-shell .provider-native-form select,
.native-shell .provider-native-form input {
  min-height: 38px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
}

.native-shell .provider-native-form button {
  min-height: 38px;
  padding: 0 16px;
  border: 0;
  border-radius: 7px;
  background: #078a7b;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-native-timeline {
  padding: 10px 12px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fff;
}

.native-shell .provider-native-timeline span {
  display: block;
  color: #536575;
  font-size: 12px;
}

.native-shell .provider-native-menu-divider {
  height: 1px;
  margin: 12px 28px 10px 8px;
  background: #d5dddb;
}

.native-shell .provider-native-kpi-pills {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: -12px 0 16px;
}

.native-shell .provider-native-count-pill {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 0 14px;
  border: 1px solid #f0b343;
  border-radius: 999px;
  background: #fff7e6;
  color: #b76d00;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-native-history-page-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.native-shell .provider-native-history-page-heading h2 {
  margin: 0 0 4px;
  color: #1f2528;
  font-size: 14px;
}

.native-shell .provider-native-history-page-heading p {
  margin: 0;
  color: #667176;
  font-size: 11px;
}

.native-shell .provider-native-history-page-heading .provider-native-kpi-pills {
  margin: 0;
}

.native-shell .provider-native-table-wrap {
  overflow-x: auto;
  border-top: 1px solid #d5dddb;
}

.native-shell .provider-native-table {
  width: 100%;
  min-width: 1520px;
  border-collapse: collapse;
  font-size: 12px;
}

.native-shell .provider-native-table th,
.native-shell .provider-native-table td {
  padding: 18px 14px;
  border-bottom: 1px solid #d5dddb;
  text-align: left;
  vertical-align: middle;
}

.native-shell .provider-native-table th {
  color: #536575;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .provider-native-table tr:nth-child(2n) td {
  background: #fbfdfc;
}

.native-shell .provider-native-table tr:hover td {
  background: #eefaf7;
}

.native-shell .provider-native-table strong {
  color: #27312f;
  font-weight: 900;
}

.native-shell .provider-native-service,
.native-shell .provider-native-mini-badge,
.native-shell .provider-native-observation,
.native-shell .provider-native-status-pill {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 4px;
  min-height: 22px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.native-shell .provider-native-mini-badge,
.native-shell .provider-native-status-pill {
  border-radius: 4px;
}

.native-shell .provider-native-service.is-npt {
  background: #ffe2f1;
  color: #c2186a;
}

.native-shell .provider-native-service.is-oncology {
  background: #efe5ff;
  color: #6d28d9;
}

.native-shell .provider-native-mini-badge.is-success,
.native-shell .provider-native-status-pill.is-success {
  border: 1px solid #00a660;
  background: #e8fff3;
  color: #007743;
}

.native-shell .provider-native-mini-badge.is-warning,
.native-shell .provider-native-status-pill.is-warning {
  border: 1px solid #f59e0b;
  background: #fff7e8;
  color: #b76d00;
}

.native-shell .provider-native-status-pill.is-muted {
  border: 1px solid #9aa5a2;
  background: #f6f8f8;
  color: #536575;
}

.native-shell .provider-native-central-select {
  min-width: 108px;
  min-height: 28px;
  padding: 4px 28px 4px 10px;
  border: 1px solid #9aa5a2;
  border-radius: 4px;
  background: #f6f8f8;
  color: #536575;
  font-size: 11px;
  font-weight: 800;
}

.native-shell .provider-native-central-select.is-success {
  border-color: #00a660;
  background-color: #e8fff3;
  color: #007743;
}

.native-shell .provider-native-central-select:disabled {
  cursor: not-allowed;
  opacity: .72;
}

.native-shell .provider-native-observation.is-neutral {
  border: 1px solid #5d6b69;
  background: #fff;
  color: #536575;
}

.native-shell .provider-native-observation.is-danger {
  border: 1px solid #ff4444;
  background: #fff1f1;
  color: #e00000;
}

.native-shell .provider-native-observation.is-success {
  border: 1px solid #00a660;
  background: #e8fff3;
  color: #007743;
}

.native-shell .provider-native-cta {
  display: inline-flex;
  min-width: 150px;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 4px;
  background: #10c98c;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.05;
}

.native-shell .provider-native-view-button {
  display: inline-flex;
  min-width: 52px;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  border: 1px solid #0f66c2;
  border-radius: 4px;
  background: #eef6ff;
  color: #0f66c2;
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .provider-native-view-button.is-green {
  border-color: #00a660;
  background: #edfff5;
  color: #007743;
}

.native-shell .provider-native-dialog {
  width: min(620px, calc(100vw - 32px));
  padding: 0;
  border: 1px solid #cad9d6;
  border-radius: 10px;
  background: #fff;
  color: #172321;
  box-shadow: 0 20px 55px rgba(13, 32, 29, .2);
}

.native-shell .provider-native-dialog::backdrop {
  background: rgba(16, 31, 29, .54);
}

.native-shell .provider-native-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .provider-native-dialog header button {
  min-height: 32px;
  padding: 7px 13px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  font-weight: 800;
}

.native-shell .provider-native-dialog > p {
  margin: 0;
  padding: 18px;
  color: #536575;
}

.native-shell .provider-native-dialog dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 18px 18px 0;
}

.native-shell .provider-native-dialog dl div {
  padding: 12px;
  border: 1px solid #dbe4e2;
  border-radius: 7px;
  background: #fbfdfc;
}

.native-shell .provider-native-dialog dt {
  color: #657370;
  font-size: 10px;
  font-weight: 800;
}

.native-shell .provider-native-dialog dd {
  margin: 5px 0 0;
  font-weight: 800;
}

.native-shell .provider-native-dialog-row {
  height: 0;
}

.native-shell .provider-native-dialog-row > td {
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  line-height: 0;
}

.native-shell .provider-native-panel-toolbar {
  padding: 16px 18px 0;
}

.native-shell .provider-native-select-block {
  display: grid;
  width: min(260px, 100%);
  gap: 8px;
  color: #536575;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .provider-native-select-block select {
  min-height: 42px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-native-info-banner {
  padding: 10px 18px;
  border-bottom: 1px solid #b8ded8;
  background: #e7f6f2;
  color: #007d79;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-native-messenger-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 12px;
  padding: 16px 18px;
}

.native-shell .provider-native-messenger-card {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 14px;
  min-height: 210px;
  padding: 12px;
  border: 1px solid #cdd8d5;
  border-radius: 8px;
  background: #fff;
}

.native-shell .provider-native-avatar {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  border-radius: 7px;
  font-size: 18px;
  font-weight: 900;
}

.native-shell .provider-native-avatar.is-danger {
  background: #fde2df;
  color: #c9342b;
}

.native-shell .provider-native-avatar.is-success {
  background: #dff2ee;
  color: #078a7b;
}

.native-shell .provider-native-messenger-body {
  display: grid;
  gap: 5px;
  color: #536575;
  font-size: 12px;
}

.native-shell .provider-native-messenger-body strong {
  color: #082441;
  font-size: 13px;
}

.native-shell .provider-native-messenger-body em {
  color: #008575;
  font-style: normal;
  font-weight: 900;
}

.native-shell .provider-native-messenger-body hr {
  width: 100%;
  margin: 4px 0;
  border: 0;
  border-top: 1px solid #d5dddb;
}

.native-shell .provider-native-messenger-body p,
.native-shell .provider-native-messenger-body b,
.native-shell .provider-native-messenger-body small {
  margin: 0;
}

.native-shell .provider-native-messenger-body b {
  color: #082441;
  font-size: 12px;
}

.native-shell .provider-native-card-actions {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.native-shell .provider-native-card-actions button,
.native-shell .provider-native-heading > button,
.native-shell .provider-native-price-actions button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-native-routes-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(230px, 1fr));
  gap: 12px;
  padding: 14px 18px 18px;
}

.native-shell .provider-native-route-card {
  padding: 14px;
  border: 1px solid #cdd8d5;
  border-radius: 8px;
  background: #fff;
}

.native-shell .provider-native-route-card > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.native-shell .provider-native-route-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #0f66c2;
  border-radius: 6px;
  color: #0f66c2;
  font-weight: 900;
}

.native-shell .provider-native-route-badge {
  padding: 6px 12px;
  border-radius: 999px;
  background: #eef0f0;
  color: #082441;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .provider-native-route-card h3 {
  margin: 14px 0 4px;
  color: #082441;
  font-size: 15px;
}

.native-shell .provider-native-route-card p {
  margin: 0 0 14px;
  color: #536575;
  font-size: 12px;
}

.native-shell .provider-native-route-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.native-shell .provider-native-route-stats span {
  display: grid;
  gap: 5px;
  min-height: 52px;
  padding: 10px;
  border-radius: 6px;
  background: #f2f5f4;
}

.native-shell .provider-native-route-stats small {
  color: #536575;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .provider-native-route-stats b {
  color: #082441;
  font-size: 13px;
}

.native-shell .provider-native-route-button {
  margin-top: 12px;
  min-height: 32px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: #002d2b;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

@media (max-width: 1100px) {
  .native-shell .provider-native-messenger-grid,
  .native-shell .provider-native-routes-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .native-shell .provider-native-price-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .native-shell .provider-native-screen {
    grid-template-columns: 1fr;
  }

  .native-shell .provider-native-sidebar {
    position: relative;
    min-height: auto;
  }

  .native-shell .provider-native-topbar,
  .native-shell .provider-native-heading {
    flex-direction: column;
    align-items: stretch;
  }

  .native-shell .provider-native-catalogs,
  .native-shell .provider-native-messenger-grid,
  .native-shell .provider-native-routes-grid {
    grid-template-columns: 1fr;
  }

  .native-shell .provider-native-kpi-pills {
    justify-content: flex-start;
    margin-top: 0;
  }
}

.native-shell.provider-chemo-native-body {
  min-height: 100vh;
  background: #f3f5f4;
}

.native-shell.provider-chemo-native-body .topbar {
  display: none;
}

.native-shell.provider-chemo-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .provider-chemo-native-screen {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 236px minmax(0, 1fr);
  background: #f3f5f4;
  color: #082441;
}

.native-shell .provider-chemo-native-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 100vh;
  padding: 20px 4px;
  border-right: 1px solid #d5dddb;
  background: #fbfdfc;
}

.native-shell .provider-chemo-native-brand {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
  padding: 0 14px 28px;
}

.native-shell .provider-chemo-native-brand > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  background: #f5dff0;
  color: #922078;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .provider-chemo-native-brand strong,
.native-shell .provider-chemo-native-brand small {
  display: block;
}

.native-shell .provider-chemo-native-brand strong {
  color: #082441;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .provider-chemo-native-brand small {
  color: #536575;
  font-size: 11px;
  line-height: 1.2;
}

.native-shell .provider-chemo-native-menu {
  display: grid;
  gap: 10px;
}

.native-shell .provider-chemo-native-menu a {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 7px;
  color: #536575;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .provider-chemo-native-menu a.is-active {
  background: #f3dced;
  color: #8a176f;
}

.native-shell .provider-chemo-native-workspace {
  min-width: 0;
  padding: 22px 24px 42px;
}

.native-shell .provider-chemo-native-topbar {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.native-shell .provider-chemo-native-topbar .eyebrow {
  color: #536575;
}

.native-shell .provider-chemo-native-topbar h1 {
  margin: 4px 0 0;
  color: #082441;
  font-size: 20px;
}

.native-shell .provider-chemo-native-topbar div:last-child {
  display: flex;
  align-items: center;
  gap: 12px;
}

.native-shell .provider-chemo-native-topbar a {
  min-height: 34px;
  padding: 9px 18px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .provider-chemo-native-topbar time {
  color: #536575;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-chemo-native-tabs {
  display: flex;
  width: max-content;
  margin-bottom: 34px;
  padding: 4px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .provider-chemo-native-tabs a {
  min-height: 38px;
  padding: 11px 16px;
  border-radius: 6px;
  color: #536575;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .provider-chemo-native-tabs a.is-active {
  background: #f3dced;
  color: #8a176f;
}

.native-shell .provider-chemo-native-filters {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) 220px;
  gap: 12px;
  margin-bottom: 16px;
}

.native-shell .provider-chemo-native-filters label {
  display: grid;
  gap: 7px;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .provider-chemo-native-filters .search {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
}

.native-shell .provider-chemo-native-filters input,
.native-shell .provider-chemo-native-filters select {
  min-height: 42px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .provider-chemo-native-filters .search input {
  min-height: 0;
  border: 0;
}

.native-shell .provider-chemo-native-card {
  margin-bottom: 16px;
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .provider-chemo-native-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .provider-chemo-native-heading h2 {
  margin: 0 0 4px;
  color: #082441;
  font-size: 16px;
}

.native-shell .provider-chemo-native-heading p,
.native-shell .provider-chemo-native-heading span {
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .provider-chemo-native-heading button {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-chemo-native-table-scroll {
  overflow-x: auto;
}

.native-shell .provider-chemo-native-table {
  width: 100%;
  min-width: 1040px;
  border-collapse: collapse;
}

.native-shell .provider-chemo-native-table th,
.native-shell .provider-chemo-native-table td {
  padding: 15px 18px;
  border-bottom: 1px solid #d5dddb;
  text-align: left;
  vertical-align: middle;
}

.native-shell .provider-chemo-native-table th {
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .provider-chemo-native-table td {
  color: #082441;
  font-size: 13px;
}

.native-shell .provider-chemo-native-table tr:nth-child(odd) td {
  background: #eff8f5;
}

.native-shell .provider-chemo-native-check {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 3px;
  background: #922078;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-chemo-native-status {
  display: inline-flex;
  padding: 7px 13px;
  border-radius: 999px;
  background: #f3dced;
  color: #8a176f;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .provider-chemo-native-requests {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.native-shell .provider-chemo-native-requests article {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fbfdfc;
}

.native-shell .provider-chemo-native-requests strong,
.native-shell .provider-chemo-native-requests span {
  display: block;
}

.native-shell .provider-chemo-native-requests form {
  display: grid;
  grid-template-columns: 180px 1fr auto;
  gap: 8px;
  margin: 0;
}

.native-shell .provider-chemo-native-requests select,
.native-shell .provider-chemo-native-requests input {
  min-height: 38px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
}

.native-shell .provider-chemo-native-requests button {
  min-height: 38px;
  padding: 0 16px;
  border: 0;
  border-radius: 7px;
  background: #922078;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.native-shell.provider-import-native-body {
  background: #f3f6f5;
}

.native-shell.provider-import-native-body .topbar {
  display: none;
}

.native-shell.provider-import-native-body .shell {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .provider-import-native-screen {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  color: #0f1b2d;
  background: #f3f6f5;
}

.native-shell .provider-import-native-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 100vh;
  padding: 18px 16px;
  border-right: 1px solid #cfd9d7;
  background: #f8fbfa;
}

.native-shell .provider-import-native-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 34px;
}

.native-shell .provider-import-native-brand > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #ddf5f0;
  color: #00796f;
  font-size: 15px;
  font-weight: 900;
}

.native-shell .provider-import-native-brand strong,
.native-shell .provider-import-native-brand small {
  display: block;
}

.native-shell .provider-import-native-brand strong {
  font-size: 16px;
  font-weight: 900;
}

.native-shell .provider-import-native-brand small {
  margin-top: 2px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.native-shell .provider-import-native-menu {
  display: grid;
  gap: 10px;
}

.native-shell .provider-import-native-menu a {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0 14px;
  border-radius: 7px;
  color: #53616c;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .provider-import-native-menu a.is-active {
  background: #dff4ee;
  color: #00796f;
}

.native-shell .provider-import-native-menu a span {
  width: 20px;
  color: #6f7f87;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-import-native-workspace {
  padding: 24px 18px 48px 24px;
}

.native-shell .provider-import-native-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

.native-shell .provider-import-native-topbar .eyebrow {
  margin: 0 0 5px;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .provider-import-native-topbar h1 {
  margin: 0;
  font-size: 24px;
  line-height: 1.1;
  font-weight: 900;
}

.native-shell .provider-import-native-topbar div:last-child {
  display: flex;
  align-items: center;
  gap: 16px;
}

.native-shell .provider-import-native-topbar a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #0f1b2d;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .provider-import-native-topbar time {
  color: #536575;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-import-native-card {
  margin-bottom: 16px;
  border: 1px solid #cfd9d7;
  border-radius: 7px;
  background: #fff;
  overflow: hidden;
}

.native-shell .provider-import-native-heading {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
  border-bottom: 1px solid #cfd9d7;
}

.native-shell .provider-import-native-heading h2,
.native-shell .provider-import-native-heading p {
  margin: 0;
}

.native-shell .provider-import-native-heading h2 {
  font-size: 18px;
  line-height: 1.2;
  font-weight: 900;
}

.native-shell .provider-import-native-heading p {
  margin-top: 4px;
  color: #536575;
  font-size: 12px;
}

.native-shell .provider-import-native-heading button {
  min-height: 42px;
  padding: 0 20px;
  border: 0;
  border-radius: 7px;
  background: #0b7a6f;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .provider-import-native-table-scroll {
  overflow-x: auto;
}

.native-shell .provider-import-native-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
}

.native-shell .provider-import-native-table th,
.native-shell .provider-import-native-table td {
  padding: 15px 18px;
  border-bottom: 1px solid #cfd9d7;
  text-align: left;
  vertical-align: middle;
}

.native-shell .provider-import-native-table th {
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .provider-import-native-table td {
  font-size: 14px;
}

.native-shell .provider-import-native-table td span {
  display: block;
  margin-top: 2px;
  color: #536575;
  font-size: 12px;
}

.native-shell .provider-import-native-stage {
  display: inline-flex !important;
  width: max-content;
  margin: 0 !important;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff1d6;
  color: #9a5d00 !important;
  font-size: 12px !important;
  font-weight: 900;
}

.native-shell .provider-import-native-progress {
  width: 176px;
  height: 7px;
  margin-top: 8px !important;
  border-radius: 999px;
  background: #dbe5e3;
  overflow: hidden;
}

.native-shell .provider-import-native-progress i {
  height: 100%;
  display: block;
  border-radius: inherit;
  background: #0b7a6f;
}

.native-shell .provider-import-native-table td button {
  min-height: 34px;
  padding: 0 16px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #0f1b2d;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .provider-import-native-requests {
  padding: 18px;
}

.native-shell .provider-import-native-requests article {
  display: grid;
  gap: 10px;
  padding: 15px;
  border: 1px solid #d8e2df;
  border-radius: 7px;
}

.native-shell .provider-import-native-requests strong,
.native-shell .provider-import-native-requests span {
  display: block;
}

.native-shell .provider-import-native-requests form {
  display: grid;
  grid-template-columns: minmax(180px, 280px) minmax(220px, 1fr) auto;
  gap: 8px;
}

.native-shell .provider-import-native-requests select,
.native-shell .provider-import-native-requests input {
  min-height: 38px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
}

.native-shell .provider-import-native-requests button {
  min-height: 38px;
  padding: 0 16px;
  border: 0;
  border-radius: 7px;
  background: #0b7a6f;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.native-shell.provider-import-native-body,
.native-shell .provider-import-native-screen {
  background: #f7fafb;
}

.native-shell .provider-import-native-screen {
  grid-template-columns: 290px minmax(0, 1fr);
  grid-template-rows: 58px minmax(0, 1fr);
  color: #10204a;
}

.native-shell .provider-import-native-global-header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  grid-column: 1 / -1;
  grid-row: 1;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  border-bottom: 1px solid #dbe4ee;
  background: #fff;
}

.native-shell .provider-import-native-global-brand {
  display: flex;
  flex: 0 0 290px;
  align-items: center;
  align-self: stretch;
  min-width: 0;
  padding: 0 24px;
  border-right: 1px solid #dbe4ee;
  font-size: 19px;
  font-weight: 800;
  white-space: nowrap;
}

.native-shell .provider-import-native-account {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 22px;
}

.native-shell .provider-import-native-notifications {
  position: relative;
}

.native-shell .provider-import-native-notifications summary {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 7px;
  background: #f7fbfc;
  color: #182f67;
  cursor: pointer;
  list-style: none;
}

.native-shell .provider-import-native-notifications summary::-webkit-details-marker {
  display: none;
}

.native-shell .provider-import-native-notifications p {
  position: absolute;
  top: 47px;
  right: 0;
  z-index: 110;
  width: 220px;
  margin: 0;
  padding: 14px;
  border: 1px solid #dbe4ee;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(27, 56, 87, .12);
  font-size: 12px;
}

.native-shell .provider-import-native-account-name {
  display: grid;
  gap: 3px;
  min-width: 120px;
}

.native-shell .provider-import-native-account-name strong {
  color: #101a30;
  font-size: 13px;
  font-weight: 750;
}

.native-shell .provider-import-native-account-name small {
  color: #34518d;
  font-size: 11px;
}

.native-shell.provider-import-native-body button.provider-import-native-logout {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
  border: 1px solid #ff6b6f;
  border-radius: 7px;
  background: #fff;
  color: #ec303b;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: none;
  cursor: pointer;
}

.native-shell.provider-import-native-body button.provider-import-native-logout:hover {
  background: #fff6f6;
}

.native-shell .provider-import-native-global-header svg,
.native-shell .provider-import-native-intro svg,
.native-shell .provider-import-native-empty svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .provider-import-native-logout svg {
  flex: 0 0 21px;
}

.native-shell .provider-import-native-sidebar {
  position: sticky;
  top: 58px;
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  height: calc(100vh - 58px);
  min-height: 0;
  padding: 32px 17px 28px;
  overflow-y: auto;
  border-right: 1px solid #e4eaf0;
  background: #fff;
}

.native-shell .provider-import-native-menu {
  gap: 6px;
}

.native-shell .provider-import-native-menu a {
  min-height: 48px;
  gap: 27px;
  padding: 0 18px;
  color: #254077;
  font-size: 14px;
  font-weight: 700;
}

.native-shell .provider-import-native-menu a.is-active {
  background: #e7f8f6;
  color: #008f84;
}

.native-shell .provider-import-native-menu svg {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.native-shell .provider-import-native-menu a span {
  width: auto;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.native-shell .provider-import-native-workspace {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  padding: 12px 18px 36px;
}

.native-shell .provider-import-native-intro {
  display: flex;
  min-height: 107px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 10px;
  padding: 16px 22px;
  border: 1px solid #e3eaf1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(26, 53, 85, .035);
}

.native-shell .provider-import-native-intro h1,
.native-shell .provider-import-native-intro p {
  margin: 0;
}

.native-shell .provider-import-native-intro h1 {
  color: #101d4c;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.15;
}

.native-shell .provider-import-native-intro p {
  margin-top: 7px;
  color: #4b6497;
  font-size: 15px;
}

.native-shell .provider-import-native-intro time {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  gap: 16px;
  padding: 0 18px;
  border: 1px solid #d7e2ed;
  border-radius: 7px;
  color: #304d85;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: 0 7px 18px rgba(25, 52, 83, .07);
}

.native-shell .provider-import-native-card {
  margin-bottom: 14px;
  border-color: #d7e1eb;
  border-radius: 8px;
  box-shadow: 0 5px 18px rgba(25, 52, 83, .045);
}

.native-shell .provider-import-native-heading {
  min-height: 74px;
  padding: 14px 24px;
  border-bottom-color: #dce5ee;
}

.native-shell .provider-import-native-heading h2 {
  color: #101d4c;
  font-size: 21px;
  font-weight: 800;
}

.native-shell .provider-import-native-heading p {
  color: #4b6497;
  font-size: 14px;
}

.native-shell .provider-import-native-heading button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  gap: 16px;
  padding: 0 20px;
  background: #008f84;
  font-size: 15px;
  font-weight: 750;
  white-space: nowrap;
  box-shadow: 0 7px 16px rgba(0, 143, 132, .17);
  cursor: pointer;
}

.native-shell .provider-import-native-plus {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #008f84;
  font-size: 18px;
  line-height: 1;
}

.native-shell .provider-import-native-table {
  min-width: 1080px;
  table-layout: fixed;
}

.native-shell .provider-import-native-table th,
.native-shell .provider-import-native-table td {
  padding: 11px 24px;
  border-bottom-color: #dce5ee;
}

.native-shell .provider-import-native-table th {
  height: 50px;
  background: #fbfcfe;
  color: #304b7c;
  font-size: 11px;
  font-weight: 750;
}

.native-shell .provider-import-native-table th:nth-child(1) { width: 12%; }
.native-shell .provider-import-native-table th:nth-child(2) { width: 15%; }
.native-shell .provider-import-native-table th:nth-child(3) { width: 15.5%; }
.native-shell .provider-import-native-table th:nth-child(4) { width: 15%; }
.native-shell .provider-import-native-table th:nth-child(5) { width: 13.5%; }
.native-shell .provider-import-native-table th:nth-child(6) { width: 18%; }
.native-shell .provider-import-native-table th:nth-child(7) { width: 11%; }

.native-shell .provider-import-native-table td {
  height: 85px;
  color: #20386e;
  font-size: 14px;
  line-height: 1.3;
}

.native-shell .provider-import-native-table td strong {
  color: #10204a;
  font-weight: 800;
}

.native-shell .provider-import-native-table td:first-child strong {
  display: block;
  max-width: 130px;
  overflow-wrap: anywhere;
}

.native-shell .provider-import-native-table td span {
  color: #5b74a1;
  font-size: 13px;
}

.native-shell .provider-import-native-stage {
  display: inline-flex !important;
  min-width: 154px;
  justify-content: center;
  padding: 9px 15px;
  background: #fff0d2;
  color: #9d4409 !important;
  font-size: 13px !important;
}

.native-shell .provider-import-native-progress {
  width: 100%;
  max-width: 200px;
  height: 10px;
  margin-top: 9px !important;
  background: #e3eaee;
}

.native-shell .provider-import-native-progress i {
  background: #009688;
}

.native-shell .provider-import-native-table td button {
  min-width: 96px;
  min-height: 50px;
  border-color: #d4e0ed;
  color: #10204a;
  font-size: 15px;
  font-weight: 750;
  box-shadow: 0 5px 12px rgba(26, 53, 85, .06);
  cursor: pointer;
}

.native-shell .provider-import-native-card:has(.provider-import-native-requests) .provider-import-native-heading {
  min-height: 80px;
}

.native-shell .provider-import-native-requests {
  padding: 0;
}

.native-shell .provider-import-native-requests article {
  margin: 16px;
}

.native-shell .provider-import-native-empty {
  display: grid;
  min-height: 169px;
  justify-items: center;
  align-content: center;
  padding: 16px;
  text-align: center;
}

.native-shell .provider-import-native-empty > span {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  margin-bottom: 9px;
  border-radius: 50%;
  background: #eef3fb;
  color: #26457f;
}

.native-shell .provider-import-native-empty svg {
  width: 28px;
  height: 28px;
}

.native-shell .provider-import-native-empty strong {
  color: #10204a;
  font-size: 15px;
}

.native-shell .provider-import-native-empty p {
  max-width: 390px;
  margin: 8px 0 0;
  color: #5b74a1;
  font-size: 13px;
  line-height: 1.5;
}

@media (min-width: 1151px) and (max-width: 1450px) {
  .native-shell .provider-import-native-screen {
    grid-template-columns: 250px minmax(0, 1fr);
  }

  .native-shell .provider-import-native-global-brand {
    flex-basis: 250px;
    padding: 0 16px;
    font-size: 16px;
  }

  .native-shell .provider-import-native-table {
    min-width: 0;
  }

  .native-shell .provider-import-native-table th,
  .native-shell .provider-import-native-table td {
    padding-right: 10px;
    padding-left: 10px;
  }

  .native-shell .provider-import-native-stage {
    width: 100%;
    min-width: 0;
    padding: 8px 5px;
    font-size: 11px !important;
  }

  .native-shell .provider-import-native-table td button {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 0 6px;
    font-size: 13px;
  }
}

@media (max-width: 1150px) {
  .native-shell .provider-import-native-screen {
    grid-template-columns: 230px minmax(0, 1fr);
  }

  .native-shell .provider-import-native-global-brand {
    flex-basis: 230px;
    padding: 0 16px;
    font-size: 15px;
  }

  .native-shell .provider-import-native-menu a {
    gap: 16px;
    padding: 0 12px;
  }
}

@media (max-width: 760px) {
  .native-shell .provider-import-native-screen {
    display: block;
  }

  .native-shell .provider-import-native-global-header {
    min-height: 58px;
  }

  .native-shell .provider-import-native-global-brand {
    flex: 1 1 auto;
    padding: 0 12px;
    border-right: 0;
    font-size: 13px;
  }

  .native-shell .provider-import-native-account {
    gap: 6px;
    padding: 0 10px 0 0;
  }

  .native-shell .provider-import-native-account-name {
    display: none;
  }

  .native-shell .provider-import-native-logout {
    width: 40px;
    min-height: 40px;
    justify-content: center;
    padding: 0;
  }

  .native-shell .provider-import-native-logout span {
    display: none;
  }

  .native-shell .provider-import-native-sidebar {
    position: static;
    height: auto;
    padding: 8px 10px;
    overflow-x: auto;
    overflow-y: hidden;
    border-right: 0;
    border-bottom: 1px solid #dbe4ee;
  }

  .native-shell .provider-import-native-menu {
    display: flex;
    width: max-content;
    gap: 4px;
  }

  .native-shell .provider-import-native-menu a {
    flex: 0 0 auto;
    min-height: 40px;
    gap: 7px;
    padding: 0 10px;
    font-size: 12px;
  }

  .native-shell .provider-import-native-menu svg {
    flex-basis: 18px;
    width: 18px;
    height: 18px;
  }

  .native-shell .provider-import-native-workspace {
    padding: 12px 10px 24px;
  }

  .native-shell .provider-import-native-intro {
    flex-wrap: wrap;
    min-height: 0;
    padding: 18px;
  }

  .native-shell .provider-import-native-intro h1 {
    font-size: 25px;
  }

  .native-shell .provider-import-native-intro p {
    font-size: 13px;
  }

  .native-shell .provider-import-native-intro time {
    min-height: 42px;
    font-size: 13px;
  }

  .native-shell .provider-import-native-heading {
    flex-wrap: wrap;
    padding: 15px 16px;
  }

  .native-shell .provider-import-native-heading h2 {
    font-size: 18px;
  }

  .native-shell .provider-import-native-heading button {
    min-height: 40px;
    font-size: 13px;
  }

  .native-shell .provider-import-native-requests article form {
    grid-template-columns: 1fr;
  }
}

.native-shell .unit-hero {
  min-height: 150px;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 250, 0.96) 100%),
    radial-gradient(circle at 88% 18%, rgba(14, 165, 233, 0.11), transparent 32%);
}

.native-shell .unit-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .unit-hero-mark {
  background: linear-gradient(135deg, #24d9c6 0%, #0ea5e9 100%);
  box-shadow: 0 14px 24px rgba(14, 165, 233, 0.16);
}

.native-shell .unit-metrics {
  gap: 14px;
}

.native-shell .unit-metrics .metric-card {
  position: relative;
  min-height: 104px;
  overflow: hidden;
}

.native-shell .unit-metrics .metric-card::after {
  position: absolute;
  right: -26px;
  bottom: -36px;
  width: 98px;
  height: 98px;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.09);
  content: "";
}

.native-shell .unit-layout {
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.native-shell .unit-profile-card {
  top: 104px;
  overflow: hidden;
  padding: 0;
}

.native-shell .unit-profile-header {
  display: grid;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid #e5eef1;
  background: linear-gradient(180deg, #fbfefe 0%, #f0f9ff 100%);
}

.native-shell .unit-profile-header h2 {
  margin: 0;
  color: #26324a;
  font-size: 19px;
  line-height: 1.15;
}

.native-shell .unit-profile-header span {
  display: block;
  margin-top: 4px;
  color: #0284c7;
  font-size: 13px;
  font-weight: 850;
}

.native-shell .unit-avatar {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  border: 1px solid #bae6fd;
  border-radius: 22px;
  background: linear-gradient(135deg, #24d9c6 0%, #0ea5e9 100%);
  color: #fff;
  box-shadow: 0 14px 24px rgba(14, 165, 233, 0.16);
  font-size: 24px;
  font-weight: 900;
}

.native-shell .unit-profile-card .detail-list {
  padding: 18px 20px 20px;
}

.native-shell .unit-profile-card .detail-list div {
  grid-template-columns: 92px minmax(0, 1fr);
}

.native-shell .unit-appointments-panel,
.native-shell .unit-provider-panel,
.native-shell .unit-side-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .unit-appointments-panel::before,
.native-shell .unit-provider-panel::before,
.native-shell .unit-side-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #0ea5e9 0%, rgba(14, 165, 233, 0) 70%);
  content: "";
}

.native-shell .unit-appointments-panel .table-card {
  border-color: #e5eef1;
  border-radius: 16px;
}

.native-shell .unit-appointments-panel .data-table {
  min-width: 840px;
}

.native-shell .unit-appointments-panel .data-table tr:hover td {
  background: #fbfefe;
}

.native-shell .unit-status-form {
  align-items: center;
}

.native-shell .unit-side-panel .compact-list,
.native-shell .unit-provider-panel .compact-list {
  max-height: 420px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .unit-side-panel .compact-list div,
.native-shell .unit-provider-panel .compact-list div {
  border-color: #e5eef1;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .unit-appointments-panel .badge,
.native-shell .unit-side-panel .badge,
.native-shell .unit-provider-panel .badge {
  background: #eff6ff;
  color: #0369a1;
}

.native-shell.unit-native-body {
  min-height: 100vh;
  background: #f3f5f4;
}

.native-shell.unit-native-body .topbar {
  display: none;
}

.native-shell.unit-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .unit-native-screen {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 260px minmax(0, 1fr);
  grid-template-rows: 58px minmax(0, 1fr);
  background: #f3f5f4;
  color: #082441;
}

.native-shell .unit-native-topbar {
  display: grid;
  grid-column: 1 / -1;
  grid-row: 1;
  grid-template-columns: 260px minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
  border-bottom: 1px solid #dce5e4;
  background: #fff;
}

.native-shell .unit-native-topbar > strong,
.native-shell .unit-native-topbar > span {
  display: flex;
  height: 100%;
  align-items: center;
  min-width: 0;
  padding: 0 28px;
  overflow: hidden;
  color: #1c2c3c;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.native-shell .unit-native-topbar > strong {
  border-right: 1px solid #dce5e4;
}

.native-shell .unit-native-topbar > span {
  color: #516174;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .unit-native-topbar-user {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 24px;
}

.native-shell .unit-native-topbar-user > button {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: #fbfdfc;
  color: #1b2a3d;
}

.native-shell .unit-native-topbar-user > div {
  display: grid;
  min-width: 116px;
  gap: 2px;
}

.native-shell .unit-native-topbar-user strong {
  color: #082441;
  font-size: 11px;
  font-weight: 950;
}

.native-shell .unit-native-topbar-user small {
  color: #536575;
  font-size: 9px;
  font-weight: 750;
}

.native-shell .unit-native-topbar svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.native-shell .unit-native-sidebar {
  position: sticky;
  top: 0;
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  min-height: 100vh;
  padding: 16px 8px 28px;
  border-right: 1px solid #d5dddb;
  background: #fbfdfc;
}

.native-shell .unit-native-brand {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
}

.native-shell .unit-native-brand > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #a8dcd3;
  border-radius: 8px;
  background: #e6f5f2;
  color: #007d79;
  font-size: 20px;
  font-weight: 900;
}

.native-shell .unit-native-brand strong,
.native-shell .unit-native-brand small {
  display: block;
}

.native-shell .unit-native-brand strong {
  color: #082441;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .unit-native-brand small {
  color: #536575;
  font-size: 11px;
}

.native-shell .unit-native-menu {
  display: grid;
  gap: 8px;
}

.native-shell .unit-native-menu a {
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 7px;
  color: #536575;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.15;
  text-decoration: none;
}

.native-shell .unit-native-menu a.is-active {
  background: #dff2ee;
  color: #007d79;
}

.native-shell .unit-native-menu a span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 6px;
  color: #63716f;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .unit-native-menu a span svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.native-shell .unit-native-menu a.is-active span {
  background: #007d79;
  color: #fff;
}

.native-shell .unit-native-workspace {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  padding: 28px 28px 42px 24px;
}

.native-shell .unit-feedback-dialog {
  width: min(460px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  color: #082441;
  box-shadow: 0 24px 68px rgba(15, 33, 55, 0.25);
}

.native-shell .unit-feedback-dialog::backdrop {
  background: rgba(15, 33, 55, 0.56);
}

.native-shell .unit-feedback-dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid #dbe4e2;
}

.native-shell .unit-feedback-dialog-header h2 {
  margin: 0;
  font-size: 16px;
  line-height: 1.3;
}

.native-shell .unit-feedback-dialog-header button {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #40536b;
  font: inherit;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.native-shell .unit-feedback-dialog-header button:hover,
.native-shell .unit-feedback-dialog-header button:focus-visible {
  outline: 0;
  background: #e8f5f3;
  color: #073f3a;
}

.native-shell .unit-feedback-dialog-body {
  max-height: calc(100dvh - 130px);
  overflow-y: auto;
  padding: 20px 18px;
  font-size: 13px;
  line-height: 1.5;
}

.native-shell .unit-feedback-dialog-body p,
.native-shell .unit-feedback-dialog-body ul {
  margin: 0;
}

.native-shell .unit-feedback-dialog-body ul {
  padding-left: 20px;
  color: #9a2828;
}

.native-shell .unit-feedback-dialog-body p + ul {
  margin-top: 12px;
}

.native-shell .unit-native-header {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(560px, 820px);
  align-items: start;
  gap: 28px;
  margin-bottom: 38px;
}

.native-shell .unit-native-header .eyebrow {
  color: #536575;
}

.native-shell .unit-native-header h1 {
  margin: 3px 0 5px;
  color: #082441;
  font-size: 25px;
  line-height: 1.08;
  letter-spacing: 0;
}

.native-shell .unit-native-header p {
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .unit-native-selector {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto auto;
  align-items: end;
  gap: 10px;
}

.native-shell .unit-native-selector label,
.native-shell .unit-native-filters label {
  display: grid;
  gap: 7px;
  color: #33413f;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .unit-native-selector select,
.native-shell .unit-native-filters select,
.native-shell .unit-native-filters input {
  min-height: 42px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 750;
}

.native-shell .unit-native-selector time {
  padding-bottom: 10px;
  color: #536575;
  font-size: 12px;
  font-weight: 850;
}

.native-shell .unit-native-logout {
  margin: 0;
}

.native-shell .unit-native-logout button {
  display: inline-flex;
  min-width: 136px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid #f0b4b4;
  border-radius: 8px;
  background: #fff;
  color: #c72b2b;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .unit-native-logout button:hover {
  background: #fff5f5;
}

.native-shell .unit-native-logout svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.native-shell .unit-native-filters {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) 180px 84px;
  gap: 12px;
  align-items: end;
  margin-bottom: 32px;
}

.native-shell .unit-native-filters .search {
  position: relative;
}

.native-shell .unit-native-filters .search span {
  position: absolute;
  bottom: 10px;
  left: 13px;
  color: #65736f;
  font-weight: 900;
}

.native-shell .unit-native-filters .search input {
  padding-left: 40px;
}

.native-shell .unit-native-filters button {
  min-height: 42px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-weight: 900;
}

.native-shell .unit-native-table-card {
  overflow: hidden;
  margin-bottom: 18px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .unit-native-table-heading {
  padding: 18px 18px 16px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .unit-native-heading-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.native-shell .unit-native-heading-action button {
  min-height: 42px;
  padding: 0 20px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .unit-native-table-heading h2 {
  margin: 0 0 3px;
  color: #082441;
  font-size: 15px;
}

.native-shell .unit-native-table-heading p {
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .unit-native-table-scroll {
  overflow-x: auto;
}

.native-shell .unit-native-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
}

.native-shell .unit-native-filter-row input {
  width: 100%;
  min-height: 38px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  padding: 0 12px;
  color: #082441;
  font-size: 12px;
  font-weight: 750;
}

.native-shell .unit-native-table th,
.native-shell .unit-native-table td {
  padding: 16px 14px;
  border-bottom: 1px solid #d5dddb;
  text-align: left;
  vertical-align: middle;
}

.native-shell .unit-native-table th {
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .unit-native-table td {
  color: #27312f;
  font-size: 13px;
}

.native-shell .unit-native-table td strong,
.native-shell .unit-native-table td span {
  display: block;
}

.native-shell .unit-native-table td button,
.native-shell .unit-native-table td .unit-native-download,
.native-shell .unit-native-report {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}
.native-shell .unit-service-table { min-width: 1320px; }
.native-shell .unit-service-table td:nth-child(1) { width: 150px; }
.native-shell .unit-service-table td:nth-child(6),
.native-shell .unit-service-table td:nth-child(7) { width: 145px; }
.native-shell .unit-service-table td strong + small { display: block; margin-top: 4px; color: #66716f; font-size: 10px; }
.native-shell .unit-service-table .unit-service-operation { display: inline-flex; min-height: 32px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid #007d79; border-radius: 7px; color: #fff; background: #007d79; font-size: 12px; font-weight: 850; text-decoration: none; }
.native-shell .unit-service-table tbody tr:not([hidden]) { background: #f2faf8; }
.native-shell .unit-service-table tbody tr[hidden] { display: none; }

.native-shell .unit-service-dashboard {
  display: grid;
  gap: 18px;
}

.native-shell .unit-service-carousel-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  overflow: hidden;
  padding: 16px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fbfdfc;
  box-shadow: 0 14px 30px rgba(19, 36, 58, 0.05);
}

.native-shell .unit-service-carousel {
  display: flex;
  min-width: 0;
  gap: 10px;
  overflow-x: auto;
  padding: 2px;
  scroll-padding-inline: 2px;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.native-shell .unit-service-carousel::-webkit-scrollbar {
  display: none;
}

.native-shell button.unit-service-carousel-arrow {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #a8dcd3;
  border-radius: 50%;
  background: #fff;
  color: #007d79;
  font: inherit;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 12px 24px rgba(15, 148, 135, 0.1);
  cursor: pointer;
}

.native-shell .unit-service-carousel .unit-service-carousel-button {
  display: grid;
  width: 142px;
  min-height: 126px;
  flex: 0 0 auto;
  place-items: center;
  align-content: center;
  gap: 7px;
  padding: 12px 9px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  color: #082441;
  font: inherit;
  text-align: center;
  text-decoration: none;
  scroll-snap-align: start;
  box-shadow: 0 12px 24px rgba(19, 36, 58, 0.07);
  cursor: pointer;
}

.native-shell .unit-service-carousel .unit-service-carousel-button.is-active {
  border-color: #007d79;
  background: #fff;
  color: #007d79;
  box-shadow: inset 0 -3px 0 #007d79, 0 16px 34px rgba(15, 148, 135, 0.14);
}

.native-shell .unit-service-carousel-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: #007d79;
  font-size: 26px;
  font-weight: 900;
}

.native-shell .unit-service-carousel-icon svg {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.native-shell .unit-service-carousel .unit-service-carousel-button strong,
.native-shell .unit-service-carousel .unit-service-carousel-button small {
  display: -webkit-box;
  max-width: 100%;
  overflow: hidden;
  line-height: 1.12;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
}

.native-shell .unit-service-carousel .unit-service-carousel-button strong {
  min-height: 27px;
  color: #082441;
  font-size: 11.5px;
  font-weight: 950;
  -webkit-line-clamp: 2;
}

.native-shell .unit-service-carousel .unit-service-carousel-button small {
  color: #007d79;
  font-size: 11px;
  font-weight: 750;
  opacity: 1;
  -webkit-line-clamp: 1;
}

.native-shell .unit-service-carousel .unit-service-carousel-button.is-active strong,
.native-shell .unit-service-carousel .unit-service-carousel-button.is-active small,
.native-shell .unit-service-carousel .unit-service-carousel-button.is-active .unit-service-carousel-icon {
  color: #007d79;
}

.native-shell .unit-consultation-submenu-card {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  overflow: visible;
  padding: 0 1px 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* Institution catalog workspace aligned with the unit dashboard */
.native-shell .institution-catalog-workspace-header {
  display: grid;
  min-width: 0;
  gap: 12px;
  margin-bottom: 12px;
}

.native-shell .institution-catalog-carousel-card {
  min-width: 0;
  padding: 12px;
  background: #fbfdfc;
}

.native-shell .institution-catalog-carousel-card .institution-service-carousel {
  min-width: 0;
}

.native-shell .institution-catalog-carousel-card .institution-service-carousel button.institution-service-carousel-button {
  width: 126px;
  height: 112px;
  min-height: 112px;
  gap: 6px;
  padding: 10px 8px;
}

.native-shell .institution-catalog-carousel-card .institution-service-carousel-icon {
  width: 40px;
  height: 40px;
}

.native-shell .institution-catalog-carousel-card .institution-service-carousel-icon svg {
  width: 38px;
  height: 38px;
}

.native-shell .institution-catalog-carousel-card .institution-service-carousel-button strong {
  min-height: 0;
  font-size: 11px;
}

.native-shell .institution-catalog-summary-card {
  display: flex;
  min-height: 98px;
  box-sizing: border-box;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 18px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(19, 36, 58, 0.05);
}

.native-shell .institution-catalog-summary-copy {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.native-shell .institution-catalog-summary-card h1,
.native-shell .institution-catalog-summary-card p {
  margin: 0;
  letter-spacing: 0;
}

.native-shell .institution-catalog-summary-card h1 {
  color: #101f35;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.2;
}

.native-shell .institution-catalog-summary-card p {
  color: #536575;
  font-size: 11px;
  font-weight: 720;
  line-height: 1.35;
}

.native-shell .institution-catalog-summary-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 3px;
  color: #3d4c49;
  font-size: 10px;
  font-weight: 800;
}

.native-shell .institution-catalog-toolbar {
  display: flex;
  min-width: 0;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.native-shell .institution-catalog-filter-buttons,
.native-shell .institution-catalog-toolbar-actions {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.native-shell .institution-catalog-filter-buttons {
  flex-wrap: wrap;
}

.native-shell .institution-catalog-filter-buttons button {
  display: inline-flex;
  min-width: 78px;
  min-height: 38px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 7px 14px;
  border: 1px solid #cdd9d7;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  box-shadow: none;
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.native-shell .institution-catalog-filter-buttons button.is-active {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .institution-catalog-filter-buttons button b {
  display: grid;
  min-width: 22px;
  height: 22px;
  box-sizing: border-box;
  place-items: center;
  padding: 0 5px;
  border-radius: 50%;
  background: #ffc928;
  color: #15243a;
  font-size: 10px;
  font-weight: 950;
}

.native-shell .institution-catalog-filter-buttons button.is-active b {
  background: #fff;
  color: #08786e;
}

.native-shell .institution-catalog-toolbar-actions {
  flex: 1 1 auto;
  justify-content: flex-end;
}

.native-shell .institution-catalog-search {
  position: relative;
  width: min(300px, 100%);
  min-width: 210px;
}

.native-shell .institution-catalog-search svg {
  position: absolute;
  top: 50%;
  left: 12px;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  fill: none;
  stroke: #647370;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  pointer-events: none;
}

.native-shell .institution-catalog-search input {
  width: 100%;
  min-height: 38px;
  box-sizing: border-box;
  padding: 8px 12px 8px 38px;
  border: 1px solid #cdd9d7;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-size: 10px;
  font-weight: 750;
}

.native-shell .institution-catalog-primary-action,
.native-shell button.institution-catalog-primary-action {
  display: inline-flex;
  min-height: 38px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 15px;
  border: 1px solid #007d79;
  border-radius: 7px;
  background: #007d79;
  color: #fff;
  box-shadow: 0 9px 20px rgba(15, 148, 135, 0.13);
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.native-shell .institution-catalog-primary-action > span {
  color: inherit;
  font-size: 16px;
  line-height: 1;
}

.native-shell .institution-service-filter-toolbar {
  padding: 11px 16px;
  border-bottom: 1px solid #d5dddb;
  background: #f6faf9;
}

.native-shell .institution-service-filter-toolbar .institution-catalog-search {
  width: min(270px, 100%);
}

.native-shell .institution-catalog-workspace-header + .institution-native-pharmacy-card {
  min-height: 420px;
  margin-top: 0;
}

@media (max-width: 960px) {
  .native-shell .institution-catalog-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .native-shell .institution-catalog-toolbar-actions {
    justify-content: flex-start;
  }

  .native-shell .institution-catalog-search {
    width: min(100%, 420px);
  }
}

@media (max-width: 620px) {
  .native-shell .institution-catalog-carousel-card {
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    gap: 7px;
    padding: 9px;
  }

  .native-shell .institution-catalog-summary-card {
    min-height: 0;
    padding: 15px;
  }

  .native-shell .institution-catalog-toolbar-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .native-shell .institution-catalog-search,
  .native-shell .institution-catalog-primary-action,
  .native-shell button.institution-catalog-primary-action {
    width: 100%;
    min-width: 0;
  }
}

.native-shell .unit-consultation-submenu-card[hidden],
.native-shell [data-unit-consultation-view][hidden] {
  display: none !important;
}

.native-shell .unit-consultation-submenu {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  gap: 12px;
  overflow-x: auto;
  padding: 0 1px 2px;
  scroll-padding-inline: 1px;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.native-shell .unit-consultation-submenu::-webkit-scrollbar {
  display: none;
}

.native-shell button.unit-consultation-submenu-arrow {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid #b8ded8;
  border-radius: 50%;
  background: #fff;
  color: #0b8b7e;
  font: inherit;
  font-size: 20px;
  font-weight: 850;
  line-height: 1;
  cursor: pointer;
}

.native-shell button.unit-consultation-submenu-button {
  display: inline-flex;
  width: auto;
  min-width: max-content;
  min-height: 42px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  border: 1px solid #ced9d7;
  border-radius: 7px;
  background: #fff;
  color: #263657;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
  scroll-snap-align: start;
  cursor: pointer;
  transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.native-shell button.unit-consultation-submenu-button span {
  display: grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
}

.native-shell button.unit-consultation-submenu-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.native-shell button.unit-consultation-submenu-button strong {
  color: inherit;
  font-size: inherit;
  line-height: 1;
  white-space: nowrap;
}

.native-shell button.unit-consultation-submenu-button:hover,
.native-shell button.unit-consultation-submenu-button:focus-visible {
  border-color: #007d79;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(15, 148, 135, 0.1);
}

.native-shell button.unit-consultation-submenu-button.is-active {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
  box-shadow: 0 8px 18px rgba(15, 148, 135, 0.16);
}

.native-shell .unit-consultation-calendar-title {
  display: flex;
  align-items: center;
  gap: 14px;
}

.native-shell .unit-consultation-calendar-title-icon {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  place-items: center;
  border: 1px solid #b7e2dc;
  border-radius: 7px;
  background: #e8f7f4;
  color: #078f82;
}

.native-shell .unit-consultation-calendar-title-icon svg,
.native-shell .unit-consultation-new-appointment svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .unit-service-panel-actions button.unit-consultation-new-appointment {
  gap: 8px;
  border-color: #007d79;
  background: #007d79;
  color: #fff;
  box-shadow: 0 10px 22px rgba(15, 148, 135, 0.16);
}

.native-shell .unit-consultation-new-appointment svg {
  width: 17px;
  height: 17px;
}

.native-shell .unit-consultation-calendar {
  min-width: 0;
  color: #082441;
}

.native-shell .unit-consultation-calendar-toolbar {
  display: grid;
  grid-template-columns: auto minmax(270px, 1fr) minmax(190px, 240px) minmax(190px, 240px);
  align-items: end;
  gap: 14px;
  padding: 14px 18px;
  border-bottom: 1px solid #d7e2df;
  background: #fbfdfc;
}

.native-shell .unit-consultation-calendar-modes {
  display: grid;
  grid-template-columns: repeat(4, minmax(62px, 1fr));
  overflow: hidden;
  border: 1px solid #cfdbd8;
  border-radius: 7px;
  background: #fff;
}

.native-shell .unit-consultation-calendar-modes button {
  min-height: 38px;
  padding: 0 13px;
  border: 0;
  border-right: 1px solid #e0e7e5;
  background: transparent;
  color: #23344e;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}

.native-shell .unit-consultation-calendar-modes button:last-child {
  border-right: 0;
}

.native-shell .unit-consultation-calendar-modes button.is-active {
  background: #007d79;
  color: #fff;
}

.native-shell .unit-consultation-calendar-date-nav {
  display: grid;
  grid-template-columns: 38px minmax(180px, 252px) 38px;
  justify-content: center;
  gap: 8px;
}

.native-shell .unit-consultation-calendar-date-nav > button,
.native-shell .unit-consultation-mini-calendar header button {
  display: grid;
  place-items: center;
  border: 1px solid #cfdbd8;
  border-radius: 7px;
  background: #fff;
  color: #14304c;
  font: inherit;
  cursor: pointer;
}

.native-shell .unit-consultation-calendar-date-nav > button {
  width: 38px;
  height: 38px;
}

.native-shell .unit-consultation-calendar-date-nav svg,
.native-shell .unit-consultation-mini-calendar header svg,
.native-shell .unit-consultation-calendar-summary svg,
.native-shell .unit-consultation-calendar-legend svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .unit-consultation-calendar-date-nav label {
  display: flex;
  min-width: 0;
  height: 38px;
  align-items: center;
  gap: 9px;
  padding: 0 11px;
  border: 1px solid #cfdbd8;
  border-radius: 7px;
  background: #fff;
  color: #078f82;
}

.native-shell .unit-consultation-calendar-date-nav input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #082441;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .unit-consultation-calendar-filter {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: #536575;
  font-size: 10px;
  font-weight: 850;
}

.native-shell .unit-consultation-calendar-filter select {
  width: 100%;
  min-width: 0;
  height: 38px;
  padding: 0 11px;
  border: 1px solid #cfdbd8;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-size: 11px;
  font-weight: 750;
}

.native-shell .unit-consultation-calendar-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 255px;
  min-width: 0;
  border-bottom: 1px solid #d7e2df;
}

.native-shell .unit-consultation-calendar-stage {
  position: relative;
  min-width: 0;
  min-height: 560px;
  overflow: auto;
  background: #fff;
}

.native-shell .unit-consultation-day-grid,
.native-shell .unit-consultation-week-grid {
  display: grid;
  min-width: 860px;
  align-content: start;
}

.native-shell .unit-consultation-day-grid {
  grid-template-columns: 64px repeat(var(--unit-calendar-columns), minmax(220px, 1fr));
}

.native-shell .unit-consultation-week-grid {
  min-width: 1120px;
  grid-template-columns: 64px repeat(7, minmax(150px, 1fr));
}

.native-shell .unit-consultation-calendar-corner,
.native-shell .unit-consultation-calendar-room {
  position: sticky;
  z-index: 3;
  top: 0;
  display: grid;
  min-height: 52px;
  place-content: center;
  padding: 8px 10px;
  border-right: 1px solid #d7e2df;
  border-bottom: 1px solid #cadbd7;
  background: #edf8f6;
  color: #082441;
  text-align: center;
}

.native-shell button.unit-consultation-calendar-room {
  width: 100%;
  border-top: 0;
  border-left: 0;
  border-radius: 0;
  font: inherit;
  cursor: pointer;
}

.native-shell button.unit-consultation-calendar-room.is-selected {
  background: #d7f1ec;
  color: #007e72;
}

.native-shell .unit-consultation-calendar-corner {
  left: 0;
  z-index: 4;
  color: #536575;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .unit-consultation-calendar-room strong,
.native-shell .unit-consultation-calendar-room small {
  display: block;
}

.native-shell .unit-consultation-calendar-room strong {
  font-size: 12px;
  font-weight: 950;
}

.native-shell .unit-consultation-calendar-room small {
  margin-top: 3px;
  color: #445871;
  font-size: 10px;
  font-weight: 650;
}

.native-shell .unit-consultation-calendar-time,
.native-shell .unit-consultation-calendar-cell {
  min-height: 62px;
  border-right: 1px solid #d7e2df;
  border-bottom: 1px solid #e3eae8;
}

.native-shell .unit-consultation-calendar-time {
  position: sticky;
  left: 0;
  z-index: 2;
  padding: 9px 8px;
  background: #fbfdfc;
  color: #29405a;
  font-size: 11px;
  font-weight: 850;
  text-align: center;
}

.native-shell .unit-consultation-calendar-cell {
  display: grid;
  align-content: start;
  gap: 4px;
  padding: 4px 6px;
  background: #fff;
}

.native-shell button.unit-consultation-calendar-event {
  position: relative;
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 7px 8px;
  border: 0;
  border-left: 3px solid #f5b616;
  border-radius: 5px;
  background: #fff3d6;
  color: #082441;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.native-shell button.unit-consultation-calendar-event time {
  font-size: 10px;
  font-weight: 950;
}

.native-shell button.unit-consultation-calendar-event span,
.native-shell button.unit-consultation-calendar-event strong,
.native-shell button.unit-consultation-calendar-event small {
  display: block;
  min-width: 0;
}

.native-shell button.unit-consultation-calendar-event strong {
  overflow: hidden;
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell button.unit-consultation-calendar-event small {
  overflow: hidden;
  margin-top: 2px;
  color: #40536b;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell button.unit-consultation-calendar-event .unit-consultation-calendar-room-number {
  position: absolute;
  right: 5px;
  bottom: 5px;
  display: block;
  max-width: 56px;
  overflow: hidden;
  padding: 2px 5px;
  border: 1px solid rgba(43, 77, 89, 0.2);
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.86);
  color: #244552;
  font-size: 9px;
  font-weight: 850;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell button.unit-consultation-calendar-event.has-room-number {
  padding-right: 76px;
}

.native-shell button.unit-consultation-calendar-event.is-confirmed {
  border-left-color: #13ad70;
  background: #daf6e9;
}

.native-shell button.unit-consultation-calendar-event.is-in-progress {
  border-left-color: #1688ec;
  background: #dcecff;
}

.native-shell button.unit-consultation-calendar-event.is-completed {
  border-left-color: #708095;
  background: #e9edf0;
}

.native-shell button.unit-consultation-calendar-event.is-cancelled {
  border-left-color: #f0445e;
  background: #ffe0e8;
}

.native-shell button.unit-consultation-calendar-event.is-compact {
  grid-template-columns: 1fr;
  gap: 2px;
  padding: 5px 6px;
}

.native-shell button.unit-consultation-calendar-event.is-compact.has-room-number {
  padding-right: 76px;
}

.native-shell button.unit-consultation-calendar-event.is-compact time {
  display: none;
}

.native-shell .unit-consultation-calendar-empty {
  position: sticky;
  left: 78px;
  width: max-content;
  max-width: calc(100% - 96px);
  margin: 16px;
  padding: 9px 12px;
  border: 1px solid #d5e4e1;
  border-radius: 7px;
  background: #f4faf8;
  color: #5d6c69;
  font-size: 11px;
  font-weight: 750;
}

.native-shell .unit-consultation-month-grid {
  display: grid;
  min-width: 840px;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  align-content: start;
}

.native-shell .unit-consultation-month-weekday {
  min-height: 38px;
  padding: 12px;
  border-right: 1px solid #d7e2df;
  border-bottom: 1px solid #cadbd7;
  background: #edf8f6;
  color: #29405a;
  font-size: 10px;
  text-align: center;
}

.native-shell .unit-consultation-month-day {
  display: grid;
  min-height: 112px;
  align-content: start;
  gap: 4px;
  padding: 6px;
  border-right: 1px solid #d7e2df;
  border-bottom: 1px solid #e3eae8;
  background: #fff;
}

.native-shell .unit-consultation-month-day.is-outside {
  background: #f7f9f8;
  opacity: 0.62;
}

.native-shell .unit-consultation-month-day.is-selected {
  box-shadow: inset 0 0 0 2px #18a99b;
}

.native-shell .unit-consultation-month-day > button:first-child {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #082441;
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .unit-consultation-month-day.is-selected > button:first-child {
  background: #007d79;
  color: #fff;
}

.native-shell .unit-consultation-month-more {
  color: #087d72;
  font-size: 9px;
  font-weight: 850;
}

.native-shell .unit-consultation-calendar-list {
  display: grid;
}

.native-shell .unit-consultation-calendar-list > button {
  display: grid;
  width: 100%;
  min-width: 720px;
  grid-template-columns: 90px minmax(200px, 1fr) minmax(190px, 0.8fr) auto;
  align-items: center;
  gap: 18px;
  padding: 15px 18px;
  border: 0;
  border-bottom: 1px solid #dce5e3;
  background: #fff;
  color: #082441;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.native-shell .unit-consultation-calendar-list time,
.native-shell .unit-consultation-calendar-list span,
.native-shell .unit-consultation-calendar-list strong,
.native-shell .unit-consultation-calendar-list small {
  display: block;
}

.native-shell .unit-consultation-calendar-list time,
.native-shell .unit-consultation-calendar-list strong {
  font-size: 11px;
  font-weight: 900;
}

.native-shell .unit-consultation-calendar-list small {
  margin-top: 3px;
  color: #667572;
  font-size: 9px;
}

.native-shell .unit-consultation-calendar-list em,
.native-shell .unit-consultation-appointment-dialog > span {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff3d6;
  color: #9a6500;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
}

.native-shell .unit-consultation-calendar-list em.is-confirmed,
.native-shell .unit-consultation-appointment-dialog > span.is-confirmed {
  background: #daf6e9;
  color: #087947;
}

.native-shell .unit-consultation-calendar-list em.is-in-progress,
.native-shell .unit-consultation-appointment-dialog > span.is-in-progress {
  background: #dcecff;
  color: #0867b9;
}

.native-shell .unit-consultation-calendar-list em.is-completed,
.native-shell .unit-consultation-appointment-dialog > span.is-completed {
  background: #e9edf0;
  color: #4b5c70;
}

.native-shell .unit-consultation-calendar-list em.is-cancelled,
.native-shell .unit-consultation-appointment-dialog > span.is-cancelled {
  background: #ffe0e8;
  color: #b5223e;
}

.native-shell .unit-consultation-calendar-list-empty {
  margin: 24px;
  color: #5d6c69;
  font-size: 12px;
  font-weight: 750;
}

.native-shell .unit-consultation-calendar-aside {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  align-content: start;
  border-left: 1px solid #d7e2df;
  background: #fbfdfc;
}

.native-shell .unit-consultation-mini-calendar,
.native-shell .unit-consultation-calendar-summary {
  min-width: 0;
  padding: 15px;
  border-bottom: 1px solid #d7e2df;
}

.native-shell .unit-consultation-mini-calendar header {
  display: grid;
  grid-template-columns: 30px 1fr 30px;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
}

.native-shell .unit-consultation-mini-calendar header button {
  width: 30px;
  height: 30px;
  min-width: 0;
  padding: 0;
}

.native-shell .unit-consultation-mini-calendar header strong {
  font-size: 12px;
  font-weight: 950;
  text-align: center;
  text-transform: capitalize;
}

.native-shell .unit-consultation-mini-weekdays,
.native-shell .unit-consultation-mini-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}

.native-shell .unit-consultation-mini-weekdays span {
  padding: 4px 0;
  color: #5f6f83;
  font-size: 9px;
  font-weight: 850;
  text-align: center;
}

.native-shell .unit-consultation-mini-days button {
  position: relative;
  display: grid;
  width: 28px;
  height: 28px;
  min-width: 0;
  place-self: center;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #29405a;
  font: inherit;
  font-size: 9px;
  font-weight: 750;
  cursor: pointer;
}

.native-shell .unit-consultation-mini-days button.is-outside {
  color: #a2aca9;
}

.native-shell .unit-consultation-mini-days button.is-today {
  box-shadow: inset 0 0 0 1px #84cfc6;
}

.native-shell .unit-consultation-mini-days button.has-appointments::after {
  position: absolute;
  bottom: 2px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #007d79;
  content: '';
}

.native-shell .unit-consultation-mini-days button.is-selected {
  background: #007d79;
  color: #fff;
  box-shadow: none;
}

.native-shell .unit-consultation-mini-days button.is-selected::after {
  background: #fff;
}

.native-shell .unit-consultation-calendar-summary h3 {
  margin: 0 0 10px;
  color: #082441;
  font-size: 13px;
  font-weight: 950;
}

.native-shell .unit-consultation-calendar-summary > div {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e1e8e6;
  color: #40536b;
  font-size: 10px;
  font-weight: 750;
}

.native-shell .unit-consultation-calendar-summary > div span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.native-shell .unit-consultation-calendar-summary > div span.is-total {
  color: #29405a;
}

.native-shell .unit-consultation-calendar-summary > div strong {
  color: #082441;
  font-size: 11px;
  font-weight: 950;
}

.native-shell .unit-consultation-calendar-summary i,
.native-shell .unit-consultation-calendar-legend i {
  display: inline-block;
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 50%;
  background: #f5b616;
}

.native-shell .unit-consultation-calendar-summary i.is-confirmed,
.native-shell .unit-consultation-calendar-legend i.is-confirmed { background: #13ad70; }
.native-shell .unit-consultation-calendar-summary i.is-in-progress,
.native-shell .unit-consultation-calendar-legend i.is-in-progress { background: #1688ec; }
.native-shell .unit-consultation-calendar-summary i.is-completed,
.native-shell .unit-consultation-calendar-legend i.is-completed { background: #708095; }
.native-shell .unit-consultation-calendar-summary i.is-cancelled,
.native-shell .unit-consultation-calendar-legend i.is-cancelled { background: #f0445e; }

.native-shell .unit-consultation-calendar-summary > a {
  display: inline-flex;
  width: 100%;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
  border: 1px solid #9bd7cf;
  border-radius: 7px;
  background: #fff;
  color: #087d72;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .unit-consultation-calendar-legend {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 18px;
  background: #fbfdfc;
}

.native-shell .unit-consultation-calendar-legend > div,
.native-shell .unit-consultation-calendar-legend span,
.native-shell .unit-consultation-calendar-legend p {
  display: flex;
  align-items: center;
}

.native-shell .unit-consultation-calendar-legend > div {
  flex-wrap: wrap;
  gap: 18px;
}

.native-shell .unit-consultation-calendar-legend span {
  gap: 6px;
  color: #40536b;
  font-size: 9px;
  font-weight: 750;
}

.native-shell .unit-consultation-calendar-legend p {
  gap: 7px;
  margin: 0;
  color: #586b82;
  font-size: 9px;
}

.native-shell .unit-consultation-flow-dialog {
  width: min(540px, calc(100vw - 32px));
  max-width: none;
  max-height: min(90vh, 820px);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #082441;
  box-shadow: 0 28px 80px rgba(15, 33, 55, 0.28);
}

.native-shell .unit-consultation-flow-dialog::backdrop {
  background: rgba(15, 33, 55, 0.58);
  backdrop-filter: blur(2px);
}

.native-shell .unit-consultation-new-dialog {
  width: min(660px, calc(100vw - 32px));
}

.native-shell .unit-consultation-cancel-dialog {
  width: min(470px, calc(100vw - 32px));
}

.native-shell .unit-consultation-flow-shell {
  position: relative;
  display: grid;
  max-height: min(90vh, 820px);
  overflow: auto;
  border: 1px solid #cbdad7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(15, 33, 55, 0.28);
}

.native-shell .unit-consultation-flow-header {
  position: sticky;
  z-index: 6;
  top: 0;
  display: grid;
  min-width: 0;
  grid-template-columns: 40px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #d9e4e1;
  background: #fff;
}

.native-shell .unit-consultation-flow-icon,
.native-shell .unit-consultation-warning-icon,
.native-shell .unit-consultation-confirm-heading > span,
.native-shell .unit-consultation-wizard-patient-card > span,
.native-shell .unit-consultation-selected-patient > span {
  display: grid;
  place-items: center;
  color: #078f82;
}

.native-shell .unit-consultation-flow-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e4f7f3;
}

.native-shell .unit-consultation-flow-header svg,
.native-shell .unit-consultation-flow-actions svg,
.native-shell .unit-consultation-warning-icon svg,
.native-shell .unit-consultation-confirm-heading svg,
.native-shell .unit-consultation-wizard-patient-card svg,
.native-shell .unit-consultation-selected-patient svg,
.native-shell .unit-consultation-search-control svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .unit-consultation-flow-header h3,
.native-shell .unit-consultation-flow-header p {
  margin: 0;
}

.native-shell .unit-consultation-flow-header h3 {
  font-size: 17px;
  font-weight: 950;
}

.native-shell .unit-consultation-flow-header p {
  margin-top: 3px;
  color: #647572;
  font-size: 10px;
  font-weight: 650;
}

.native-shell button.unit-consultation-flow-close {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #082441;
  font: inherit;
  font-size: 21px;
  line-height: 1;
  cursor: pointer;
}

.native-shell button.unit-consultation-flow-close:hover {
  background: #edf4f2;
}

.native-shell .unit-consultation-detail-list,
.native-shell .unit-consultation-cancel-summary,
.native-shell .unit-consultation-confirm-summary {
  margin: 0;
}

.native-shell .unit-consultation-detail-list {
  padding: 6px 18px;
}

.native-shell .unit-consultation-detail-list > div {
  display: grid;
  min-height: 44px;
  grid-template-columns: 118px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #e0e8e6;
}

.native-shell .unit-consultation-detail-list > div:last-child {
  border-bottom: 0;
}

.native-shell .unit-consultation-detail-list dt,
.native-shell .unit-consultation-cancel-summary dt,
.native-shell .unit-consultation-confirm-summary dt {
  color: #43566f;
  font-size: 10px;
  font-weight: 850;
}

.native-shell .unit-consultation-detail-list dd,
.native-shell .unit-consultation-cancel-summary dd,
.native-shell .unit-consultation-confirm-summary dd {
  min-width: 0;
  margin: 0;
  color: #152944;
  font-size: 10px;
  font-weight: 800;
}

.native-shell .unit-consultation-detail-list dd strong,
.native-shell .unit-consultation-detail-list dd small {
  display: block;
}

.native-shell .unit-consultation-detail-list dd small {
  overflow-wrap: anywhere;
  margin-top: 2px;
  color: #687a91;
  font-size: 8.5px;
  font-weight: 650;
}

.native-shell .unit-consultation-status-chip {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff3d6;
  color: #9a6500;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .unit-consultation-status-chip.is-confirmed {
  background: #daf6e9;
  color: #087947;
}

.native-shell .unit-consultation-status-chip.is-in-progress {
  background: #dcecff;
  color: #0867b9;
}

.native-shell .unit-consultation-status-chip.is-completed {
  background: #e9edf0;
  color: #4b5c70;
}

.native-shell .unit-consultation-status-chip.is-cancelled {
  background: #ffe0e8;
  color: #b5223e;
}

/* Consulta externa: alta integral de citas */
.native-shell .unit-consultation-new-dialog {
  width: min(1080px, calc(100vw - 32px));
  max-height: min(94vh, 900px);
}

.native-shell .unit-consultation-new-dialog .unit-consultation-flow-shell {
  max-height: min(94vh, 900px);
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
}

.native-shell .unit-consultation-booking-layout {
  display: grid;
  min-height: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 12px;
  overflow-y: auto;
  background: #f8fbfa;
}

.native-shell .unit-consultation-booking-section {
  min-width: 0;
  padding: 12px;
  border: 1px solid #d5e1df;
  border-radius: 7px;
  background: #fff;
}

.native-shell .unit-consultation-booking-section.is-patient { grid-column: 1; grid-row: 1; }
.native-shell .unit-consultation-booking-section.is-modality { grid-column: 2; grid-row: 1; }
.native-shell .unit-consultation-booking-section.is-programming { grid-column: 3; grid-row: 1; }
.native-shell .unit-consultation-booking-section.is-clinical { grid-column: 1; grid-row: 2; }
.native-shell .unit-consultation-booking-section.is-availability { grid-column: 2 / 4; grid-row: 2; }

.native-shell .unit-consultation-booking-section-head {
  display: grid;
  min-width: 0;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  margin-bottom: 11px;
}

.native-shell .unit-consultation-booking-section-head > b {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: #007d79;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .unit-consultation-booking-section-head h4,
.native-shell .unit-consultation-booking-section-head p {
  margin: 0;
}

.native-shell .unit-consultation-booking-section-head h4 {
  color: #142d50;
  font-size: 12px;
  font-weight: 950;
}

.native-shell .unit-consultation-booking-section-head p {
  margin-top: 2px;
  color: #65778b;
  font-size: 8.5px;
  line-height: 1.35;
}

.native-shell .unit-consultation-platform-field,
.native-shell .unit-consultation-program-grid label,
.native-shell .unit-consultation-clinical-grid label {
  display: grid;
  min-width: 0;
  gap: 5px;
  color: #203955;
  font-size: 9px;
  font-weight: 850;
}

.native-shell .unit-consultation-platform-field {
  margin-top: 10px;
}

.native-shell .unit-consultation-platform-field > span b,
.native-shell .unit-consultation-program-grid label > span b,
.native-shell .unit-consultation-clinical-grid label > span b {
  color: #e42839;
}

.native-shell .unit-consultation-platform-field input,
.native-shell .unit-consultation-program-grid input,
.native-shell .unit-consultation-program-grid select,
.native-shell .unit-consultation-clinical-grid select,
.native-shell .unit-consultation-clinical-grid textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #cbd9d7;
  border-radius: 6px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-size: 10px;
}

.native-shell .unit-consultation-platform-field input,
.native-shell .unit-consultation-program-grid input,
.native-shell .unit-consultation-program-grid select,
.native-shell .unit-consultation-clinical-grid select {
  height: 36px;
  padding: 0 9px;
}

.native-shell .unit-consultation-clinical-grid textarea {
  min-height: 66px;
  padding: 8px 9px;
  resize: vertical;
}

.native-shell .unit-consultation-platform-field input:focus,
.native-shell .unit-consultation-program-grid input:focus,
.native-shell .unit-consultation-program-grid select:focus,
.native-shell .unit-consultation-clinical-grid select:focus,
.native-shell .unit-consultation-clinical-grid textarea:focus {
  border-color: #007d79;
  outline: 2px solid rgba(15, 148, 135, 0.12);
}

.native-shell .unit-consultation-booking-section .unit-consultation-selected-patient {
  margin-top: 10px;
  padding: 9px;
}

.native-shell .unit-consultation-patient-details-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
  padding: 3px 0;
  border: 0;
  background: transparent;
  color: #007d79;
  font: inherit;
  font-size: 8.5px;
  font-weight: 850;
  cursor: pointer;
}

.native-shell .unit-consultation-patient-details-toggle[hidden],
.native-shell .unit-consultation-patient-details[hidden],
.native-shell .unit-consultation-selection-preview[hidden] {
  display: none !important;
}

.native-shell .unit-consultation-patient-details {
  display: grid;
  gap: 5px;
  margin: 8px 0 0;
  padding: 8px;
  border: 1px solid #d8e5e2;
  border-radius: 6px;
  background: #f6fbfa;
}

.native-shell .unit-consultation-patient-details > div {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 7px;
}

.native-shell .unit-consultation-patient-details dt,
.native-shell .unit-consultation-patient-details dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 8px;
}

.native-shell .unit-consultation-patient-details dt { color: #60748a; font-weight: 750; }
.native-shell .unit-consultation-patient-details dd { color: #17304f; font-weight: 850; }

.native-shell .unit-consultation-modality-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.native-shell .unit-consultation-modality-options label {
  position: relative;
  display: grid;
  min-height: 126px;
  box-sizing: border-box;
  grid-template-rows: 43px auto 1fr;
  align-items: start;
  justify-items: center;
  gap: 5px;
  padding: 12px 8px 10px;
  border: 1px solid #d4dfdd;
  border-radius: 7px;
  color: #27415f;
  text-align: center;
  cursor: pointer;
}

.native-shell .unit-consultation-modality-options label:has(input:checked) {
  border-color: #0b8f83;
  background: #eef9f7;
  box-shadow: inset 0 -2px #0b8f83;
}

.native-shell .unit-consultation-modality-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.native-shell .unit-consultation-modality-options label > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #e1f5f1;
  color: #007d79;
}

.native-shell .unit-consultation-modality-options svg,
.native-shell .unit-consultation-selection-preview svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .unit-consultation-modality-options strong {
  font-size: 9px;
  font-weight: 900;
}

.native-shell .unit-consultation-modality-options small {
  color: #67798e;
  font-size: 7.5px;
  line-height: 1.35;
}

.native-shell .unit-consultation-modality-options i {
  position: absolute;
  top: 9px;
  right: 9px;
  width: 11px;
  height: 11px;
  box-sizing: border-box;
  border: 1px solid #95aaa5;
  border-radius: 50%;
  background: #fff;
}

.native-shell .unit-consultation-modality-options label:has(input:checked) i {
  border: 3px solid #fff;
  background: #0b8f83;
  box-shadow: 0 0 0 1px #0b8f83;
}

.native-shell .unit-consultation-program-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.native-shell .unit-consultation-program-grid .is-wide { grid-column: 1 / -1; }

.native-shell .unit-consultation-clinical-grid {
  display: grid;
  gap: 9px;
}

.native-shell .unit-consultation-clinical-grid label > small {
  justify-self: end;
  margin-top: -3px;
  color: #718197;
  font-size: 7.5px;
  font-weight: 650;
}

.native-shell .unit-consultation-availability-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.native-shell .unit-consultation-availability-header .unit-consultation-booking-section-head {
  margin-bottom: 9px;
}

.native-shell .unit-consultation-date-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.native-shell .unit-consultation-date-nav strong {
  max-width: 190px;
  color: #263d5b;
  font-size: 8.5px;
  text-align: right;
}

.native-shell .unit-consultation-date-nav button {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  padding: 0;
  border: 1px solid #cbd9d7;
  border-radius: 6px;
  background: #fff;
  color: #173d72;
  font: inherit;
  font-size: 17px;
  cursor: pointer;
}

.native-shell .unit-consultation-availability-body {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(210px, .8fr);
  gap: 12px;
}

.native-shell .unit-consultation-booking-layout .unit-consultation-available-slots > div {
  display: grid;
  max-height: 218px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
  overflow-y: auto;
}

.native-shell .unit-consultation-booking-layout .unit-consultation-available-slots button {
  display: grid;
  min-height: 37px;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  align-items: center;
  justify-content: stretch;
  gap: 7px;
  padding: 6px 8px;
  text-align: left;
}

.native-shell .unit-consultation-booking-layout .unit-consultation-available-slots button > span {
  display: block;
  width: 10px;
  height: 10px;
  box-sizing: border-box;
  border: 1px solid #8da49f;
  border-radius: 50%;
  background: #fff;
}

.native-shell .unit-consultation-booking-layout .unit-consultation-available-slots button time,
.native-shell .unit-consultation-booking-layout .unit-consultation-available-slots button small {
  font-size: 8px;
  font-weight: 800;
}

.native-shell .unit-consultation-booking-layout .unit-consultation-available-slots button small {
  color: #007d79;
}

.native-shell .unit-consultation-booking-layout .unit-consultation-available-slots button.is-selected > span {
  border: 3px solid #fff;
  background: #0b8f83;
  box-shadow: 0 0 0 1px #fff;
}

.native-shell .unit-consultation-booking-layout .unit-consultation-available-slots button.is-selected small {
  color: #fff;
}

.native-shell .unit-consultation-selection-side {
  display: grid;
  align-content: start;
  gap: 10px;
}

.native-shell .unit-consultation-selection-preview {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 9px;
  padding: 10px;
  border: 1px solid #cde7e2;
  border-radius: 7px;
  background: #edf9f7;
}

.native-shell .unit-consultation-selection-preview > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: #d8f2ed;
  color: #007d79;
}

.native-shell .unit-consultation-selection-preview div,
.native-shell .unit-consultation-selection-preview p {
  min-width: 0;
  margin: 0;
}

.native-shell .unit-consultation-selection-preview small,
.native-shell .unit-consultation-selection-preview strong,
.native-shell .unit-consultation-selection-preview b {
  display: block;
  margin-bottom: 3px;
}

.native-shell .unit-consultation-selection-preview small { color: #61758b; font-size: 7.5px; }
.native-shell .unit-consultation-selection-preview strong { color: #007d79; font-size: 11px; font-weight: 950; }
.native-shell .unit-consultation-selection-preview b { color: #18304e; font-size: 8.5px; }
.native-shell .unit-consultation-selection-preview p { display: flex; flex-wrap: wrap; gap: 5px; color: #536a80; font-size: 7.5px; }
.native-shell .unit-consultation-selection-preview i { font-style: normal; }

.native-shell .unit-consultation-notifications {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  border: 0;
}

.native-shell .unit-consultation-notifications legend {
  color: #18304e;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .unit-consultation-notifications p {
  margin: -4px 0 1px;
  color: #63778c;
  font-size: 7.5px;
  line-height: 1.35;
}

.native-shell .unit-consultation-notifications label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px;
  align-items: center;
  gap: 8px;
  color: #29415f;
  font-size: 8px;
  cursor: pointer;
}

.native-shell .unit-consultation-notifications input[type='hidden'] { display: none; }

.native-shell .unit-consultation-notifications input[type='checkbox'] {
  position: relative;
  width: 32px;
  height: 18px;
  min-height: 18px;
  margin: 0;
  appearance: none;
  border: 0;
  border-radius: 10px;
  background: #b9c7c4;
  cursor: pointer;
}

.native-shell .unit-consultation-notifications input[type='checkbox']::before {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  content: '';
  transition: transform 160ms ease;
}

.native-shell .unit-consultation-notifications input[type='checkbox']:checked { background: #007d79; }
.native-shell .unit-consultation-notifications input[type='checkbox']:checked::before { transform: translateX(14px); }

.native-shell .unit-consultation-booking-actions {
  position: static;
  display: flex;
  justify-content: space-between;
  padding: 11px 14px;
}

.native-shell .unit-consultation-booking-actions button {
  width: auto;
  min-width: 150px;
}

@media (max-width: 900px) {
  .native-shell .unit-consultation-new-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
  }

  .native-shell .unit-consultation-new-dialog .unit-consultation-flow-shell {
    max-height: calc(100dvh - 20px);
  }

  .native-shell .unit-consultation-booking-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-consultation-booking-section.is-patient,
  .native-shell .unit-consultation-booking-section.is-modality,
  .native-shell .unit-consultation-booking-section.is-programming,
  .native-shell .unit-consultation-booking-section.is-clinical,
  .native-shell .unit-consultation-booking-section.is-availability {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 560px) {
  .native-shell .unit-consultation-new-dialog {
    width: calc(100vw - 12px);
    max-height: calc(100dvh - 12px);
  }

  .native-shell .unit-consultation-new-dialog .unit-consultation-flow-shell {
    max-height: calc(100dvh - 12px);
  }

  .native-shell .unit-consultation-new-dialog .unit-consultation-flow-header {
    grid-template-columns: 36px minmax(0, 1fr) 30px;
    gap: 9px;
    padding: 12px;
  }

  .native-shell .unit-consultation-new-dialog .unit-consultation-flow-header h3 { font-size: 15px; }
  .native-shell .unit-consultation-booking-layout { padding: 8px; }
  .native-shell .unit-consultation-booking-section { padding: 10px; }
  .native-shell .unit-consultation-modality-options,
  .native-shell .unit-consultation-program-grid,
  .native-shell .unit-consultation-availability-body,
  .native-shell .unit-consultation-booking-layout .unit-consultation-available-slots > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-consultation-program-grid .is-wide { grid-column: 1; }
  .native-shell .unit-consultation-availability-header { display: grid; }
  .native-shell .unit-consultation-date-nav { justify-content: space-between; }
  .native-shell .unit-consultation-date-nav strong { max-width: none; text-align: left; }
  .native-shell .unit-consultation-booking-actions { gap: 8px; }
  .native-shell .unit-consultation-booking-actions button { min-width: 0; flex: 1; }
}

/* Consulta externa: agenda inspirada en la referencia de dos columnas */
.native-shell .unit-consultation-new-dialog {
  width: min(930px, calc(100vw - 28px));
  height: min(94dvh, 840px);
  max-height: calc(100dvh - 16px);
}

.native-shell .unit-consultation-new-dialog .unit-consultation-flow-shell {
  display: flex;
  height: 100%;
  max-height: none;
  flex-direction: column;
  overflow: hidden;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-flow-header {
  grid-template-columns: 36px minmax(0, 1fr) 32px;
  gap: 10px;
  padding: 12px 16px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-flow-icon {
  width: 36px;
  height: 36px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-flow-header h3 {
  font-size: 15px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-flow-header p {
  font-size: 8.5px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-flow-error {
  margin: 10px 16px 0;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-booking-layout {
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  gap: 0;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #fff;
}

.native-shell .unit-consultation-booking-column {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 16px;
  padding: 18px 20px;
}

.native-shell .unit-consultation-booking-column.is-schedule {
  border-left: 1px solid #dce6e4;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-booking-section {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-booking-section-head {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  margin-bottom: 12px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-booking-section-head > span {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  color: #17324d;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-booking-section-head svg,
.native-shell .unit-consultation-new-dialog .unit-consultation-modality-info svg,
.native-shell .unit-consultation-new-dialog .unit-consultation-booking-summary svg,
.native-shell .unit-consultation-new-dialog .unit-consultation-booking-action-buttons svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-booking-section-head h4 {
  margin: 0;
  color: #082441;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .unit-consultation-booking-separator {
  width: 100%;
  height: 1px;
  margin: 0;
  border: 0;
  background: #dce6e4;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-patient-search,
.native-shell .unit-consultation-new-dialog .unit-consultation-platform-field,
.native-shell .unit-consultation-new-dialog .unit-consultation-details-grid label,
.native-shell .unit-consultation-new-dialog .unit-consultation-date-field,
.native-shell .unit-consultation-new-dialog .unit-consultation-contact-field {
  display: grid;
  min-width: 0;
  gap: 5px;
  color: #263b55;
  font-size: 8.5px;
  font-weight: 850;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-platform-field {
  margin-top: 9px;
}

.native-shell .unit-consultation-new-dialog label span b,
.native-shell .unit-consultation-new-dialog .unit-consultation-field-label + b {
  color: #e42839;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-search-control,
.native-shell .unit-consultation-new-dialog .unit-consultation-platform-field input,
.native-shell .unit-consultation-new-dialog .unit-consultation-details-grid input,
.native-shell .unit-consultation-new-dialog .unit-consultation-details-grid select,
.native-shell .unit-consultation-new-dialog .unit-consultation-details-grid textarea,
.native-shell .unit-consultation-new-dialog .unit-consultation-date-field input,
.native-shell .unit-consultation-new-dialog .unit-consultation-contact-field input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #cad9d7;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-size: 10px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-search-control,
.native-shell .unit-consultation-new-dialog .unit-consultation-platform-field input,
.native-shell .unit-consultation-new-dialog .unit-consultation-details-grid input,
.native-shell .unit-consultation-new-dialog .unit-consultation-details-grid select,
.native-shell .unit-consultation-new-dialog .unit-consultation-date-field input,
.native-shell .unit-consultation-new-dialog .unit-consultation-contact-field input {
  height: 38px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-platform-field input,
.native-shell .unit-consultation-new-dialog .unit-consultation-details-grid input,
.native-shell .unit-consultation-new-dialog .unit-consultation-details-grid select,
.native-shell .unit-consultation-new-dialog .unit-consultation-date-field input,
.native-shell .unit-consultation-new-dialog .unit-consultation-contact-field input {
  padding: 0 10px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-details-grid textarea {
  min-height: 58px;
  padding: 8px 10px 16px;
  resize: vertical;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-search-control:focus-within,
.native-shell .unit-consultation-new-dialog input:focus,
.native-shell .unit-consultation-new-dialog select:focus,
.native-shell .unit-consultation-new-dialog textarea:focus {
  border-color: #007d79;
  outline: 2px solid rgba(15, 148, 135, 0.12);
}

.native-shell .unit-consultation-new-dialog .unit-consultation-search-control input {
  height: auto;
  padding: 0;
  border: 0;
  outline: 0;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-selected-patient {
  margin-top: 10px;
  padding: 10px 11px;
  border-color: #d9e7f7;
  background: #edf4ff;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-patient-avatar {
  color: #2167db;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-patient-details {
  background: #f8fbff;
}

.native-shell .unit-consultation-new-dialog button.unit-consultation-patient-details-toggle,
.native-shell .unit-consultation-new-dialog button.unit-consultation-patient-details-toggle:hover {
  display: inline-flex;
  width: fit-content;
  min-height: 0;
  align-items: center;
  gap: 5px;
  margin-top: 7px;
  padding: 3px 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #007d79;
  font-size: 8.5px;
}

.native-shell .unit-consultation-new-dialog button.unit-consultation-patient-details-toggle:focus-visible {
  outline: 2px solid rgba(15, 148, 135, 0.22);
  outline-offset: 2px;
}

.native-shell .unit-consultation-field-label {
  margin-bottom: 6px;
  color: #263b55;
  font-size: 8.5px;
  font-weight: 850;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-modality-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-modality-options label {
  position: relative;
  display: grid;
  min-height: 48px;
  box-sizing: border-box;
  grid-template-columns: 28px minmax(0, 1fr) 12px;
  grid-template-rows: 1fr;
  align-items: center;
  justify-items: stretch;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid #cddbd8;
  border-radius: 7px;
  background: #fff;
  color: #28415f;
  text-align: left;
  cursor: pointer;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-modality-options label:has(input:checked) {
  border-color: #007d79;
  background: #eef9f7;
  box-shadow: none;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-modality-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-modality-options label > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: #e1f5f1;
  color: #007d79;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-modality-options label > span svg {
  width: 16px;
  height: 16px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-modality-options strong {
  font-size: 9px;
  font-weight: 900;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-modality-options i {
  position: static;
  width: 11px;
  height: 11px;
  box-sizing: border-box;
  border: 1px solid #91a7a2;
  border-radius: 50%;
  background: #fff;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-modality-options label:has(input:checked) i {
  border: 3px solid #fff;
  background: #007d79;
  box-shadow: 0 0 0 1px #007d79;
}

.native-shell .unit-consultation-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.native-shell .unit-consultation-details-grid .is-wide {
  grid-column: 1 / -1;
}

.native-shell .unit-consultation-details-grid label > small {
  justify-self: end;
  margin-top: -15px;
  padding-right: 6px;
  color: #718197;
  font-size: 7px;
  font-weight: 650;
  pointer-events: none;
}

.native-shell .unit-consultation-modality-info {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: 7px;
  background: #edf4ff;
  color: #285eb8;
  font-size: 8px;
  line-height: 1.4;
}

.native-shell .unit-consultation-timezone,
.native-shell .unit-consultation-slot-legend,
.native-shell .unit-consultation-contact-note {
  margin: 5px 0 10px;
  color: #697b90;
  font-size: 8px;
  line-height: 1.4;
}

.native-shell .unit-consultation-booking-week {
  display: grid;
  grid-template-columns: repeat(var(--unit-booking-days, 5), minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 14px;
}

.native-shell .unit-consultation-booking-week button {
  display: grid;
  min-width: 0;
  min-height: 54px;
  place-items: center;
  align-content: center;
  gap: 4px;
  padding: 5px 2px;
  border: 1px solid #d2dded;
  border-radius: 7px;
  background: #fff;
  color: #24415f;
  font: inherit;
  cursor: pointer;
}

.native-shell .unit-consultation-booking-week button span {
  overflow: hidden;
  font-size: 7.5px;
  font-weight: 800;
  text-overflow: ellipsis;
  text-transform: uppercase;
}

.native-shell .unit-consultation-booking-week button strong {
  font-size: 13px;
  font-weight: 900;
}

.native-shell .unit-consultation-booking-week button[aria-pressed='true'] {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .unit-consultation-booking-week button:disabled {
  cursor: not-allowed;
  opacity: .42;
}

.native-shell .unit-consultation-slots-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  color: #233a56;
  font-size: 9px;
  font-weight: 850;
}

.native-shell .unit-consultation-slots-head strong {
  color: #007d79;
  font-size: 8px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-available-slots > div {
  display: grid;
  max-height: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
  overflow: visible;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-available-slots button {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 6px;
  border: 1px solid #d2dded;
  border-radius: 7px;
  background: #fff;
  color: #213b57;
  font: inherit;
  font-size: 9px;
  font-weight: 850;
  text-align: center;
  cursor: pointer;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-available-slots button time {
  font-size: 9px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-available-slots button > span,
.native-shell .unit-consultation-new-dialog .unit-consultation-available-slots button small {
  display: none;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-available-slots button.is-selected {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-available-slots button:disabled {
  border-color: #e1e7ee;
  background: #f6f8fb;
  color: #96a0ad;
  cursor: not-allowed;
  opacity: 1;
  text-decoration: line-through;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-no-slots {
  padding: 10px;
  font-size: 8px;
}

.native-shell .unit-consultation-time-select {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.native-shell .unit-consultation-slot-legend {
  margin-bottom: 0;
}

.native-shell .unit-consultation-notifications {
  display: grid;
  gap: 9px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-notifications label {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  color: #223a55;
  font-size: 8.5px;
  cursor: pointer;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-notifications input[type='hidden'] {
  display: none;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-notifications input[type='checkbox'] {
  position: static;
  width: 14px;
  height: 14px;
  min-height: 14px;
  margin: 1px 0 0;
  appearance: auto;
  accent-color: #007d79;
  border: initial;
  border-radius: 2px;
  background: initial;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-notifications input[type='checkbox']::before {
  display: none;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-notifications label > span,
.native-shell .unit-consultation-new-dialog .unit-consultation-notifications label small {
  display: block;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-notifications label small {
  margin-top: 2px;
  color: #6a7c90;
  font-size: 7.5px;
  font-weight: 650;
}

.native-shell .unit-consultation-contact-field {
  margin-top: 12px;
}

.native-shell .unit-consultation-contact-field input[readonly] {
  background: #f8fafc;
}

.native-shell .unit-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-booking-actions {
  position: static;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 16px;
  border-top: 1px solid #dce6e4;
  background: #fff;
}

.native-shell .unit-consultation-booking-summary {
  display: grid;
  min-width: 0;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  color: #2167db;
}

.native-shell .unit-consultation-booking-summary strong,
.native-shell .unit-consultation-booking-summary small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .unit-consultation-booking-summary strong {
  color: #082441;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .unit-consultation-booking-summary small {
  margin-top: 2px;
  color: #687a91;
  font-size: 7.5px;
}

.native-shell .unit-consultation-booking-action-buttons {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-booking-action-buttons button {
  display: inline-flex;
  width: auto;
  min-width: 88px;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 7px 13px;
  border: 1px solid #c8d7e4;
  border-radius: 7px;
  background: #fff;
  color: #34506f;
  font: inherit;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-booking-action-buttons button.is-primary {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .unit-consultation-new-dialog .unit-consultation-booking-action-buttons button:disabled {
  cursor: not-allowed;
  opacity: .5;
}

@media (max-width: 780px) {
  .native-shell .unit-consultation-new-dialog,
  .native-shell .unit-consultation-new-dialog .unit-consultation-flow-shell {
    max-height: calc(100dvh - 16px);
  }

  .native-shell .unit-consultation-new-dialog {
    width: calc(100vw - 16px);
  }

  .native-shell .unit-consultation-new-dialog .unit-consultation-booking-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-consultation-booking-column.is-schedule {
    border-top: 1px solid #dce6e4;
    border-left: 0;
  }
}

@media (max-width: 540px) {
  .native-shell .unit-consultation-new-dialog,
  .native-shell .unit-consultation-new-dialog .unit-consultation-flow-shell {
    max-height: 100dvh;
    border-radius: 0;
  }

  .native-shell .unit-consultation-new-dialog {
    height: 100dvh;
  }

  .native-shell .unit-consultation-new-dialog .unit-consultation-flow-shell {
    width: 100%;
  }

  .native-shell .unit-consultation-booking-column {
    padding: 15px 13px;
  }

  .native-shell .unit-consultation-details-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-consultation-details-grid .is-wide {
    grid-column: 1;
  }

  .native-shell .unit-consultation-new-dialog .unit-consultation-booking-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 9px;
  }

  .native-shell .unit-consultation-booking-action-buttons {
    display: grid;
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
  }

  .native-shell .unit-consultation-new-dialog .unit-consultation-booking-action-buttons button {
    width: 100%;
    min-width: 0;
  }

  .native-shell .unit-consultation-new-dialog input,
  .native-shell .unit-consultation-new-dialog select,
  .native-shell .unit-consultation-new-dialog textarea {
    font-size: 16px;
  }
}

.native-shell .unit-consultation-appointment-dialog {
  width: min(560px, calc(100vw - 32px));
}

.native-shell .unit-consultation-appointment-dialog .unit-consultation-flow-shell {
  max-height: min(92vh, 860px);
}

.native-shell .unit-consultation-appointment-patient {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 14px 18px 8px;
  padding: 11px 12px;
  border: 1px solid #d9e4e1;
  border-radius: 7px;
  background: #fff;
}

.native-shell .unit-consultation-appointment-patient > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #087d72;
  background: #dff5f1;
}

.native-shell .unit-consultation-appointment-patient svg,
.native-shell .unit-consultation-detail-list dt svg,
.native-shell .unit-consultation-appointment-tabs svg,
.native-shell .unit-consultation-appointment-warning svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .unit-consultation-appointment-patient > div { display: grid; min-width: 0; gap: 3px; }
.native-shell .unit-consultation-appointment-patient strong { overflow-wrap: anywhere; color: #142b4b; font-size: 12px; font-weight: 950; }
.native-shell .unit-consultation-appointment-patient p { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; color: #61748b; font-size: 8.5px; font-weight: 650; }
.native-shell .unit-consultation-appointment-patient p i { color: #a0aeae; font-style: normal; }
.native-shell .unit-consultation-appointment-patient p b { color: inherit; font-weight: 800; }

.native-shell .unit-consultation-appointment-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 0 18px 8px;
  padding: 3px;
  border: 1px solid #d9e4e1;
  border-radius: 7px;
  background: #f3f6f7;
}

.native-shell .unit-consultation-appointment-tabs button {
  display: inline-flex;
  min-width: 0;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #40536b;
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}

.native-shell .unit-consultation-appointment-tabs button.is-active {
  border-color: #0b8f83;
  color: #087d72;
  background: #e9faf7;
  box-shadow: 0 2px 7px rgba(13, 121, 111, .08);
}

.native-shell .unit-consultation-appointment-tabs button:focus-visible { outline: 2px solid rgba(11, 143, 131, .25); outline-offset: 1px; }
.native-shell .unit-consultation-appointment-tabs svg { width: 16px; height: 16px; }
.native-shell .unit-consultation-appointment-dialog [data-unit-calendar-dialog-panel][hidden] { display: none; }

.native-shell .unit-consultation-appointment-dialog .unit-consultation-detail-list {
  margin: 0 18px 14px;
  padding: 4px 12px;
  border: 1px solid #d9e4e1;
  border-radius: 7px;
  background: #fff;
}

.native-shell .unit-consultation-appointment-dialog .unit-consultation-detail-list > div {
  min-height: 43px;
  grid-template-columns: 145px minmax(0, 1fr);
}

.native-shell .unit-consultation-appointment-dialog .unit-consultation-detail-list dt {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.native-shell .unit-consultation-appointment-dialog .unit-consultation-detail-list dt svg { color: #173d72; }

.native-shell .unit-consultation-appointment-history {
  min-height: 354px;
  box-sizing: border-box;
  margin: 0 18px 14px;
  padding: 12px 14px;
  border: 1px solid #d9e4e1;
  border-radius: 7px;
  background: #fff;
}

.native-shell .unit-consultation-appointment-history ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.native-shell .unit-consultation-appointment-history li { position: relative; display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 9px; padding: 10px 0; border-bottom: 1px solid #e3eae9; }
.native-shell .unit-consultation-appointment-history li:last-child { border-bottom: 0; }
.native-shell .unit-consultation-appointment-history li > span { width: 10px; height: 10px; margin-top: 2px; border: 2px solid #0b8f83; border-radius: 50%; background: #e4f7f3; }
.native-shell .unit-consultation-appointment-history li > div { display: grid; min-width: 0; gap: 3px; }
.native-shell .unit-consultation-appointment-history strong { color: #17304f; font-size: 10px; font-weight: 900; }
.native-shell .unit-consultation-appointment-history p { margin: 0; overflow-wrap: anywhere; color: #62758a; font-size: 9px; }
.native-shell .unit-consultation-appointment-history time { color: #718197; font-size: 8.5px; font-weight: 750; white-space: nowrap; }

.native-shell .unit-consultation-appointment-footer {
  position: sticky;
  z-index: 5;
  bottom: 0;
  display: grid;
  gap: 10px;
  padding: 13px 18px 14px;
  border-top: 1px solid #d9e4e1;
  background: #fff;
}

.native-shell .unit-consultation-appointment-footer .unit-consultation-flow-actions { position: static; padding: 0; border: 0; }
.native-shell .unit-consultation-reminder-feedback { margin: 0; padding: 8px 10px; border: 1px solid #ecd195; border-radius: 6px; color: #795a16; background: #fff9e8; font-size: 9px; font-weight: 750; }
.native-shell .unit-consultation-reminder-feedback[hidden] { display: none; }
.native-shell .unit-consultation-appointment-warning { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 8px; margin: 0; padding: 8px 10px; border: 1px solid #ffcbd1; border-radius: 6px; color: #cf3143; background: #fff1f3; font-size: 8.5px; font-weight: 750; }
.native-shell .unit-consultation-appointment-warning svg { width: 17px; height: 17px; }
.native-shell .unit-consultation-appointment-warning span { display: grid; gap: 2px; }
.native-shell .unit-consultation-appointment-warning small { color: #9b5d66; font-size: 8px; font-weight: 650; }

.native-shell .unit-consultation-flow-actions {
  position: sticky;
  z-index: 5;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 18px;
  border-top: 1px solid #d9e4e1;
  background: #fff;
}

.native-shell .unit-consultation-flow-actions.is-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.native-shell .unit-consultation-flow-actions button {
  display: inline-flex;
  min-width: 0;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid #9fcfc8;
  border-radius: 7px;
  background: #fff;
  color: #087d72;
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .unit-consultation-flow-actions button svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.native-shell .unit-consultation-flow-actions button.is-primary,
.native-shell .unit-consultation-flow-actions button.is-soft {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .unit-consultation-flow-actions button.is-soft {
  border-color: #b7e4dd;
  background: #dff5f1;
  color: #087d72;
}

.native-shell .unit-consultation-flow-actions button.is-danger-outline {
  border-color: #ff6e78;
  color: #e42839;
}

.native-shell .unit-consultation-flow-actions button.is-danger {
  border-color: #ef3345;
  background: #ef3345;
  color: #fff;
}

.native-shell .unit-consultation-flow-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.native-shell .unit-consultation-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  padding: 18px;
}

.native-shell .unit-consultation-form-grid label,
.native-shell .unit-consultation-cancel-reason,
.native-shell .unit-consultation-patient-search,
.native-shell .unit-consultation-wizard-notes {
  display: grid;
  min-width: 0;
  gap: 6px;
  color: #233a56;
  font-size: 10px;
  font-weight: 850;
}

.native-shell .unit-consultation-form-grid label.is-wide {
  grid-column: 1 / -1;
}

.native-shell .unit-consultation-form-grid label > span b,
.native-shell .unit-consultation-cancel-reason > span b,
.native-shell .unit-consultation-patient-search > span b {
  color: #e42839;
}

.native-shell .unit-consultation-form-grid input,
.native-shell .unit-consultation-form-grid select,
.native-shell .unit-consultation-form-grid textarea,
.native-shell .unit-consultation-cancel-reason textarea,
.native-shell .unit-consultation-wizard-notes textarea,
.native-shell .unit-consultation-search-control {
  width: 100%;
  min-width: 0;
  border: 1px solid #cddbd8;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-size: 11px;
}

.native-shell .unit-consultation-form-grid input,
.native-shell .unit-consultation-form-grid select {
  height: 40px;
  padding: 0 11px;
}

.native-shell .unit-consultation-form-grid textarea,
.native-shell .unit-consultation-cancel-reason textarea,
.native-shell .unit-consultation-wizard-notes textarea {
  min-height: 84px;
  padding: 10px 11px;
  resize: vertical;
}

.native-shell .unit-consultation-form-grid input:focus,
.native-shell .unit-consultation-form-grid select:focus,
.native-shell .unit-consultation-form-grid textarea:focus,
.native-shell .unit-consultation-cancel-reason textarea:focus,
.native-shell .unit-consultation-wizard-notes textarea:focus,
.native-shell .unit-consultation-search-control:focus-within {
  border-color: #007d79;
  outline: 2px solid rgba(15, 148, 135, 0.12);
}

.native-shell .unit-consultation-flow-header.is-centered {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  padding: 22px 44px 16px;
  text-align: center;
}

.native-shell .unit-consultation-flow-header.is-centered .unit-consultation-flow-close {
  position: absolute;
  top: 10px;
  right: 10px;
}

.native-shell .unit-consultation-warning-icon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #ffe4e7;
  color: #ef3345;
}

.native-shell .unit-consultation-warning-icon svg {
  width: 30px;
  height: 30px;
}

.native-shell .unit-consultation-flow-header.is-centered p {
  max-width: 340px;
  line-height: 1.45;
}

.native-shell .unit-consultation-cancel-summary {
  display: grid;
  gap: 8px;
  margin: 16px 18px 0;
  padding: 12px 14px;
  border: 1px solid #d4e9e5;
  border-radius: 7px;
  background: #eef9f7;
}

.native-shell .unit-consultation-cancel-summary > div {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 12px;
}

.native-shell .unit-consultation-cancel-reason {
  margin: 15px 18px 18px;
}

.native-shell .unit-consultation-wizard-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 14px 18px;
  border-bottom: 1px solid #e0e8e6;
  list-style: none;
}

.native-shell .unit-consultation-wizard-progress li {
  position: relative;
  z-index: 0;
  display: grid;
  justify-items: center;
  gap: 5px;
  color: #7b8986;
  font-size: 9px;
  font-weight: 800;
  text-align: center;
}

.native-shell .unit-consultation-wizard-progress li:not(:last-child)::after {
  position: absolute;
  z-index: -1;
  top: 11px;
  left: calc(50% + 14px);
  width: calc(100% - 28px);
  height: 1px;
  background: #cedbd8;
  content: '';
}

.native-shell .unit-consultation-wizard-progress li b {
  position: relative;
  z-index: 1;
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  border: 1px solid #c8d7d4;
  border-radius: 50%;
  background: #fff;
  color: #647572;
}

.native-shell .unit-consultation-wizard-progress li.is-active,
.native-shell .unit-consultation-wizard-progress li.is-complete {
  color: #087d72;
}

.native-shell .unit-consultation-wizard-progress li.is-active b,
.native-shell .unit-consultation-wizard-progress li.is-complete b {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .unit-consultation-flow-error {
  margin: 14px 18px 0;
  padding: 9px 11px;
  border: 1px solid #f5adb4;
  border-radius: 7px;
  background: #fff1f3;
  color: #b5223e;
  font-size: 10px;
  font-weight: 800;
}

.native-shell .unit-consultation-wizard-step {
  display: grid;
  gap: 15px;
  padding: 17px 18px 0;
}

.native-shell .unit-consultation-wizard-step[hidden],
.native-shell .unit-consultation-flow-error[hidden],
.native-shell .unit-consultation-selected-patient[hidden],
.native-shell .unit-consultation-patient-results[hidden] {
  display: none !important;
}

.native-shell .unit-consultation-wizard-step .unit-consultation-form-grid {
  padding: 0;
}

.native-shell .unit-consultation-wizard-step > .unit-consultation-flow-actions {
  margin: 0 -18px;
}

.native-shell .unit-consultation-patient-search,
.native-shell .unit-consultation-platform-field {
  position: relative;
}

.native-shell .unit-consultation-search-control {
  display: flex;
  height: 42px;
  align-items: center;
  gap: 8px;
  padding: 0 11px;
  color: #078f82;
}

.native-shell .unit-consultation-search-control svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
}

.native-shell .unit-consultation-search-control input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #082441;
  font: inherit;
  font-size: 11px;
}

.native-shell .unit-consultation-patient-results {
  position: absolute;
  z-index: 12;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  max-height: 214px;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 5px;
  border: 1px solid #cbdad7;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 16px 32px rgba(20, 35, 60, 0.15);
}

.native-shell .unit-consultation-patient-results button {
  display: grid;
  width: 100%;
  gap: 3px;
  padding: 9px 10px;
  border: 0;
  border-bottom: 1px solid #e5ecea;
  border-radius: 4px;
  background: #fff;
  color: #082441;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.native-shell .unit-consultation-patient-results button:hover,
.native-shell .unit-consultation-patient-results button:focus-visible,
.native-shell .unit-consultation-patient-results button.is-active {
  background: #edf9f7;
}

.native-shell .unit-consultation-patient-results button:focus-visible {
  outline: 2px solid rgba(15, 148, 135, 0.22);
  outline-offset: -2px;
}

.native-shell .unit-consultation-patient-results button strong {
  font-size: 10px;
}

.native-shell .unit-consultation-patient-results button small,
.native-shell .unit-consultation-patient-results small.is-empty {
  color: #6b7c78;
  font-size: 8.5px;
}

.native-shell .unit-consultation-patient-results small.is-empty {
  display: block;
  padding: 10px;
}

.native-shell .unit-consultation-selected-patient,
.native-shell .unit-consultation-wizard-patient-card {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 11px 12px;
  border: 1px solid #cfe8e4;
  border-radius: 7px;
  background: #eff9f7;
}

.native-shell .unit-consultation-selected-patient > span,
.native-shell .unit-consultation-wizard-patient-card > span {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #d9f3ee;
}

.native-shell .unit-consultation-selected-patient strong,
.native-shell .unit-consultation-selected-patient small,
.native-shell .unit-consultation-wizard-patient-card small,
.native-shell .unit-consultation-wizard-patient-card strong,
.native-shell .unit-consultation-wizard-patient-card p {
  display: block;
  margin: 0;
}

.native-shell .unit-consultation-selected-patient strong,
.native-shell .unit-consultation-wizard-patient-card strong {
  font-size: 11px;
  font-weight: 900;
}

.native-shell .unit-consultation-selected-patient small,
.native-shell .unit-consultation-wizard-patient-card small,
.native-shell .unit-consultation-wizard-patient-card p {
  margin-top: 3px;
  color: #60726f;
  font-size: 8.5px;
}

.native-shell .unit-consultation-selected-patient button {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #536760;
  font: inherit;
  font-size: 17px;
  cursor: pointer;
}

.native-shell .unit-consultation-wizard-patient-card {
  grid-template-columns: 44px minmax(0, 1fr);
}

.native-shell .unit-consultation-wizard-service-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #d7e5e2;
  border-radius: 7px;
  background: #f8fbfa;
}

.native-shell .unit-consultation-wizard-service-card > div {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
}

.native-shell .unit-consultation-wizard-service-card > div + div {
  border-left: 1px solid #d7e5e2;
}

.native-shell .unit-consultation-wizard-service-card small,
.native-shell .unit-consultation-available-slots p {
  color: #647572;
  font-size: 9px;
}

.native-shell .unit-consultation-wizard-service-card strong {
  color: #15304d;
  font-size: 11px;
}

.native-shell .unit-consultation-available-slots h4,
.native-shell .unit-consultation-available-slots p {
  margin: 0;
}

.native-shell .unit-consultation-available-slots h4 {
  font-size: 12px;
  font-weight: 950;
}

.native-shell .unit-consultation-available-slots > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.native-shell .unit-consultation-available-slots button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid #c8d9d6;
  border-radius: 7px;
  background: #fff;
  color: #20354f;
  font: inherit;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}

.native-shell .unit-consultation-available-slots button span {
  display: none;
}

.native-shell .unit-consultation-available-slots button.is-selected {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .unit-consultation-available-slots button.is-selected span {
  display: inline;
}

.native-shell .unit-consultation-no-slots {
  grid-column: 1 / -1;
  margin: 0;
  padding: 12px;
  border: 1px solid #eadba9;
  border-radius: 7px;
  background: #fff9e9;
  color: #755b12;
  line-height: 1.45;
}

.native-shell .unit-consultation-confirm-heading {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.native-shell .unit-consultation-confirm-heading > span {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #e2f7f3;
}

.native-shell .unit-consultation-confirm-heading h4,
.native-shell .unit-consultation-confirm-heading p {
  margin: 0;
}

.native-shell .unit-consultation-confirm-heading h4 {
  font-size: 15px;
  font-weight: 950;
}

.native-shell .unit-consultation-confirm-heading p {
  margin-top: 4px;
  color: #647572;
  font-size: 9px;
}

.native-shell .unit-consultation-confirm-summary {
  padding: 4px 14px;
  border: 1px solid #d2e6e2;
  border-radius: 7px;
  background: #f6fbfa;
}

.native-shell .unit-consultation-confirm-summary > div {
  display: grid;
  min-height: 38px;
  grid-template-columns: 120px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #dce8e5;
}

.native-shell .unit-consultation-confirm-summary > div:last-child {
  border-bottom: 0;
}

.native-shell .unit-service-panels {
  display: grid;
  gap: 14px;
}

.native-shell .unit-service-panel {
  display: grid;
  overflow: hidden;
  min-height: 500px;
  grid-template-rows: auto minmax(0, auto) 1fr;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(19, 36, 58, 0.06);
}

.native-shell .unit-service-panel[hidden] {
  display: none !important;
}

.native-shell .unit-service-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 18px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .unit-service-panel-header h2,
.native-shell .unit-service-panel-header p {
  margin: 0;
}

.native-shell .unit-service-panel-header h2 {
  color: #082441;
  font-size: 15px;
  font-weight: 950;
}

.native-shell .unit-service-panel-header p {
  margin-top: 6px;
  color: #536575;
  font-size: 11px;
  font-weight: 650;
}

.native-shell .unit-service-panel-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 14px;
}

.native-shell .unit-service-panel-badges > span:not(.unit-native-status) {
  color: #536575;
  font-size: 11px;
  font-weight: 750;
}

.native-shell .unit-service-panel-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.native-shell .unit-service-panel-actions a,
.native-shell .unit-service-panel-actions button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.native-shell .unit-service-panel-actions a:first-child {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .unit-service-panel-actions button {
  border-color: #b9ded7;
  background: #e1f3ef;
  color: #007d79;
}

.native-shell .unit-service-panel-actions button.unit-service-operation-toggle {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
  box-shadow: 0 10px 22px rgba(15, 148, 135, 0.14);
}

.native-shell .unit-service-operation-view[hidden],
.native-shell [data-unit-service-overview][hidden] {
  display: none !important;
}

.native-shell .unit-service-operation-view {
  min-width: 0;
}

.native-shell .unit-consultation-subview {
  min-width: 0;
}

.native-shell .unit-consultation-room-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  min-width: 0;
}

.native-shell .unit-consultation-room-workspace[hidden] {
  display: none !important;
}

.native-shell .unit-consultation-room-detail,
.native-shell .unit-consultation-room-empty {
  min-width: 0;
  border: 1px solid #d3dfdc;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(19, 36, 58, 0.05);
}

.native-shell .unit-consultation-room-detail h3,
.native-shell .unit-consultation-room-detail p,
.native-shell .unit-consultation-room-agenda h4,
.native-shell .unit-consultation-room-agenda p,
.native-shell .unit-consultation-room-empty h3,
.native-shell .unit-consultation-room-empty p {
  margin: 0;
}

.native-shell .unit-consultation-room-empty > a {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid #007d79;
  border-radius: 6px;
  background: #007d79;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 9px 18px rgba(15, 148, 135, 0.14);
}

.native-shell .unit-consultation-room-detail svg,
.native-shell .unit-consultation-room-empty svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .unit-consultation-room-badges > span,
.native-shell .unit-consultation-room-appointment-state {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 999px;
  background: #dff7ed;
  color: #087d5d;
  font-size: 9px;
  font-weight: 900;
  white-space: nowrap;
}

.native-shell .unit-consultation-room-badges .is-status i,
.native-shell .unit-consultation-room-appointment-state i {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: currentColor;
}

.native-shell .unit-consultation-room-badges .is-status.is-inactive {
  background: #e9eef1;
  color: #657589;
}

.native-shell .unit-consultation-room-detail {
  align-self: start;
}

.native-shell .unit-consultation-room-detail-header {
  display: flex;
  min-height: 67px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 14px;
  border-bottom: 1px solid #e0e8e6;
}

.native-shell .unit-consultation-room-heading,
.native-shell .unit-consultation-room-actions,
.native-shell .unit-consultation-room-badges,
.native-shell .unit-consultation-room-agenda-controls,
.native-shell .unit-consultation-room-row-actions {
  display: flex;
  align-items: center;
}

.native-shell .unit-consultation-room-heading {
  min-width: 0;
  gap: 11px;
}

.native-shell .unit-consultation-room-heading > span {
  display: grid;
  width: 38px;
  height: 42px;
  flex: 0 0 38px;
  place-items: center;
  border-radius: 6px;
  background: #e6f7f3;
  color: #078f82;
}

.native-shell .unit-consultation-room-heading > span svg {
  width: 23px;
  height: 23px;
}

.native-shell .unit-consultation-room-heading > div {
  min-width: 0;
}

.native-shell .unit-consultation-room-heading h3 {
  overflow: hidden;
  color: #082441;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .unit-consultation-room-heading p {
  margin-top: 4px;
  overflow: hidden;
  color: #647389;
  font-size: 10px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .unit-consultation-room-actions {
  flex: 0 0 auto;
  gap: 9px;
}

.native-shell .unit-consultation-room-actions > a,
.native-shell .unit-consultation-room-more > button {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid #007d79;
  border-radius: 6px;
  background: #fff;
  color: #087d72;
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.native-shell .unit-consultation-room-more {
  position: relative;
}

.native-shell .unit-consultation-room-more > button {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .unit-consultation-room-more > button > span {
  font-size: 9px;
}

.native-shell .unit-consultation-room-more > div,
.native-shell .unit-consultation-room-row-more > div {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  right: 0;
  display: grid;
  min-width: 190px;
  overflow: hidden;
  border: 1px solid #d2dfdc;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(18, 38, 55, 0.16);
}

.native-shell .unit-consultation-room-more > div[hidden],
.native-shell .unit-consultation-room-row-more > div[hidden] {
  display: none !important;
}

.native-shell .unit-consultation-room-more > div a,
.native-shell .unit-consultation-room-more > div button,
.native-shell .unit-consultation-room-row-more > div button {
  display: flex;
  width: 100%;
  min-height: 38px;
  align-items: center;
  gap: 9px;
  padding: 8px 12px;
  border: 0;
  border-bottom: 1px solid #edf1f0;
  border-radius: 0;
  background: #fff;
  color: #20334d;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.native-shell .unit-consultation-room-more > div > :last-child,
.native-shell .unit-consultation-room-row-more > div > :last-child {
  border-bottom: 0;
}

.native-shell .unit-consultation-room-more > div a:hover,
.native-shell .unit-consultation-room-more > div button:hover,
.native-shell .unit-consultation-room-row-more > div button:hover {
  background: #f1faf8;
}

.native-shell .unit-consultation-room-row-more > div button:disabled {
  background: #f7f9f9;
  color: #9aa5b1;
  cursor: not-allowed;
}

.native-shell .unit-consultation-room-row-more > div button.is-danger:not(:disabled) {
  color: #d92c3d;
}

.native-shell .unit-consultation-room-badges {
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 14px 0;
}

.native-shell .unit-consultation-room-badges > span {
  min-height: 27px;
  justify-content: flex-start;
  padding: 0 10px;
  background: #e7f7f4;
  color: #087f73;
}

.native-shell .unit-consultation-room-badges > span svg {
  width: 15px;
  height: 15px;
}

.native-shell .unit-consultation-room-badges b {
  overflow: hidden;
  font-weight: 900;
  text-overflow: ellipsis;
}

.native-shell .unit-consultation-room-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 11px 14px 13px;
}

.native-shell .unit-consultation-room-metrics article {
  display: grid;
  min-width: 0;
  min-height: 78px;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 10px;
  border: 1px solid #dce6e4;
  border-radius: 7px;
  background: #fff;
}

.native-shell .unit-consultation-room-metrics article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 6px;
  background: #ebf9f6;
  color: #079488;
}

.native-shell .unit-consultation-room-metrics article > div {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.native-shell .unit-consultation-room-metrics small,
.native-shell .unit-consultation-room-metrics strong,
.native-shell .unit-consultation-room-metrics em {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .unit-consultation-room-metrics small {
  color: #66768a;
  font-size: 9px;
  font-weight: 750;
}

.native-shell .unit-consultation-room-metrics strong {
  color: #082441;
  font-size: 13px;
  font-weight: 950;
}

.native-shell .unit-consultation-room-metrics em {
  color: #5d6f84;
  font-size: 8px;
  font-style: normal;
  font-weight: 650;
}

.native-shell .unit-consultation-room-agenda {
  position: relative;
  border-top: 1px solid #dbe5e2;
}

.native-shell .unit-consultation-room-agenda > header {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 14px;
  background: #fbfdfc;
}

.native-shell .unit-consultation-room-agenda h4 {
  color: #082441;
  font-size: 14px;
  font-weight: 950;
}

.native-shell .unit-consultation-room-agenda p {
  margin-top: 4px;
  color: #5f7084;
  font-size: 9px;
  font-weight: 700;
}

.native-shell .unit-consultation-room-agenda-controls {
  min-width: 0;
  justify-content: flex-end;
  gap: 8px;
}

.native-shell .unit-consultation-room-agenda-controls label {
  display: grid;
  min-width: 130px;
  gap: 4px;
  color: #526479;
  font-size: 8px;
  font-weight: 850;
}

.native-shell .unit-consultation-room-agenda-controls select {
  width: 100%;
  min-width: 0;
  height: 32px;
  padding: 0 9px;
  border: 1px solid #ccd9d6;
  border-radius: 5px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-size: 9px;
  font-weight: 750;
}

.native-shell .unit-consultation-room-date-nav {
  display: grid;
  grid-template-columns: 32px auto 32px;
  align-self: end;
  overflow: hidden;
  border: 1px solid #ccd9d6;
  border-radius: 5px;
  background: #fff;
}

.native-shell .unit-consultation-room-date-nav button {
  display: inline-flex;
  min-width: 0;
  height: 32px;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 8px;
  border: 0;
  border-right: 1px solid #e0e7e5;
  border-radius: 0;
  background: #fff;
  color: #20354f;
  font: inherit;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}

.native-shell .unit-consultation-room-date-nav button:last-child {
  border-right: 0;
}

.native-shell .unit-consultation-room-date-nav svg {
  width: 14px;
  height: 14px;
  color: #078f82;
}

.native-shell .unit-consultation-room-agenda-table-wrap {
  min-width: 0;
  overflow: visible;
  border-top: 1px solid #dbe5e2;
}

.native-shell .unit-consultation-room-agenda-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  table-layout: fixed;
}

.native-shell .unit-consultation-room-agenda-table th,
.native-shell .unit-consultation-room-agenda-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #e0e8e6;
  color: #23364f;
  font-size: 9px;
  text-align: left;
  vertical-align: middle;
}

.native-shell .unit-consultation-room-agenda-table th {
  background: #f4f8f7;
  color: #50627a;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .unit-consultation-room-agenda-table th:nth-child(1) { width: 70px; }
.native-shell .unit-consultation-room-agenda-table th:nth-child(2) { width: 190px; }
.native-shell .unit-consultation-room-agenda-table th:nth-child(3) { width: 72px; }
.native-shell .unit-consultation-room-agenda-table th:nth-child(5) { width: 118px; }
.native-shell .unit-consultation-room-agenda-table th:nth-child(6) { width: 94px; }

.native-shell .unit-consultation-room-agenda-table td time,
.native-shell .unit-consultation-room-agenda-table td strong,
.native-shell .unit-consultation-room-agenda-table td small {
  display: block;
}

.native-shell .unit-consultation-room-agenda-table td time,
.native-shell .unit-consultation-room-agenda-table td strong {
  color: #082441;
  font-weight: 900;
}

.native-shell .unit-consultation-room-agenda-table td small {
  margin-top: 2px;
  color: #6b798b;
  font-size: 8px;
  font-weight: 650;
}

.native-shell .unit-consultation-room-appointment-state {
  min-height: 23px;
  padding: 0 9px;
}

.native-shell .unit-consultation-room-appointment-state.is-confirmed {
  background: #ddf7ec;
  color: #087c59;
}

.native-shell .unit-consultation-room-appointment-state.is-waiting {
  background: #fff1cf;
  color: #a96800;
}

.native-shell .unit-consultation-room-appointment-state.is-in-progress {
  background: #dcecff;
  color: #096fd2;
}

.native-shell .unit-consultation-room-appointment-state.is-completed {
  background: #e8edf1;
  color: #5c6c80;
}

.native-shell .unit-consultation-room-appointment-state.is-cancelled {
  background: #ffe2e7;
  color: #d52c46;
}

.native-shell .unit-consultation-room-row-actions {
  justify-content: flex-end;
  gap: 6px;
}

.native-shell .unit-consultation-room-row-actions button {
  min-width: 0;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #cddbd8;
  border-radius: 5px;
  background: #fff;
  color: #20334d;
  font: inherit;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}

.native-shell .unit-consultation-room-row-actions button.is-view {
  min-width: 48px;
}

.native-shell .unit-consultation-room-row-more {
  position: relative;
}

.native-shell .unit-consultation-room-row-more > button {
  width: 28px;
  padding: 0;
  font-size: 17px;
  line-height: 1;
}

.native-shell .unit-consultation-room-agenda-empty {
  height: 92px;
  color: #69788a !important;
  font-size: 10px !important;
  font-weight: 750;
  text-align: center !important;
}

.native-shell .unit-consultation-room-empty {
  display: grid;
  min-height: 360px;
  place-items: center;
  align-content: center;
  gap: 9px;
  padding: 30px;
  color: #566a7f;
  text-align: center;
}

.native-shell .unit-consultation-room-empty[hidden] {
  display: none !important;
}

.native-shell .unit-consultation-room-empty > span {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 7px;
  background: #e7f7f4;
  color: #078f82;
}

.native-shell .unit-consultation-room-empty > span svg {
  width: 26px;
  height: 26px;
}

.native-shell .unit-consultation-room-empty h3 {
  color: #082441;
  font-size: 17px;
  font-weight: 950;
}

.native-shell .unit-consultation-room-empty p {
  max-width: 430px;
  font-size: 11px;
  line-height: 1.45;
}

@media (max-width: 1450px) {
  .native-shell .unit-consultation-room-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .native-shell .unit-consultation-room-agenda > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .native-shell .unit-consultation-room-agenda-controls {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 1100px) {
  .native-shell .unit-consultation-room-agenda-table-wrap {
    overflow-x: auto;
  }
}

@media (max-width: 760px) {
  .native-shell .unit-consultation-room-detail-header {
    align-items: stretch;
    flex-direction: column;
  }

  .native-shell .unit-consultation-room-actions,
  .native-shell .unit-consultation-room-actions > a,
  .native-shell .unit-consultation-room-more,
  .native-shell .unit-consultation-room-more > button {
    width: 100%;
  }

  .native-shell .unit-consultation-room-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-consultation-room-agenda-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-consultation-room-date-nav {
    justify-self: start;
  }
}

.native-shell .unit-consultation-subview-header {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 18px;
  border-bottom: 1px solid #dbe4e2;
  background: #f3fbf9;
}

.native-shell .unit-consultation-subview-header span,
.native-shell .unit-consultation-subview-header h3,
.native-shell .unit-consultation-subview-header p {
  margin: 0;
}

.native-shell .unit-consultation-subview-header span {
  color: #008a7d;
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}

.native-shell .unit-consultation-subview-header h3 {
  margin-top: 3px;
  color: #082441;
  font-size: 15px;
  font-weight: 950;
}

.native-shell .unit-consultation-subview-header p {
  margin-top: 3px;
  color: #62716e;
  font-size: 10px;
}

.native-shell .unit-consultation-subview-header a {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border: 1px solid #007d79;
  border-radius: 7px;
  background: #fff;
  color: #087d72;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.native-shell .unit-consultation-subview-table {
  min-width: 1050px;
}

.native-shell .unit-consultation-subview-table td strong,
.native-shell .unit-consultation-subview-table td small {
  display: block;
}

.native-shell .unit-consultation-subview-table td small {
  margin-top: 4px;
  color: #687673;
  font-size: 10px;
}

.native-shell .unit-service-operation-live {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 18px;
  border-bottom: 1px solid #dbe4e2;
  background: #fbfdfc;
}

.native-shell .unit-service-operation-live > span,
.native-shell .unit-service-operation-live > div,
.native-shell .unit-service-operation-live a {
  display: inline-flex;
  align-items: center;
}

.native-shell .unit-service-operation-live > span {
  gap: 7px;
  color: #007d79;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .unit-service-operation-live > span i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0eac7b;
  box-shadow: 0 0 0 4px rgba(14, 172, 123, 0.11);
}

.native-shell .unit-service-operation-live > div {
  gap: 12px;
}

.native-shell .unit-service-operation-live small {
  color: #64716e;
  font-size: 10px;
  font-weight: 700;
}

.native-shell .unit-service-operation-live a {
  min-height: 30px;
  justify-content: center;
  padding: 0 11px;
  border: 1px solid #b8dcd5;
  border-radius: 7px;
  color: #007d79;
  background: #fff;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .unit-service-operation-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 12px;
  padding: 15px 18px;
  border-bottom: 1px solid #dbe4e2;
}

.native-shell .unit-service-operation-metrics article {
  display: grid;
  min-width: 0;
  min-height: 76px;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid #dce8e5;
  border-radius: 8px;
  background: #f5fbfa;
}

.native-shell .unit-service-operation-metrics article > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 7px;
  color: #078e80;
  background: #e1f5f1;
}

.native-shell .unit-service-operation-metrics article > span svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .unit-service-operation-metrics article > div {
  display: grid;
  min-width: 0;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 8px;
}

.native-shell .unit-service-operation-metrics small {
  grid-column: 1 / -1;
  overflow: hidden;
  color: #536575;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .unit-service-operation-metrics strong {
  margin-top: 3px;
  color: #082441;
  font-size: 19px;
  font-weight: 950;
  white-space: nowrap;
}

.native-shell .unit-service-operation-metrics em {
  overflow: hidden;
  color: #278c78;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .unit-service-operation-metrics .is-process {
  border-color: #dce8f4;
  background: #f4f8fc;
}

.native-shell .unit-service-operation-metrics .is-process > span {
  color: #2579b9;
  background: #e3f0fb;
}

.native-shell .unit-service-operation-metrics .is-completed {
  border-color: #d8ebdf;
  background: #f2faf5;
}

.native-shell .unit-service-operation-metrics .is-completed > span {
  color: #12875c;
  background: #def4e8;
}

.native-shell .unit-service-operation-metrics .is-pending {
  border-color: #eee3c5;
  background: #fffaf0;
}

.native-shell .unit-service-operation-metrics .is-pending > span {
  color: #b97a0f;
  background: #fff0c9;
}

.native-shell .unit-service-operation-metrics .is-average {
  border-color: #e5dff1;
  background: #f8f5fc;
}

.native-shell .unit-service-operation-metrics .is-average > span {
  color: #7656a8;
  background: #eee7f7;
}

.native-shell .unit-service-operation-filters {
  display: grid;
  grid-template-columns: 140px repeat(4, minmax(130px, 1fr)) minmax(220px, 1.45fr);
  align-items: end;
  gap: 12px;
  padding: 13px 18px;
  border-bottom: 1px solid #dbe4e2;
  background: #fff;
}

.native-shell .unit-service-operation-filters label {
  display: grid;
  min-width: 0;
  gap: 6px;
  color: #082441;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .unit-service-operation-filters input,
.native-shell .unit-service-operation-filters select {
  width: 100%;
  min-width: 0;
  height: 36px;
  padding: 0 10px;
  border: 1px solid #cfdad7;
  border-radius: 7px;
  outline: none;
  color: #082441;
  background: #fff;
  font: inherit;
  font-size: 10px;
  font-weight: 700;
}

.native-shell .unit-service-operation-filters input:focus,
.native-shell .unit-service-operation-filters select:focus {
  border-color: #007d79;
  box-shadow: 0 0 0 3px rgba(15, 148, 135, 0.1);
}

.native-shell .unit-service-operation-search > span {
  position: relative;
  display: block;
}

.native-shell .unit-service-operation-search input {
  padding-right: 35px;
}

.native-shell .unit-service-operation-search svg {
  position: absolute;
  top: 10px;
  right: 11px;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #60706c;
  stroke-linecap: round;
  stroke-width: 2;
  pointer-events: none;
}

.native-shell .unit-service-operation-footer {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 18px;
  border-top: 1px solid #dbe4e2;
  color: #5b6966;
  background: #fbfdfc;
  font-size: 10px;
  font-weight: 700;
}

.native-shell .unit-service-operation-footer strong {
  color: #007d79;
}

.native-shell .unit-service-detail-table {
  min-width: 1120px;
  table-layout: fixed;
}

.native-shell .unit-service-detail-table th:nth-child(1) { width: 24%; }
.native-shell .unit-service-detail-table th:nth-child(2) { width: 13%; }
.native-shell .unit-service-detail-table th:nth-child(3) { width: 23%; }
.native-shell .unit-service-detail-table th:nth-child(4) { width: 18%; }
.native-shell .unit-service-detail-table th:nth-child(5) { width: 12%; }
.native-shell .unit-service-detail-table th:nth-child(6) { width: 10%; }

.native-shell .unit-service-detail-table td {
  height: 74px;
}

.native-shell .unit-service-detail-table tbody tr {
  background: #fff;
}

.native-shell .unit-consultation-table {
  min-width: 1520px;
  table-layout: auto;
}

.native-shell .unit-consultation-table th,
.native-shell .unit-consultation-table td {
  padding: 12px 14px;
}

.native-shell .unit-consultation-table td {
  height: 56px;
  color: #082441;
  font-size: 12px;
  font-weight: 650;
}

.native-shell .unit-consultation-table td strong {
  color: #082441;
  font-size: 12px;
  font-weight: 950;
}

.native-shell .unit-consultation-table td small {
  display: block;
  margin-top: 3px;
  color: #536575;
  font-size: 10px;
  font-weight: 700;
}

.native-shell .unit-consultation-table .unit-consultation-folio {
  color: #008f7f;
  white-space: nowrap;
}

.native-shell .unit-consultation-chip {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.native-shell button.unit-consultation-chip {
  border: 0;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell [data-unit-operation-row][hidden],
.native-shell [data-unit-operation-no-results][hidden] {
  display: none !important;
}

.native-shell .unit-consultation-chip::before {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  content: "";
}

.native-shell .unit-consultation-chip.is-priority-high {
  background: #ffe8e8;
  color: #cb2d2d;
}

.native-shell .unit-consultation-chip.is-priority-high::before {
  background: #e44141;
}

.native-shell .unit-consultation-chip.is-priority-medium {
  background: #fff1d2;
  color: #b46f00;
}

.native-shell .unit-consultation-chip.is-priority-medium::before {
  background: #e19a16;
}

.native-shell .unit-consultation-chip.is-priority-low,
.native-shell .unit-consultation-chip.is-status-completed {
  background: #e1f5ea;
  color: #00804d;
}

.native-shell .unit-consultation-chip.is-priority-low::before,
.native-shell .unit-consultation-chip.is-status-completed::before {
  background: #0f9d63;
}

.native-shell .unit-consultation-chip.is-status-attention {
  background: #e4f3ff;
  color: #0e68b7;
}

.native-shell .unit-consultation-chip.is-status-attention::before {
  background: #0b83d8;
}

.native-shell .unit-consultation-chip.is-status-validation {
  background: #efeaff;
  color: #6546b5;
}

.native-shell .unit-consultation-chip.is-status-validation::before {
  background: #7255d6;
}

.native-shell .unit-consultation-chip.is-status-pending {
  background: #fff0e4;
  color: #c56200;
}

.native-shell .unit-consultation-chip.is-status-pending::before {
  background: #e27311;
}

.native-shell .unit-consultation-chip.is-status-scheduled {
  background: #ddf4f0;
  color: #007d79;
}

.native-shell .unit-consultation-chip.is-status-scheduled::before {
  background: #008f7f;
}

.native-shell .unit-consultation-chip.is-status-cancelled {
  background: #eef0f2;
  color: #68717a;
}

.native-shell .unit-consultation-chip.is-status-cancelled::before {
  background: #77828b;
}

.native-shell .unit-consultation-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.native-shell .unit-consultation-actions a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  border: 1px solid #d0dbd8;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .unit-consultation-actions svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.native-shell .unit-consultation-actions a:first-child {
  color: #007d79;
}

.native-shell .unit-consultation-actions a:last-child {
  color: #0e68b7;
}

.native-shell .unit-service-panel.is-mixture-request-service {
  overflow: visible;
  min-height: 540px;
  gap: 16px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.native-shell .unit-service-panel.is-mixture-request-service > .unit-service-panel-header,
.native-shell .unit-service-panel.is-mixture-request-service > .unit-service-operation-view {
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(19, 36, 58, 0.05);
}

.native-shell .unit-service-panel.is-mixture-request-service > .unit-service-panel-header {
  min-height: 126px;
  align-items: center;
}

.native-shell .unit-service-panel.is-mixture-request-service > [data-unit-service-overview] {
  min-width: 0;
}

.native-shell .unit-nutrition-request-board {
  display: grid;
  min-width: 0;
  gap: 14px;
}

.native-shell .unit-nutrition-request-toolbar {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.native-shell .unit-nutrition-request-tabs {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  gap: 12px;
  overflow-x: auto;
  padding: 0 1px 2px;
  scrollbar-width: thin;
}

.native-shell .unit-nutrition-request-tabs button {
  display: inline-flex;
  min-width: max-content;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  border: 1px solid #ced9d7;
  border-radius: 7px;
  color: #263657;
  background: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.native-shell .unit-nutrition-request-tabs button:hover,
.native-shell .unit-nutrition-request-tabs button:focus-visible {
  border-color: #007d79;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(15, 148, 135, 0.1);
}

.native-shell .unit-nutrition-request-tabs button.is-active {
  border-color: #007d79;
  color: #fff;
  background: #007d79;
  box-shadow: 0 8px 18px rgba(15, 148, 135, 0.16);
}

.native-shell .unit-nutrition-request-tabs button > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  color: #18233c;
  background: #ffd21c;
  font-size: 12px;
  font-weight: 950;
}

.native-shell .unit-nutrition-request-tabs button.is-active > span {
  color: #0c665d;
  background: #fff;
}

.native-shell .unit-nutrition-new-request {
  display: inline-flex;
  min-width: max-content;
  min-height: 42px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  border: 1px solid #007d79;
  border-radius: 7px;
  background: #007d79;
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15, 148, 135, 0.16);
  transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.native-shell .unit-nutrition-new-request svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.native-shell .unit-nutrition-new-request:hover,
.native-shell .unit-nutrition-new-request:focus-visible {
  border-color: #087d72;
  outline: 0;
  background: #087d72;
  box-shadow: 0 10px 22px rgba(15, 148, 135, 0.24);
  transform: translateY(-1px);
}

.native-shell .unit-nutrition-request-dialog {
  width: min(720px, calc(100vw - 32px));
}

.native-shell .unit-nutrition-request-dialog .unit-consultation-flow-shell {
  max-height: min(92vh, 860px);
}

.native-shell .unit-nutrition-request-table-wrap {
  overflow: auto;
  min-width: 0;
  min-height: 300px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(19, 36, 58, 0.05);
}

.native-shell .unit-nutrition-request-table {
  width: 100%;
  min-width: 1460px;
  border-collapse: collapse;
  table-layout: fixed;
}

.native-shell .unit-nutrition-request-table th,
.native-shell .unit-nutrition-request-table td {
  padding: 13px 12px;
  border-bottom: 1px solid #e1e8e6;
  vertical-align: middle;
  text-align: center;
}

.native-shell .unit-nutrition-request-table th {
  height: 64px;
  color: #263657;
  background: #fafcfb;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.35;
  text-transform: uppercase;
}

.native-shell .unit-nutrition-request-table td {
  height: 66px;
  color: #5b6876;
  font-size: 11px;
  font-weight: 700;
}

.native-shell .unit-nutrition-request-table th:nth-child(1) { width: 100px; }
.native-shell .unit-nutrition-request-table th:nth-child(2) { width: 90px; }
.native-shell .unit-nutrition-request-table th:nth-child(3) { width: 110px; }
.native-shell .unit-nutrition-request-table th:nth-child(4) { width: 160px; }
.native-shell .unit-nutrition-request-table th:nth-child(5) { width: 155px; }
.native-shell .unit-nutrition-request-table th:nth-child(6),
.native-shell .unit-nutrition-request-table th:nth-child(7) { width: 180px; }
.native-shell .unit-nutrition-request-table th:nth-child(8) { width: 145px; }
.native-shell .unit-nutrition-request-table th:nth-child(9) { width: 90px; }
.native-shell .unit-nutrition-request-table th:nth-child(10) { width: 75px; }
.native-shell .unit-nutrition-request-table th:nth-child(11) { width: 120px; }

.native-shell .unit-nutrition-request-table td:nth-child(4),
.native-shell .unit-nutrition-request-table td:nth-child(5) {
  text-align: left;
}

.native-shell .unit-nutrition-request-table td strong,
.native-shell .unit-nutrition-request-table td small {
  display: block;
}

.native-shell .unit-nutrition-request-table td strong {
  color: #082441;
  font-weight: 850;
}

.native-shell .unit-nutrition-request-table td small {
  margin-top: 3px;
  color: #73807d;
  font-size: 9px;
  font-weight: 700;
}

.native-shell .unit-nutrition-request-table tr[hidden] {
  display: none !important;
}

.native-shell .unit-nutrition-request-table [data-unit-nutrition-empty] td,
.native-shell .unit-nutrition-request-table [data-unit-nutrition-no-results] td {
  height: 230px;
  padding: 32px;
  border-bottom: 0;
  color: #35456a;
  font-size: 13px;
  font-weight: 750;
  text-align: center;
}

.native-shell .unit-nutrition-request-view {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid #b9ded7;
  border-radius: 6px;
  color: #087f73;
  background: #f4fbf9;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .unit-nutrition-request-view:hover,
.native-shell .unit-nutrition-request-view:focus-visible {
  border-color: #007d79;
  outline: 0;
  background: #e7f7f3;
}

.native-shell .unit-nutrition-request-view svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .unit-nutrition-approval {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
  white-space: nowrap;
}

.native-shell .unit-nutrition-approval i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.native-shell .unit-nutrition-approval.is-approved {
  color: #087d5c;
  background: #dff5ea;
}

.native-shell .unit-nutrition-approval.is-pending {
  color: #9a6900;
  background: #fff1c6;
}

.native-shell .unit-nutrition-approval.is-rejected {
  color: #bd3240;
  background: #fee5e8;
}

.native-shell .unit-nutrition-table {
  min-width: 1480px;
  table-layout: auto;
}

.native-shell .unit-nutrition-table th,
.native-shell .unit-nutrition-table td {
  padding: 12px 13px;
  text-align: center;
}

.native-shell .unit-nutrition-table td {
  height: 62px;
  color: #5f6b78;
  font-size: 12px;
  font-weight: 750;
}

.native-shell .unit-nutrition-table th:nth-child(4),
.native-shell .unit-nutrition-table th:nth-child(5),
.native-shell .unit-nutrition-table td:nth-child(4),
.native-shell .unit-nutrition-table td:nth-child(5) {
  text-align: left;
}

.native-shell .unit-nutrition-table th:nth-child(1) { width: 105px; }
.native-shell .unit-nutrition-table th:nth-child(2),
.native-shell .unit-nutrition-table th:nth-child(3) { width: 90px; }
.native-shell .unit-nutrition-table th:nth-child(6),
.native-shell .unit-nutrition-table th:nth-child(7) { width: 170px; }
.native-shell .unit-nutrition-table th:nth-child(8) { width: 140px; }
.native-shell .unit-nutrition-table th:nth-child(9),
.native-shell .unit-nutrition-table th:nth-child(10) { width: 95px; }
.native-shell .unit-nutrition-table th:nth-child(11) { width: 70px; }

.native-shell .unit-consultation-chip.is-type-nutrition {
  background: #e2fbef;
  color: #0a9360;
}

.native-shell .unit-consultation-chip.is-type-nutrition::before {
  background: #0aa765;
}

.native-shell .unit-consultation-chip.is-type-oncology {
  background: #ebedff;
  color: #5962d6;
}

.native-shell .unit-consultation-chip.is-type-oncology::before {
  background: #6069e8;
}

.native-shell .unit-consultation-chip.is-status-inspected {
  background: #f2e7ff;
  color: #8d48ce;
}

.native-shell .unit-consultation-chip.is-status-inspected::before {
  background: #9a55da;
}

.native-shell .unit-consultation-chip.is-status-preparing,
.native-shell .unit-consultation-chip.is-status-route {
  background: #e7f2ff;
  color: #1169b8;
}

.native-shell .unit-consultation-chip.is-status-preparing::before,
.native-shell .unit-consultation-chip.is-status-route::before {
  background: #1b78cc;
}

.native-shell .unit-consultation-chip.is-status-delivered {
  background: #e1f5ea;
  color: #00804d;
}

.native-shell .unit-consultation-chip.is-status-delivered::before {
  background: #0f9d63;
}

.native-shell .unit-nutrition-view-link {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 999px;
  background: #233b7e;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  text-decoration: none;
}

.unit-service-catalog-dialog { width: min(1000px, calc(100vw - 32px)); max-width: none; padding: 0; overflow: hidden; border: 1px solid #cfd8d6; border-radius: 8px; color: #111; background: #fff; box-shadow: 0 24px 65px rgba(17, 28, 26, .28); }
.unit-service-catalog-dialog::backdrop { background: rgba(23, 31, 30, .48); }
.unit-service-catalog-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; border-bottom: 1px solid #d5dddb; }
.unit-service-catalog-dialog > header h2, .unit-service-catalog-dialog > header p { margin: 0; }
.unit-service-catalog-dialog > header h2 { font-size: 14px; }
.unit-service-catalog-dialog > header p { margin-top: 4px; color: #697471; font-size: 11px; }
.unit-service-catalog-dialog button { padding: 10px 14px; border: 1px solid #cfd8d6; border-radius: 7px; color: #111; background: #fff; font-weight: 800; }
.unit-service-catalog-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 14px 18px; border-bottom: 1px solid #d5dddb; }
.unit-service-catalog-facts article { display: grid; min-height: 50px; align-content: center; gap: 4px; padding: 10px; border: 1px solid #d5dddb; border-radius: 7px; }
.unit-service-catalog-facts small { color: #687370; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.unit-service-catalog-scroll { overflow-x: auto; }
.unit-service-catalog-scroll table { width: 100%; min-width: 850px; border-collapse: collapse; }
.unit-service-catalog-scroll th, .unit-service-catalog-scroll td { padding: 13px 16px; border-bottom: 1px solid #d5dddb; text-align: left; font-size: 11px; }
.unit-service-catalog-scroll th { color: #596562; font-size: 9px; text-transform: uppercase; }
.unit-service-catalog-scroll td strong, .unit-service-catalog-scroll td small { display: block; }
.unit-service-catalog-scroll td small { margin-top: 4px; color: #697471; }
@media (max-width: 700px) { .unit-service-catalog-facts { grid-template-columns: 1fr; } }

.native-shell .unit-native-status {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #dff2ee;
  color: #007d79;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .unit-native-status::before {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #008f7f;
  content: "";
}
.native-shell .unit-native-status.is-warning { background: #fff2d4; color: #9b6500; }
.native-shell .unit-native-status.is-warning::before { background: #c98716; }
.native-shell .unit-doctors-table { min-width: 1100px; }
.native-shell .unit-doctors-table td small, .native-shell .unit-doctors-table td span { display: block; margin-top: 4px; color: #66716f; font-size: 10px; }
.native-shell .unit-doctors-table td:nth-child(6) { display: table-cell; vertical-align: middle; white-space: nowrap; }
.native-shell .unit-doctors-table td:nth-child(6) > button { margin-right: 8px; }
.native-shell .unit-doctors-table td:nth-child(6) form { display: inline-flex; margin: 0; vertical-align: middle; }
.native-shell .unit-doctors-table td:nth-child(6) button { white-space: nowrap; color: #111; background: #fff; }
.native-shell .unit-doctor-create-dialog,
.native-shell .unit-doctor-success-dialog {
  max-width: none;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  box-sizing: border-box;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  color: #082441;
  box-shadow: 0 24px 68px rgba(15, 33, 55, .25);
}
.native-shell .unit-doctor-create-dialog { width: min(800px, calc(100vw - 32px)); }
.native-shell .unit-doctor-create-dialog::backdrop,
.native-shell .unit-doctor-success-dialog::backdrop { background: rgba(15, 33, 55, .56); }
.native-shell .unit-doctor-dialog-form { display: flex; flex-direction: column; max-height: calc(100dvh - 32px); }
.native-shell .unit-doctor-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 24px 18px; border-bottom: 1px solid #dbe4e2; }
.native-shell .unit-doctor-dialog-header h2 { margin: 0 0 4px; font-size: 20px; line-height: 1.2; }
.native-shell .unit-doctor-dialog-header p { margin: 0; color: #60716e; font-size: 12px; }
.native-shell button.unit-doctor-dialog-close { display: grid; flex: none; width: 34px; height: 34px; min-height: 34px; place-items: center; padding: 0; border: 1px solid #d4dfdd; border-radius: 6px; background: #fff; color: #40536b; box-shadow: none; font-size: 23px; line-height: 1; cursor: pointer; }
.native-shell button.unit-doctor-dialog-close:hover, .native-shell button.unit-doctor-dialog-close:focus-visible { background: #eaf8f5; color: #087e73; }
.native-shell .unit-doctor-dialog-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 22px; min-height: 0; padding: 22px 24px; overflow-y: auto; }
.native-shell .unit-doctor-dialog-body > label { display: grid; min-width: 0; gap: 7px; color: #24354b; font-size: 11px; font-weight: 850; }
.native-shell .unit-doctor-dialog-body em { color: #cf3333; font-style: normal; }
.native-shell .unit-doctor-dialog-body input:not([type="checkbox"]), .native-shell .unit-doctor-dialog-body select { width: 100%; min-width: 0; min-height: 40px; box-sizing: border-box; padding: 8px 11px; border: 1px solid #cbd8d5; border-radius: 6px; background: #fff; color: #082441; font-size: 12px; }
.native-shell .unit-doctor-dialog-body input:focus-visible, .native-shell .unit-doctor-dialog-body select:focus-visible { outline: 2px solid #0b9689; outline-offset: 1px; }
.native-shell .unit-doctor-dialog-body .wide, .native-shell .unit-doctor-dialog-errors { grid-column: 1 / -1; }
.native-shell .unit-doctor-dialog-body fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.native-shell .unit-doctor-dialog-body legend { margin-bottom: 10px; color: #24354b; font-size: 11px; font-weight: 850; }
.native-shell .unit-doctor-dialog-body .unit-native-choice-grid label { min-height: 64px; }
.native-shell .unit-doctor-dialog-errors { padding: 10px 13px; border: 1px solid #efb7b7; border-radius: 6px; background: #fff5f5; color: #8f2020; font-size: 11px; }
.native-shell .unit-doctor-dialog-errors ul { margin: 5px 0 0; padding-left: 18px; }
.native-shell .unit-doctor-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 24px; border-top: 1px solid #dbe4e2; background: #fff; }
.native-shell .unit-doctor-dialog-actions button, .native-shell button.unit-doctor-success-action { min-width: 108px; min-height: 38px; padding: 8px 16px; border: 1px solid #cbd8d5; border-radius: 6px; background: #fff; color: #082441; box-shadow: none; font-size: 12px; font-weight: 850; cursor: pointer; }
.native-shell .unit-doctor-dialog-actions button.is-primary, .native-shell button.unit-doctor-success-action { border-color: #078a7b; background: #078a7b; color: #fff; }
.native-shell .unit-doctor-success-dialog { width: min(380px, calc(100vw - 32px)); padding: 30px 24px 24px; text-align: center; }
.native-shell .unit-doctor-success-dialog > .unit-doctor-dialog-close { position: absolute; top: 12px; right: 12px; border: 0; }
.native-shell .unit-doctor-success-icon { display: grid; width: 52px; height: 52px; place-items: center; margin: 0 auto 14px; border-radius: 50%; background: #e6f6f3; color: #078a7b; }
.native-shell .unit-doctor-success-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.native-shell .unit-doctor-success-dialog h2 { margin: 0 0 6px; color: #087e73; font-size: 17px; }
.native-shell .unit-doctor-success-dialog p { margin: 0 0 20px; color: #60716e; font-size: 12px; }
@media (max-width: 620px) {
  .native-shell .unit-doctor-dialog-header, .native-shell .unit-doctor-dialog-body, .native-shell .unit-doctor-dialog-actions { padding-inline: 16px; }
  .native-shell .unit-doctor-dialog-body { grid-template-columns: 1fr; }
  .native-shell .unit-doctor-dialog-body .wide, .native-shell .unit-doctor-dialog-errors { grid-column: auto; }
  .native-shell .unit-doctor-dialog-body .unit-native-choice-grid { grid-template-columns: 1fr; }
}

.native-shell .unit-native-empty {
  height: 220px;
  color: #536575 !important;
  text-align: center !important;
}

.native-shell .unit-native-card-copy {
  margin: 0;
  padding: 13px 18px;
  border-bottom: 1px solid #d5dddb;
  color: #536575;
  font-size: 13px;
}

.native-shell .unit-native-two-column {
  display: grid;
  grid-template-columns: minmax(420px, 0.92fr) minmax(520px, 1.3fr);
  gap: 16px;
  align-items: start;
}

.native-shell .unit-native-form-card {
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .unit-native-spaced {
  margin-top: 18px;
}

.native-shell .unit-native-form-card > header {
  padding: 18px 18px 16px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .unit-native-form-card h2,
.native-shell .unit-native-form-card p,
.native-shell .unit-native-user-list h3,
.native-shell .unit-native-user-list p {
  margin: 0;
}

.native-shell .unit-native-form-card h2,
.native-shell .unit-native-user-list h3 {
  color: #082441;
  font-size: 15px;
  font-weight: 950;
}

.native-shell .unit-native-form-card p,
.native-shell .unit-native-user-list p {
  color: #536575;
  font-size: 12px;
  font-weight: 650;
}

.native-shell .unit-native-form-card form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}

.native-shell .unit-native-form-card label,
.native-shell .unit-native-form-card legend {
  color: #33413f;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .unit-native-form-card label {
  display: grid;
  gap: 7px;
}

.native-shell .unit-native-form-card .wide {
  grid-column: 1 / -1;
}

.native-shell .unit-native-form-card input,
.native-shell .unit-native-form-card select {
  min-height: 40px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 750;
}

.native-shell .unit-native-form-card fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.native-shell .unit-native-form-card legend {
  margin-bottom: 10px;
}

.native-shell .unit-native-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.native-shell .unit-native-choice-grid label {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  min-height: 72px;
  padding: 14px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fff;
}

.native-shell .unit-native-choice-grid label:has(input:checked) {
  border-color: #008f7f;
  background: #eaf8f5;
}

.native-shell .unit-native-choice-grid input {
  width: 15px;
  min-height: 15px;
  margin-top: 2px;
  accent-color: #078a7b;
}

.native-shell .unit-native-choice-grid strong,
.native-shell .unit-native-choice-grid small {
  display: block;
}

.native-shell .unit-native-choice-grid small {
  margin-top: 5px;
  color: #536575;
  font-size: 11px;
  font-weight: 700;
}

.native-shell .unit-native-form-card form > button {
  min-height: 42px;
  width: max-content;
  min-width: 130px;
  border: 0;
  border-radius: 7px;
  background: #078a7b;
  color: #fff;
  padding: 0 18px;
  font-size: 13px;
  font-weight: 950;
}
.native-shell .unit-native-form-card form > button[data-operational-reset] { border: 1px solid #cdd8d5; color: #111; background: #fff; }
.native-shell .unit-native-user-list article > form { margin: 0; }
.native-shell .unit-native-user-list article > form button { white-space: nowrap; }

.native-shell .unit-native-spaced form > button {
  width: 100%;
  grid-column: 1 / -1;
}

.native-shell .unit-native-user-list {
  display: grid;
  gap: 12px;
  padding: 18px;
}

.native-shell .unit-native-user-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 10px;
  align-items: center;
  padding: 16px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fbfdfc;
}

.native-shell .unit-native-user-list button {
  min-height: 34px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .unit-native-support {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.native-shell .unit-native-support article {
  min-width: 0;
  padding: 16px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .unit-native-support .compact-list {
  max-height: 220px;
  overflow: auto;
}

.native-shell .unit-native-support .compact-list div {
  border-color: #dbe5e2;
  border-radius: 7px;
  background: #fbfdfc;
}

/* Shared service composition: carousel, service facts, controls, and content. */
.native-shell .unit-service-panel.is-unified-service {
  display: grid;
  overflow: visible;
  min-height: 540px;
  gap: 14px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.native-shell .unit-service-panel.is-unified-service > .unit-service-panel-header,
.native-shell .unit-service-panel.is-unified-service > .unit-service-operation-view {
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(19, 36, 58, 0.05);
}

.native-shell .unit-service-panel.is-unified-service > .unit-service-panel-header {
  min-height: 126px;
  align-items: center;
}

.native-shell .unit-service-panel.is-unified-service > [data-unit-service-overview],
.native-shell .unit-service-panel-copy {
  min-width: 0;
}

.native-shell .unit-service-panel-copy > h2,
.native-shell .unit-service-panel-copy > p {
  overflow-wrap: anywhere;
}

.native-shell .unit-consultation-calendar,
.native-shell .unit-service-generic-board {
  display: grid;
  min-width: 0;
  gap: 14px;
}

.native-shell .unit-consultation-calendar-toolbar {
  grid-template-columns: auto minmax(240px, 1fr) minmax(170px, 210px) minmax(170px, 210px);
  padding: 0;
  border: 0;
  background: transparent;
}

.native-shell .unit-consultation-calendar-modes {
  display: flex;
  gap: 8px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.native-shell .unit-consultation-calendar-modes button {
  min-width: 66px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid #ced9d7;
  border-radius: 7px;
  background: #fff;
}

.native-shell .unit-consultation-calendar-modes button:last-child {
  border-right: 1px solid #ced9d7;
}

.native-shell .unit-consultation-calendar-content {
  overflow: hidden;
  min-width: 0;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(19, 36, 58, 0.05);
}

.native-shell .unit-service-generic-request-table {
  width: 100%;
  min-width: 1080px;
  border-collapse: collapse;
  table-layout: fixed;
}

.native-shell .unit-service-generic-request-table th,
.native-shell .unit-service-generic-request-table td {
  padding: 13px 12px;
  border-bottom: 1px solid #e1e8e6;
  vertical-align: middle;
  text-align: center;
}

.native-shell .unit-service-generic-request-table th {
  height: 64px;
  color: #263657;
  background: #fafcfb;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.35;
  text-transform: uppercase;
}

.native-shell .unit-service-generic-request-table td {
  height: 66px;
  color: #5b6876;
  font-size: 11px;
  font-weight: 700;
}

.native-shell .unit-service-generic-request-table th:nth-child(1) { width: 120px; }
.native-shell .unit-service-generic-request-table th:nth-child(2) { width: 110px; }
.native-shell .unit-service-generic-request-table th:nth-child(3) { width: 155px; }
.native-shell .unit-service-generic-request-table th:nth-child(4) { width: 150px; }
.native-shell .unit-service-generic-request-table th:nth-child(5) { width: 130px; }
.native-shell .unit-service-generic-request-table th:nth-child(6) { width: 95px; }
.native-shell .unit-service-generic-request-table th:nth-child(7) { width: 135px; }
.native-shell .unit-service-generic-request-table th:nth-child(8) { width: 110px; }
.native-shell .unit-service-generic-request-table th:nth-child(9) { width: 75px; }

.native-shell .unit-service-generic-request-table td:nth-child(1),
.native-shell .unit-service-generic-request-table td:nth-child(3),
.native-shell .unit-service-generic-request-table td:nth-child(4) {
  text-align: left;
}

.native-shell .unit-service-generic-request-table td strong,
.native-shell .unit-service-generic-request-table td small {
  display: block;
}

.native-shell .unit-service-generic-request-table td strong {
  color: #082441;
  font-weight: 850;
}

.native-shell .unit-service-generic-request-table td small {
  margin-top: 3px;
  color: #73807d;
  font-size: 9px;
  font-weight: 700;
}

.native-shell .unit-service-generic-request-table tr[hidden] {
  display: none !important;
}

.native-shell .unit-service-generic-request-table [data-unit-request-empty] td,
.native-shell .unit-service-generic-request-table [data-unit-request-no-results] td {
  height: 230px;
  padding: 32px;
  border-bottom: 0;
  color: #35456a;
  font-size: 13px;
  font-weight: 750;
  text-align: center;
}

/* Shared catalog composition: carousel, information, controls, and content. */
.native-shell .unit-catalog-carousel-card {
  margin-bottom: 14px;
}

.native-shell .sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.native-shell .unit-catalog-screen {
  display: grid;
  min-width: 0;
  gap: 14px;
}

.native-shell .unit-service-panels > .unit-catalog-screen[hidden],
.native-shell .unit-service-panels [data-unit-service-catalog-row][hidden] {
  display: none !important;
}

.native-shell .unit-catalog-info-card {
  min-height: 126px;
  box-sizing: border-box;
  align-items: center;
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(19, 36, 58, 0.05);
}

.native-shell .unit-catalog-toolbar {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.native-shell .unit-catalog-toolbar > .unit-nutrition-request-tabs {
  flex: 1 1 auto;
}

.native-shell .unit-catalog-toolbar-actions {
  display: flex;
  min-width: 0;
  flex: 0 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.native-shell .unit-catalog-search {
  position: relative;
  display: block;
  width: clamp(190px, 18vw, 280px);
  flex: 0 1 280px;
}

.native-shell .unit-catalog-search svg {
  position: absolute;
  top: 50%;
  left: 13px;
  width: 17px;
  height: 17px;
  fill: none;
  stroke: #60716e;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  transform: translateY(-50%);
  pointer-events: none;
}

.native-shell .unit-catalog-search input {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  padding: 0 12px 0 40px;
  border: 1px solid #ced9d7;
  border-radius: 7px;
  color: #082441;
  background: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
}

.native-shell .unit-catalog-search input:focus {
  border-color: #007d79;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(15, 148, 135, 0.1);
}

.native-shell .unit-medication-screen button.unit-catalog-secondary-action {
  display: inline-flex;
  min-width: max-content;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid #ced9d7;
  border-radius: 7px;
  color: #082441;
  background: #fff;
  box-shadow: none;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.native-shell .unit-medication-screen button.unit-catalog-secondary-action:hover,
.native-shell .unit-medication-screen button.unit-catalog-secondary-action:focus-visible {
  border-color: #007d79;
  outline: 0;
  color: #007d79;
}

.native-shell .unit-catalog-content-card {
  min-width: 0;
  min-height: 325px;
  margin: 0;
  box-shadow: 0 12px 26px rgba(19, 36, 58, 0.05);
}

.native-shell .unit-catalog-content-card [data-unit-catalog-row][hidden],
.native-shell .unit-catalog-content-card [data-unit-catalog-empty][hidden] {
  display: none !important;
}

.native-shell .unit-catalog-overview-table {
  min-width: 880px;
}

.native-shell .unit-catalog-overview-table td:first-child strong,
.native-shell .unit-catalog-overview-table td:first-child small {
  display: block;
}

.native-shell .unit-catalog-overview-table td:first-child small {
  max-width: 420px;
  margin-top: 4px;
  color: #66716f;
  font-size: 10px;
  line-height: 1.35;
}

.native-shell .unit-catalog-info-card .unit-service-panel-badges strong {
  color: inherit;
  font: inherit;
}

.native-shell .unit-procedure-screen .unit-procedure-card {
  min-height: 325px;
  margin: 0;
}

.native-shell .unit-procedure-toolbar .unit-nutrition-request-tabs button {
  padding-inline: 16px;
}

.native-shell .unit-procedure-toolbar [data-procedure-create-toolbar][hidden],
.native-shell .unit-procedure-card [data-procedure-row][hidden] {
  display: none !important;
}

@media (max-width: 1100px) {
  .native-shell .unit-native-screen {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .native-shell .unit-native-topbar {
    grid-template-columns: 220px minmax(0, 1fr) auto;
  }

  .native-shell .unit-native-header,
  .native-shell .unit-native-two-column {
    grid-template-columns: 1fr;
  }

  .native-shell .unit-catalog-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .native-shell .unit-catalog-toolbar-actions {
    justify-content: flex-start;
  }

  .native-shell .unit-service-panel-header {
    align-items: stretch;
    flex-direction: column;
  }

  .native-shell .unit-service-panel.is-unified-service > .unit-service-panel-header {
    min-height: 0;
    align-items: stretch;
  }

  .native-shell .unit-service-panel-actions {
    justify-content: flex-start;
  }

  .native-shell .unit-service-operation-metrics {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }

  .native-shell .unit-service-operation-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .native-shell .unit-consultation-calendar-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .native-shell .unit-consultation-calendar-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-consultation-calendar-aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid #d7e2df;
    border-left: 0;
  }

  .native-shell .unit-consultation-mini-calendar {
    border-right: 1px solid #d7e2df;
  }

  .native-shell .unit-native-selector,
  .native-shell .unit-native-filters,
  .native-shell .unit-native-form-card form,
  .native-shell .unit-native-choice-grid,
  .native-shell .unit-native-user-list article,
  .native-shell .unit-native-support {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .native-shell .unit-native-screen {
    display: block;
  }

  .native-shell .unit-native-sidebar {
    position: static;
    min-height: 0;
  }

  .native-shell .unit-native-topbar {
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 0;
  }

  .native-shell .unit-native-topbar > strong,
  .native-shell .unit-native-topbar > span {
    height: 44px;
    padding: 0 16px;
    border-right: 0;
    border-bottom: 1px solid #dce5e4;
  }

  .native-shell .unit-native-topbar-user {
    justify-content: space-between;
    padding: 10px 16px;
  }

  .native-shell .unit-native-topbar-user > div {
    display: none;
  }

  .native-shell .unit-native-workspace {
    padding: 18px 14px 34px;
  }

  .native-shell .unit-service-carousel-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-consultation-submenu-card {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
    padding: 0;
  }

  .native-shell button.unit-service-carousel-arrow,
  .native-shell button.unit-consultation-submenu-arrow {
    display: none;
  }

  .native-shell .unit-consultation-subview-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .native-shell .unit-consultation-calendar-toolbar,
  .native-shell .unit-consultation-calendar-aside {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-consultation-calendar-date-nav {
    grid-template-columns: 38px minmax(0, 1fr) 38px;
  }

  .native-shell .unit-consultation-mini-calendar {
    border-right: 0;
  }

  .native-shell .unit-consultation-calendar-legend {
    align-items: flex-start;
    flex-direction: column;
  }

  .native-shell .unit-consultation-flow-dialog,
  .native-shell .unit-consultation-new-dialog,
  .native-shell .unit-consultation-cancel-dialog {
    width: calc(100vw - 20px);
  }

  .native-shell .unit-consultation-form-grid,
  .native-shell .unit-consultation-flow-actions.is-three {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-consultation-detail-list > div,
  .native-shell .unit-consultation-confirm-summary > div {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .native-shell .unit-consultation-wizard-progress li span {
    font-size: 8px;
  }

  .native-shell .unit-consultation-available-slots > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .native-shell .unit-consultation-wizard-service-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-consultation-wizard-service-card > div + div {
    border-top: 1px solid #d7e5e2;
    border-left: 0;
  }

  .native-shell .unit-service-operation-live,
  .native-shell .unit-service-operation-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .native-shell .unit-service-operation-metrics,
  .native-shell .unit-service-operation-filters {
    grid-template-columns: 1fr;
  }

  .native-shell .unit-nutrition-request-tabs {
    gap: 8px;
  }

  .native-shell .unit-consultation-submenu {
    gap: 8px;
  }

  .native-shell .unit-nutrition-request-tabs button,
  .native-shell button.unit-consultation-submenu-button {
    min-height: 40px;
    padding: 0 14px;
  }

  .native-shell .unit-nutrition-request-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .native-shell .unit-catalog-toolbar-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .unit-catalog-search {
    width: 100%;
  }

  .native-shell .unit-catalog-secondary-action {
    width: 100%;
  }

  .native-shell .unit-nutrition-new-request {
    width: 100%;
  }
}

.native-shell .institution-hero {
  min-height: 150px;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 250, 0.96) 100%),
    radial-gradient(circle at 88% 18%, rgba(15, 76, 117, 0.12), transparent 32%);
}

.native-shell .institution-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .institution-hero-mark {
  background: linear-gradient(135deg, #24d9c6 0%, #0f4c75 100%);
  box-shadow: 0 14px 24px rgba(15, 76, 117, 0.16);
}

.native-shell .institution-metrics {
  gap: 14px;
}

.native-shell .institution-metrics .metric-card {
  position: relative;
  min-height: 104px;
  overflow: hidden;
}

.native-shell .institution-metrics .metric-card::after {
  position: absolute;
  right: -26px;
  bottom: -36px;
  width: 98px;
  height: 98px;
  border-radius: 999px;
  background: rgba(15, 76, 117, 0.08);
  content: "";
}

.native-shell .institution-layout {
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.native-shell .institution-profile-card {
  top: 104px;
  overflow: hidden;
  padding: 0;
}

.native-shell .institution-profile-header {
  display: grid;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid #e5eef1;
  background: linear-gradient(180deg, #fbfefe 0%, #f3f8fb 100%);
}

.native-shell .institution-profile-header h2 {
  margin: 0;
  color: #26324a;
  font-size: 19px;
  line-height: 1.15;
}

.native-shell .institution-profile-header span {
  display: block;
  margin-top: 4px;
  color: #0f4c75;
  font-size: 13px;
  font-weight: 850;
}

.native-shell .institution-avatar {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  border: 1px solid #c8e3ef;
  border-radius: 22px;
  background: linear-gradient(135deg, #24d9c6 0%, #0f4c75 100%);
  color: #fff;
  box-shadow: 0 14px 24px rgba(15, 76, 117, 0.16);
  font-size: 24px;
  font-weight: 900;
}

.native-shell .institution-profile-card .detail-list {
  padding: 18px 20px 20px;
}

.native-shell .institution-profile-card .detail-list div {
  grid-template-columns: 104px minmax(0, 1fr);
}

.native-shell .institution-units-panel,
.native-shell .institution-provider-panel,
.native-shell .institution-side-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .institution-units-panel::before,
.native-shell .institution-provider-panel::before,
.native-shell .institution-side-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #0f4c75 0%, rgba(15, 76, 117, 0) 70%);
  content: "";
}

.native-shell .institution-units-panel .table-card {
  border-color: #e5eef1;
  border-radius: 16px;
}

.native-shell .institution-units-panel .data-table {
  min-width: 920px;
}

.native-shell .institution-units-panel .data-table tr:hover td {
  background: #fbfefe;
}

.native-shell .institution-status-form {
  align-items: center;
}

.native-shell .institution-side-panel .compact-list,
.native-shell .institution-provider-panel .compact-list {
  max-height: 420px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .institution-side-panel .compact-list div,
.native-shell .institution-provider-panel .compact-list div {
  border-color: #e5eef1;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .institution-units-panel .badge,
.native-shell .institution-side-panel .badge,
.native-shell .institution-provider-panel .badge {
  background: #eef7fb;
  color: #0f4c75;
}

.native-shell.institution-native-body {
  min-height: 100vh;
  background: #f3f5f4;
}

.native-shell.institution-native-body .topbar {
  display: none;
}

.native-shell.institution-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .institution-native-screen {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 236px minmax(0, 1fr);
  background: #f3f5f4;
  color: #082441;
}

.native-shell .institution-native-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 100vh;
  padding: 20px 8px 28px;
  border-right: 1px solid #d5dddb;
  background: #fbfdfc;
}

.native-shell .institution-native-brand {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
}

.native-shell .institution-native-brand > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #a8dcd3;
  border-radius: 8px;
  background: #e6f5f2;
  color: #007d79;
  font-size: 20px;
  font-weight: 900;
}

.native-shell .institution-native-brand strong,
.native-shell .institution-native-brand small {
  display: block;
}

.native-shell .institution-native-brand strong {
  color: #082441;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .institution-native-brand small {
  color: #536575;
  font-size: 11px;
}

.native-shell .institution-native-menu {
  display: grid;
  gap: 8px;
}

.native-shell .institution-native-menu a {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 7px;
  color: #536575;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.15;
  text-decoration: none;
}

.native-shell .institution-native-menu a.is-active {
  background: #dff2ee;
  color: #007d79;
}

.native-shell .institution-native-menu a span {
  color: #63716f;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .institution-native-workspace {
  min-width: 0;
  padding: 24px 22px 42px;
}

.native-shell .institution-native-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
}

.native-shell .institution-native-header .eyebrow {
  color: #536575;
}

.native-shell .institution-native-header h1 {
  margin: 3px 0 5px;
  color: #082441;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: 0;
}

.native-shell .institution-native-header p {
  margin: 0 0 14px;
  color: #33413f;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .institution-native-header label {
  display: grid;
  width: min(100%, 330px);
  gap: 7px;
  color: #33413f;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .institution-native-header select,
.native-shell .institution-native-filters select,
.native-shell .institution-native-filters input {
  min-height: 38px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 750;
}

.native-shell .institution-native-session {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 52px;
}

.native-shell .institution-native-session strong {
  color: #536575;
  font-size: 12px;
}

.native-shell .institution-native-session a {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #cdd8d5;
  border-radius: 8px;
  background: #fff;
  color: #082441;
  font-size: 18px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .institution-native-filters {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) 150px 180px 150px 84px;
  gap: 12px;
  align-items: end;
  margin-bottom: 16px;
}

.native-shell .institution-native-filters label {
  display: grid;
  gap: 7px;
  color: #536575;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .institution-native-filters .search {
  position: relative;
}

.native-shell .institution-native-filters .search span {
  position: absolute;
  bottom: 9px;
  left: 13px;
  color: #65736f;
  font-weight: 900;
}

.native-shell .institution-native-filters .search input {
  padding-left: 40px;
}

.native-shell .institution-native-filters button {
  min-height: 42px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-weight: 900;
}

.native-shell .institution-native-table-card {
  width: min(100%, 1040px);
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .institution-native-table-card-wide,
.native-shell .institution-native-table-card-summary {
  width: 100%;
}

.native-shell .institution-native-table-card-summary {
  margin-bottom: 16px;
}

.native-shell .institution-native-pharmacy-table {
  min-width: 980px;
}

.native-shell .institution-service-catalog {
  display: grid;
  gap: 14px;
}

.native-shell .institution-service-carousel-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  padding: 16px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fbfdfc;
  box-shadow: 0 14px 30px rgba(19, 36, 58, 0.05);
}

.native-shell .institution-service-carousel {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px;
  scroll-padding-inline: 2px;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.native-shell .institution-service-carousel::-webkit-scrollbar {
  display: none;
}

.native-shell button.institution-service-carousel-arrow {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #a8dcd3;
  border-radius: 50%;
  background: #fff;
  color: #007d79;
  font: inherit;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 12px 24px rgba(15, 148, 135, 0.1);
  cursor: pointer;
}

.native-shell button.institution-service-carousel-new,
.native-shell .institution-service-carousel button.institution-service-carousel-button {
  display: grid;
  width: 142px;
  min-height: 126px;
  flex: 0 0 auto;
  place-items: center;
  align-content: center;
  gap: 7px;
  padding: 12px 9px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  color: #082441;
  font: inherit;
  text-align: center;
  text-decoration: none;
  scroll-snap-align: start;
  box-shadow: 0 12px 24px rgba(19, 36, 58, 0.07);
  cursor: pointer;
}

.native-shell button.institution-service-carousel-new {
  width: 150px;
  border-color: #007d79;
  background: #007d79;
  color: #fff;
  box-shadow: 0 14px 28px rgba(15, 148, 135, 0.16);
}

.native-shell .institution-service-carousel button.institution-service-carousel-button {
  border-color: #d5dddb;
  background: #fff;
  color: #082441;
  box-shadow: 0 12px 24px rgba(19, 36, 58, 0.07);
}

.native-shell .institution-service-carousel-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: #007d79;
  font-size: 26px;
  font-weight: 900;
}

.native-shell .institution-service-carousel-icon.is-new {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 24px;
}

.native-shell .institution-service-carousel-icon svg {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell button.institution-service-carousel-new strong,
.native-shell button.institution-service-carousel-new small,
.native-shell .institution-service-carousel button.institution-service-carousel-button strong,
.native-shell .institution-service-carousel button.institution-service-carousel-button small {
  display: -webkit-box;
  overflow: hidden;
  max-width: 100%;
  line-height: 1.12;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
}

.native-shell button.institution-service-carousel-new strong,
.native-shell .institution-service-carousel button.institution-service-carousel-button strong {
  min-height: 27px;
  color: #082441;
  font-size: 11.5px;
  font-weight: 950;
  -webkit-line-clamp: 2;
}

.native-shell button.institution-service-carousel-new small,
.native-shell .institution-service-carousel button.institution-service-carousel-button small {
  color: #007d79;
  font-size: 11px;
  font-weight: 750;
  opacity: 1;
  -webkit-line-clamp: 1;
}

.native-shell button.institution-service-carousel-new strong,
.native-shell button.institution-service-carousel-new small {
  color: #fff;
}

.native-shell .institution-service-carousel button.institution-service-carousel-button.is-active {
  border-color: #007d79;
  background: #fff;
  color: #007d79;
  box-shadow: inset 0 -3px 0 #007d79, 0 16px 34px rgba(15, 148, 135, 0.14);
}

.native-shell .institution-service-carousel button.institution-service-carousel-button.is-active strong,
.native-shell .institution-service-carousel button.institution-service-carousel-button.is-active small,
.native-shell .institution-service-carousel button.institution-service-carousel-button.is-active .institution-service-carousel-icon {
  color: #007d79;
}

.native-shell .institution-service-create-dialog {
  width: min(860px, calc(100vw - 36px));
  max-width: none;
  max-height: calc(100vh - 36px);
  padding: 0;
  overflow: hidden;
  border: 1px solid #cfdad7;
  border-radius: 10px;
  background: #fff;
  color: #082441;
  box-shadow: 0 30px 90px rgba(17, 28, 26, 0.3);
}

.native-shell .institution-service-create-dialog::backdrop {
  background: rgba(15, 24, 28, 0.52);
  backdrop-filter: blur(3px);
}

.native-shell .institution-service-create-dialog > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-bottom: 1px solid #dce5e4;
  background: #fff;
}

.native-shell .institution-service-create-dialog > header h2,
.native-shell .institution-service-create-dialog > header p {
  margin: 0;
}

.native-shell .institution-service-create-dialog > header h2 {
  color: #082441;
  font-size: 18px;
  line-height: 1.1;
}

.native-shell .institution-service-create-dialog > header p {
  margin-top: 5px;
  color: #536575;
  font-size: 12px;
  font-weight: 700;
}

.native-shell .institution-service-create-dialog > header button {
  display: grid;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  place-items: center;
  margin-left: auto;
  border: 1px solid #cdd8d5;
  border-radius: 8px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.native-shell .institution-service-create-dialog .institution-service-create-form {
  max-height: calc(100vh - 130px);
  overflow: auto;
}

.native-shell .institution-service-panels {
  display: grid;
  gap: 14px;
}

.native-shell .institution-service-panel {
  display: grid;
  min-height: 500px;
  grid-template-rows: auto minmax(0, auto) 1fr;
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(19, 36, 58, 0.06);
}

.native-shell .institution-service-panel[hidden] {
  display: none !important;
}

.native-shell .institution-service-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 18px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .institution-service-panel .institution-service-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.native-shell .institution-service-panel .institution-service-actions button {
  min-height: 38px;
  padding-inline: 15px;
  white-space: nowrap;
}

.native-shell .institution-service-panel .institution-native-table-scroll {
  min-height: 230px;
}

.native-shell .institution-service-hospitals-table {
  min-width: 1120px;
  table-layout: fixed;
}

.native-shell .institution-service-hospitals-table th:nth-child(1) { width: 25%; }
.native-shell .institution-service-hospitals-table th:nth-child(2) { width: 13%; }
.native-shell .institution-service-hospitals-table th:nth-child(3) { width: 21%; }
.native-shell .institution-service-hospitals-table th:nth-child(4) { width: 17%; }
.native-shell .institution-service-hospitals-table th:nth-child(5) { width: 13%; }
.native-shell .institution-service-hospitals-table th:nth-child(6) { width: 11%; }

.native-shell .institution-service-hospitals-table td {
  height: 64px;
  vertical-align: middle;
}

.native-shell .institution-service-hospitals-table td strong,
.native-shell .institution-service-hospitals-table td small {
  display: block;
}

.native-shell .institution-service-hospitals-table td small {
  margin-top: 4px;
  color: #536575;
  font-size: 10px;
}

.native-shell .institution-service-all-table { min-width: 850px; }
.native-shell .institution-service-all-table td { vertical-align: middle; }
.native-shell .institution-service-all-table td strong,
.native-shell .institution-service-all-table td small { display: block; }
.native-shell .institution-service-all-table td small { margin-top: 4px; color: #536575; font-size: 10px; }
.native-shell .institution-service-all-table th:last-child,
.native-shell .institution-service-all-table td:last-child { width: 120px; }
.native-shell .institution-service-all-table button { min-height: 32px; padding: 5px 10px; border: 1px solid #cbd8d5; border-radius: 6px; background: #fff; color: #007d79; box-shadow: none; font: inherit; font-weight: 850; white-space: nowrap; cursor: pointer; }
.native-shell .institution-service-all-table button:hover,
.native-shell .institution-service-all-table button:focus-visible { border-color: #007d79; background: #e6f8f5; }

.native-shell .institution-service-panel .institution-service-unit-panel {
  width: calc(100% - 36px);
  max-width: 760px;
  margin: 0 18px 18px;
}

/* Keep the services workspace aligned with the other institution catalogs. */
.native-shell .institution-service-catalog {
  gap: 12px;
}

.native-shell .institution-service-panels {
  gap: 12px;
}

.native-shell .institution-service-panel.institution-catalog-section-panel {
  grid-template-rows: auto auto minmax(230px, 1fr);
  gap: 12px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.native-shell .institution-service-panel.institution-catalog-section-panel .institution-service-panel-header {
  min-height: 98px;
  box-sizing: border-box;
  align-items: center;
  padding: 17px 18px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(19, 36, 58, 0.05);
}

.native-shell .institution-service-panel.institution-catalog-section-panel .institution-service-copy {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.native-shell .institution-service-panel.institution-catalog-section-panel .institution-service-copy h2,
.native-shell .institution-service-panel.institution-catalog-section-panel .institution-service-copy p {
  margin: 0;
  letter-spacing: 0;
}

.native-shell .institution-service-panel.institution-catalog-section-panel .institution-service-copy h2 {
  color: #101f35;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.2;
}

.native-shell .institution-service-panel.institution-catalog-section-panel .institution-service-copy p {
  color: #536575;
  font-size: 11px;
  font-weight: 720;
  line-height: 1.35;
}

.native-shell .institution-service-panel.institution-catalog-section-panel .institution-service-copy > div {
  gap: 11px;
  margin-top: 3px;
  color: #3d4c49;
  font-size: 10px;
  font-weight: 800;
}

.native-shell .institution-service-panel.institution-catalog-section-panel .institution-service-filter-toolbar {
  min-height: 46px;
  padding: 0;
  border: 0;
  background: transparent;
}

.native-shell .institution-service-panel.institution-catalog-section-panel > .institution-native-table-scroll {
  min-height: 230px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .institution-service-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 110px;
  align-items: start;
  gap: 14px 24px;
  padding: 18px 16px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .institution-service-copy h2 {
  margin: 0 0 6px;
  color: #082441;
  font-size: 15px;
}

.native-shell .institution-service-copy p {
  margin: 0 0 13px;
  color: #536575;
  font-size: 11px;
}

.native-shell .institution-service-copy > div {
  display: flex;
  align-items: center;
  gap: 16px;
}

.native-shell .institution-service-copy small {
  color: #536575;
  font-size: 11px;
}

.native-shell .institution-service-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.native-shell .institution-service-actions .sr-only {
  display: none;
}

.native-shell .institution-service-actions button,
.native-shell .institution-service-actions select {
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 10px;
  font-weight: 850;
}

.native-shell .institution-service-actions button.is-info {
  border-color: #b9ded7;
  background: #e1f3ef;
  color: #007d79;
}

.native-shell .institution-service-actions select {
  min-width: 126px;
  color: #536575;
}

.native-shell .institution-service-unit-panel {
  display: grid;
  grid-column: 1 / -1;
  width: min(100%, 620px);
  box-sizing: border-box;
  gap: 12px;
  padding: 16px;
  border: 1px solid #cdd8d5;
  border-radius: 8px;
  background: #fff;
}

.native-shell .institution-service-unit-panel[hidden] {
  display: none;
}

.native-shell .institution-service-unit-panel header h3,
.native-shell .institution-service-unit-panel header strong {
  display: block;
  margin: 0;
}

.native-shell .institution-service-unit-panel header h3 {
  font-size: 14px;
}

.native-shell .institution-service-unit-panel header strong {
  margin-top: 5px;
  font-size: 10px;
}

.native-shell .institution-service-unit-search {
  position: relative;
}

.native-shell .institution-service-unit-search span {
  position: absolute;
  top: 11px;
  left: 13px;
  color: #536575;
}

.native-shell .institution-service-unit-search input {
  width: 100%;
  min-height: 42px;
  padding: 0 14px 0 40px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
}

.native-shell .institution-service-select-all,
.native-shell .institution-service-unit-list > label {
  display: flex;
  align-items: center;
  gap: 14px;
}

.native-shell .institution-service-select-all {
  padding: 3px 4px;
  font-size: 11px;
}

.native-shell .institution-service-select-all input,
.native-shell .institution-service-unit-list input {
  width: 19px;
  height: 19px;
}

.native-shell .institution-service-unit-list > label {
  padding: 13px 14px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
}

.native-shell .institution-service-unit-list label[hidden] {
  display: none;
}

.native-shell .institution-service-unit-list strong,
.native-shell .institution-service-unit-list small {
  display: block;
}

.native-shell .institution-service-unit-list strong {
  font-size: 11px;
}

.native-shell .institution-service-unit-list small {
  margin-top: 3px;
  color: #536575;
  font-size: 10px;
}

.native-shell .institution-service-unit-panel footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.native-shell .institution-service-unit-panel footer button {
  min-height: 36px;
  padding: 0 17px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-weight: 850;
}

.native-shell .institution-service-unit-panel footer button.is-primary {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

@media (max-width: 1100px) {
  .native-shell .institution-service-card {
    grid-template-columns: 1fr;
  }

  .native-shell .institution-service-actions,
  .native-shell .institution-service-unit-panel {
    grid-column: 1;
  }

  .native-shell .institution-service-actions {
    flex-wrap: wrap;
  }
}

.native-shell .institution-native-table-heading {
  padding: 16px 18px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .institution-native-table-heading h2 {
  margin: 0 0 3px;
  color: #082441;
  font-size: 15px;
}

.native-shell .institution-native-table-heading p {
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .institution-medication-summary .institution-native-table-heading,
.native-shell .institution-medication-card > .institution-native-table-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.native-shell .institution-medication-summary button,
.native-shell .institution-medication-new,
.native-shell .institution-medication-edit {
  min-height: 36px;
  padding: 0 15px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-weight: 850;
}

.native-shell .institution-medication-new {
  min-height: 44px;
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .institution-medication-table {
  min-width: 1500px;
}

.native-shell .institution-medication-table th:nth-child(1) { width: 140px; }
.native-shell .institution-medication-table th:nth-child(2) { width: 280px; }
.native-shell .institution-medication-table th:nth-child(3) { width: 300px; }
.native-shell .institution-medication-table th:nth-child(4) { width: 360px; }
.native-shell .institution-medication-table th:nth-child(5),
.native-shell .institution-medication-table th:nth-child(6),
.native-shell .institution-medication-table th:nth-child(7) { width: 95px; }

.native-shell .institution-medication-filter-row input,
.native-shell .institution-medication-filter-row select {
  width: 100%;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 10px;
  font-weight: 750;
}

.native-shell .institution-medication-table tbody td:nth-child(3) span {
  margin-top: 5px;
  color: #65736f;
  font-size: 10px;
}

.native-shell .institution-medication-availability {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fee5e2;
  color: #b42318;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .institution-medication-availability::before {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  content: "";
}

.native-shell .institution-medication-availability.is-yes {
  background: #dff2ee;
  color: #007d79;
}

.native-shell .institution-medication-form-card[hidden],
.native-shell .institution-medication-card[hidden] {
  display: none;
}

.native-shell .institution-medication-form-card > .institution-native-table-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.native-shell .institution-medication-form-card > .institution-native-table-heading button {
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-weight: 850;
}

.native-shell .institution-medication-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 14px;
  padding: 18px;
}

.native-shell .institution-medication-form label {
  display: grid;
  gap: 8px;
  color: #536575;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .institution-medication-form input,
.native-shell .institution-medication-form textarea,
.native-shell .institution-medication-form select {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: 11px 13px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-weight: 700;
  text-transform: none;
}

.native-shell .institution-medication-form textarea {
  min-height: 66px;
  resize: vertical;
}

.native-shell .institution-medication-form > button {
  min-height: 44px;
  border: 1px solid #007d79;
  border-radius: 7px;
  background: #007d79;
  color: #fff;
  font-weight: 900;
}

@media (max-width: 850px) {
  .native-shell .institution-medication-form {
    grid-template-columns: 1fr;
  }
}

.native-shell .institution-specialty-card > .institution-native-table-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.native-shell .institution-specialty-table {
  min-width: 900px;
}

.native-shell .institution-specialty-table th:first-child { width: 80px; }
.native-shell .institution-specialty-table th:nth-child(2) { width: 45%; }
.native-shell .institution-specialty-table th:nth-child(3) { width: 180px; }

.native-shell .institution-specialty-table td:nth-child(2) span {
  margin-top: 4px;
  color: #65736f;
  font-size: 10px;
}

.native-shell .institution-specialty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.native-shell .institution-specialty-actions form {
  margin: 0;
}

.native-shell .institution-specialty-actions button {
  min-height: 32px;
  padding: 0 13px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 10px;
  font-weight: 850;
}

.native-shell .institution-specialty-actions button.danger {
  border-color: #fca5a5;
  background: #fff1f2;
  color: #b42318;
}

.native-shell .institution-specialty-actions button.status-action {
  border-color: #f1d48a;
  background: #fff8e1;
  color: #8a5a00;
}

.native-shell .provider-native-messenger-detail[hidden],
.native-shell [data-provider-messenger-list][hidden],
.native-shell .provider-native-shipment-detail[hidden],
.native-shell [data-provider-shipment-list][hidden] {
  display: none !important;
}

.native-shell .provider-native-messenger-detail {
  display: grid;
  gap: 16px;
}

.native-shell .provider-native-messenger-detail-hero,
.native-shell .provider-native-messenger-detail-card {
  border: 1px solid #cad9d6;
  border-radius: 8px;
  background: #fff;
}

.native-shell .provider-native-messenger-detail-hero {
  display: grid;
  grid-template-columns: auto auto minmax(220px, 1fr) minmax(300px, .8fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px;
}

.native-shell .provider-native-messenger-detail-hero > button,
.native-shell .provider-native-assigned-route-heading > button {
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid #cad9d6;
  border-radius: 7px;
  background: #fff;
  color: #172321;
  font-weight: 800;
}

.native-shell .provider-native-messenger-detail-hero > div,
.native-shell .provider-native-messenger-detail-hero aside {
  display: grid;
  gap: 3px;
}

.native-shell .provider-native-messenger-detail-hero small,
.native-shell .provider-native-messenger-detail-card dt,
.native-shell .provider-native-assigned-route small {
  color: #536763;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .provider-native-messenger-detail-hero p,
.native-shell .provider-native-assigned-route p {
  margin: 0;
  color: #667773;
  font-size: 11px;
}

.native-shell .provider-native-messenger-detail-hero aside {
  padding: 11px;
  border: 1px solid #d7e1df;
  border-radius: 7px;
}

.native-shell .provider-native-messenger-detail-card > header {
  display: grid;
  gap: 3px;
  padding: 14px 16px;
  border-bottom: 1px solid #d5dfdd;
}

.native-shell .provider-native-messenger-detail-card > header small {
  color: #667773;
}

.native-shell .provider-native-messenger-detail-card > dl {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 14px 16px;
}

.native-shell .provider-native-messenger-detail-card > dl div {
  min-height: 64px;
  padding: 12px;
  border: 1px solid #d7e1df;
  border-radius: 7px;
  background: #fbfdfc;
}

.native-shell .provider-native-messenger-detail-card dd {
  margin: 5px 0 0;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .provider-native-assigned-route {
  margin: 14px 16px;
  border: 1px solid #d5dfdd;
  border-radius: 7px;
  overflow: hidden;
}

.native-shell .provider-native-assigned-route-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
}

.native-shell .provider-native-assigned-route-heading > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.native-shell .provider-native-assigned-route-heading strong,
.native-shell .provider-native-assigned-route-heading p {
  flex-basis: 100%;
}

.native-shell .provider-native-assigned-route-heading span {
  padding: 6px 10px;
  border-radius: 999px;
  background: #edf3f1;
  color: #536575;
  font-size: 9px;
  font-weight: 800;
}

.native-shell .provider-native-assigned-route-heading > button {
  align-self: center;
  border-color: #05a66f;
  background: #05a66f;
  color: #fff;
}

.native-shell .provider-native-assigned-route-heading > button:disabled {
  border-color: #83c3b6;
  background: #83c3b6;
  cursor: not-allowed;
}

.native-shell .provider-native-assigned-route table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
}

.native-shell .provider-native-assigned-route th,
.native-shell .provider-native-assigned-route td {
  padding: 11px 13px;
  border-top: 1px solid #d5dfdd;
  text-align: left;
  vertical-align: top;
}

.native-shell .provider-native-assigned-route th {
  background: #f6f9f8;
  color: #536763;
  font-size: 9px;
  text-transform: uppercase;
}

.native-shell .provider-native-assigned-route td small {
  display: block;
  margin-top: 4px;
}

.native-shell .provider-native-assigned-route td > span {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff1cf;
  color: #9b5d00;
  font-weight: 800;
}

.native-shell .provider-native-route-empty {
  height: 72px;
  color: #667773;
  text-align: center !important;
  vertical-align: middle !important;
}

@media (max-width: 1100px) {
  .native-shell .provider-native-messenger-detail-hero {
    grid-template-columns: auto auto 1fr;
  }
  .native-shell .provider-native-messenger-detail-hero aside {
    grid-column: 1 / -1;
  }
  .native-shell .provider-native-messenger-detail-card > dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.native-shell .provider-native-shipment-detail {
  margin: 16px;
  border: 1px solid #d5dfdd;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.native-shell .provider-native-shipment-detail > header,
.native-shell .provider-native-shipment-pending > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
}

.native-shell .provider-native-shipment-detail > header > div,
.native-shell .provider-native-shipment-pending > header > div {
  display: grid;
  gap: 3px;
}

.native-shell .provider-native-shipment-detail > header small {
  color: #536575;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .provider-native-shipment-detail > header p,
.native-shell .provider-native-shipment-pending > header small {
  margin: 0;
  color: #667773;
  font-size: 10px;
}

.native-shell .provider-native-shipment-detail > header button {
  min-height: 34px;
  padding: 7px 14px;
  border: 1px solid #cad9d6;
  border-radius: 7px;
  background: #fff;
  color: #172321;
  font-weight: 800;
}

.native-shell .provider-native-shipment-route-summary {
  padding: 0 16px 14px;
}

.native-shell .provider-native-shipment-route-summary .provider-native-route-card {
  width: min(500px, 100%);
  border-color: #74aaa0;
}

.native-shell .provider-native-shipment-pending {
  margin: 0 16px 16px;
  border: 1px solid #d5dfdd;
  border-radius: 7px;
  overflow: hidden;
}

.native-shell .provider-native-shipment-pending > header {
  border-bottom: 1px solid #d5dfdd;
}

.native-shell .provider-native-shipment-pending > header button {
  min-height: 34px;
  padding: 7px 18px;
  border: 0;
  border-radius: 7px;
  background: #08aa74;
  color: #fff;
  font-weight: 900;
}

.native-shell .provider-native-shipment-pending > header button:disabled {
  background: #83c3b6;
  cursor: not-allowed;
}

.native-shell .provider-native-shipment-pending > p {
  margin: 0;
  padding: 22px;
  color: #667773;
  text-align: center;
}

.native-shell .provider-native-shipment-pending table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
}

.native-shell .provider-native-shipment-pending th,
.native-shell .provider-native-shipment-pending td {
  padding: 10px 13px;
  border-bottom: 1px solid #d5dfdd;
  text-align: left;
}

.native-shell .provider-native-shipment-pending th {
  background: #f6f9f8;
  color: #536763;
  font-size: 9px;
  text-transform: uppercase;
}

.native-shell .provider-native-shipment-pending td span {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fff1cf;
  color: #9b5d00;
  font-weight: 800;
}

.native-shell .provider-native-area-link {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 6px 12px;
  border: 1px solid #cad9d6;
  border-radius: 7px;
  background: #fff;
  color: #172321;
  font-size: 10px;
  font-weight: 900;
  text-decoration: underline;
}

.native-shell .institution-specialty-form-card[hidden],
.native-shell .institution-specialty-card[hidden] {
  display: none;
}

.native-shell .institution-specialty-form-card > .institution-native-table-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.native-shell .institution-specialty-form-card > .institution-native-table-heading button {
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-weight: 850;
}

.native-shell .institution-specialty-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}

.native-shell .institution-specialty-form label {
  display: grid;
  gap: 8px;
  color: #536575;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .institution-specialty-form label:first-of-type {
  grid-column: 1 / -1;
}

.native-shell .institution-specialty-form input,
.native-shell .institution-specialty-form select {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  padding: 0 13px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-weight: 750;
}

.native-shell .institution-specialty-form > button {
  align-self: end;
  min-height: 42px;
  border: 1px solid #007d79;
  border-radius: 7px;
  background: #007d79;
  color: #fff;
  font-weight: 900;
}

@media (max-width: 700px) {
  .native-shell .institution-specialty-form {
    grid-template-columns: 1fr;
  }

  .native-shell .institution-specialty-form label:first-of-type {
    grid-column: 1;
  }
}

.unit-doctor-authorization-row > td { padding: 12px 16px !important; background: #fff; }
.unit-doctor-authorization-form { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 12px; padding: 14px; border: 1px solid #d9e1df; border-radius: 10px; }
.unit-doctor-authorization-form header { grid-column: 1 / -1; display: grid; gap: 3px; }
.unit-doctor-authorization-form header span { color: #60706d; font-size: 11px; }
.unit-doctor-authorization-form label { display: grid; gap: 7px; font-size: 11px; font-weight: 700; }
.unit-doctor-authorization-form select { min-height: 42px; border: 1px solid #d3dcda; border-radius: 8px; padding: 0 12px; background: #fff; }
.unit-doctor-authorization-form fieldset { min-width: 0; border: 1px solid #d9e1df; border-radius: 8px; padding: 10px; }
.unit-doctor-authorization-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; }
.unit-doctor-authorization-actions button { min-height: 38px; padding: 8px 13px; border: 1px solid #ccd8d5; border-radius: 7px; background: #fff; color: #111; font-weight: 800; }
.unit-doctor-authorization-actions button[type="submit"] { border-color: #007d79; background: #007d79; color: #fff; }
@media (max-width: 800px) { .unit-doctor-authorization-form { grid-template-columns: 1fr; } }
.native-shell .unit-external-pharmacy-table { min-width: 1250px; table-layout: fixed; }
.native-shell .unit-external-pharmacy-table th:nth-child(1) { width: 120px; }
.native-shell .unit-external-pharmacy-table th:nth-child(2) { width: 190px; }
.native-shell .unit-external-pharmacy-table th:nth-child(3) { width: 255px; }
.native-shell .unit-external-pharmacy-table th:nth-child(4) { width: 470px; }
.native-shell .unit-external-pharmacy-table th:nth-child(5) { width: 125px; }
.native-shell .unit-external-pharmacy-table th:nth-child(6) { width: 135px; }
.native-shell .unit-external-pharmacy-table td { padding-top: 14px; padding-bottom: 14px; vertical-align: middle; }
.native-shell .unit-external-pharmacy-table td small { display: block; margin-top: 4px; color: #677370; font-size: 9px; }
.native-shell .unit-external-pharmacy-table td:nth-child(4) { line-height: 1.35; }
.native-shell .unit-external-pharmacy-table td:nth-child(5) { white-space: normal; line-height: 1.15; }
.native-shell .unit-external-pharmacy-table td:nth-child(6) form { margin-top: 7px; }
.native-shell .unit-external-pharmacy-table td:nth-child(6) button { padding: 6px 8px; color: #111; background: #fff; white-space: nowrap; }
.native-shell .unit-external-pharmacy-table .unit-native-filter-row input { width: 100%; min-height: 34px; box-sizing: border-box; }
.native-shell .unit-medication-catalog-table { min-width: 1380px; table-layout: fixed; }
.native-shell .unit-medication-catalog-table th:nth-child(1) { width: 135px; }
.native-shell .unit-medication-catalog-table th:nth-child(2) { width: 300px; }
.native-shell .unit-medication-catalog-table th:nth-child(3) { width: 190px; }
.native-shell .unit-medication-catalog-table th:nth-child(4) { width: 245px; }
.native-shell .unit-medication-catalog-table th:nth-child(5) { width: 190px; }
.native-shell .unit-medication-catalog-table th:nth-child(6) { width: 170px; }
.native-shell .unit-medication-catalog-table th:nth-child(7) { width: 130px; }
.native-shell .unit-medication-catalog-table td { padding-top: 14px; padding-bottom: 14px; vertical-align: middle; }
.native-shell .unit-medication-catalog-table td small { display: block; margin-top: 4px; color: #677370; font-size: 10px; line-height: 1.35; }
.native-shell .unit-medication-catalog-table td:nth-child(2) small { max-width: 270px; }
.native-shell .unit-medication-catalog-table .unit-native-filter-row input { width: 100%; min-height: 34px; box-sizing: border-box; }
.native-shell .unit-medication-catalog-table { min-width: 1240px; }
.native-shell .unit-medication-catalog-table th:nth-child(1) { width: 108px; }
.native-shell .unit-medication-catalog-table th:nth-child(2) { width: 235px; }
.native-shell .unit-medication-catalog-table th:nth-child(3) { width: 215px; }
.native-shell .unit-medication-catalog-table th:nth-child(4) { width: 210px; }
.native-shell .unit-medication-catalog-table th:nth-child(5) { width: 225px; }
.native-shell .unit-medication-catalog-table th:nth-child(6) { width: 130px; }
.native-shell .unit-medication-catalog-table th:nth-child(7) { width: 117px; }
.native-shell .unit-medication-catalog-table th { padding: 10px; }
.native-shell .unit-medication-catalog-table td { padding-top: 10px; padding-bottom: 10px; }
.native-shell .unit-medication-catalog-table td:nth-child(3) small { max-width: 210px; }
.native-shell .unit-medication-catalog-table [data-medication-row][hidden],
.native-shell .unit-medication-catalog-table [data-medication-empty][hidden],
.native-shell .unit-medication-filter-popover[hidden] { display: none !important; }
.native-shell .unit-medication-column-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px;
  align-items: center;
  gap: 6px;
  min-height: 34px;
}
.native-shell .unit-medication-column-heading > span {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
  line-height: 1.2;
}
.native-shell button.unit-medication-filter-trigger,
.native-shell .unit-medication-catalog-table td button.unit-medication-view {
  display: inline-grid;
  width: 28px;
  height: 28px;
  min-height: 28px;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 1px solid #cbd9d7;
  border-radius: 5px;
  background: #fff;
  box-shadow: none;
  color: #007d79;
  cursor: pointer;
}
.native-shell button.unit-medication-filter-trigger:hover,
.native-shell button.unit-medication-filter-trigger.has-filter,
.native-shell .unit-medication-catalog-table td button.unit-medication-view:hover {
  border-color: #007d79;
  background: #e6f8f5;
}
.native-shell .unit-medication-filter-trigger svg,
.native-shell .unit-medication-view svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
.native-shell .unit-medication-catalog-table td button.unit-medication-switch {
  display: inline-flex;
  width: 36px;
  height: 21px;
  min-height: 21px;
  align-items: center;
  padding: 2px;
  border: 0;
  border-radius: 12px;
  background: #8b98a3;
  box-shadow: none;
  cursor: pointer;
}
.native-shell .unit-medication-catalog-table td button.unit-medication-switch.is-on { background: #0b9287; }
.native-shell .unit-medication-catalog-table td button.unit-medication-switch:disabled { opacity: 0.55; cursor: wait; }
.native-shell .unit-medication-switch.is-disabled { opacity: 0.5; cursor: not-allowed; }
.native-shell .unit-medication-switch span {
  display: block;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  transition: transform 0.15s ease;
}
.native-shell .unit-medication-switch.is-on span { transform: translateX(15px); }
.native-shell .unit-medication-filter-popover {
  position: fixed;
  z-index: 1200;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 9px;
  box-sizing: border-box;
  max-width: calc(100vw - 24px);
  max-height: min(420px, calc(100vh - 24px));
  overflow: hidden;
  padding: 12px;
  border: 1px solid #bdcecf;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(20, 38, 58, 0.24);
  color: #082441;
  font-size: 12px;
}
.native-shell .unit-medication-filter-popover > input {
  width: 100%;
  min-height: 38px;
  box-sizing: border-box;
  padding: 0 10px;
  border: 1px solid #cbd9df;
  border-radius: 5px;
  font: inherit;
}
.native-shell .unit-medication-filter-all,
.native-shell .unit-medication-filter-options label { display: flex; align-items: center; min-width: 0; gap: 8px; color: #344156; font-size: 12px; line-height: 1.35; cursor: pointer; }
.native-shell .unit-medication-filter-all { padding: 4px 0 8px; border-bottom: 1px solid #e2e9ef; font-weight: 700; }
.native-shell .unit-medication-filter-options { display: grid; align-content: start; gap: 9px; min-height: 0; max-height: 260px; overflow-y: auto; }
.native-shell .unit-medication-filter-options label span { min-width: 0; overflow-wrap: anywhere; }
.native-shell .unit-medication-filter-options input[type="checkbox"],
.native-shell .unit-medication-filter-all input[type="checkbox"] {
  flex: 0 0 16px;
  width: 16px;
  min-width: 16px;
  height: 16px;
  min-height: 16px;
  margin: 0;
  padding: 0;
  border-radius: 3px;
  accent-color: #2461c8;
}
.native-shell .unit-medication-filter-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 8px; border-top: 1px solid #e2e9ef; }
.native-shell .unit-medication-filter-actions button {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid #bfcdd4;
  border-radius: 5px;
  background: #fff;
  color: #082441;
  font: inherit;
  cursor: pointer;
}
.native-shell .unit-medication-filter-actions button:first-child { border-color: #0b9187; background: #0b9187; color: #fff; }
.native-shell .unit-medication-detail-dialog {
  width: min(520px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  overflow: auto;
  padding: 0;
  border: 1px solid #cbd9d7;
  border-radius: 8px;
  color: #082441;
  background: #fff;
  box-shadow: 0 20px 50px rgba(10, 28, 48, 0.25);
}
.native-shell .unit-medication-detail-dialog::backdrop { background: rgba(17, 34, 53, 0.5); }
.native-shell .unit-medication-detail-dialog header,
.native-shell .unit-medication-detail-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; }
.native-shell .unit-medication-detail-dialog header { border-bottom: 1px solid #dce5e4; }
.native-shell .unit-medication-detail-dialog footer { border-top: 1px solid #dce5e4; }
.native-shell .unit-medication-detail-dialog h2 { margin: 0 0 3px; font-size: 16px; }
.native-shell .unit-medication-detail-dialog small { color: #60716e; }
.native-shell .unit-medication-detail-dialog dl { display: grid; gap: 14px; margin: 0; padding: 18px; }
.native-shell .unit-medication-detail-dialog dt { margin-bottom: 4px; color: #526763; font-size: 11px; font-weight: 750; }
.native-shell .unit-medication-detail-dialog dd { margin: 0; overflow-wrap: anywhere; font-size: 13px; line-height: 1.45; }
.native-shell .unit-medication-detail-dialog button { min-height: 32px; padding: 4px 10px; border: 1px solid #cbd9d7; border-radius: 5px; background: #fff; color: #082441; cursor: pointer; }
.native-shell .unit-medication-feedback {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1200;
  max-width: min(360px, calc(100vw - 40px));
  padding: 11px 15px;
  border: 1px solid #f0b2b2;
  border-radius: 6px;
  background: #fff2f2;
  box-shadow: 0 10px 30px rgba(17, 45, 54, 0.16);
  color: #963535;
  font-size: 12px;
  font-weight: 750;
}
.native-shell .unit-medication-feedback[hidden] { display: none; }
.native-shell .unit-procedure-carousel-card { margin-bottom: 14px; }
.native-shell .unit-procedure-carousel button.unit-procedure-carousel-button {
  width: 150px;
  min-height: 122px;
  padding-inline: 10px;
}
.native-shell .unit-procedure-carousel button.unit-procedure-carousel-button strong {
  min-height: auto;
  -webkit-line-clamp: 3;
}
.native-shell .unit-procedure-carousel button.unit-procedure-carousel-button .unit-service-carousel-icon {
  width: 42px;
  height: 42px;
}
.native-shell .unit-procedure-card[hidden] { display: none !important; }
.unit-procedure-catalogs { display: grid; gap: 16px; }
.native-shell .unit-procedure-card { min-height: 325px; }
.unit-procedure-heading-actions { display: flex; gap: 8px; }
.native-shell .unit-procedure-heading-actions button, .native-shell .unit-procedure-heading-actions a { display: inline-flex; min-height: 36px; align-items: center; padding: 8px 13px; border: 1px solid #ccd8d5; border-radius: 7px; color: #111; background: #fff; font-weight: 800; text-decoration: none; }
.native-shell .unit-procedure-heading-actions .is-primary { border-color: #007d79; color: #fff; background: #007d79; }
.native-shell .unit-procedure-heading-actions .is-primary span { margin-right: 6px; font-size: 17px; line-height: 1; }
.native-shell .unit-procedure-table { min-width: 1100px; table-layout: fixed; }
.native-shell .unit-procedure-table th:nth-child(1) { width: 170px; }
.native-shell .unit-procedure-table th:nth-child(2) { width: 90px; }
.native-shell .unit-procedure-table th:nth-child(3) { width: 170px; }
.native-shell .unit-procedure-table th:nth-child(4) { width: 210px; }
.native-shell .unit-procedure-table th:nth-child(5) { width: 200px; }
.native-shell .unit-procedure-table th:nth-child(6) { width: 220px; }
.native-shell .unit-procedure-table th:nth-child(7) { width: 110px; }
.native-shell .unit-procedure-table .unit-native-empty { height: 215px; text-align: center; vertical-align: middle; }
.unit-procedure-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px; padding: 14px; border: 1px solid #d4dcda; border-radius: 8px; }
.unit-procedure-form header, .unit-procedure-form .wide { grid-column: 1 / -1; }
.unit-procedure-form header { display: grid; gap: 3px; }
.unit-procedure-form header span { color: #63716e; font-size: 10px; font-weight: 700; }
.unit-procedure-form > label { display: grid; gap: 6px; font-size: 10px; font-weight: 800; }
.unit-procedure-form input, .unit-procedure-form select { min-height: 38px; box-sizing: border-box; padding: 7px 10px; border: 1px solid #d0dad7; border-radius: 7px; background: #fff; }
.unit-procedure-form fieldset { border: 1px solid #d0dad7; border-radius: 8px; padding: 12px; }
.unit-procedure-schedule { display: grid; gap: 7px; }
.unit-procedure-schedule > div { display: grid; grid-template-columns: 165px 28px 125px 125px; gap: 8px; align-items: end; padding: 8px; border: 1px solid #d6dfdd; border-radius: 7px; }
.unit-procedure-schedule > div.is-enabled { border-color: #55b9ae; background: #f2fbf9; }
.unit-procedure-schedule label { display: grid; gap: 4px; font-size: 9px; font-weight: 800; }
.unit-procedure-schedule > div > span { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid #ccd8d5; border-radius: 6px; background: #fff; font-weight: 900; }
.unit-procedure-form-actions { display: flex; gap: 8px; }
.unit-procedure-form-actions button, .unit-procedure-form-actions a { display: inline-flex; min-height: 38px; align-items: center; padding: 8px 14px; border: 1px solid #ccd8d5; border-radius: 7px; color: #111; background: #fff; font-weight: 800; text-decoration: none; }
.unit-procedure-form-actions button { border-color: #007d79; color: #fff; background: #007d79; }

.native-shell .unit-procedure-dialog {
  width: min(980px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 8px;
  color: #082441;
  background: transparent;
}
.native-shell .unit-procedure-dialog::backdrop { background: rgba(15, 33, 55, .58); backdrop-filter: blur(2px); }
.native-shell .unit-procedure-dialog-form {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  max-height: min(92vh, 860px);
  overflow: hidden;
  border: 1px solid #cbdad7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(15, 33, 55, .28);
}
.native-shell .unit-procedure-dialog[open] .unit-procedure-dialog-form { animation: unit-procedure-dialog-in 160ms ease-out; }
.native-shell .unit-procedure-dialog-header {
  position: sticky;
  z-index: 4;
  top: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #d9e4e1;
  background: #fff;
}
.native-shell .unit-procedure-dialog-header > div { display: grid; min-width: 0; gap: 3px; }
.native-shell .unit-procedure-dialog-header strong { font-size: 17px; font-weight: 950; }
.native-shell .unit-procedure-dialog-header span:not(.unit-procedure-dialog-icon) { color: #647572; font-size: 10px; font-weight: 700; }
.native-shell .unit-procedure-dialog-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: #078f82; background: #e4f7f3; }
.native-shell .unit-procedure-dialog-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.native-shell button.unit-procedure-dialog-close { display: grid; width: 34px; height: 34px; min-height: 34px; place-items: center; padding: 0; border: 0; border-radius: 6px; color: #40536b; background: transparent; font-size: 24px; line-height: 1; cursor: pointer; }
.native-shell button.unit-procedure-dialog-close:hover, .native-shell button.unit-procedure-dialog-close:focus-visible { outline: 0; color: #073f3a; background: #e8f5f3; }
.native-shell .unit-procedure-dialog-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; padding: 18px; overflow: auto; }
.native-shell .unit-procedure-dialog-body .wide { grid-column: 1 / -1; }
.native-shell .unit-procedure-dialog-body > label { display: grid; min-width: 0; gap: 6px; color: #24354b; font-size: 10px; font-weight: 850; }
.native-shell .unit-procedure-dialog-body input:not([type="checkbox"]):not([type="hidden"]), .native-shell .unit-procedure-dialog-body select { width: 100%; min-width: 0; min-height: 40px; box-sizing: border-box; padding: 8px 10px; border: 1px solid #cbd8d5; border-radius: 7px; color: #082441; background: #fff; }
.native-shell .unit-procedure-dialog-body input:focus, .native-shell .unit-procedure-dialog-body select:focus { border-color: #0b9689; outline: 2px solid rgba(11, 150, 137, .15); outline-offset: 1px; }
.native-shell .unit-procedure-dialog-body fieldset { min-width: 0; margin: 0; padding: 12px; border: 1px solid #cbd8d5; border-radius: 8px; }
.native-shell .unit-procedure-dialog-body fieldset legend { padding: 0 7px; color: #082441; font-size: 12px; font-weight: 850; }
.native-shell .unit-procedure-dialog .unit-procedure-schedule > div { grid-template-columns: minmax(145px, 1fr) 28px 160px 160px; }
.native-shell .unit-procedure-dialog .unit-procedure-schedule > div > label:first-child { grid-template-columns: 20px minmax(0, 1fr); align-items: center; align-self: center; font-size: 10px; }
.native-shell .unit-procedure-dialog .unit-procedure-schedule input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: #0b9689; }
.native-shell .unit-procedure-dialog-error { display: grid; gap: 3px; padding: 10px 12px; border: 1px solid #efb7b7; border-radius: 7px; color: #8f2020; background: #fff5f5; font-size: 10px; }
.native-shell .unit-procedure-dialog-actions { position: sticky; z-index: 4; bottom: 0; display: flex; justify-content: flex-end; gap: 10px; padding: 13px 18px; border-top: 1px solid #d9e4e1; background: #fff; }
.native-shell .unit-procedure-dialog-actions button { display: inline-flex; min-width: 130px; min-height: 40px; align-items: center; justify-content: center; padding: 8px 15px; border: 1px solid #bdcfcb; border-radius: 7px; color: #20344d; background: #fff; font-weight: 850; cursor: pointer; }
.native-shell .unit-procedure-dialog-actions button.is-primary { border-color: #007d79; color: #fff; background: #007d79; }
.native-shell .unit-procedure-dialog-actions button:hover, .native-shell .unit-procedure-dialog-actions button:focus-visible { outline: 0; box-shadow: 0 8px 18px rgba(15, 128, 117, .14); }

@keyframes unit-procedure-dialog-in { from { opacity: 0; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { .native-shell .unit-procedure-dialog[open] .unit-procedure-dialog-form { animation: none; } }
@media (max-width: 800px) {
  .unit-procedure-form { grid-template-columns: 1fr; }
  .unit-procedure-form .wide, .unit-procedure-form header { grid-column: auto; }
  .unit-procedure-form .unit-procedure-schedule > div { grid-template-columns: 1fr; }
  .native-shell .unit-procedure-dialog-body { grid-template-columns: 1fr; padding: 14px; }
  .native-shell .unit-procedure-dialog-body .wide { grid-column: auto; }
  .native-shell .unit-procedure-dialog .unit-procedure-schedule > div { grid-template-columns: minmax(120px, 1fr) minmax(0, 1fr) minmax(0, 1fr); align-items: end; }
  .native-shell .unit-procedure-dialog .unit-procedure-schedule > div > label:first-child { grid-column: 1 / -1; }
  .native-shell .unit-procedure-dialog .unit-procedure-schedule > div > span { display: none; }
}
@media (max-width: 520px) {
  .native-shell .unit-procedure-dialog { width: calc(100vw - 16px); }
  .native-shell .unit-procedure-dialog .unit-procedure-schedule > div { grid-template-columns: 1fr; }
  .native-shell .unit-procedure-dialog-actions button { min-width: 0; padding-inline: 8px; font-size: 11px; white-space: nowrap; }
  .native-shell .unit-procedure-dialog-actions button:first-child { flex: .8; }
  .native-shell .unit-procedure-dialog-actions button.is-primary { flex: 1.2; }
}

.native-shell .institution-unit-create-card {
  width: min(100%, 760px);
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}
.native-shell .institution-edit-unit-page { width:100%; display:grid; gap:16px; }
.native-shell .institution-edit-unit-bar { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border:1px solid #d5dddb; border-radius:8px; background:#fff; }.native-shell .institution-edit-unit-bar div { display:grid; gap:4px; }.native-shell .institution-edit-unit-bar small { color:#56707a; font-size:10px; }.native-shell .institution-edit-unit-bar a,.native-shell .institution-unit-edit-card > header a,.native-shell .institution-edit-actions a { display:inline-flex; align-items:center; min-height:38px; padding:0 14px; border:1px solid #d0dcda; border-radius:8px; color:#111d25; font-size:10px; font-weight:800; text-decoration:none; background:#fff; }
.native-shell .institution-unit-edit-card { width:100%; }.native-shell .institution-unit-edit-card > header { display:flex; align-items:center; justify-content:space-between; }.native-shell .institution-edit-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:10px; }.native-shell .institution-edit-actions button { min-height:40px; padding:0 16px; border:1px solid #007d79; border-radius:8px; background:#007d79; color:#fff; font-weight:900; }

.native-shell .institution-unit-create-card > header {
  padding: 18px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .institution-unit-create-card > header h2 {
  margin: 0;
  font-size: 15px;
}

.native-shell .institution-unit-create-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}

.native-shell .institution-unit-create-form label {
  display: grid;
  gap: 8px;
  color: #536575;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .institution-unit-create-form label.is-wide {
  grid-column: 1 / -1;
}

.native-shell .institution-unit-create-form input,
.native-shell .institution-unit-create-form textarea,
.native-shell .institution-unit-create-form select {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  padding: 10px 13px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-weight: 700;
}

.native-shell .institution-unit-create-form label > small { color: #6c7775; font-size: 9px; font-weight: 600; }
.native-shell .institution-service-create-divider { grid-column: 1 / -1; padding-top: 4px; border-top: 1px solid #d5dddb; }
.native-shell .institution-service-create-form > button { grid-column: 1; }

.native-shell .institution-unit-create-form textarea {
  min-height: 88px;
  resize: vertical;
}

.native-shell .institution-unit-create-form > button {
  align-self: end;
  min-height: 44px;
  border: 1px solid #007d79;
  border-radius: 7px;
  background: #007d79;
  color: #fff;
  font-weight: 900;
}

.native-shell .institution-unit-registration-card {
  width: min(100%, 900px);
  border-color: #d7e2e5;
  box-shadow: 0 12px 32px rgba(22, 55, 70, .045);
}

.native-shell .institution-unit-registration-card > .institution-unit-registration-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px 12px;
  border-bottom: 0;
}

.native-shell .institution-unit-registration-header > span,
.native-shell .institution-unit-form-section-header > span {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 7px;
  background: #dff6f2;
  color: #078d82;
}

.native-shell .institution-unit-registration-header > span {
  width: 40px;
  height: 40px;
}

.native-shell .institution-unit-registration-header svg,
.native-shell .institution-unit-form-section-header svg,
.native-shell .institution-unit-field-control svg,
.native-shell .institution-unit-form-actions svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .institution-unit-registration-header svg {
  width: 21px;
  height: 21px;
}

.native-shell .institution-unit-registration-header div,
.native-shell .institution-unit-form-section-header div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.native-shell .institution-unit-registration-card > .institution-unit-registration-header h2 {
  color: #17263d;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.1;
}

.native-shell .institution-unit-registration-header p,
.native-shell .institution-unit-form-section-header p {
  margin: 0;
  color: #728195;
  font-size: 9px;
  font-weight: 650;
  line-height: 1.3;
}

.native-shell .institution-unit-create-form.institution-unit-registration-form {
  display: block;
  padding: 0 18px 18px;
}

.native-shell .institution-unit-form-section + .institution-unit-form-section {
  margin-top: 14px;
}

.native-shell .institution-unit-form-section-header {
  display: flex;
  min-height: 50px;
  box-sizing: border-box;
  align-items: center;
  gap: 10px;
  padding: 8px 11px;
  border-radius: 7px;
  background: linear-gradient(90deg, #e7f8f5 0%, #f7fcfb 100%);
}

.native-shell .institution-unit-form-section-header > span {
  width: 30px;
  height: 30px;
  background: transparent;
}

.native-shell .institution-unit-form-section-header > span svg {
  width: 20px;
  height: 20px;
  stroke-width: 2;
}

.native-shell .institution-unit-form-section-header h3 {
  margin: 0;
  color: #087d73;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.1;
}

.native-shell .institution-unit-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  padding: 12px 2px 0;
}

.native-shell .institution-unit-registration-form .institution-unit-form-grid > label {
  display: grid;
  min-width: 0;
  gap: 6px;
  color: #263951;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
}

.native-shell .institution-unit-registration-form .institution-unit-form-grid > label.is-wide {
  grid-column: 1 / -1;
}

.native-shell .institution-unit-field-control {
  position: relative;
  display: block;
  min-width: 0;
  color: #6c7e92;
}

.native-shell .institution-unit-field-control > svg:first-child {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 12px;
  width: 17px;
  height: 17px;
  pointer-events: none;
  transform: translateY(-50%);
}

.native-shell .institution-unit-registration-form .institution-unit-field-control input,
.native-shell .institution-unit-registration-form .institution-unit-field-control textarea {
  min-height: 40px;
  padding: 9px 38px 9px 40px;
  border-color: #cad8e2;
  border-radius: 6px;
  color: #17263d;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.35;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.native-shell .institution-unit-registration-form .institution-unit-field-control input::placeholder,
.native-shell .institution-unit-registration-form .institution-unit-field-control textarea::placeholder {
  color: #8b99ab;
  opacity: 1;
}

.native-shell .institution-unit-registration-form .institution-unit-field-control input:focus,
.native-shell .institution-unit-registration-form .institution-unit-field-control textarea:focus {
  outline: 0;
  border-color: #14a99d;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(20, 169, 157, .1);
}

.native-shell .institution-unit-field-control:focus-within > svg:first-child {
  color: #078d82;
}

.native-shell .institution-unit-field-control.is-textarea > svg:first-child {
  top: 13px;
  transform: none;
}

.native-shell .institution-unit-registration-form .institution-unit-field-control textarea {
  min-height: 78px;
  padding-top: 11px;
  padding-bottom: 23px;
  resize: vertical;
}

.native-shell .institution-unit-field-control.is-textarea > small {
  position: absolute;
  right: 10px;
  bottom: 8px;
  color: #8291a3;
  font-size: 8px;
  font-weight: 750;
  pointer-events: none;
}

.native-shell .institution-unit-field-indicator {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 15px;
  height: 15px;
  pointer-events: none;
  transform: translateY(-50%);
}

.native-shell .institution-unit-field-control.has-indicator input::-webkit-calendar-picker-indicator {
  width: 18px;
  opacity: 0;
  cursor: pointer;
}

.native-shell .institution-unit-field-control.has-action input {
  padding-right: 42px;
}

.native-shell .institution-unit-field-control.has-action > button {
  position: absolute;
  top: 50%;
  right: 4px;
  display: grid;
  width: 34px;
  height: 34px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #657a90;
  cursor: pointer;
  transform: translateY(-50%);
}

.native-shell .institution-unit-field-control.has-action > button:hover,
.native-shell .institution-unit-field-control.has-action > button:focus-visible {
  background: #edf9f7;
  color: #078d82;
  outline: 0;
}

.native-shell .institution-unit-field-control.has-action > button svg {
  width: 17px;
  height: 17px;
}

.native-shell .institution-unit-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 16px;
  padding: 14px 0 0;
  border-top: 1px solid #e5ecef;
}

.native-shell .institution-unit-form-actions a,
.native-shell .institution-unit-form-actions button {
  display: inline-flex;
  min-height: 42px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 16px;
  border-radius: 7px;
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.native-shell .institution-unit-form-actions a {
  min-width: 106px;
  border: 1px solid #d7e0e7;
  background: #eef2f6;
  color: #637287;
}

.native-shell .institution-unit-form-actions button {
  min-width: 230px;
  border: 1px solid #007d79;
  background: linear-gradient(135deg, #159d91, #007d79);
  color: #fff;
  box-shadow: 0 10px 20px rgba(8, 127, 117, .16);
}

.native-shell .institution-unit-form-actions a:hover,
.native-shell .institution-unit-form-actions a:focus-visible {
  border-color: #bac8d2;
  background: #e7edf2;
  color: #24364d;
  outline: 0;
}

.native-shell .institution-unit-form-actions button:hover,
.native-shell .institution-unit-form-actions button:focus-visible {
  border-color: #056f67;
  background: #007d79;
  outline: 2px solid rgba(8, 127, 117, .2);
  outline-offset: 2px;
}

.native-shell .institution-unit-form-actions svg {
  width: 15px;
  height: 15px;
}

.native-shell .institution-unit-form-actions button svg:last-child {
  margin-left: 4px;
}

.native-shell .institution-reset-demo {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  margin-top: 16px;
  padding: 0 14px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-weight: 850;
  text-decoration: none;
}

@media (max-width: 700px) {
  .native-shell .institution-unit-create-form {
    grid-template-columns: 1fr;
  }

  .native-shell .institution-unit-create-form label.is-wide {
    grid-column: 1;
  }

  .native-shell .institution-unit-registration-card > .institution-unit-registration-header {
    padding-inline: 14px;
  }

  .native-shell .institution-unit-create-form.institution-unit-registration-form {
    padding: 0 14px 14px;
  }

  .native-shell .institution-unit-form-grid {
    grid-template-columns: 1fr;
  }

  .native-shell .institution-unit-registration-form .institution-unit-form-grid > label.is-wide {
    grid-column: 1;
  }

  .native-shell .institution-unit-form-actions button {
    min-width: 0;
  }
}

.native-shell .institution-native-table-scroll {
  overflow-x: auto;
}

.native-shell .institution-native-table {
  width: 100%;
  min-width: 1040px;
  border-collapse: collapse;
}

.native-shell .institution-native-table th,
.native-shell .institution-native-table td {
  padding: 14px 12px;
  border-bottom: 1px solid #d5dddb;
  text-align: left;
  vertical-align: middle;
}

.native-shell .institution-native-table th {
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .institution-native-table td {
  color: #27312f;
  font-size: 13px;
}

.native-shell .institution-native-table td strong,
.native-shell .institution-native-table td span {
  display: block;
}

.native-shell .institution-native-status {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #dff2ee;
  color: #007d79;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .institution-native-status::before {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #008f7f;
  content: "";
}

.native-shell .institution-native-actions {
  display: flex;
  gap: 8px;
}

.native-shell .institution-native-actions form {
  margin: 0;
}

.native-shell .institution-native-actions button {
  min-height: 32px;
  padding: 0 13px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 850;
}

.native-shell .institution-native-actions button.danger {
  border-color: #fecaca;
  background: #fff1f2;
  color: #b91c1c;
}

.native-shell .institution-native-support {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.native-shell .institution-native-support article {
  min-width: 0;
  padding: 16px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .institution-native-support .compact-list {
  max-height: 220px;
  overflow: auto;
}

.native-shell .institution-native-support .compact-list div {
  border-color: #dbe5e2;
  border-radius: 7px;
  background: #fbfdfc;
}

.native-shell .superadmin-hero {
  min-height: 150px;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 250, 0.96) 100%),
    radial-gradient(circle at 88% 18%, rgba(79, 70, 229, 0.11), transparent 32%);
}

.native-shell .superadmin-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .superadmin-hero-mark {
  background: linear-gradient(135deg, #0ea5e9 0%, #4f46e5 100%);
  box-shadow: 0 14px 24px rgba(79, 70, 229, 0.16);
}

.native-shell .superadmin-metrics {
  gap: 14px;
}

.native-shell .superadmin-metrics .metric-card {
  position: relative;
  min-height: 104px;
  overflow: hidden;
}

.native-shell .superadmin-metrics .metric-card::after {
  position: absolute;
  right: -26px;
  bottom: -36px;
  width: 98px;
  height: 98px;
  border-radius: 999px;
  background: rgba(79, 70, 229, 0.08);
  content: "";
}

.native-shell .superadmin-layout {
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
}

.native-shell .superadmin-modules-panel,
.native-shell .superadmin-users-panel,
.native-shell .superadmin-audit-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .superadmin-modules-panel::before,
.native-shell .superadmin-users-panel::before,
.native-shell .superadmin-audit-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #4f46e5 0%, rgba(79, 70, 229, 0) 70%);
  content: "";
}

.native-shell .superadmin-modules-panel .table-card,
.native-shell .superadmin-users-panel .table-card {
  border-color: #e5eef1;
  border-radius: 16px;
}

.native-shell .superadmin-modules-panel .data-table {
  min-width: 980px;
}

.native-shell .superadmin-users-panel .data-table {
  min-width: 760px;
}

.native-shell .superadmin-modules-panel .data-table tr:hover td,
.native-shell .superadmin-users-panel .data-table tr:hover td {
  background: #fbfefe;
}

.native-shell .superadmin-module-form,
.native-shell .superadmin-user-form {
  align-items: center;
}

.native-shell .superadmin-audit-panel .compact-list {
  max-height: 520px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .superadmin-audit-panel .compact-list div {
  border-color: #e5eef1;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .superadmin-modules-panel .badge,
.native-shell .superadmin-users-panel .badge,
.native-shell .superadmin-audit-panel .badge {
  background: #eef2ff;
  color: #4338ca;
}

.native-shell.superadmin-native-body {
  min-height: 100vh;
  background: #f5f7f6;
}

.native-shell.superadmin-native-body .topbar {
  display: none;
}

.native-shell.superadmin-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .superadmin-native-screen {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 260px minmax(0, 1fr);
  background: #f5f7f6;
  color: #082441;
}

.native-shell .superadmin-native-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  min-height: 100vh;
  padding: 18px 12px 28px;
  border-right: 1px solid #d7dedc;
  background: #fbfdfc;
}

.native-shell .superadmin-native-brand {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 10px;
  margin-bottom: 26px;
  padding: 0 6px;
}

.native-shell .superadmin-native-brand > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #a8dcd3;
  border-radius: 9px;
  background: #e6f5f2;
  color: #007d79;
  font-weight: 900;
}

.native-shell .superadmin-native-brand strong,
.native-shell .superadmin-native-brand small {
  display: block;
}

.native-shell .superadmin-native-brand strong {
  color: #082441;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .superadmin-native-brand small {
  color: #536575;
  font-size: 11px;
}

.native-shell .superadmin-native-menu {
  display: grid;
  gap: 6px;
}

.native-shell .superadmin-native-menu a {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 7px;
  color: #536575;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.15;
  text-decoration: none;
}

.native-shell .superadmin-native-menu a.is-active {
  background: #dff2ee;
  color: #007d79;
}

.native-shell .superadmin-native-menu a span {
  color: #63716f;
  font-size: 17px;
}

.native-shell .superadmin-native-workspace {
  min-width: 0;
  padding: 24px 24px 42px;
}

.native-shell .superadmin-native-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 22px;
}

.native-shell .superadmin-native-header .eyebrow {
  color: #536575;
}

.native-shell .superadmin-native-header h1 {
  margin: 4px 0 2px;
  color: #082441;
  font-size: 23px;
  line-height: 1.1;
  letter-spacing: 0;
}

.native-shell .superadmin-native-header p {
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .superadmin-native-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 2px;
}

.native-shell .superadmin-native-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #d0d9d6;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-weight: 850;
  text-decoration: none;
}

.native-shell .superadmin-native-actions strong {
  color: #536575;
  font-size: 12px;
}

.native-shell .superadmin-native-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.native-shell .superadmin-native-metrics article {
  display: grid;
  gap: 8px;
  min-height: 78px;
  padding: 14px 12px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fff;
}

.native-shell .superadmin-native-metrics span,
.native-shell .superadmin-native-metrics small {
  color: #536575;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .superadmin-native-metrics strong {
  color: #082441;
  font-size: 18px;
  line-height: 1;
}

.native-shell .superadmin-native-modules {
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .superadmin-native-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .superadmin-native-section-heading h2 {
  margin: 0 0 3px;
  color: #082441;
  font-size: 16px;
}

.native-shell .superadmin-native-section-heading p {
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .superadmin-native-section-heading a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #d0d9d6;
  border-radius: 7px;
  color: #082441;
  font-weight: 850;
  text-decoration: none;
}

.native-shell .superadmin-native-module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px;
}

.native-shell .superadmin-native-module-card {
  position: relative;
  display: grid;
  min-height: 168px;
  padding: 18px 16px 14px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .superadmin-native-module-card h3 {
  max-width: calc(100% - 94px);
  margin: 0 0 2px;
  color: #082441;
  font-size: 15px;
  line-height: 1.2;
}

.native-shell .superadmin-native-module-card small {
  color: #536575;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .superadmin-native-module-card p {
  margin: 18px 0 18px;
  color: #536575;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
}

.native-shell .superadmin-native-module-status {
  position: absolute;
  top: 20px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #dff2ee;
  color: #10766a;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .superadmin-native-module-status span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #009481;
}

.native-shell .superadmin-native-module-status span.is-disabled {
  background: #94a3b8;
}

.native-shell .superadmin-native-module-footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
}

.native-shell .superadmin-native-module-footer strong {
  color: #536575;
  font-size: 12px;
}

.native-shell .superadmin-native-module-footer form {
  margin: 0;
}

.native-shell .superadmin-native-module-footer button,
.native-shell .superadmin-native-user-list button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #d0d9d6;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-weight: 850;
}

.native-shell .superadmin-native-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 14px;
  margin-top: 16px;
}

.native-shell .superadmin-native-bottom > article {
  min-width: 0;
  padding: 16px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .superadmin-native-user-list {
  display: grid;
  gap: 8px;
  max-height: 420px;
  overflow: auto;
}

.native-shell .superadmin-native-user-list form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px 92px;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 10px;
  border: 1px solid #dbe5e2;
  border-radius: 7px;
  background: #fbfdfc;
}

.native-shell .superadmin-native-user-list strong,
.native-shell .superadmin-native-user-list span {
  display: block;
}

.native-shell .superadmin-native-user-list strong {
  color: #082441;
}

.native-shell .superadmin-native-user-list span {
  color: #536575;
  font-size: 12px;
}

.native-shell .superadmin-native-user-list select {
  min-height: 36px;
  border: 1px solid #d0d9d6;
  border-radius: 7px;
  background: #fff;
}

.native-shell .superadmin-native-bottom .compact-list {
  max-height: 420px;
  overflow: auto;
}

.native-shell .superadmin-native-bottom .compact-list div {
  border-color: #dbe5e2;
  border-radius: 7px;
  background: #fbfdfc;
}

.native-shell .superadmin-native-catalog-card {
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .superadmin-native-catalog-scroll {
  overflow-x: auto;
  border-top: 1px solid #d5dddb;
}

.native-shell .superadmin-native-catalog-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid #d5dddb;
  background: #fbfdfc;
}

.native-shell .superadmin-native-catalog-toolbar > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.native-shell .superadmin-native-catalog-toolbar button {
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 850;
}

.native-shell .superadmin-native-catalog-toolbar button:first-child {
  border-color: #0f8f80;
  background: #078a7b;
  color: #fff;
}

.native-shell .superadmin-native-catalog-toolbar label {
  display: grid;
  min-width: min(100%, 320px);
  gap: 6px;
  color: #536575;
  font-size: 11px;
  font-weight: 850;
}

.native-shell .superadmin-native-catalog-toolbar input {
  min-height: 36px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
}

.native-shell .superadmin-native-catalog-filters {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(150px, 220px) auto auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 26px;
}

.native-shell .superadmin-native-catalog-filters label {
  display: grid;
  gap: 6px;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .superadmin-native-catalog-filters input,
.native-shell .superadmin-native-catalog-filters select {
  min-height: 44px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 750;
}

.native-shell .superadmin-native-search {
  position: relative;
}

.native-shell .superadmin-native-search span {
  position: absolute;
  left: 13px;
  bottom: 13px;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .superadmin-native-search input {
  padding-left: 38px;
}

.native-shell .superadmin-native-catalog-filters button,
.native-shell .superadmin-native-csv {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .superadmin-native-catalog-filters button {
  background: #078a7b;
  color: #fff;
}

.native-shell .superadmin-native-admin-form {
  margin-bottom: 22px;
  padding: 18px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .superadmin-native-admin-form > div {
  margin-bottom: 14px;
}

.native-shell .superadmin-native-admin-form .eyebrow {
  margin: 0 0 4px;
  color: #006b60;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .superadmin-native-admin-form h2 {
  margin: 0;
  color: #082441;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 900;
}

.native-shell .superadmin-native-admin-form form {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr)) auto;
  gap: 12px;
  align-items: end;
}

.native-shell .superadmin-native-admin-form label {
  display: grid;
  gap: 6px;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .superadmin-native-admin-form input,
.native-shell .superadmin-native-admin-form select {
  min-height: 40px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 750;
}

.native-shell .superadmin-native-admin-form button {
  min-height: 40px;
  padding: 0 16px;
  border: 0;
  border-radius: 7px;
  background: #078a7b;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .superadmin-native-catalog-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
}

.native-shell .superadmin-native-catalog-table th,
.native-shell .superadmin-native-catalog-table td {
  padding: 15px 14px;
  border-bottom: 1px solid #d5dddb;
  text-align: left;
  vertical-align: top;
}

.native-shell .superadmin-native-catalog-table th {
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .superadmin-native-catalog-table td {
  color: #27312f;
  font-size: 13px;
  font-weight: 650;
}

.native-shell .superadmin-native-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 11px;
  border-radius: 999px;
  background: #dff4ee;
  color: #00796f;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .superadmin-native-status-pill::before {
  width: 6px;
  height: 6px;
  margin-right: 7px;
  border-radius: 999px;
  background: currentColor;
  content: "";
}

.native-shell .superadmin-native-status-pill.is-danger {
  background: #fee2e2;
  color: #b91c1c;
}

.native-shell .superadmin-native-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.native-shell .superadmin-native-row-actions form {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  margin: 0;
}

.native-shell .superadmin-native-row-actions select {
  min-height: 34px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  font-size: 12px;
}

.native-shell .superadmin-native-row-actions button,
.native-shell .superadmin-native-row-actions a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #00796f;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .superadmin-native-row-actions button {
  color: #082441;
}

.native-shell .superadmin-native-row-actions .superadmin-native-module-detail-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr)) auto;
  width: min(100%, 620px);
}

.native-shell .superadmin-native-row-actions .superadmin-native-module-detail-form input {
  min-height: 34px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  font-size: 12px;
}

.native-shell .superadmin-native-catalog-card .pagination-wrap {
  padding: 14px 18px;
}

.native-shell .superadmin-native-patient-card {
  margin-bottom: 22px;
}

.native-shell .superadmin-native-patient-card td strong,
.native-shell .superadmin-native-patient-card td span {
  display: block;
}

.native-shell .superadmin-native-patient-card td > span:not(.superadmin-native-status-pill) {
  margin-top: 3px;
  color: #536575;
  font-size: 12px;
  font-weight: 650;
}

.native-shell .superadmin-patient-units-panel[hidden],
.native-shell .superadmin-unit-patients-panel[hidden],
.native-shell #patient-catalog-overview[hidden] {
  display: none;
}

.native-shell .superadmin-patient-back {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #cdd8d5;
  border-radius: 8px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.native-shell .superadmin-patient-back:hover {
  border-color: #007d79;
  color: #007d79;
}

.native-shell .superadmin-native-advertising-controls {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 26px;
}

.native-shell .superadmin-native-advertising-controls label {
  display: grid;
  gap: 7px;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .superadmin-native-advertising-controls select,
.native-shell .superadmin-native-advertising-controls a,
.native-shell .superadmin-native-advertising-controls button {
  min-height: 44px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .superadmin-native-advertising-controls select {
  padding: 0 14px;
}

.native-shell .superadmin-native-advertising-controls a,
.native-shell .superadmin-native-advertising-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  text-decoration: none;
}

.native-shell .superadmin-native-advertising-controls button {
  border-color: #7ab8b0;
  background: #7ab8b0;
  color: #fff;
}

.native-shell .superadmin-native-advertising-controls a {
  color: #737b79;
}

.native-shell .superadmin-native-advertising-card {
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .superadmin-native-advertising-card > header {
  padding: 18px 18px 16px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .superadmin-native-advertising-card h2,
.native-shell .superadmin-native-advertising-card h3,
.native-shell .superadmin-native-advertising-card h4,
.native-shell .superadmin-native-advertising-card p {
  margin: 0;
}

.native-shell .superadmin-native-advertising-card h2 {
  font-size: 15px;
  line-height: 1.2;
  font-weight: 900;
}

.native-shell .superadmin-native-advertising-card p,
.native-shell .superadmin-native-advertising-card span {
  color: #536575;
  font-size: 12px;
  font-weight: 650;
}

.native-shell .superadmin-native-advertising-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .superadmin-native-advertising-tabs button {
  display: grid;
  justify-items: start;
  gap: 5px;
  min-height: 58px;
  padding: 13px 18px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .superadmin-native-advertising-tabs button.is-active {
  border-color: #8cd2ca;
  background: #dff4ee;
  color: #00796f;
}

.native-shell .superadmin-native-advertising-preview {
  margin: 14px 18px 18px;
  padding: 14px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fbfdfc;
}

.native-shell .superadmin-native-advertising-preview > header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 16px 18px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fff;
}

.native-shell .superadmin-native-advertising-preview > header p,
.native-shell .superadmin-native-advertising-banner article span,
.native-shell .superadmin-native-advertising-side article span {
  color: #536575;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}

.native-shell .superadmin-native-advertising-preview > header strong {
  align-self: center;
  padding: 8px 13px;
  border-radius: 999px;
  background: #dff4ee;
  color: #536575;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}

.native-shell .superadmin-native-advertising-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 14px;
  margin-top: 14px;
}

.native-shell .superadmin-native-advertising-banner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(250px, 38%) 1fr;
  min-height: 150px;
  overflow: hidden;
  border: 1px solid #9edbd4;
  border-radius: 7px;
  background: #f7fbfa;
}

.native-shell .superadmin-native-advertising-banner > div,
.native-shell .superadmin-native-advertising-side > div {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 150px;
  background: #dff4ee;
  color: #006b60;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.native-shell .superadmin-native-advertising-banner article,
.native-shell .superadmin-native-advertising-side article {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 8px;
  padding: 22px;
}

.native-shell .superadmin-native-advertising-banner article h3,
.native-shell .superadmin-native-advertising-side article h3 {
  font-size: 17px;
  font-weight: 950;
}

.native-shell .superadmin-native-advertising-banner article button,
.native-shell .superadmin-native-advertising-side article button {
  min-height: 34px;
  border: 0;
  border-radius: 7px;
  background: #087b70;
  color: #fff;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 950;
}

.native-shell .superadmin-native-advertising-edit {
  position: absolute;
  top: 12px;
  right: 12px;
  min-height: 32px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  padding: 0 12px;
  font-size: 11px;
  font-weight: 950;
}

.native-shell .superadmin-native-advertising-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.native-shell .superadmin-native-advertising-mini-grid article {
  min-height: 58px;
  padding: 13px 16px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fff;
}

.native-shell .superadmin-native-advertising-mini-grid h4 {
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 950;
}

.native-shell .superadmin-native-advertising-side {
  position: relative;
  overflow: hidden;
  border: 1px solid #9edbd4;
  border-radius: 7px;
  background: #f2fbf9;
}

.native-shell .superadmin-native-module-config {
  margin: 28px 0 8px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .superadmin-native-module-config > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .superadmin-native-module-config h3,
.native-shell .superadmin-native-module-config p {
  margin: 0;
}

.native-shell .superadmin-native-module-config h3 {
  color: #082441;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 950;
}

.native-shell .superadmin-native-module-config p {
  margin-top: 4px;
  color: #536575;
  font-size: 12px;
  font-weight: 650;
}

.native-shell .superadmin-native-module-config > header a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 950;
}

.native-shell .superadmin-native-module-config form {
  display: grid;
  gap: 18px;
  padding: 18px 22px 20px;
}

.native-shell .superadmin-native-module-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.native-shell .superadmin-native-module-config label,
.native-shell .superadmin-native-module-config legend {
  color: #536575;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .superadmin-native-module-config label {
  display: grid;
  gap: 7px;
}

.native-shell .superadmin-native-module-config select,
.native-shell .superadmin-native-module-config textarea {
  width: 100%;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .superadmin-native-module-config select {
  min-height: 40px;
  padding: 0 12px;
}

.native-shell .superadmin-native-module-config textarea {
  min-height: 92px;
  padding: 13px 14px;
  resize: vertical;
}

.native-shell .superadmin-native-module-config fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.native-shell .superadmin-native-module-config legend {
  margin-bottom: 10px;
}

.native-shell .superadmin-native-module-permissions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.native-shell .superadmin-native-module-permissions label {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  min-height: 76px;
  padding: 18px;
  border: 2px solid #0f8f80;
  border-radius: 8px;
  background: #eaf8f5;
}

.native-shell .superadmin-native-module-permissions input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: #078a7b;
}

.native-shell .superadmin-native-module-permissions span,
.native-shell .superadmin-native-module-permissions strong,
.native-shell .superadmin-native-module-permissions small {
  display: block;
}

.native-shell .superadmin-native-module-permissions strong {
  color: #082441;
  font-size: 13px;
  font-weight: 950;
}

.native-shell .superadmin-native-module-permissions small {
  margin-top: 6px;
  color: #536575;
  font-size: 11px;
  font-weight: 750;
}

.native-shell .superadmin-native-module-config > form > button {
  min-height: 48px;
  border: 0;
  border-radius: 7px;
  background: #0f8376;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}

@media (max-width: 1000px) {
  .native-shell .superadmin-native-advertising-controls,
  .native-shell .superadmin-native-advertising-layout {
    grid-template-columns: 1fr;
  }

  .native-shell .superadmin-native-advertising-tabs,
  .native-shell .superadmin-native-advertising-mini-grid {
    grid-template-columns: 1fr;
  }

  .native-shell .superadmin-native-advertising-banner {
    grid-template-columns: 1fr;
  }

  .native-shell .superadmin-native-module-config-grid,
  .native-shell .superadmin-native-module-permissions {
    grid-template-columns: 1fr;
  }
}

.native-shell .superadmin-native-prescription-paper {
  width: min(100%, 960px);
  margin: 0 auto;
  padding: 24px 28px 34px;
  border: 1px solid #ccd8d5;
  border-radius: 8px;
  background: #fff;
  color: #082441;
}

.native-shell .superadmin-native-prescription-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 22px;
  border-bottom: 1px solid #cbd8d5;
}

.native-shell .superadmin-native-prescription-head p,
.native-shell .superadmin-native-prescription-section h3 {
  margin: 0 0 6px;
  color: #006b60;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 900;
}

.native-shell .superadmin-native-prescription-head p {
  text-transform: uppercase;
}

.native-shell .superadmin-native-prescription-head h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 900;
}

.native-shell .superadmin-native-prescription-head > div:last-child {
  display: grid;
  justify-items: end;
  gap: 3px;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .superadmin-native-prescription-head strong {
  color: #00796f;
  font-size: 13px;
  font-weight: 950;
}

.native-shell .superadmin-native-prescription-intake {
  display: grid;
  grid-template-columns: minmax(260px, 420px) 1fr;
  gap: 12px;
  align-items: end;
  margin: 18px 0;
  padding: 12px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fbfdfc;
}

.native-shell .superadmin-native-prescription-intake strong {
  color: #006b60;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .superadmin-native-prescription-section {
  margin-top: 18px;
}

.native-shell .superadmin-native-prescription-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.native-shell .superadmin-native-prescription-grid.is-doctor {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.native-shell .superadmin-native-prescription-paper label {
  display: grid;
  gap: 7px;
  color: #536575;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .superadmin-native-prescription-paper input,
.native-shell .superadmin-native-prescription-paper select,
.native-shell .superadmin-native-prescription-paper textarea {
  width: 100%;
  border: 1px solid #ccd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 850;
}

.native-shell .superadmin-native-prescription-paper input,
.native-shell .superadmin-native-prescription-paper select {
  min-height: 42px;
  padding: 0 12px;
}

.native-shell .superadmin-native-prescription-paper textarea {
  min-height: 48px;
  padding: 12px;
  resize: vertical;
}

.native-shell .superadmin-native-prescription-paper input[readonly] {
  background: #fbfdfc;
}

.native-shell .superadmin-native-prescription-clinical {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
  background: #fbfdfc;
}

.native-shell .superadmin-native-prescription-meds {
  overflow-x: auto;
  border-top: 1px solid #d5dddb;
}

.native-shell .superadmin-native-prescription-meds table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
}

.native-shell .superadmin-native-prescription-meds th,
.native-shell .superadmin-native-prescription-meds td {
  padding: 10px 7px;
  border-bottom: 1px solid #d5dddb;
  text-align: left;
  vertical-align: top;
}

.native-shell .superadmin-native-prescription-meds th {
  color: #536575;
  font-size: 9px;
  font-weight: 950;
}

.native-shell .superadmin-native-prescription-meds td {
  color: #082441;
  font-size: 11px;
  font-weight: 750;
}

.native-shell .superadmin-native-prescription-meds .superadmin-prescription-row-control {
  min-width: 44px;
  text-align: center;
}

.native-shell .superadmin-prescription-row-control span {
  display: block;
  margin-bottom: 7px;
}

.native-shell .superadmin-native-prescription-meds input,
.native-shell .superadmin-native-prescription-meds textarea {
  min-height: 30px;
  padding: 7px 9px;
  font-size: 10px;
}

.native-shell .superadmin-native-prescription-remove,
.native-shell .superadmin-native-prescription-add {
  width: 34px;
  height: 34px;
  border: 1px solid #ccd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 16px;
  font-weight: 950;
}

.native-shell .superadmin-native-prescription-remove {
  border-color: #fecaca;
  color: #dc2626;
}

.native-shell .superadmin-native-prescription-add {
  margin: 12px 0 0 8px;
}

@media (max-width: 900px) {
  .native-shell .superadmin-native-prescription-paper {
    padding: 20px 16px 28px;
  }

  .native-shell .superadmin-native-prescription-head,
  .native-shell .superadmin-native-prescription-intake {
    grid-template-columns: 1fr;
  }

  .native-shell .superadmin-native-prescription-head {
    display: grid;
  }

  .native-shell .superadmin-native-prescription-head > div:last-child {
    justify-items: start;
  }

  .native-shell .superadmin-native-prescription-grid,
  .native-shell .superadmin-native-prescription-grid.is-doctor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.native-shell .external-pharmacy-hero {
  min-height: 150px;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 250, 0.96) 100%),
    radial-gradient(circle at 88% 18%, rgba(5, 150, 105, 0.12), transparent 32%);
}

.native-shell .external-pharmacy-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .external-pharmacy-hero-mark {
  background: linear-gradient(135deg, #34d399 0%, #059669 100%);
  box-shadow: 0 14px 24px rgba(5, 150, 105, 0.18);
}

.native-shell .external-pharmacy-metrics {
  gap: 14px;
}

.native-shell .external-pharmacy-metrics .metric-card {
  position: relative;
  min-height: 104px;
  overflow: hidden;
}

.native-shell .external-pharmacy-metrics .metric-card::after {
  position: absolute;
  right: -26px;
  bottom: -36px;
  width: 98px;
  height: 98px;
  border-radius: 999px;
  background: rgba(5, 150, 105, 0.1);
  content: "";
}

.native-shell .external-pharmacy-orders-panel,
.native-shell .external-pharmacy-side-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .external-pharmacy-orders-panel::before,
.native-shell .external-pharmacy-side-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #34d399 0%, rgba(52, 211, 153, 0) 70%);
  content: "";
}

.native-shell .external-pharmacy-orders-panel .table-card {
  border-color: #e5eef1;
  border-radius: 16px;
}

.native-shell .external-pharmacy-orders-panel .data-table {
  min-width: 940px;
}

.native-shell .external-pharmacy-orders-panel .data-table tr:hover td {
  background: #fbfefe;
}

.native-shell .external-pharmacy-status-form {
  align-items: center;
}

.native-shell .external-pharmacy-side-panel .compact-list {
  max-height: 430px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .external-pharmacy-side-panel .compact-list div {
  border-color: #e5eef1;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .external-pharmacy-orders-panel .badge,
.native-shell .external-pharmacy-side-panel .badge {
  background: #ecfdf5;
  color: #047857;
}

.native-shell.digital-pharmacy-native-body {
  min-height: 100vh;
  background: #f3f5f4;
}

.native-shell.digital-pharmacy-native-body .topbar {
  display: none;
}

.native-shell.digital-pharmacy-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .digital-pharmacy-native-screen {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 242px minmax(0, 1fr);
  background: #f3f5f4;
  color: #082441;
}

.native-shell .digital-pharmacy-native-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  padding: 18px 8px 8px;
  border-right: 1px solid #d5dddb;
  background: #fbfdfc;
}

.native-shell .digital-pharmacy-native-brand {
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: center;
  gap: 10px;
  margin-bottom: 26px;
}

.native-shell .digital-pharmacy-native-brand > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 8px;
  background: #e4f3ef;
  color: #00806f;
  font-size: 20px;
  font-weight: 900;
}

.native-shell .digital-pharmacy-native-brand strong,
.native-shell .digital-pharmacy-native-brand small {
  display: block;
}

.native-shell .digital-pharmacy-native-brand strong {
  color: #082441;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .digital-pharmacy-native-brand small {
  color: #536575;
  font-size: 11px;
  font-weight: 700;
}

.native-shell .digital-pharmacy-native-menu {
  display: grid;
  gap: 6px;
}

.native-shell .digital-pharmacy-native-menu a {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 8px;
  min-height: 39px;
  padding: 8px 9px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #536575;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.15;
  text-decoration: none;
}

.native-shell .digital-pharmacy-native-menu a.is-active {
  border-color: #9bd4cb;
  background: #dff2ee;
  color: #007d79;
}

.native-shell .digital-pharmacy-native-menu a span {
  color: #63716f;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .digital-pharmacy-native-back {
  margin-top: auto;
  min-height: 42px;
  padding: 12px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}

.native-shell .digital-pharmacy-native-workspace {
  min-width: 0;
  padding: 26px 22px 42px;
}

.native-shell .digital-pharmacy-native-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.native-shell .digital-pharmacy-native-header .eyebrow {
  margin: 0 0 5px;
  color: #536575;
}

.native-shell .digital-pharmacy-native-header h1 {
  margin: 0 0 5px;
  color: #082441;
  font-size: 21px;
  line-height: 1.12;
}

.native-shell .digital-pharmacy-native-header p {
  margin: 0;
  color: #536575;
  font-size: 13px;
}

.native-shell .digital-pharmacy-native-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.native-shell .digital-pharmacy-native-actions a,
.native-shell .digital-pharmacy-native-actions button,
.native-shell .digital-pharmacy-native-card-heading a,
.native-shell .digital-pharmacy-native-actions-cell button,
.native-shell .digital-pharmacy-native-control-list button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .digital-pharmacy-native-actions a {
  border-color: #a8dcd3;
  background: #e5f5f1;
  color: #007d79;
}

.native-shell .digital-pharmacy-native-actions time {
  color: #536575;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .digital-pharmacy-native-search {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) repeat(3, max-content);
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .digital-pharmacy-native-search label {
  display: grid;
  grid-template-columns: 26px 1fr;
  align-items: center;
  gap: 8px;
}

.native-shell .digital-pharmacy-native-search label span {
  color: #63716f;
  font-size: 0;
}

.native-shell .digital-pharmacy-native-search label span::before {
  color: #63716f;
  font-size: 20px;
  content: "Q";
}

.native-shell .digital-pharmacy-native-search input {
  width: 100%;
  min-height: 38px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  color: #082441;
  font-size: 13px;
}

.native-shell .digital-pharmacy-native-search strong {
  color: #536575;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.native-shell .digital-pharmacy-native-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.native-shell .digital-pharmacy-native-metrics article {
  min-height: 112px;
  padding: 15px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .digital-pharmacy-native-metrics article > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  margin-bottom: 8px;
  border-radius: 7px;
  background: #e5f5f1;
  color: #00806f;
  font-weight: 900;
}

.native-shell .digital-pharmacy-native-metrics small {
  display: block;
  margin-bottom: 8px;
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .digital-pharmacy-native-metrics strong {
  display: block;
  color: #082441;
  font-size: 24px;
  line-height: 1;
}

.native-shell .digital-pharmacy-native-metrics p {
  margin: 8px 0 0;
  color: #536575;
  font-size: 13px;
}

.native-shell .digital-pharmacy-native-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 36%);
  gap: 16px;
  align-items: start;
}

.native-shell .digital-pharmacy-native-card {
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .digital-pharmacy-native-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .digital-pharmacy-native-card-heading h2 {
  margin: 0 0 4px;
  color: #082441;
  font-size: 16px;
}

.native-shell .digital-pharmacy-native-card-heading p,
.native-shell .digital-pharmacy-native-card-heading strong {
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .digital-pharmacy-native-card-heading div:last-child {
  display: flex;
  gap: 8px;
}

.native-shell .digital-pharmacy-native-table-scroll {
  overflow-x: auto;
}

.native-shell .digital-pharmacy-native-table {
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
}

.native-shell .digital-pharmacy-native-table th,
.native-shell .digital-pharmacy-native-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #d5dddb;
  text-align: left;
  vertical-align: top;
}

.native-shell .digital-pharmacy-native-table th {
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .digital-pharmacy-native-table td {
  color: #27312f;
  font-size: 13px;
}

.native-shell .digital-pharmacy-native-table td strong,
.native-shell .digital-pharmacy-native-table td span {
  display: block;
}

.native-shell .digital-pharmacy-native-risk,
.native-shell .digital-pharmacy-native-status {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  width: max-content;
  padding: 6px 11px;
  border: 1px solid #b8d9ff;
  border-radius: 999px;
  background: #e9f3ff;
  color: #0f67a8;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .digital-pharmacy-native-risk.is-high,
.native-shell .digital-pharmacy-native-status {
  border-color: #f3c16c;
  background: #fff3d7;
  color: #b7791f;
}

.native-shell .digital-pharmacy-native-status.is-delivered {
  border-color: #a9e6d3;
  background: #ddf7ed;
  color: #006b51;
}

.native-shell .digital-pharmacy-native-progress {
  width: 120px;
  height: 8px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7eeec;
}

.native-shell .digital-pharmacy-native-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #00806f;
}

.native-shell .digital-pharmacy-native-actions-cell {
  display: grid;
  gap: 8px;
}

.native-shell .digital-pharmacy-native-actions-cell button:last-child,
.native-shell .digital-pharmacy-native-form button {
  border-color: #00806f;
  background: #078a7b;
  color: #fff;
}

.native-shell .digital-pharmacy-native-control-list {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.native-shell .digital-pharmacy-native-control-list div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fbfdfc;
}

.native-shell .digital-pharmacy-native-control-list strong,
.native-shell .digital-pharmacy-native-control-list span {
  display: block;
}

.native-shell .digital-pharmacy-native-control-list strong {
  color: #082441;
  font-size: 13px;
}

.native-shell .digital-pharmacy-native-control-list span {
  color: #536575;
  font-size: 12px;
}

.native-shell .digital-pharmacy-native-control-list button {
  grid-row: span 2;
  min-height: 30px;
  background: #fff3d7;
  color: #b7791f;
}

.native-shell .digital-pharmacy-native-orders {
  margin-top: 16px;
}

.native-shell .digital-pharmacy-native-form {
  display: grid;
  grid-template-columns: minmax(140px, 180px) minmax(140px, 1fr) auto;
  gap: 8px;
  margin: 0;
}

.native-shell .digital-pharmacy-native-form select,
.native-shell .digital-pharmacy-native-form input {
  min-height: 36px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
}

.native-shell .digital-pharmacy-native-form button {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .digital-patient-home-card {
  overflow: hidden;
}

.native-shell .digital-patient-home-card .digital-pharmacy-native-card-heading {
  padding: 18px 22px;
  border-bottom: 1px solid #d7e1e4;
}

.native-shell .digital-config-pill {
  background: #eaf4ff !important;
  color: #0f5fa8 !important;
  border-color: #acd2ff !important;
}

.native-shell .digital-patient-preview {
  padding: 18px 22px;
  border-bottom: 1px solid #d7e1e4;
}

.native-shell .digital-patient-preview-heading h3,
.native-shell .digital-patient-preview h4,
.native-shell .digital-banner-uploader h3,
.native-shell .digital-patient-config-grid legend {
  margin: 0;
  color: #061523;
  font-size: 16px;
}

.native-shell .digital-patient-preview-heading p,
.native-shell .digital-banner-uploader p,
.native-shell .digital-patient-config-grid p {
  margin: 4px 0 18px;
  color: #546879;
}

.native-shell .digital-patient-banner {
  display: grid;
  min-height: 160px;
  margin: 12px 0 20px;
  place-items: center;
  border: 1px solid #cfe2e7;
  border-radius: 8px;
  background: #ecf9fb;
  color: #4a5d69;
  font-weight: 800;
}

.native-shell .digital-patient-list {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}

.native-shell .digital-patient-list article {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid #d4e0e3;
  border-radius: 8px;
  background: #fff;
}

.native-shell .digital-patient-list strong,
.native-shell .digital-patient-list small {
  display: block;
}

.native-shell .digital-patient-list span,
.native-shell .digital-patient-list b,
.native-shell .digital-patient-config-grid em {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border: 1px solid #cfe2e7;
  border-radius: 999px;
  background: #f8fdfe;
  color: #243746;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.native-shell .digital-patient-list span,
.native-shell .digital-patient-config-grid em {
  border-color: #ffd58a;
  background: #fff2cf;
  color: #9a6200;
}

.native-shell .digital-patient-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px 22px;
}

.native-shell .digital-patient-config-grid fieldset {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 14px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
}

.native-shell .digital-patient-config-grid label {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #d4e0e3;
  border-radius: 8px;
  background: #fff;
}

.native-shell .digital-patient-config-grid input {
  width: 16px;
  height: 16px;
  accent-color: #078978;
}

.native-shell .digital-patient-config-grid label strong,
.native-shell .digital-patient-config-grid label small {
  display: block;
}

.native-shell .digital-banner-uploader {
  padding: 18px 22px 24px;
}

.native-shell .digital-banner-uploader button {
  margin-right: 12px;
  padding: 12px 18px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
  background: #fff;
  font-weight: 900;
}

.native-shell .digital-catalog-card {
  overflow: hidden;
}

.native-shell .digital-catalog-card .digital-pharmacy-native-card-heading,
.native-shell .digital-specialties-card .digital-pharmacy-native-card-heading {
  padding: 18px 20px;
  border-bottom: 1px solid #d7e1e4;
}

.native-shell .digital-catalog-card .digital-pharmacy-native-card-heading button,
.native-shell .digital-missing-actions button {
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
  background: #fff;
  color: #061523;
  font-weight: 900;
}

.native-shell .digital-catalog-filter {
  display: grid;
  grid-template-columns: minmax(280px, 1fr);
  gap: 14px;
  padding: 14px 18px;
  border-bottom: 1px solid #d7e1e4;
}

.native-shell .digital-catalog-filter.digital-two-filter {
  grid-template-columns: minmax(280px, 1fr) 180px;
}

.native-shell .digital-catalog-filter.digital-status-filter {
  grid-template-columns: minmax(180px, 420px);
}

.native-shell .digital-catalog-filter label {
  display: grid;
  gap: 8px;
  color: #52636f;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .digital-catalog-filter input,
.native-shell .digital-catalog-filter select {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
  background: #fff;
  color: #061523;
  font-weight: 700;
}

.native-shell .digital-wide-table {
  min-width: 1680px;
}

.native-shell .digital-wide-table th,
.native-shell .digital-wide-table td {
  border-right: 1px solid #d7e1e4;
  vertical-align: top;
}

.native-shell .digital-specialty-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(160px, 1fr));
  gap: 14px;
  padding: 16px;
}

.native-shell .digital-specialty-grid article {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 64px;
  padding: 12px 14px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
  background: #fbfdfd;
}

.native-shell .digital-specialty-grid span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 8px;
  background: #ddf4ee;
  color: #007766;
  font-weight: 900;
}

.native-shell .digital-specialty-grid strong {
  color: #061523;
  font-weight: 900;
}

.native-shell .digital-table-pill {
  display: inline-flex !important;
  align-items: center;
  width: max-content;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #cfdfe4;
  border-radius: 999px;
  background: #fff;
  color: #061523;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .digital-missing-actions {
  display: flex;
  gap: 8px;
}

.native-shell .digital-missing-actions button:last-child {
  border-color: #078978;
  background: #078978;
  color: #fff;
}

.native-shell .digital-primary-button {
  border-color: #078978 !important;
  background: #078978 !important;
  color: #fff !important;
}

.native-shell .digital-tabs {
  display: flex;
  gap: 10px;
  padding: 14px 16px 0;
}

.native-shell .digital-tabs span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
  background: #fff;
  color: #536575;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .digital-tabs span.is-active {
  border-color: #8fd2c7;
  background: #e2f5f1;
  color: #007d79;
}

.native-shell .digital-tabs b {
  display: grid;
  min-width: 26px;
  height: 26px;
  place-items: center;
  border: 1px solid #f0c16f;
  border-radius: 999px;
  background: #fff4d8;
  color: #b7791f;
  font-size: 12px;
}

.native-shell .digital-orders-table {
  min-width: 1420px;
}

.native-shell .digital-row-actions {
  display: flex;
  gap: 8px;
  white-space: nowrap;
}

.native-shell .digital-row-actions button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #cfdfe4;
  border-radius: 7px;
  background: #fff;
  color: #061523;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .digital-messenger-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
}

.native-shell .digital-messenger-grid article {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 14px;
  min-height: 164px;
  padding: 12px;
  border: 1px solid #c4ddd8;
  border-radius: 8px;
  background: #fbfdfc;
}

.native-shell .digital-messenger-grid article > span,
.native-shell .digital-route-profile > span {
  display: grid;
  width: 66px;
  height: 66px;
  place-items: center;
  border-radius: 8px;
  background: #078978;
  color: #fff;
  font-size: 18px;
  font-weight: 950;
}

.native-shell .digital-messenger-grid strong,
.native-shell .digital-messenger-grid b,
.native-shell .digital-messenger-grid small,
.native-shell .digital-messenger-grid em {
  display: block;
}

.native-shell .digital-messenger-grid strong,
.native-shell .digital-messenger-grid b {
  color: #061523;
}

.native-shell .digital-messenger-grid em {
  margin: 3px 0 16px;
  color: #00806f;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.native-shell .digital-messenger-grid small {
  color: #536575;
  font-size: 12px;
}

.native-shell .digital-route-console {
  margin-top: 16px;
}

.native-shell .digital-route-profile {
  display: grid;
  grid-template-columns: 96px 74px minmax(0, 1fr) minmax(240px, 28%);
  gap: 12px;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid #d7e1e4;
}

.native-shell .digital-route-profile button {
  min-height: 38px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
  background: #fff;
  color: #061523;
  font-weight: 900;
}

.native-shell .digital-route-profile strong,
.native-shell .digital-route-profile b,
.native-shell .digital-route-profile small {
  display: block;
}

.native-shell .digital-route-profile aside {
  padding: 14px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
  background: #fff;
}

.native-shell .digital-route-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 16px;
}

.native-shell .digital-route-stats article {
  min-height: 70px;
  padding: 12px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
  background: #fff;
}

.native-shell .digital-route-stats small,
.native-shell .digital-route-stats strong {
  display: block;
}

.native-shell .digital-route-stats small,
.native-shell .digital-route-profile small {
  color: #536575;
  font-size: 12px;
  font-weight: 850;
}

.native-shell .digital-scan-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  padding: 16px;
  border-top: 1px solid #d7e1e4;
}

.native-shell .digital-scan-panel h2,
.native-shell .digital-scan-panel p,
.native-shell .digital-scan-panel strong {
  grid-column: 1 / -1;
  margin: 0;
}

.native-shell .digital-scan-panel h2 {
  font-size: 17px;
}

.native-shell .digital-scan-panel p,
.native-shell .digital-scan-panel strong {
  color: #536575;
  font-size: 13px;
}

.native-shell .digital-scan-panel strong {
  padding: 24px;
  text-align: center;
}

.native-shell .digital-scan-panel label {
  color: #061523;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .digital-scan-panel input {
  margin-top: 8px;
  min-height: 42px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
}

.native-shell .digital-cold-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 34%);
  gap: 16px;
  align-items: start;
}

.native-shell .digital-cold-form > div:last-child {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}

.native-shell .digital-cold-form label {
  color: #536575;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .digital-cold-form label:first-child,
.native-shell .digital-cold-form button {
  grid-column: 1 / -1;
}

.native-shell .digital-cold-form input,
.native-shell .digital-cold-form select {
  min-height: 42px;
  margin-top: 8px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
  font-weight: 800;
}

.native-shell .digital-temp-pill {
  display: inline-flex !important;
  width: max-content;
  min-height: 28px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid #9bc9ff;
  border-radius: 999px;
  background: #e8f3ff;
  color: #0d66a8;
  font-weight: 900;
}

.native-shell .digital-temp-pill.is-alert {
  border-color: #f7bbb3;
  background: #ffe4e0;
  color: #b42318;
}

.native-shell .digital-controlled-grid,
.native-shell .digital-prescription-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 32%);
  gap: 16px;
  align-items: start;
}

.native-shell .digital-prescription-products > div:last-child {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.native-shell .digital-prescription-products article,
.native-shell .digital-report-grid article {
  position: relative;
  min-height: 74px;
  padding: 16px;
  border: 1px solid #d6e2e2;
  border-radius: 8px;
  background: #fff;
}

.native-shell .digital-prescription-products strong,
.native-shell .digital-report-grid strong {
  display: block;
  color: #061523;
  font-weight: 900;
}

.native-shell .digital-prescription-products span,
.native-shell .digital-report-grid p {
  display: block;
  margin-top: 6px;
  color: #536575;
  font-size: 13px;
}

.native-shell .digital-prescription-products em {
  position: absolute;
  right: 12px;
  top: 18px;
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid #f0c46f;
  border-radius: 999px;
  background: #fff4dc;
  color: #a15d00;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.native-shell .digital-report-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 16px;
}

.native-shell .digital-report-grid button {
  margin-top: 14px;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #cfdfe4;
  border-radius: 8px;
  background: #fff;
  color: #061523;
  font-weight: 900;
}

@media (max-width: 1400px) {
  .native-shell .digital-specialty-grid {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
  }
}

@media (max-width: 900px) {
  .native-shell .digital-specialty-grid,
  .native-shell .digital-catalog-filter.digital-two-filter,
  .native-shell .digital-messenger-grid,
  .native-shell .digital-route-profile,
  .native-shell .digital-route-stats,
  .native-shell .digital-cold-grid,
  .native-shell .digital-controlled-grid,
  .native-shell .digital-prescription-grid,
  .native-shell .digital-cold-form > div:last-child,
  .native-shell .digital-report-grid {
    grid-template-columns: 1fr;
  }
}

.native-shell.external-pharmacy-native-body {
  min-height: 100vh;
  background: #f3f5f4;
}

.native-shell.external-pharmacy-native-body .topbar {
  display: none;
}

.native-shell.external-pharmacy-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .external-pharmacy-native-screen {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 248px minmax(0, 1fr);
  background: #f3f5f4;
  color: #082441;
}

.native-shell .external-pharmacy-native-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  padding: 20px 8px 8px;
  border-right: 1px solid #d5dddb;
  background: #fbfdfc;
}

.native-shell .external-pharmacy-native-brand {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
}

.native-shell .external-pharmacy-native-brand > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #a8dcd3;
  border-radius: 8px;
  background: #e6f5f2;
  color: #007d79;
  font-size: 20px;
  font-weight: 900;
}

.native-shell .external-pharmacy-native-brand strong,
.native-shell .external-pharmacy-native-brand small {
  display: block;
}

.native-shell .external-pharmacy-native-brand strong {
  color: #082441;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .external-pharmacy-native-brand small {
  color: #536575;
  font-size: 11px;
}

.native-shell .external-pharmacy-native-menu {
  display: grid;
  gap: 8px;
}

.native-shell .external-pharmacy-native-menu a {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 7px;
  color: #536575;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.15;
  text-decoration: none;
}

.native-shell .external-pharmacy-native-menu a.is-active {
  background: #dff2ee;
  color: #007d79;
}

.native-shell .external-pharmacy-native-menu a span {
  color: #63716f;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .external-pharmacy-native-back {
  margin-top: auto;
  min-height: 42px;
  padding: 12px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}

.native-shell .external-pharmacy-native-workspace {
  min-width: 0;
  padding: 26px 22px 42px 24px;
}

.native-shell .external-pharmacy-native-header {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(520px, 700px);
  gap: 28px;
  margin-bottom: 58px;
}

.native-shell .external-pharmacy-native-header .eyebrow {
  color: #536575;
}

.native-shell .external-pharmacy-native-header h1 {
  margin: 4px 0 5px;
  color: #082441;
  font-size: 23px;
  line-height: 1.1;
}

.native-shell .external-pharmacy-native-header p {
  max-width: 720px;
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .external-pharmacy-native-selectors {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.native-shell .external-pharmacy-native-selectors label:first-child {
  grid-column: 1 / -1;
}

.native-shell .external-pharmacy-native-selectors label,
.native-shell .external-pharmacy-native-filters label {
  display: grid;
  gap: 7px;
  color: #33413f;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .external-pharmacy-native-selectors select,
.native-shell .external-pharmacy-native-filters input,
.native-shell .external-pharmacy-native-filters select {
  min-height: 42px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 750;
}

.native-shell .external-pharmacy-native-selectors time {
  padding-bottom: 10px;
  color: #536575;
  font-size: 12px;
  font-weight: 850;
}

.native-shell .external-pharmacy-native-card {
  overflow: hidden;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .external-pharmacy-native-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 18px 16px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .external-pharmacy-native-heading h2 {
  margin: 0 0 4px;
  color: #082441;
  font-size: 16px;
}

.native-shell .external-pharmacy-native-heading p {
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .external-pharmacy-native-filters {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) 180px;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .external-pharmacy-native-table-scroll {
  overflow-x: auto;
}

.native-shell .external-pharmacy-native-table {
  width: 100%;
  min-width: 1300px;
  border-collapse: collapse;
}

.native-shell .external-pharmacy-native-table th,
.native-shell .external-pharmacy-native-table td {
  padding: 16px 18px;
  border-bottom: 1px solid #d5dddb;
  text-align: left;
  vertical-align: middle;
}

.native-shell .external-pharmacy-native-table th {
  color: #536575;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .external-pharmacy-native-table td {
  color: #27312f;
  font-size: 13px;
}

.native-shell .external-pharmacy-native-table td strong,
.native-shell .external-pharmacy-native-table td span {
  display: block;
}

.native-shell .external-pharmacy-native-table form {
  margin: 0;
}

.native-shell .external-pharmacy-native-table button {
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #078a7b;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .external-heading-action button {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .external-pharmacy-native-status {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff3d7;
  color: #b7791f;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .external-pharmacy-native-status::before {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #d97706;
  content: "";
}

.native-shell .external-pharmacy-native-status.is-filled {
  background: #def6ef;
  color: #007d79;
}

.native-shell .external-pharmacy-native-status.is-filled::before {
  background: #007d79;
}

.native-shell .external-pharmacy-native-status.is-partial {
  background: #ffe3e3;
  color: #c62828;
}

.native-shell .external-pharmacy-native-status.is-partial::before {
  background: #c62828;
}

.native-shell .external-pill {
  display: inline-flex !important;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid #cdd8d5;
  border-radius: 999px;
  background: #fff;
  color: #082441;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .external-inventory-table td:nth-child(2) {
  max-width: 430px;
}

.native-shell .external-prescription-paper {
  max-width: 920px;
  margin-inline: auto;
}

.native-shell .external-prescription-inner {
  padding: 26px 28px;
}

.native-shell .external-prescription-inner header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 22px;
  border-bottom: 1px solid #d5dddb;
}

.native-shell .external-prescription-inner h2,
.native-shell .external-prescription-inner h3,
.native-shell .external-prescription-inner p {
  margin: 0;
}

.native-shell .external-prescription-inner h2 {
  font-size: 18px;
}

.native-shell .external-prescription-inner h3 {
  margin-top: 18px;
  margin-bottom: 10px;
  color: #007d79;
  font-size: 13px;
}

.native-shell .external-prescription-select,
.native-shell .external-prescription-box {
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #d5dddb;
  border-radius: 7px;
}

.native-shell .external-prescription-select {
  grid-template-columns: minmax(0, 1fr) 1.3fr;
  align-items: end;
}

.native-shell .external-prescription-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.native-shell .external-prescription-grid div,
.native-shell .external-prescription-table input,
.native-shell .external-prescription-table textarea,
.native-shell .external-prescription-box input,
.native-shell .external-prescription-box textarea,
.native-shell .external-prescription-select select {
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
}

.native-shell .external-prescription-grid div {
  display: grid;
  gap: 8px;
  min-height: 64px;
  padding: 10px;
}

.native-shell .external-prescription-grid span,
.native-shell .external-prescription-box label,
.native-shell .external-prescription-select label {
  color: #536575;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .external-prescription-grid strong,
.native-shell .external-prescription-select strong {
  color: #082441;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .external-prescription-box label {
  display: grid;
  gap: 8px;
}

.native-shell .external-prescription-box input,
.native-shell .external-prescription-box textarea,
.native-shell .external-prescription-select select {
  width: 100%;
  min-height: 42px;
  padding: 9px 12px;
  color: #082441;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .external-prescription-box textarea {
  min-height: 120px;
  resize: vertical;
}

.native-shell .external-prescription-table-wrap {
  overflow-x: auto;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .external-prescription-table {
  width: 100%;
  min-width: 1050px;
  table-layout: fixed;
  border-collapse: collapse;
}

.native-shell .external-prescription-table th,
.native-shell .external-prescription-table td {
  padding: 8px 6px;
  border-bottom: 1px solid #d5dddb;
  vertical-align: top;
}

.native-shell .external-prescription-table th {
  color: #536575;
  font-size: 9px;
  font-weight: 900;
  text-align: left;
}

.native-shell .external-prescription-table th span {
  display: block;
}

.native-shell .external-prescription-table th:nth-child(1) { width: 5%; text-align: center; }
.native-shell .external-prescription-table th:nth-child(2) { width: 9%; }
.native-shell .external-prescription-table th:nth-child(3) { width: 19%; }
.native-shell .external-prescription-table th:nth-child(4) { width: 10%; }
.native-shell .external-prescription-table th:nth-child(5) { width: 10%; }
.native-shell .external-prescription-table th:nth-child(6) { width: 8%; }
.native-shell .external-prescription-table th:nth-child(7) { width: 11%; }
.native-shell .external-prescription-table th:nth-child(8) { width: 9%; }
.native-shell .external-prescription-table th:nth-child(9) { width: 8%; }
.native-shell .external-prescription-table th:nth-child(10) { width: 11%; }

.native-shell .external-prescription-table input,
.native-shell .external-prescription-table textarea {
  width: 100%;
  min-height: 36px;
  padding: 8px;
  font-size: 11px;
  font-weight: 750;
}

.native-shell .external-prescription-table textarea {
  min-height: 46px;
  resize: vertical;
}

.native-shell .external-prescription-row-tools {
  display: grid;
  justify-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .external-prescription-remove-row,
.native-shell .external-prescription-add-row-footer button {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  padding: 0;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .external-prescription-remove-row {
  border-color: #f2aaa5;
  color: #cf281e;
}

.native-shell .external-prescription-add-row-footer {
  padding: 9px 10px;
  background: #fbfcfc;
}

.native-shell .external-prescription-medication-picker {
  display: grid;
  gap: 5px;
}

.native-shell .external-prescription-medication-picker small {
  color: #007d79;
  font-size: 8px;
  font-weight: 900;
}

.native-shell .external-warehouse-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.8fr) minmax(420px, 1.1fr);
  gap: 16px;
}

.native-shell .external-warehouse-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}

.native-shell .external-warehouse-form label:first-child,
.native-shell .external-warehouse-form button {
  grid-column: 1 / -1;
}

.native-shell .external-table-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid #cfd9d7;
  border-radius: 8px;
  background: #fff;
  color: #17252b;
  font-weight: 700;
  text-decoration: none;
}

.native-shell .external-inventory-movement-panel {
  margin: 14px;
  border: 1px solid #d5dfdd;
  border-radius: 10px;
  background: #fff;
}

.native-shell .external-warehouse-form label {
  display: grid;
  gap: 7px;
  color: #33413f;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .external-warehouse-form input,
.native-shell .external-warehouse-form select {
  min-height: 42px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .external-warehouse-form button {
  min-height: 42px;
  border: 0;
  border-radius: 7px;
  background: #087d70;
  color: #fff;
  font-weight: 900;
}

.native-shell .external-warehouse-list {
  display: grid;
}

.native-shell .external-warehouse-heading {
  display: block;
}

.native-shell .external-warehouse-heading p {
  margin-top: 5px;
}

.native-shell .external-warehouse-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto auto;
  gap: 12px;
  align-items: center;
  padding: 13px 16px;
  border-top: 1px solid #d5dddb;
}

.native-shell .external-warehouse-identity strong,
.native-shell .external-warehouse-identity span {
  display: block;
}

.native-shell .external-warehouse-identity strong {
  color: #082441;
  font-size: 13px;
}

.native-shell .external-warehouse-identity span {
  margin-top: 4px;
  color: #66736f;
  font-size: 10px;
}

.native-shell .external-warehouse-totals {
  display: flex;
  gap: 12px;
  color: #66736f;
  font-size: 10px;
  white-space: nowrap;
}

.native-shell .external-warehouse-row .external-pharmacy-native-status {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.native-shell .external-warehouse-row button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff !important;
  color: #082441 !important;
  font-family: inherit;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  opacity: 1;
  cursor: pointer;
}

.native-shell .external-warehouse-empty {
  margin: 0;
  padding: 18px 16px;
  border-top: 1px solid #d5dddb;
  color: #66736f;
}

.native-shell .external-pharmacy-module-main .external-pharmacy-native-heading > div {
  min-width: 0;
}

.native-shell .external-pharmacy-module-main .external-pharmacy-native-heading .eyebrow,
.native-shell .external-pharmacy-section-heading .eyebrow {
  margin: 0 0 4px;
  color: #007d79;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .external-pharmacy-module-main .external-pharmacy-native-heading h2,
.native-shell .external-pharmacy-section-heading h2 {
  margin: 3px 0 3px;
  color: #111827;
  font-size: 18px;
  line-height: 1.2;
}

.native-shell .external-pharmacy-section-heading {
  padding: 2px 2px 14px;
  border-bottom: 1px solid #d5dddb;
  margin-bottom: 16px;
}

.native-shell .external-pharmacy-section-heading p:last-child {
  margin: 0;
  color: #536575;
  font-size: 12px;
}

.native-shell .external-pharmacy-module-main .external-pharmacy-native-filters input,
.native-shell .external-pharmacy-module-main .external-pharmacy-native-filters select {
  width: 100%;
  padding: 0 12px;
}

.native-shell .external-pharmacy-module-main .external-pharmacy-native-table-scroll {
  border-top: 0;
}

.native-shell .external-pharmacy-module-main .external-pharmacy-native-table th {
  font-size: 10px;
}

.native-shell .external-pharmacy-module-main .external-pharmacy-native-table td {
  font-size: 12px;
}

@media (max-width: 900px) {
  .native-shell .external-pharmacy-native-filters,
  .native-shell .external-warehouse-grid,
  .native-shell .external-prescription-select {
    grid-template-columns: 1fr;
  }

  .native-shell .external-prescription-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .native-shell .external-warehouse-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .native-shell .external-warehouse-totals {
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .native-shell .external-pharmacy-module-main .external-pharmacy-native-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .native-shell .external-prescription-inner {
    padding: 18px 14px;
  }

  .native-shell .external-prescription-inner header {
    flex-direction: column;
  }

  .native-shell .external-prescription-grid,
  .native-shell .external-warehouse-form {
    grid-template-columns: 1fr;
  }

  .native-shell .external-warehouse-row {
    grid-template-columns: 1fr;
  }
}

.native-shell .external-pharmacy-native-support {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.native-shell .external-pharmacy-native-support article {
  min-width: 0;
  padding: 16px;
  border: 1px solid #d5dddb;
  border-radius: 8px;
  background: #fff;
}

.native-shell .external-pharmacy-native-support .compact-list {
  max-height: 220px;
  overflow: auto;
}

.native-shell .external-pharmacy-native-support .compact-list div {
  border-color: #dbe5e2;
  border-radius: 7px;
  background: #fbfdfc;
}

.native-shell.insurance-advisor-native-body {
  min-height: 100vh;
  background: #eef6f8;
}

.native-shell.insurance-advisor-native-body .topbar {
  display: none;
}

.native-shell.insurance-advisor-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .insurance-advisor-native-screen {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 206px minmax(0, 1fr);
  background: #eef6f8;
  color: #082441;
}

.native-shell .insurance-advisor-native-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  padding: 16px 8px 8px;
  border-right: 1px solid #d5e1e5;
  background: #fbfdfd;
}

.native-shell .insurance-advisor-native-brand {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
}

.native-shell .insurance-advisor-native-brand > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 10px;
  background: #007d79;
  color: #fff;
  font-size: 17px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-brand strong,
.native-shell .insurance-advisor-native-brand small {
  display: block;
}

.native-shell .insurance-advisor-native-brand strong {
  color: #082441;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-brand small {
  color: #53657a;
  font-size: 11px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-menu {
  display: grid;
  gap: 10px;
}

.native-shell .insurance-advisor-native-menu a {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 8px;
  color: #52657a;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .insurance-advisor-native-menu a.is-active,
.native-shell .insurance-advisor-native-menu a:hover {
  background: #e2f7f2;
  color: #007d79;
}

.native-shell .insurance-advisor-native-menu a span {
  color: #627382;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-back {
  margin-top: auto;
  min-height: 42px;
  padding: 12px;
  border: 1px solid #cdd9dd;
  border-radius: 7px;
  background: #fff;
  color: #007d79;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
}

.native-shell .insurance-advisor-native-workspace {
  min-width: 0;
  padding-bottom: 42px;
}

.native-shell .insurance-advisor-native-topbar {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 24px;
  border-bottom: 1px solid #d5e1e5;
  background: #fff;
}

.native-shell .insurance-advisor-native-user {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 12px;
}

.native-shell .insurance-advisor-native-user > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 9px;
  background: #008a7f;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-user strong,
.native-shell .insurance-advisor-native-user small {
  display: block;
}

.native-shell .insurance-advisor-native-user strong {
  color: #082441;
  font-size: 16px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-user small {
  color: #667892;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.native-shell .insurance-advisor-native-actions strong {
  color: #082441;
  font-size: 14px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-actions a,
.native-shell .insurance-advisor-native-hero-actions button {
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 7px;
  background: #007d79;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .insurance-advisor-native-hero {
  display: flex;
  min-height: 230px;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 34px max(18px, calc((100% - 1360px) / 2 + 18px)) 22px;
  background:
    radial-gradient(circle at 86% 70%, rgba(20, 184, 166, 0.18) 0 1px, transparent 1px) 0 0 / 14px 14px,
    linear-gradient(110deg, #f8fbfc 0%, #e9f7fb 58%, #d8f2ee 100%);
}

.native-shell .insurance-advisor-native-hero .eyebrow {
  color: #008a7f;
}

.native-shell .insurance-advisor-native-hero h1 {
  max-width: 620px;
  margin: 6px 0 10px;
  color: #082441;
  font-size: 52px;
  line-height: 0.98;
}

.native-shell .insurance-advisor-native-hero p {
  margin: 0;
  color: #667892;
  font-size: 16px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-hero-actions {
  display: flex;
  gap: 10px;
}

.native-shell .insurance-advisor-native-hero-actions button:last-child {
  border: 1px solid #cdd9dd;
  background: #fff;
  color: #082441;
}

.native-shell .insurance-advisor-native-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  width: calc(100% - 32px);
  max-width: 1360px;
  margin: 0 auto;
  padding: 18px 16px;
}

.native-shell .insurance-advisor-native-metrics article {
  min-height: 114px;
  padding: 22px 20px 16px;
  border: 1px solid #d5e1e5;
  border-radius: 8px;
  background: #fff;
}

.native-shell .insurance-advisor-native-metrics article > span {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  margin-right: 12px;
  border-radius: 8px;
  background: #eaf2ff;
  color: #3b82f6;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-metrics small {
  color: #52657a;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .insurance-advisor-native-metrics strong {
  display: block;
  margin-top: 8px;
  color: #082441;
  font-size: 30px;
  line-height: 1;
}

.native-shell .insurance-advisor-native-metrics p {
  margin: 8px 0 0;
  color: #52657a;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-tabs {
  display: flex;
  width: max-content;
  gap: 8px;
  margin: 2px max(16px, calc((100% - 1360px) / 2)) 14px;
  padding: 10px;
  border-radius: 9px;
  background: #fff;
}

.native-shell .insurance-advisor-native-tabs a {
  min-height: 38px;
  padding: 11px 18px;
  border: 1px solid #cdd9dd;
  border-radius: 7px;
  color: #344760;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .insurance-advisor-native-tabs a.is-active {
  border-color: #007d79;
  background: #008a7f;
  color: #fff;
}

.native-shell .insurance-advisor-native-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 18px;
  padding: 0 16px;
}

.native-shell .insurance-advisor-native-table-card,
.native-shell .insurance-advisor-native-detail,
.native-shell .insurance-advisor-native-support article {
  overflow: hidden;
  border: 1px solid #d5e1e5;
  border-radius: 8px;
  background: #fff;
}

.native-shell .insurance-advisor-native-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px;
  border-bottom: 1px solid #d5e1e5;
}

.native-shell .insurance-advisor-native-heading h2 {
  margin: 0 0 4px;
  color: #082441;
  font-size: 22px;
}

.native-shell .insurance-advisor-native-heading p {
  margin: 0;
  color: #52657a;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-heading button {
  min-height: 38px;
  padding: 0 15px;
  border: 1px solid #9bd8cf;
  border-radius: 7px;
  background: #fff;
  color: #007d79;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(140px, 240px));
  gap: 12px;
  padding: 16px 22px;
  border-bottom: 1px solid #d5e1e5;
}

.native-shell .insurance-advisor-native-filters label {
  display: grid;
  gap: 7px;
  color: #52657a;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-filters input,
.native-shell .insurance-advisor-native-filters select,
.native-shell .insurance-advisor-native-form input,
.native-shell .insurance-advisor-native-form select {
  min-height: 40px;
  border: 1px solid #cdd9dd;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font-size: 12px;
  font-weight: 750;
}

.native-shell .insurance-advisor-native-filter-submit {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  border: 0;
  clip: rect(0, 0, 0, 0);
}

.native-shell .insurance-advisor-native-table-scroll {
  overflow-x: auto;
}

.native-shell .insurance-advisor-native-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
}

.native-shell .insurance-advisor-native-table th,
.native-shell .insurance-advisor-native-table td {
  padding: 14px 12px;
  border-bottom: 1px solid #d5e1e5;
  text-align: left;
  vertical-align: top;
}

.native-shell .insurance-advisor-native-table th {
  color: #52657a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .insurance-advisor-native-table td {
  color: #082441;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-table tr.is-expired td {
  background: #fff5f5;
}

.native-shell .insurance-advisor-native-table tr.is-due td {
  background: #fffbeb;
}

.native-shell .insurance-advisor-native-table tr.is-selected td {
  background: #eefcfb;
  border-top: 1px solid #11b8ad;
  border-bottom-color: #11b8ad;
}

.native-shell .insurance-advisor-native-table tr.is-selected td:first-child {
  box-shadow: inset 4px 0 #00a99d;
}

.native-shell .insurance-advisor-native-table td strong,
.native-shell .insurance-advisor-native-table td span {
  display: block;
}

.native-shell .insurance-advisor-native-table td span {
  margin-top: 4px;
  color: #52657a;
}

.native-shell .insurance-advisor-native-status {
  display: inline-flex !important;
  width: max-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fee2e2;
  color: #dc2626 !important;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-status.is-ok {
  background: #dcfce7;
  color: #047857 !important;
}

.native-shell .insurance-advisor-native-status.is-warning {
  background: #fef3c7;
  color: #b45309 !important;
}

.native-shell .insurance-advisor-native-status.is-danger {
  background: #fee2e2;
  color: #dc2626 !important;
}

.native-shell .insurance-advisor-native-policy-link {
  color: #082441;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .insurance-advisor-native-policy-link:hover {
  color: #007f75;
  text-decoration: underline;
}

.native-shell .insurance-advisor-native-row-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}

.native-shell .insurance-advisor-native-row-actions button {
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #a9d9d4;
  border-radius: 7px;
  background: #fff;
  color: #007d79;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-row-actions span {
  margin: 0 !important;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fee2e2;
  color: #dc2626 !important;
  font-size: 10px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-form {
  display: grid;
  grid-template-columns: 130px 150px auto;
  gap: 8px;
  margin: 0;
}

.native-shell .insurance-advisor-native-form button {
  min-height: 40px;
  padding: 0 12px;
  border: 0;
  border-radius: 7px;
  background: #008a7f;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-detail {
  padding: 22px 20px;
}

.native-shell .insurance-advisor-native-detail-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
}

.native-shell .insurance-advisor-native-detail-head span {
  width: max-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff3d7;
  color: #b7791f;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-detail-head small {
  color: #7a8998;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-detail-head strong {
  display: grid;
  width: 56px;
  height: 56px;
  grid-row: span 2;
  place-items: center;
  border: 1px solid #f8b78b;
  border-radius: 7px;
  color: #ea580c;
}

.native-shell .insurance-advisor-native-detail h2 {
  margin: 18px 0 8px;
  color: #082441;
  font-size: 22px;
  line-height: 1.05;
}

.native-shell .insurance-advisor-native-detail p {
  margin: 0 0 18px;
  color: #52657a;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.native-shell .insurance-advisor-native-detail-grid div {
  min-height: 86px;
  padding: 14px;
  border: 1px solid #d5e1e5;
  border-radius: 7px;
  background: #fbfdfd;
}

.native-shell .insurance-advisor-native-detail-grid span,
.native-shell .insurance-advisor-native-detail-grid strong {
  display: block;
}

.native-shell .insurance-advisor-native-detail-grid span {
  margin-bottom: 10px;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-detail-grid strong {
  color: #082441;
  font-size: 13px;
  line-height: 1.45;
}

.native-shell .insurance-advisor-native-detail-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.native-shell .insurance-advisor-native-detail-actions button,
.native-shell .insurance-advisor-native-policy-cards button,
.native-shell .insurance-advisor-native-claim-actions button {
  min-height: 38px;
  border: 1px solid #b8d7dd;
  border-radius: 7px;
  background: #fff;
  color: #007d79;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-detail-actions button:last-child,
.native-shell .insurance-advisor-native-claim-actions button:last-child {
  border-color: #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .insurance-advisor-native-note {
  margin-top: 12px !important;
  padding: 12px;
  border-left: 3px solid #007d79;
  border-radius: 6px;
  background: #eefaf7;
}

.native-shell .insurance-advisor-native-support {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  padding: 18px 16px 0;
}

.native-shell .insurance-advisor-native-alerts,
.native-shell .insurance-advisor-native-list {
  display: grid;
  gap: 10px;
  max-height: 300px;
  overflow: auto;
  padding: 14px 16px;
}

.native-shell .insurance-advisor-native-alerts a,
.native-shell .insurance-advisor-native-list div {
  display: block;
  padding: 12px;
  border: 1px solid #d5e1e5;
  border-radius: 7px;
  background: #fbfdfd;
  color: #082441;
  text-decoration: none;
}

.native-shell .insurance-advisor-native-alerts a.critical {
  border-color: #fecaca;
  background: #fff1f2;
}

.native-shell .insurance-advisor-native-alerts a.warning {
  border-color: #fde68a;
  background: #fffbeb;
}

.native-shell .insurance-advisor-native-alerts span,
.native-shell .insurance-advisor-native-alerts strong,
.native-shell .insurance-advisor-native-list strong,
.native-shell .insurance-advisor-native-list span {
  display: block;
}

.native-shell .insurance-advisor-native-alerts span,
.native-shell .insurance-advisor-native-list span {
  color: #52657a;
  font-size: 12px;
}

.native-shell .insurance-advisor-native-alerts strong,
.native-shell .insurance-advisor-native-list strong {
  margin-top: 4px;
  font-size: 13px;
}

.native-shell .insurance-advisor-native-panel {
  overflow: hidden;
  width: calc(100% - 32px);
  max-width: 1360px;
  margin: 0 auto;
  border: 1px solid #d5e1e5;
  border-radius: 8px;
  background: #fff;
}

.native-shell .insurance-advisor-native-panel > .insurance-advisor-native-heading > span {
  color: #52657a;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-policy-cards {
  display: grid;
  gap: 12px;
  padding: 14px;
}

.native-shell .insurance-advisor-native-policy-cards article {
  display: grid;
  gap: 9px;
  padding: 18px;
  border: 1px solid #f59e0b;
  border-radius: 8px;
  background: #fffbeb;
}

.native-shell .insurance-advisor-native-policy-cards article.is-danger {
  border-color: #f87171;
  background: #fff1f2;
}

.native-shell .insurance-advisor-native-policy-cards article.is-selected {
  border-color: #2563eb;
  box-shadow: inset 0 0 0 1px #2563eb;
}

.native-shell .insurance-advisor-native-policy-cards strong,
.native-shell .insurance-advisor-native-policy-cards span,
.native-shell .insurance-advisor-native-policy-cards em {
  display: block;
}

.native-shell .insurance-advisor-native-policy-cards strong {
  color: #082441;
  font-size: 16px;
}

.native-shell .insurance-advisor-native-policy-cards span {
  color: #52657a;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-policy-cards em {
  padding: 8px 12px;
  border-radius: 999px;
  background: #fef3c7;
  color: #b45309;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-policy-cards article.is-danger em {
  background: #fee2e2;
  color: #dc2626;
}

.native-shell .insurance-advisor-native-policy-cards div {
  display: flex;
  gap: 8px;
}

.native-shell .insurance-advisor-native-empty-panel {
  min-height: 300px;
}

.native-shell .insurance-advisor-native-empty-panel > p {
  display: grid;
  min-height: 220px;
  place-items: center;
  margin: 0;
  color: #64748b;
  font-size: 15px;
}

.native-shell .insurance-advisor-native-advisor-alerts {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.native-shell .insurance-advisor-native-advisor-alerts article {
  padding: 14px;
  border: 1px solid #d5e1e5;
  border-left: 4px solid #f59e0b;
  border-radius: 7px;
  background: #fff;
}

.native-shell .insurance-advisor-native-messages article {
  border-left-color: #008f7f;
}

.native-shell .insurance-advisor-native-advisor-alerts small,
.native-shell .insurance-advisor-native-advisor-alerts strong,
.native-shell .insurance-advisor-native-advisor-alerts p {
  display: block;
}

.native-shell .insurance-advisor-native-advisor-alerts small {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-advisor-alerts strong {
  margin-top: 8px;
  color: #082441;
  font-size: 15px;
}

.native-shell .insurance-advisor-native-advisor-alerts p {
  margin: 8px 0 0;
  color: #52657a;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-claims {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.native-shell .insurance-advisor-native-claims-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  width: calc(100% - 32px);
  max-width: 1360px;
  margin: 18px auto;
}

.native-shell .insurance-advisor-native-claims-title h2,
.native-shell .insurance-advisor-native-claims-title p {
  margin: 0;
}

.native-shell .insurance-advisor-native-claims-title p {
  margin-top: 4px;
  color: #52657a;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-claims-title button {
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid #008f7f;
  border-radius: 7px;
  background: #008f7f;
  color: #fff;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-new-claim[hidden],
.native-shell [data-claims-list][hidden] {
  display: none;
}

.native-shell .insurance-advisor-native-new-claim form {
  display: grid;
  gap: 14px;
  padding: 18px 16px 16px;
}

.native-shell .insurance-advisor-native-new-claim label {
  display: grid;
  gap: 7px;
  color: #52657a;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-new-claim input,
.native-shell .insurance-advisor-native-new-claim select {
  width: 100%;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #cdd9dd;
  border-radius: 7px;
  background: #fff;
  color: #082441;
  font: inherit;
  font-weight: 750;
}

.native-shell .insurance-advisor-native-new-claim form > button {
  min-height: 42px;
  border: 1px solid #007d79;
  border-radius: 7px;
  background: #007d79;
  color: #fff;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-claims article {
  overflow: hidden;
  border: 1px solid #d5e1e5;
  border-radius: 7px;
  background: #fff;
}

.native-shell .insurance-advisor-native-claim-columns,
.native-shell .insurance-advisor-native-claim-row {
  display: grid;
  grid-template-columns: 1.2fr 1.6fr 0.9fr 1fr 1fr;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
}

.native-shell .insurance-advisor-native-claim-columns {
  margin: -12px -12px 0;
  padding: 13px 18px 8px;
  color: #52657a;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-claim-row {
  appearance: none;
  width: 100%;
  border: 0;
  background: #fff !important;
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.native-shell .insurance-advisor-native-claim-row:hover {
  background: #f8fcfb !important;
}

.native-shell .insurance-advisor-native-claims article.is-open > .insurance-advisor-native-claim-row,
.native-shell .insurance-advisor-native-claims article.is-open > .insurance-advisor-native-claim-row:focus,
.native-shell .insurance-advisor-native-claims article.is-open > .insurance-advisor-native-claim-row:active {
  background: #fff !important;
  color: #082441 !important;
  box-shadow: none;
}

.native-shell .insurance-advisor-native-claim-row strong,
.native-shell .insurance-advisor-native-claim-row span,
.native-shell .insurance-advisor-native-claim-row small {
  display: block;
}

.native-shell .insurance-advisor-native-claim-row strong {
  color: #082441;
  font-size: 14px;
}

.native-shell .insurance-advisor-native-claim-row span,
.native-shell .insurance-advisor-native-claim-row small {
  margin-top: 4px;
  color: #52657a;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-claims article.is-open {
  border: 1px solid #2dd4bf;
  box-shadow: 0 8px 22px rgba(15, 118, 110, .08);
}

.native-shell .insurance-advisor-native-claim-detail {
  padding: 18px 16px 16px;
  border-top: 1px solid #d5e1e5;
  background: #fbfdfd;
}

.native-shell .insurance-advisor-native-claim-summary > div > span {
  color: #007d79;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .insurance-advisor-native-claim-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.native-shell .insurance-advisor-native-claim-summary > strong {
  display: grid;
  width: 96px;
  height: 96px;
  flex: 0 0 96px;
  place-items: center;
  border-radius: 50%;
  background: #fef0c7;
  color: #c77700;
  font-size: 12px;
  text-align: center;
}

.native-shell .insurance-advisor-native-claim-detail h2 {
  margin: 10px 0;
  color: #082441;
  font-size: 22px;
}

.native-shell .insurance-advisor-native-claim-detail p {
  margin: 0 0 18px;
  color: #64748b;
  font-size: 13px;
}

.native-shell .insurance-advisor-native-claim-meta,
.native-shell .insurance-advisor-native-claim-steps,
.native-shell .insurance-advisor-native-claim-actions {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.native-shell .insurance-advisor-native-claim-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.native-shell .insurance-advisor-native-claim-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.native-shell .insurance-advisor-native-claim-actions {
  grid-template-columns: 150px 180px 110px 1fr;
}

.native-shell .insurance-advisor-native-claim-meta div,
.native-shell .insurance-advisor-native-claim-steps div {
  min-height: 58px;
  padding: 12px;
  border: 1px solid #d5e1e5;
  border-radius: 7px;
  background: #fff;
}

.native-shell .insurance-advisor-native-claim-steps div.is-active {
  border-color: #007d79;
  background: #eafaf7;
}

.native-shell .insurance-advisor-native-claim-meta span,
.native-shell .insurance-advisor-native-claim-meta strong,
.native-shell .insurance-advisor-native-claim-steps span,
.native-shell .insurance-advisor-native-claim-steps strong {
  display: block;
}

.native-shell .insurance-advisor-native-claim-meta span,
.native-shell .insurance-advisor-native-claim-steps span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-claim-meta strong,
.native-shell .insurance-advisor-native-claim-steps strong {
  color: #082441;
  font-size: 13px;
}

.native-shell .insurance-advisor-native-documents {
  width: 100%;
  border-collapse: collapse;
}

.native-shell .insurance-advisor-native-documents th,
.native-shell .insurance-advisor-native-documents td {
  padding: 14px 12px;
  border: 1px solid #d5e1e5;
  text-align: left;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-documents th {
  color: #52657a;
  text-transform: uppercase;
}

.native-shell .insurance-advisor-native-documents tr.is-received td {
  background: #edfbf6;
}

.native-shell .insurance-advisor-native-documents tr.is-pending td {
  background: #fffaf0;
}

.native-shell .insurance-advisor-native-documents input[type="file"] {
  width: 100%;
  min-width: 190px;
  padding: 6px;
  border: 1px solid #cbdbe1;
  border-radius: 7px;
  background: #fff;
}

.native-shell .insurance-advisor-native-claim-note {
  margin: 22px 0 0 !important;
  padding: 12px;
  border-radius: 6px;
  background: #f5f9fa;
}

.native-shell .insurance-advisor-native-claims-footer {
  display: block;
  margin: 0 12px 12px;
  padding: 10px;
  border: 1px solid #d5e1e5;
  border-radius: 7px;
  color: #007d79;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.native-shell .insurance-advisor-hero {
  min-height: 150px;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 250, 0.96) 100%),
    radial-gradient(circle at 88% 18%, rgba(37, 99, 235, 0.1), transparent 32%);
}

.native-shell .insurance-advisor-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .insurance-advisor-hero-mark {
  background: linear-gradient(135deg, #2dd4bf 0%, #2563eb 100%);
  box-shadow: 0 14px 24px rgba(37, 99, 235, 0.15);
}

.native-shell .insurance-advisor-metrics {
  gap: 14px;
}

.native-shell .insurance-advisor-metrics .metric-card {
  position: relative;
  min-height: 104px;
  overflow: hidden;
}

.native-shell .insurance-advisor-metrics .metric-card::after {
  position: absolute;
  right: -26px;
  bottom: -36px;
  width: 98px;
  height: 98px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.08);
  content: "";
}

.native-shell .insurance-advisor-policies-panel,
.native-shell .insurance-advisor-alerts-panel,
.native-shell .insurance-advisor-side-panel,
.native-shell .insurance-advisor-deliveries-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .insurance-advisor-policies-panel::before,
.native-shell .insurance-advisor-alerts-panel::before,
.native-shell .insurance-advisor-side-panel::before,
.native-shell .insurance-advisor-deliveries-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #2563eb 0%, rgba(37, 99, 235, 0) 70%);
  content: "";
}

.native-shell .insurance-advisor-policies-panel .table-card {
  border-color: #e5eef1;
  border-radius: 16px;
}

.native-shell .insurance-advisor-policies-panel .data-table {
  min-width: 900px;
}

.native-shell .insurance-advisor-policies-panel .data-table tr:hover td {
  background: #fbfefe;
}

.native-shell .insurance-advisor-status-form {
  align-items: center;
}

.native-shell .insurance-advisor-renewal-backdrop[hidden] {
  display: none;
}

.native-shell .insurance-advisor-renewal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(25, 39, 50, .48);
}

.native-shell .insurance-advisor-renewal-dialog {
  width: min(760px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  border: 1px solid #cad9df;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(18, 38, 48, .22);
}

.native-shell .insurance-advisor-renewal-dialog > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-bottom: 1px solid #d9e3e7;
}

.native-shell .insurance-advisor-renewal-dialog > header h2 {
  margin: 0 0 3px;
  color: #102d47;
  font-size: 20px;
  line-height: 1.15;
}

.native-shell .insurance-advisor-renewal-dialog > header span {
  color: #65788e;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .insurance-advisor-renewal-dialog > header button,
.native-shell .insurance-advisor-renewal-actions button {
  min-height: 38px;
  padding: 0 15px;
  border: 1px solid #c9d9e1;
  border-radius: 8px;
  background: #fff;
  color: #102d47;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.native-shell .insurance-advisor-renewal-dialog form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 18px 20px 20px;
}

.native-shell .insurance-advisor-renewal-dialog label {
  display: grid;
  gap: 7px;
  color: #536a81;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .insurance-advisor-renewal-dialog .is-wide {
  grid-column: 1 / -1;
}

.native-shell .insurance-advisor-renewal-dialog input,
.native-shell .insurance-advisor-renewal-dialog textarea {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #c9d9e1;
  border-radius: 8px;
  background: #fff;
  color: #102d47;
  font: inherit;
  font-weight: 700;
}

.native-shell .insurance-advisor-renewal-dialog input[type="file"] {
  padding: 7px 9px;
}

.native-shell .insurance-advisor-renewal-dialog textarea {
  min-height: 62px;
  resize: vertical;
}

.native-shell .insurance-advisor-renewal-actions {
  display: flex;
  gap: 10px;
}

.native-shell .insurance-advisor-renewal-actions button[type="submit"] {
  border-color: #008d80;
  background: #008d80;
  color: #fff;
}

.native-shell .insurance-advisor-renewal-actions button:hover {
  filter: brightness(.97);
}

@media (max-width: 700px) {
  .native-shell .insurance-advisor-renewal-dialog form {
    grid-template-columns: 1fr;
  }

  .native-shell .insurance-advisor-renewal-dialog .is-wide {
    grid-column: auto;
  }
}

.native-shell .insurance-advisor-alerts-panel .alert-list,
.native-shell .insurance-advisor-side-panel .compact-list,
.native-shell .insurance-advisor-deliveries-panel .compact-list {
  max-height: 440px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .insurance-advisor-alerts-panel .alert-row,
.native-shell .insurance-advisor-side-panel .compact-list div,
.native-shell .insurance-advisor-deliveries-panel .compact-list div {
  border-color: #e5eef1;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .insurance-advisor-alerts-panel .alert-row.warning {
  border-color: #fde68a;
  background: #fffbeb;
}

.native-shell .insurance-advisor-alerts-panel .alert-row.critical {
  border-color: #fecaca;
  background: #fff1f2;
}

.native-shell .insurance-advisor-policies-panel .badge,
.native-shell .insurance-advisor-side-panel .badge,
.native-shell .insurance-advisor-deliveries-panel .badge {
  background: #eff6ff;
  color: #1d4ed8;
}

.native-shell .insurance-health-nav {
  margin-bottom: 18px;
  padding: 8px;
  border: 1px solid #dbe8e8;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.07);
}

.native-shell .insurance-health-nav a {
  border-radius: 12px;
  color: #475569;
  font-weight: 750;
}

.native-shell .insurance-health-nav a:hover,
.native-shell .insurance-health-nav a.is-active {
  border-color: #bae6fd;
  background: linear-gradient(135deg, #ecfeff 0%, #eff6ff 100%);
  color: #075985;
}

.native-shell.insurance-health-native-body {
  min-height: 100vh;
  background: #f3f4f6;
}

.native-shell.insurance-health-native-body .topbar {
  display: none;
}

.native-shell.insurance-health-native-body .shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.native-shell .insurance-health-native-screen {
  min-height: 100vh;
  background: #f3f4f6;
  color: #0b1624;
}

.native-shell .insurance-health-native-topbar {
  display: grid;
  grid-column: 1 / -1;
  grid-row: 1;
  grid-template-columns: 248px minmax(0, 1fr) auto;
  min-height: 58px;
  align-items: center;
  min-width: 0;
  border-bottom: 1px solid #dce5e4;
  background: #fff;
}

.native-shell .insurance-health-native-topbar > strong,
.native-shell .insurance-health-native-topbar > span {
  display: flex;
  height: 100%;
  align-items: center;
  min-width: 0;
  padding: 0 28px;
  overflow: hidden;
  color: #1c2c3c;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.native-shell .insurance-health-native-topbar > strong {
  border-right: 1px solid #dce5e4;
}

.native-shell .insurance-health-native-topbar > span {
  color: #516174;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .insurance-health-native-session {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0 28px;
}

.native-shell .insurance-health-native-session > button {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #1b2a3d;
}

.native-shell .insurance-health-native-session > div {
  display: grid;
  min-width: 128px;
  gap: 2px;
}

.native-shell .insurance-health-native-session strong {
  color: #061322;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .insurance-health-native-session small {
  color: #516174;
  font-size: 10px;
  font-weight: 700;
}

.native-shell .insurance-health-native-session form {
  margin: 0;
}

.native-shell .insurance-health-native-session .insurance-health-native-logout button {
  display: inline-flex;
  width: auto;
  min-width: 136px;
  height: 38px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid #f0b4b4;
  border-radius: 8px;
  background: #fff;
  color: #c72b2b;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .insurance-health-native-session .insurance-health-native-logout button:hover {
  background: #fff5f5;
}

.native-shell .insurance-health-native-topbar svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.native-shell .insurance-health-native-main {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 0 42px;
}

.native-shell .insurance-health-native-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 156px;
  gap: 28px;
  align-items: start;
  padding: 0 0 26px;
}

.native-shell .insurance-health-native-hero .eyebrow {
  margin: 0 0 12px;
  color: #5d6d80;
  font-size: 16px;
}

.native-shell .insurance-health-native-hero h1 {
  max-width: 920px;
  margin: 0 0 16px;
  color: #141e2b;
  font-size: 60px;
  line-height: 1.02;
}

.native-shell .insurance-health-native-hero p {
  max-width: 1040px;
  margin: 0;
  color: #5d6d80;
  font-size: 18px;
  line-height: 1.5;
}

.native-shell .insurance-health-native-hero > a {
  display: grid;
  min-height: 158px;
  place-items: center;
  border-radius: 4px;
  background: #147f75;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.native-shell .insurance-health-native-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.native-shell .insurance-health-native-metrics article {
  min-height: 112px;
  padding: 20px 18px;
  border: 1px solid #d1d9e2;
  border-radius: 7px;
  background: #fff;
}

.native-shell .insurance-health-native-metrics span,
.native-shell .insurance-health-native-metrics strong {
  display: block;
}

.native-shell .insurance-health-native-metrics span {
  margin-bottom: 14px;
  color: #52657b;
  font-size: 14px;
}

.native-shell .insurance-health-native-metrics strong {
  color: #061322;
  font-size: 36px;
  line-height: 1;
}

.native-shell .insurance-health-native-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.native-shell .insurance-health-native-panel {
  overflow: hidden;
  border: 1px solid #d1d9e2;
  border-radius: 7px;
  background: #fff;
}

.native-shell .insurance-health-native-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 20px 18px 14px;
}

.native-shell .insurance-health-native-heading h2 {
  margin: 0;
  color: #061322;
  font-size: 25px;
}

.native-shell .insurance-health-native-heading span {
  min-width: 82px;
  padding: 9px 12px;
  border: 1px solid #cfd8e3;
  border-radius: 999px;
  color: #52657b;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
}

.native-shell .insurance-health-native-list,
.native-shell .insurance-health-native-alerts {
  display: grid;
  gap: 10px;
  max-height: 340px;
  overflow: auto;
  padding: 0 18px 18px;
}

.native-shell .insurance-health-native-list div,
.native-shell .insurance-health-native-alerts a {
  display: block;
  padding: 14px;
  border: 1px solid #d1d9e2;
  border-radius: 7px;
  background: #fff;
  color: #061322;
  text-decoration: none;
}

.native-shell .insurance-health-native-alerts a.critical {
  border-color: #ffb4b4;
  background: #fff1f2;
}

.native-shell .insurance-health-native-alerts a.warning {
  border-color: #fde68a;
  background: #fffbeb;
}

.native-shell .insurance-health-native-list strong,
.native-shell .insurance-health-native-list span,
.native-shell .insurance-health-native-alerts span,
.native-shell .insurance-health-native-alerts strong {
  display: block;
}

.native-shell .insurance-health-native-list strong,
.native-shell .insurance-health-native-alerts strong {
  color: #061322;
  font-size: 16px;
}

.native-shell .insurance-health-native-list span,
.native-shell .insurance-health-native-alerts span {
  margin-bottom: 5px;
  color: #52657b;
  font-size: 13px;
}

.native-shell .insurance-health-native-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
  padding: 12px;
  border: 1px solid #d1d9e2;
  border-radius: 7px;
  background: #fff;
}

.native-shell .insurance-health-native-links a {
  min-height: 36px;
  padding: 10px 14px;
  border: 1px solid #cfd8e3;
  border-radius: 7px;
  color: #243142;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.native-shell .insurance-health-hero {
  min-height: 150px;
  align-items: center;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 252, 253, 0.95) 100%),
    radial-gradient(circle at 86% 20%, rgba(14, 165, 233, 0.12), transparent 34%);
}

.native-shell .insurance-health-hero-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 16px;
}

.native-shell .insurance-health-hero-mark {
  background: linear-gradient(135deg, #06b6d4 0%, #2563eb 100%);
  box-shadow: 0 14px 24px rgba(14, 116, 144, 0.16);
}

.native-shell .insurance-metrics {
  gap: 14px;
}

.native-shell .insurance-metrics .metric-card {
  position: relative;
  min-height: 106px;
  overflow: hidden;
}

.native-shell .insurance-metrics .metric-card::after {
  position: absolute;
  right: -24px;
  bottom: -34px;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  background: rgba(14, 165, 233, 0.08);
  content: "";
}

.native-shell .insurance-health-panel {
  position: relative;
  overflow: hidden;
}

.native-shell .insurance-health-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #0ea5e9 0%, rgba(14, 165, 233, 0) 70%);
  content: "";
}

.native-shell .insurance-health-panel .compact-list,
.native-shell .insurance-health-panel .alert-list {
  max-height: 430px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .insurance-health-panel .compact-list div,
.native-shell .insurance-health-panel .alert-row {
  border-color: #dbe8e8;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .insurance-health-panel .alert-row.warning {
  border-color: #fde68a;
  background: #fffbeb;
}

.native-shell .insurance-health-panel .alert-row.critical {
  border-color: #fecaca;
  background: #fff1f2;
}

.native-shell .insurance-section-hero {
  min-height: 126px;
  align-items: center;
  border-color: #dbe8e8;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 253, 253, 0.96) 100%),
    radial-gradient(circle at 92% 12%, rgba(14, 165, 233, 0.09), transparent 30%);
}

.native-shell .insurance-section-hero .eyebrow {
  color: #0e7490;
}

.native-shell .insurance-filter-bar {
  align-items: end;
  border: 1px solid #dbe8e8;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

.native-shell .insurance-filter-bar label {
  min-width: 170px;
}

.native-shell .insurance-filter-bar button,
.native-shell .insurance-entry-form button,
.native-shell .insurance-patient-form button {
  background: linear-gradient(135deg, #0891b2 0%, #2563eb 100%);
  box-shadow: 0 14px 24px rgba(14, 116, 144, 0.14);
}

.native-shell .insurance-table-panel {
  border-color: #dbe8e8;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
}

.native-shell .insurance-table-panel .data-table {
  min-width: 860px;
}

.native-shell .insurance-table-panel .data-table th {
  color: #007d79;
}

.native-shell .insurance-table-panel .data-table tr:hover td {
  background: #f8fdfd;
}

.native-shell .insurance-form-panel,
.native-shell .insurance-report-panel {
  position: relative;
  overflow: hidden;
  border-color: #dbe8e8;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
}

.native-shell .insurance-form-panel::before,
.native-shell .insurance-report-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #0ea5e9 0%, rgba(14, 165, 233, 0) 72%);
  content: "";
}

.native-shell .insurance-form-panel h2,
.native-shell .insurance-report-panel h2 {
  color: #0f172a;
}

.native-shell .insurance-form-panel .form-grid label {
  color: #475569;
  font-weight: 750;
}

.native-shell .insurance-form-panel input,
.native-shell .insurance-form-panel select,
.native-shell .insurance-form-panel textarea,
.native-shell .insurance-filter-bar input,
.native-shell .insurance-filter-bar select {
  border-color: #cfe2e5;
  background: #fbfefe;
}

.native-shell .insurance-form-panel input:focus,
.native-shell .insurance-form-panel select:focus,
.native-shell .insurance-form-panel textarea:focus,
.native-shell .insurance-filter-bar input:focus,
.native-shell .insurance-filter-bar select:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.16);
}

.native-shell .insurance-report-panel .compact-list {
  max-height: 360px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .insurance-report-panel .compact-list div {
  border-color: #dbe8e8;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .insurance-report-panel .compact-list strong {
  color: #0f172a;
}

.native-shell .insurance-record-header {
  align-items: center;
  border-color: #dbe8e8;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 253, 253, 0.96) 100%),
    radial-gradient(circle at 90% 20%, rgba(14, 165, 233, 0.1), transparent 32%);
}

.native-shell .insurance-record-header .eyebrow {
  color: #0e7490;
}

.native-shell .insurance-record-summary {
  gap: 14px;
}

.native-shell .insurance-record-summary article {
  min-height: 94px;
  border-color: #dbe8e8;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.native-shell .insurance-record-summary article span {
  color: #64748b;
}

.native-shell .insurance-record-summary article strong {
  color: #0f172a;
}

.native-shell .insurance-detail-panel,
.native-shell .insurance-admin-panel {
  position: relative;
  overflow: hidden;
  border-color: #dbe8e8;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.07);
}

.native-shell .insurance-detail-panel::before,
.native-shell .insurance-admin-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #0ea5e9 0%, rgba(14, 165, 233, 0) 72%);
  content: "";
}

.native-shell .insurance-detail-panel .detail-list div,
.native-shell .insurance-detail-panel .compact-list div,
.native-shell .insurance-detail-panel .compact-list a,
.native-shell .insurance-admin-panel .compact-list div {
  border-color: #dbe8e8;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .insurance-detail-panel .compact-list,
.native-shell .insurance-admin-panel .compact-list {
  max-height: 390px;
  overflow: auto;
  padding-right: 2px;
}

.native-shell .insurance-inline-form {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e5eef1;
}

.native-shell .insurance-inline-form label {
  color: #475569;
  font-weight: 750;
}

.native-shell .insurance-inline-form input,
.native-shell .insurance-inline-form select,
.native-shell .insurance-inline-form textarea {
  border-color: #cfe2e5;
  background: #fbfefe;
}

.native-shell .insurance-inline-form input:focus,
.native-shell .insurance-inline-form select:focus,
.native-shell .insurance-inline-form textarea:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.16);
}

.native-shell .insurance-inline-form button {
  background: linear-gradient(135deg, #0891b2 0%, #2563eb 100%);
  box-shadow: 0 14px 24px rgba(14, 116, 144, 0.14);
}

.native-shell .insurance-timeline-panel .timeline div {
  border-color: #dbe8e8;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .insurance-timeline-panel .timeline time {
  color: #0e7490;
  font-weight: 800;
}

.native-shell .insurance-admin-hero {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 252, 253, 0.96) 100%),
    radial-gradient(circle at 90% 18%, rgba(37, 99, 235, 0.1), transparent 30%);
}

.native-shell .insurance-permissions-panel .permission-grid span {
  border-color: #dbe8e8;
  border-radius: 12px;
  background: #fbfefe;
  color: #334155;
}

@media (max-width: 820px) {
  .native-shell .topbar {
    position: static;
    width: calc(100% - 20px);
  }

  .native-shell .brand,
  .native-shell .session {
    width: 100%;
  }

  .native-shell .shell {
    width: calc(100% - 20px);
  }

  .native-shell .page-heading,
  .native-shell .record-header {
    padding: 18px;
  }

  .native-shell .patient-hero-title {
    align-items: flex-start;
  }

  .native-shell .patient-profile-card .detail-list div {
    grid-template-columns: 1fr;
  }

  .native-shell .doctor-hero-title {
    align-items: flex-start;
  }

  .native-shell .doctor-profile-card .detail-list div {
    grid-template-columns: 1fr;
  }

  .native-shell .orders-hero-title {
    align-items: flex-start;
  }

  .native-shell .orders-card-header,
  .native-shell .orders-product-form {
    grid-template-columns: 1fr;
  }

  .native-shell .pharmacy-hero-title {
    align-items: flex-start;
  }

  .native-shell .messenger-hero-title {
    align-items: flex-start;
  }

  .native-shell .messenger-profile-card .detail-list div,
  .native-shell .messenger-status-form {
    grid-template-columns: 1fr;
  }

  .native-shell .operational-hero-title {
    align-items: flex-start;
  }

  .native-shell .operational-profile-card .detail-list div,
  .native-shell .operational-status-form {
    grid-template-columns: 1fr;
  }

  .native-shell .provider-hero-title {
    align-items: flex-start;
  }

  .native-shell .provider-profile-card .detail-list div,
  .native-shell .provider-status-form {
    grid-template-columns: 1fr;
  }

  .native-shell .unit-hero-title {
    align-items: flex-start;
  }

  .native-shell .unit-profile-card .detail-list div,
  .native-shell .unit-status-form {
    grid-template-columns: 1fr;
  }

  .native-shell .institution-hero-title {
    align-items: flex-start;
  }

  .native-shell .institution-profile-card .detail-list div,
  .native-shell .institution-status-form {
    grid-template-columns: 1fr;
  }

  .native-shell .superadmin-hero-title {
    align-items: flex-start;
  }

  .native-shell .superadmin-module-form,
  .native-shell .superadmin-user-form {
    grid-template-columns: 1fr;
  }

  .native-shell .external-pharmacy-hero-title {
    align-items: flex-start;
  }

  .native-shell .external-pharmacy-status-form {
    grid-template-columns: 1fr;
  }

  .native-shell .insurance-advisor-hero-title {
    align-items: flex-start;
  }

  .native-shell .insurance-advisor-status-form {
    grid-template-columns: 1fr;
  }

  .native-shell .insurance-health-nav {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .native-shell .insurance-health-hero-title {
    align-items: flex-start;
  }

  .native-shell .insurance-filter-bar {
    grid-template-columns: 1fr;
  }

  .native-shell .insurance-record-header {
    align-items: flex-start;
  }

  .native-shell .insurance-inline-form {
    grid-template-columns: 1fr;
  }
}

.native-shell .insurance-health-native-screen--sidebar {
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  grid-template-rows: 58px minmax(0, 1fr);
  min-height: 100vh;
  background: #f3f6f5;
}

.native-shell .insurance-health-native-sidebar {
  position: sticky;
  top: 0;
  grid-column: 1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 16px 14px 18px;
  border-right: 1px solid #d5dedc;
  background: #f8faf9;
}

.native-shell .insurance-health-native-sidebar-brand {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 24px;
}

.native-shell .insurance-health-native-sidebar-brand > span {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #dff5f1;
  color: #00756c;
  font-weight: 900;
}

.native-shell .insurance-health-native-sidebar-brand strong,
.native-shell .insurance-health-native-sidebar-brand small {
  display: block;
}

.native-shell .insurance-health-native-sidebar-brand strong {
  color: #061322;
  font-size: 16px;
  font-weight: 900;
}

.native-shell .insurance-health-native-sidebar-brand small {
  color: #65758a;
  font-size: 12px;
}

.native-shell .insurance-health-native-sidebar-menu {
  display: grid;
  gap: 8px;
}

.native-shell .insurance-health-native-sidebar-menu a {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: center;
  min-height: 46px;
  padding: 9px 10px;
  border-radius: 8px;
  color: #52616c;
  font-weight: 850;
  text-decoration: none;
}

.native-shell .insurance-health-native-sidebar-menu a span {
  color: #64746f;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .insurance-health-native-sidebar-menu a:hover,
.native-shell .insurance-health-native-sidebar-menu a.is-active {
  background: #dff3ee;
  color: #00756c;
}

.native-shell .insurance-health-native-sidebar-menu a.is-active span {
  color: #00756c;
}

.native-shell .insurance-health-native-access {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  margin-top: auto;
  padding: 0 14px;
  border: 1px solid #cdd8d6;
  border-radius: 8px;
  background: #ffffff;
  color: #0b1624;
  font-weight: 850;
  text-decoration: none;
}

.native-shell .insurance-health-native-workspace {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  padding: 22px 28px 42px;
}

.native-shell .insurance-health-native-pagebar {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 20px;
}

.native-shell .insurance-health-native-page-title .eyebrow,
.native-shell .insurance-health-native-page-head .eyebrow {
  margin: 0 0 6px;
  color: #52657b;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .insurance-health-native-page-title h1,
.native-shell .insurance-health-native-page-head h1 {
  margin: 0 0 8px;
  color: #061322;
  font-size: 32px;
  line-height: 1.1;
}

.native-shell .insurance-health-native-page-title p,
.native-shell .insurance-health-native-page-head p {
  margin: 0;
  color: #5d6d80;
  font-size: 15px;
  line-height: 1.45;
}

.native-shell .insurance-health-native-pagebar .insurance-health-native-session {
  flex: 0 0 auto;
}

.native-shell .insurance-health-native-screen--sidebar .insurance-health-native-hero {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  margin-bottom: 18px;
  padding: 22px 24px;
  border: 1px solid #d3dddc;
  border-radius: 8px;
  background: #ffffff;
}

.native-shell .insurance-health-native-screen--sidebar .insurance-health-native-hero h2 {
  margin: 0 0 8px;
  color: #061322;
  font-size: 26px;
}

.native-shell .insurance-health-native-screen--sidebar .insurance-health-native-hero p {
  max-width: 780px;
  font-size: 15px;
}

.native-shell .insurance-health-native-primary-action,
.native-shell .insurance-health-native-page-head .action-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border: 0;
  border-radius: 8px;
  background: #0b8176;
  color: #ffffff;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(7, 89, 82, 0.14);
}

.native-shell .insurance-health-native-screen--sidebar .insurance-health-native-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.native-shell .insurance-health-native-screen--sidebar .insurance-health-native-metrics article {
  min-height: 98px;
  border-radius: 8px;
}

.native-shell .insurance-health-native-screen--sidebar .insurance-health-native-metrics strong {
  font-size: 30px;
}

.native-shell .insurance-health-native-page-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.native-shell .insurance-health-native-screen--sidebar .insurance-filter-bar {
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid #d3dddc;
  border-radius: 8px;
  background: #ffffff;
}

.native-shell .insurance-health-native-table-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 18px 18px 12px;
  border-bottom: 1px solid #d9e1df;
}

.native-shell .insurance-health-native-table-title h2 {
  margin: 0;
  color: #061322;
  font-size: 18px;
}

.native-shell .insurance-health-native-table-title span {
  color: #607083;
  font-weight: 800;
}

.native-shell .insurance-health-native-screen--sidebar .insurance-table-panel,
.native-shell .insurance-health-native-screen--sidebar .insurance-form-panel {
  overflow: hidden;
  border: 1px solid #d3dddc;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.04);
}

.native-shell .insurance-health-native-screen--sidebar .insurance-panel,
.native-shell .insurance-health-native-screen--sidebar .insurance-report-panel,
.native-shell .insurance-health-native-screen--sidebar .insurance-admin-panel,
.native-shell .insurance-health-native-screen--sidebar .insurance-permissions-panel {
  border: 1px solid #d3dddc;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.04);
}

.native-shell .insurance-health-native-screen--sidebar .insurance-grid {
  gap: 14px;
  margin-bottom: 14px;
}

.native-shell .insurance-health-native-screen--sidebar .insurance-form-panel {
  margin-bottom: 14px;
  padding: 18px;
}

.native-shell .insurance-health-native-screen--sidebar .data-table th {
  color: #52616c;
  font-size: 12px;
  text-transform: uppercase;
}

.native-shell .insurance-health-native-screen--sidebar .data-table td {
  vertical-align: middle;
}

.native-shell .insurance-health-native-screen--sidebar .table-action {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.native-shell .insurance-health-native-screen--sidebar .table-action select,
.native-shell .insurance-health-native-screen--sidebar .table-action input {
  min-height: 38px;
}

.native-shell .insurance-health-native-screen--sidebar .table-action button {
  min-height: 38px;
  border: 0;
  border-radius: 7px;
  background: #0b8176;
  color: #ffffff;
  font-weight: 900;
}

@media (max-width: 980px) {
  .native-shell .insurance-health-native-screen--sidebar {
    display: block;
  }

  .native-shell .insurance-health-native-topbar {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .native-shell .insurance-health-native-topbar > strong,
  .native-shell .insurance-health-native-topbar > span {
    height: 44px;
    padding: 0 16px;
    border-right: 0;
    border-bottom: 1px solid #dce5e4;
  }

  .native-shell .insurance-health-native-session {
    justify-content: space-between;
    padding: 10px 16px;
  }

  .native-shell .insurance-health-native-sidebar {
    position: static;
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid #d5dedc;
  }

  .native-shell .insurance-health-native-sidebar-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .native-shell .insurance-health-native-access {
    margin-top: 14px;
  }

  .native-shell .insurance-health-native-workspace {
    padding: 18px 14px 32px;
  }

  .native-shell .insurance-health-native-pagebar,
  .native-shell .insurance-health-native-screen--sidebar .insurance-health-native-hero,
  .native-shell .insurance-health-native-page-head {
    display: grid;
  }

  .native-shell .insurance-health-native-screen--sidebar .insurance-health-native-metrics {
    grid-template-columns: 1fr;
  }
}
.superadmin-subscription-cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.superadmin-subscription-cards article {
  min-height: 178px;
  padding: 18px;
  border: 1px solid #d8e1df;
  border-radius: 10px;
  background: #fff;
}

.superadmin-subscription-cards small { color: #61716e; font-weight: 800; }
.superadmin-subscription-cards h2 { margin: 12px 0 8px; font-size: 16px; }
.superadmin-subscription-cards strong { color: #007d70; }
.superadmin-subscription-cards p { color: #63716f; line-height: 1.45; }
.superadmin-subscription-table-card { margin-bottom: 0; }
.superadmin-subscription-inline-edit { display: inline-flex; margin-left: 8px; padding: 7px 10px; border: 1px solid #ccd8d5; border-radius: 8px; background: #fff; font-weight: 800; }
.superadmin-subscription-name-edit { display: flex; width: fit-content; margin-top: 9px; padding: 7px 10px; border: 1px solid #ccd8d5; border-radius: 8px; background: #fff; font-weight: 800; }
.superadmin-subscription-modal { position: fixed; inset: 0; z-index: 2000; display: none; place-items: center; padding: 24px; }
.superadmin-subscription-modal:target { display: grid; }
.superadmin-subscription-modal-backdrop { position: absolute; inset: 0; background: rgba(21, 31, 30, .45); }
.superadmin-subscription-modal-window { position: relative; z-index: 1; width: min(760px, 100%); border: 1px solid #d4dddb; border-radius: 12px; background: #fff; box-shadow: 0 28px 70px rgba(22, 38, 36, .28); }
.superadmin-subscription-modal-window header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px; border-bottom: 1px solid #dce4e2; }
.superadmin-subscription-modal-window header h2 { margin: 0 0 5px; font-size: 18px; }
.superadmin-subscription-modal-window header p { margin: 0; color: #687572; }
.superadmin-subscription-modal-window header > a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #d2dcda; border-radius: 9px; color: #17201f; font-size: 27px; text-decoration: none; }
.superadmin-subscription-modal-window form { display: grid; gap: 14px; padding: 20px; }
.superadmin-subscription-modal-window label { display: grid; gap: 7px; font-weight: 800; }
.superadmin-subscription-modal-window input,
.superadmin-subscription-modal-window textarea { width: 100%; padding: 13px; border: 1px solid #9eb8b3; border-radius: 9px; font: inherit; }
.superadmin-subscription-modal-window textarea { min-height: 96px; resize: vertical; }
.superadmin-subscription-modal-window form > div { display: flex; justify-content: flex-end; gap: 10px; }
.superadmin-subscription-modal-window form > div a,
.superadmin-subscription-modal-window button { min-width: 160px; padding: 12px 18px; border: 1px solid #ccd8d5; border-radius: 9px; text-align: center; font-weight: 800; }
.superadmin-subscription-modal-window button { border-color: #007d79; color: #fff; background: #007d79; }
.superadmin-subscription-editor-row > td { padding: 0 !important; background: #f7fbfa; }
.superadmin-subscription-editor-row details { padding: 10px 16px; }
.superadmin-subscription-editor-row summary,
.superadmin-subscription-legal .superadmin-native-section-heading > button { padding: 10px 18px; border: 1px solid #ccd8d5; border-radius: 8px; color: #17201f; background: #fff; font-weight: 800; }
.superadmin-subscription-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.superadmin-subscription-form label { display: grid; gap: 6px; font-weight: 700; }
.superadmin-subscription-form .is-wide { grid-column: span 2; }
.superadmin-subscription-form input,
.superadmin-subscription-form select,
.superadmin-subscription-form textarea,
.superadmin-subscription-legal textarea { width: 100%; padding: 10px; border: 1px solid #ccd8d5; border-radius: 8px; background: #fff; }
.superadmin-subscription-form textarea { min-height: 92px; }
.superadmin-subscription-form button,
.superadmin-subscription-legal button { align-self: end; min-height: 40px; border: 0; border-radius: 8px; color: #fff; background: #007d79; font-weight: 800; }
.superadmin-subscription-legal-copy { padding: 16px; line-height: 1.6; white-space: normal; }
.superadmin-subscription-legal details { padding: 0 16px 16px; }
.superadmin-subscription-legal form { display: grid; gap: 10px; margin-top: 10px; }
.superadmin-subscription-legal textarea { min-height: 260px; }
.superadmin-subscription-legal-form { padding: 14px 0 0; }
.superadmin-subscription-legal-form.hidden { display: none; }
.superadmin-subscription-legal-form textarea { min-height: 320px; border-color: #007d79; }
.superadmin-subscription-legal-actions { display: flex; gap: 8px; }
.superadmin-subscription-legal-actions.hidden { display: none; }
.superadmin-subscription-legal-actions button { min-width: 120px; padding: 11px 16px; }
.superadmin-subscription-legal-actions button:last-child { border: 1px solid #ccd8d5; color: #17201f; background: #fff; }

/* Formato de solicitud de mezcla */
.superadmin-mix-selector { overflow: hidden; border: 1px solid #d5dfdd; border-radius: 10px; background: #fff; }
.superadmin-mix-selector > header { padding: 18px; border-bottom: 1px solid #d5dfdd; }
.superadmin-mix-selector h2, .superadmin-mix-selector p { margin: 0; }
.superadmin-mix-selector p { margin-top: 5px; color: #697774; }
.superadmin-mix-selector > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px; }
.superadmin-mix-selector button { display: grid; min-height: 108px; gap: 8px; padding: 24px 18px; border: 1px solid #d5dfdd !important; border-radius: 8px; color: #111 !important; background: #fff !important; box-shadow: none !important; text-align: left; cursor: pointer; }
.superadmin-mix-selector button:last-child { border: 1px solid #d5dfdd !important; }
.superadmin-mix-selector button:hover, .superadmin-mix-selector button:focus-visible { border-color: #111 !important; color: #000 !important; background: #f7f7f7 !important; outline: none; }
.superadmin-mix-selector button strong { font-size: 17px; }
.superadmin-mix-selector button span { color: #555 !important; }
.superadmin-mix-format.hidden, .superadmin-mix-selector.hidden { display: none; }
.superadmin-mix-format-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; padding: 0 4px 14px; border-bottom: 1px solid #d5dfdd; }
.superadmin-mix-format-toolbar h2, .superadmin-mix-format-toolbar p { margin: 0; }
.superadmin-mix-format-toolbar p { margin-top: 4px; color: #697774; }
.superadmin-mix-format-toolbar button { padding: 11px 17px; border: 1px solid #d5dfdd; border-radius: 8px; background: #fff; font-weight: 800; }
.superadmin-oncology-form { width: min(1220px, 100%); margin: 0 auto; overflow: hidden; border: 1px solid #c9d8e8; border-radius: 20px; background: #fff; }
.superadmin-oncology-form > h2 { margin: 0; padding: 17px; color: #fff; background: #0d3473; text-align: center; font-size: 20px; }
.superadmin-oncology-body { display: grid; gap: 24px; padding: 28px 24px 10px; }
.superadmin-oncology-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 24px; }
.superadmin-oncology-fields > label, .superadmin-oncology-footer label, .superadmin-oncology-observations { display: grid; gap: 7px; font-weight: 800; }
.superadmin-oncology-fields em, .superadmin-oncology-observations em, .superadmin-oncology-footer em { color: #d40954; font-style: normal; }
.superadmin-oncology-fields input, .superadmin-oncology-footer input, .superadmin-oncology-observations textarea { min-width: 0; padding: 13px; border: 1px solid #c9d8e8; border-radius: 8px; font: inherit; }
.superadmin-oncology-fields .is-span-2 { grid-column: span 2; }
.superadmin-oncology-fields fieldset { display: flex; align-items: center; gap: 20px; padding: 0; border: 0; }
.superadmin-oncology-fields fieldset legend { margin-bottom: 12px; font-weight: 800; }
.superadmin-oncology-fields fieldset label { display: flex; align-items: center; gap: 7px; }
.superadmin-oncology-table-wrap { overflow-x: auto; border: 1px solid #c9d8e8; border-radius: 8px; }
.superadmin-oncology-table { width: 100%; min-width: 1480px; border-collapse: collapse; color: #001e55; font-size: 10px; text-transform: uppercase; }
.superadmin-oncology-table th, .superadmin-oncology-table td { height: 52px; padding: 5px; border: 1px solid #c9d8e8; text-align: center; }
.superadmin-oncology-table th { font-weight: 900; }
.superadmin-oncology-table tbody th { font-size: 15px; }
.superadmin-oncology-table input:not([type="checkbox"]), .superadmin-oncology-table select { width: 100%; min-width: 78px; border: 0; background: transparent; font: inherit; }
.superadmin-oncology-table input[type="checkbox"] { width: 18px; height: 18px; }
.superadmin-oncology-table td.is-date { background: #c9fbfa; }
.superadmin-oncology-table input[type="date"] { min-width: 112px; }
.superadmin-oncology-observations textarea { min-height: 88px; resize: vertical; }
.superadmin-oncology-footer { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; }
.superadmin-oncology-footer > aside, .superadmin-oncology-footer > div { display: grid; gap: 12px; padding: 18px; border: 1px solid #c9d8e8; border-radius: 8px; }
.superadmin-oncology-footer aside p { margin: 0; }
.superadmin-oncology-file { place-items: center; border: 1px solid #078879; border-radius: 8px; padding: 8px; text-align: center; }
.superadmin-oncology-file input { width: 100%; padding: 0; border: 0; }
.superadmin-oncology-save { justify-self: center; min-width: 230px; padding: 15px 24px; border: 0; border-radius: 8px; color: #fff; background: #007d79; font-size: 16px; font-weight: 900; }
.superadmin-mix-pending { padding: 40px; border: 1px solid #d5dfdd; border-radius: 10px; background: #fff; }
.superadmin-npt-form { border: 1px solid #d5dfdd; border-radius: 10px; background: #fff; }
.superadmin-npt-form > .superadmin-mix-format-toolbar { margin: 0; padding: 16px; }
.superadmin-npt-body { display: grid; gap: 16px; padding: 20px 14px 14px; }
.superadmin-npt-body fieldset { min-width: 0; margin: 0; padding: 12px; border: 1px solid #d5dfdd; border-radius: 9px; }
.superadmin-npt-body legend { padding: 0 7px; color: #52625f; font-size: 12px; font-weight: 900; }
.superadmin-npt-grid, .superadmin-npt-products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.superadmin-npt-grid label, .superadmin-npt-products label { display: grid; min-width: 0; gap: 7px; font-size: 12px; font-weight: 800; }
.superadmin-npt-grid input, .superadmin-npt-grid select, .superadmin-npt-grid textarea, .superadmin-npt-products input, .superadmin-npt-products select { width: 100%; min-width: 0; padding: 12px; border: 1px solid #cdd9d7; border-radius: 8px; background: #fff; font: inherit; }
.superadmin-npt-grid textarea { min-height: 80px; resize: vertical; }
.superadmin-npt-grid .is-span-2 { grid-column: span 2; }
.superadmin-npt-products label { padding: 10px; border: 1px solid #d5dfdd; border-radius: 8px; }
.superadmin-npt-body > .superadmin-oncology-save { justify-self: end; }
@media (max-width: 900px) { .superadmin-mix-selector > div, .superadmin-oncology-fields, .superadmin-oncology-footer { grid-template-columns: 1fr; } .superadmin-oncology-fields .is-span-2 { grid-column: auto; } }
@media (max-width: 900px) { .superadmin-npt-grid, .superadmin-npt-products { grid-template-columns: 1fr; } .superadmin-npt-grid .is-span-2 { grid-column: auto; } }

/* Catalogo institucional de subunidades */
.institution-subunit-summary, .institution-subunit-card { border: 1px solid #d8d8d8; border-radius: 8px; background: #fff; box-shadow: none; }
.institution-subunit-summary { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; }
.institution-subunit-summary h2, .institution-subunit-summary p, .institution-subunit-card h2, .institution-subunit-card p { margin: 0; }
.institution-subunit-summary h2, .institution-subunit-card h2 { font-size: 14px; line-height: 1.2; }
.institution-subunit-summary p, .institution-subunit-card p { margin-top: 4px; color: #666; }
.institution-subunit-summary p, .institution-subunit-card p { font-size: 11px; }
.institution-subunit-summary button, .institution-subunit-card header button { min-height: 34px; padding: 7px 11px; border: 1px solid #d2d2d2 !important; border-radius: 7px; color: #111 !important; background: #fff !important; box-shadow: none !important; font-size: 11px; font-weight: 800; }
.institution-subunit-summary button:hover, .institution-subunit-card header button:hover { border-color: #111 !important; background: #f7f7f7 !important; }
.institution-subunit-groups { display: grid; gap: 12px; margin-top: 12px; }
.institution-subunit-card { overflow: hidden; }
.institution-subunit-card > header { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; }
.institution-subunit-card > header > div:last-child { display: flex; gap: 8px; }
.institution-subunit-table-wrap { overflow-x: auto; border-top: 1px solid #d8d8d8; }
.institution-subunit-table-wrap[hidden] { display: none; }
.institution-subunit-table { width: 100%; min-width: 1080px; border-collapse: collapse; }
.institution-subunit-table th, .institution-subunit-table td { height: 49px; padding: 8px 14px; border-bottom: 1px solid #dedede; color: #111; background: #fff; font-size: 11px; line-height: 1.25; text-align: left; }
.institution-subunit-table th { height: 38px; color: #4b4b4b; background: #fafafa; font-size: 9px; text-transform: uppercase; }
.institution-subunit-table td strong, .institution-subunit-table td small { display: block; }
.institution-subunit-table td small { margin-top: 2px; color: #666; font-size: 9px; }
.institution-subunit-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; color: #08776d; background: #e0f4ef; font-size: 10px; font-weight: 900; }
.institution-subunit-status::before { width: 7px; height: 7px; border-radius: 50%; background: currentColor; content: ''; }
.institution-subunit-status.is-inactive { color: #c12b1c; background: #fde5e1; }
@media (max-width: 700px) { .institution-subunit-summary, .institution-subunit-card > header { align-items: stretch; flex-direction: column; } }

/* Acciones y detalle del catalogo institucional de servicios */
.institution-service-actions .is-info:not([data-service-contract]) { display: none !important; }
.institution-service-actions [data-service-units-toggle] { order: 1; }
.institution-service-actions [data-service-edit] { order: 2; }
.institution-service-actions [data-service-contract] { order: 3; }
.institution-service-actions label { order: 4; }
.institution-service-catalog[hidden], .institution-native-table-card-summary[hidden] { display: none !important; }
.institution-service-detail[hidden] { display: none; }
.institution-service-detail [data-service-tab-panel][hidden] { display: none !important; }
.institution-service-detail { color: #111; }
.institution-service-detail button { border: 1px solid #d3d9d8; color: #111; background: #fff; box-shadow: none; font-weight: 800; }
.institution-service-detail > nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; padding: 0; border: 0; background: transparent; }
.institution-service-detail > nav button { min-width: 150px; padding: 10px 16px; border: 1px solid #cfd7d5 !important; border-radius: 7px; color: #111 !important; background: #fff !important; }
.institution-service-detail > nav button.is-active { border-color: #007d79 !important; color: #075f57 !important; background: #edf8f5 !important; }
.institution-service-editor, .institution-service-enable, .institution-service-detail-title, .institution-contract-preview, .institution-contract-summary { border: 1px solid #d8dedd; border-radius: 8px; background: #fff; }
.institution-service-enable { display: grid; gap: 14px; padding: 16px; }
.institution-service-enable > header h2, .institution-service-enable > header p { margin: 0; }
.institution-service-enable > header p { margin-top: 4px; color: #66716f; }
.institution-service-enable-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.institution-service-enable-grid label, .institution-service-enable-conditions { display: grid; gap: 6px; font-size: 11px; font-weight: 800; }
.institution-service-enable-grid input, .institution-service-enable-grid select, .institution-service-enable-conditions textarea { width: 100%; padding: 10px 12px; border: 1px solid #d1d9d7; border-radius: 7px; background: #fff; font: inherit; }
.institution-service-enable-conditions textarea { min-height: 78px; resize: vertical; }
.institution-service-enable-selection { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px; border: 1px solid #d8dedd; border-radius: 7px; }
.institution-service-enable-selection > div { display: flex; gap: 8px; }
.institution-service-enable-selection button, .institution-service-enable > footer button { padding: 9px 13px; border-radius: 7px; }
.institution-service-enable-list { max-height: 390px; overflow-y: auto; border: 1px solid #d8dedd; border-radius: 7px; }
.institution-service-enable-list > label { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 11px 14px; border-bottom: 1px solid #dde2e1; }
.institution-service-enable-list > label[hidden] { display: none; }
.institution-service-enable-list input { width: 17px; height: 17px; }
.institution-service-enable-list span strong, .institution-service-enable-list span small { display: block; }
.institution-service-enable-list span small, .institution-service-enable-list em { color: #66716f; font-size: 10px; font-style: normal; }
.institution-service-enable > footer { display: flex; justify-content: flex-end; gap: 8px; }
.institution-service-enable button.is-primary { border-color: #007d79; color: #fff; background: #007d79; }
.institution-service-editor { display: grid; gap: 14px; padding: 16px; }
.institution-service-editor > header, .institution-service-detail-title, .institution-contract-preview > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.institution-service-editor h2, .institution-service-editor h3, .institution-service-editor p, .institution-service-detail-title h2, .institution-service-detail-title p, .institution-contract-preview h2, .institution-contract-preview p, .institution-contract-summary h2, .institution-contract-summary p { margin: 0; }
.institution-service-editor p, .institution-service-detail-title p, .institution-contract-preview p, .institution-contract-summary p { margin-top: 4px; color: #66716f; }
.institution-service-editor > header > button, .institution-service-detail-title > button, .institution-contract-preview > header button { padding: 10px 14px; border-radius: 7px; }
.institution-service-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.institution-service-facts article { display: grid; min-height: 76px; align-content: space-between; padding: 12px; border: 1px solid #d8dedd; border-radius: 7px; }
.institution-service-facts small { color: #62706d; font-weight: 800; text-transform: uppercase; }
.institution-service-editor > label, .institution-service-edit-grid label, .institution-contract-summary label { display: grid; gap: 6px; font-size: 12px; font-weight: 800; }
.institution-service-editor textarea, .institution-service-editor input, .institution-contract-summary input { width: 100%; padding: 11px; border: 1px solid #d1d9d7; border-radius: 7px; background: #fff; font: inherit; }
.institution-service-editor textarea { min-height: 84px; resize: vertical; }
.institution-service-edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.institution-service-contract-file { font-size: 11px; }
.institution-service-active-units { display: grid; gap: 12px; padding: 14px; border: 1px solid #d8dedd; border-radius: 7px; }
.institution-service-active-units > header h3,
.institution-service-active-units > header p { margin: 0; }
.institution-service-active-units > header p { margin-top: 4px; color: #66716f; }
.institution-service-active-search { display: grid; gap: 6px; font-size: 11px; font-weight: 800; }
.institution-service-active-search input { width: 100%; padding: 10px 12px; border: 1px solid #d1d9d7; border-radius: 7px; background: #fff; }
.institution-service-active-selection { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px; border: 1px solid #d8dedd; border-radius: 7px; }
.institution-service-active-selection > div { display: flex; gap: 8px; }
.institution-service-active-selection button { padding: 9px 13px; border-radius: 7px; }
.institution-service-active-list { max-height: 390px; overflow-y: auto; border: 1px solid #d8dedd; border-radius: 7px; }
.institution-service-active-list > label { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 11px 14px; border-bottom: 1px solid #dde2e1; }
.institution-service-active-list > label[hidden] { display: none; }
.institution-service-active-list input { width: 17px; height: 17px; }
.institution-service-active-list span strong,
.institution-service-active-list span small { display: block; }
.institution-service-active-list span small,
.institution-service-active-list em { color: #66716f; font-size: 10px; font-style: normal; }
.institution-service-editor > footer { display: flex; justify-content: flex-end; gap: 8px; }
.institution-service-editor > footer button, .institution-contract-summary > button { padding: 11px 18px; border-radius: 7px; }
.institution-service-editor button.is-primary, .institution-contract-summary button.is-primary { border-color: #007d79; color: #fff; background: #007d79; }
.institution-service-detail-title { margin-bottom: 14px; padding: 16px; }
.institution-contract-layout { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; }
.institution-contract-preview, .institution-contract-summary { padding: 16px; }
.institution-contract-preview { display: grid; min-height: 680px; grid-template-rows: auto 1fr auto; gap: 16px; }
.institution-contract-document { width: min(570px, 100%); min-height: 350px; align-self: center; justify-self: center; padding: 48px; border: 14px solid #333; background: #fff; }
.institution-contract-document > strong { font-size: 18px; }
.institution-contract-summary { display: grid; align-content: start; gap: 12px; }
.institution-contract-upload { padding: 12px; border: 1px solid #d8dedd; border-radius: 7px; }
.institution-contract-upload small { color: #737c7a; font-weight: 400; }
.institution-contract-upload button { justify-self: end; padding: 8px 12px; border-radius: 6px; }
@media (max-width: 900px) { .institution-service-facts, .institution-service-edit-grid, .institution-service-enable-grid, .institution-contract-layout { grid-template-columns: 1fr; } .institution-contract-document { padding: 24px; } }

/* Portal institucional - vista escritorio */
.native-shell.institution-native-body {
  background: #f7f9f9;
  color: #13243a;
}

.native-shell.institution-native-body .shell {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

.native-shell .institution-native-screen {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 278px minmax(0, 1fr);
  grid-template-rows: 58px minmax(0, 1fr);
  background: #f7f9f9;
  color: #13243a;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.native-shell .institution-native-screen svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.native-shell .institution-native-topbar {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 278px minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
  border-bottom: 1px solid #dce5e4;
  background: #fff;
}

.native-shell .institution-native-topbar > strong,
.native-shell .institution-native-topbar > span {
  display: flex;
  height: 100%;
  align-items: center;
  min-width: 0;
  padding: 0 30px;
  color: #1c2c3c;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.native-shell .institution-native-topbar > strong {
  border-right: 1px solid #dce5e4;
}

.native-shell .institution-native-topbar > span {
  color: #516174;
  font-size: 13px;
}

.native-shell .institution-native-user {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0 28px;
}

.native-shell .institution-native-user button {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #1b2a3d;
}

.native-shell .institution-native-user div {
  display: grid;
  gap: 2px;
  min-width: 128px;
}

.native-shell .institution-native-user strong {
  font-size: 12px;
  font-weight: 900;
}

.native-shell .institution-native-user small {
  color: #516174;
  font-size: 10px;
  font-weight: 700;
}

.native-shell .institution-native-logout {
  margin: 0;
}

.native-shell .institution-native-user .institution-native-logout button {
  display: inline-flex;
  width: auto;
  min-width: 136px;
  height: 38px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid #f0b4b4;
  border-radius: 8px;
  background: #fff;
  color: #c72b2b;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .institution-native-user .institution-native-logout button:hover {
  background: #fff5f5;
}

.native-shell .institution-native-user .institution-native-logout svg {
  width: 17px;
  height: 17px;
}

.native-shell .institution-native-sidebar {
  position: sticky;
  top: 0;
  grid-row: 2;
  min-height: 100vh;
  padding: 16px 16px 28px;
  border-right: 1px solid #dce5e4;
  background: #fff;
}

.native-shell .institution-native-menu {
  display: grid;
  gap: 14px;
}

.native-shell .institution-native-menu a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 52px;
  gap: 12px;
  padding: 9px 14px;
  border-radius: 7px;
  color: #22344a;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.22;
  text-decoration: none;
}

.native-shell .institution-native-menu a:hover,
.native-shell .institution-native-menu a.is-active {
  background: #e4f5f2;
  color: #007d79;
}

.native-shell .institution-native-menu a > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 7px;
  color: #1f334a;
}

.native-shell .institution-native-menu a.is-active > span {
  background: #007d79;
  color: #fff;
}

.native-shell .institution-native-menu a i {
  color: currentColor;
  font-size: 24px;
  font-style: normal;
  line-height: 1;
}

.native-shell .institution-native-menu-divider {
  display: block;
  height: 1px;
  margin: 22px 0 6px;
  background: #e2e8e7;
}

.native-shell .institution-native-workspace {
  grid-row: 2;
  min-width: 0;
  padding: 30px 40px 46px;
}

.native-shell .institution-native-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}

.native-shell .institution-native-title {
  display: flex;
  align-items: center;
  gap: 24px;
  min-width: 0;
}

.native-shell .institution-native-title > span,
.native-shell .institution-native-table-heading > span {
  display: grid;
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #bce3de;
  border-radius: 8px;
  background: #e8f8f5;
  color: #0b8278;
}

.native-shell .institution-native-header h1 {
  margin: 0 0 8px;
  color: #082441;
  font-size: 28px;
  line-height: 1.08;
  letter-spacing: 0;
}

.native-shell .institution-native-header p {
  margin: 0;
  color: #536375;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .institution-native-header form {
  width: min(100%, 360px);
}

.native-shell .institution-native-header label,
.native-shell .institution-native-institution-form label,
.native-shell .institution-native-filters label {
  display: grid;
  gap: 8px;
  color: #28384c;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.native-shell .institution-native-header select,
.native-shell .institution-native-institution-form select,
.native-shell .institution-native-filters select,
.native-shell .institution-native-filters input,
.native-shell .institution-native-table-footer select {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  border: 1px solid #d2dddc;
  border-radius: 7px;
  background: #fff;
  color: #13243a;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .institution-native-session {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 12px;
}

.native-shell .institution-native-session strong {
  color: #3b4b5c;
  font-size: 12px;
  font-weight: 850;
}

.native-shell .institution-native-session a {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid #d2dddc;
  border-radius: 8px;
  background: #fff;
  color: #13243a;
  font-size: 18px;
  font-weight: 900;
  text-decoration: none;
}

.native-shell .institution-native-tabs {
  display: inline-flex;
  margin-bottom: 18px;
  overflow: hidden;
  border: 1px solid #d9e4e2;
  border-radius: 8px;
  background: #fff;
}

.native-shell .institution-native-tabs a,
.native-shell .institution-native-tabs button {
  display: grid;
  min-width: 130px;
  min-height: 48px;
  place-items: center;
  padding: 0 22px;
  border-right: 1px solid #d9e4e2;
  border-top: 0;
  border-bottom: 0;
  border-left: 0;
  background: transparent;
  color: #25364a;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}

.native-shell .institution-native-tabs a:last-child,
.native-shell .institution-native-tabs button:last-child {
  border-right: 0;
}

.native-shell .institution-native-tabs a.is-active,
.native-shell .institution-native-tabs button.is-active {
  box-shadow: inset 0 -3px 0 #007d79;
  color: #008275;
}

.native-shell .institution-native-filters-card {
  display: grid;
  width: 100%;
  box-sizing: border-box;
  gap: 26px;
  margin-bottom: 30px;
  padding: 18px;
  border: 1px solid #d9e3e1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(19, 36, 58, 0.06);
}

.native-shell .institution-native-institution-form {
  width: min(100%, 330px);
}

.native-shell .institution-native-filters {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) 150px 178px 150px 86px;
  align-items: end;
  gap: 24px;
  margin: 0;
}

.native-shell .institution-native-filters .search {
  position: relative;
}

.native-shell .institution-native-filters .search span {
  position: absolute;
  bottom: 11px;
  left: 14px;
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  color: #6b7a88;
}

.native-shell .institution-native-filters .search input {
  padding-left: 46px;
}

.native-shell .institution-native-filters button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #007d79;
  border-radius: 7px;
  background: #fff;
  color: #13243a;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .institution-native-filters button span {
  color: #007d79;
  font-size: 16px;
  line-height: 1;
}

.native-shell .institution-native-table-card {
  width: 100%;
  overflow: hidden;
  border: 1px solid #d9e3e1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(19, 36, 58, 0.06);
}

.native-shell .institution-native-pharmacy-card {
  display: flex;
  min-height: calc(100vh - 190px);
  flex-direction: column;
  margin-top: 14px;
}

.native-shell .institution-native-pharmacy-card > .institution-native-table-scroll {
  flex: 1 1 auto;
}

.native-shell .institution-native-pharmacy-card .institution-native-table-footer {
  margin-top: auto;
}

.native-shell .institution-subunit-catalog-card {
  margin-top: 0;
}

.native-shell .institution-subunit-catalog-heading {
  padding-top: 20px;
  padding-bottom: 20px;
}

.native-shell .institution-subunit-unit-filter {
  display: grid;
  grid-template-columns: minmax(240px, 420px);
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid #d9e3e1;
  background: #fff;
}

.native-shell .institution-subunit-unit-filter label {
  display: grid;
  gap: 7px;
  color: #536575;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .institution-subunit-unit-filter select {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  padding: 0 12px;
  border: 1px solid #cdd8d5;
  border-radius: 7px;
  background: #fff;
  color: #13243a;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  text-transform: none;
}

.native-shell .institution-native-table-heading {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  border-bottom: 1px solid #d9e3e1;
}

.native-shell .institution-native-table-heading > span {
  width: 42px;
  height: 42px;
}

.native-shell .institution-native-table-heading h2 {
  margin: 0 0 3px;
  color: #082441;
  font-size: 17px;
  line-height: 1.1;
}

.native-shell .institution-native-table-heading p {
  margin: 0;
  color: #596a7b;
  font-size: 12px;
  font-weight: 700;
}

.native-shell .institution-native-table-scroll {
  overflow-x: auto;
}

.native-shell .institution-native-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
}

.native-shell .institution-units-table {
  min-width: 1450px;
  table-layout: fixed;
}

.native-shell .institution-units-table th:nth-child(1) { width: 14%; }
.native-shell .institution-units-table th:nth-child(2) { width: 7%; }
.native-shell .institution-units-table th:nth-child(3) { width: 8%; }
.native-shell .institution-units-table th:nth-child(4) { width: 10%; }
.native-shell .institution-units-table th:nth-child(5) { width: 11%; }
.native-shell .institution-units-table th:nth-child(6) { width: 9%; }
.native-shell .institution-units-table th:nth-child(7) { width: 8%; }
.native-shell .institution-units-table th:nth-child(8) { width: 8%; }
.native-shell .institution-units-table th:nth-child(9),
.native-shell .institution-units-table th:nth-child(10) { width: 8%; }

.native-shell .institution-units-table th,
.native-shell .institution-units-table td {
  box-sizing: border-box;
  padding-right: 10px;
  padding-left: 10px;
}

.native-shell .institution-units-table .institution-native-actions {
  gap: 8px;
}

.native-shell .institution-units-table .institution-native-actions a,
.native-shell .institution-units-table .institution-native-actions button {
  padding-right: 10px;
  padding-left: 10px;
  font-size: 11px;
}

.native-shell .institution-native-pharmacy-table {
  min-width: 0;
  table-layout: fixed;
}

.native-shell .institution-native-pharmacy-table th:nth-child(1) { width: 17%; }
.native-shell .institution-native-pharmacy-table th:nth-child(2) { width: 8%; }
.native-shell .institution-native-pharmacy-table th:nth-child(3) { width: 15%; }
.native-shell .institution-native-pharmacy-table th:nth-child(4) { width: 13%; }
.native-shell .institution-native-pharmacy-table th:nth-child(5) { width: 14%; }
.native-shell .institution-native-pharmacy-table th:nth-child(6) { width: 13%; }
.native-shell .institution-native-pharmacy-table th:nth-child(7) { width: 8%; }
.native-shell .institution-native-pharmacy-table th:nth-child(8) { width: 12%; }

.native-shell .institution-subunit-catalog-table {
  min-width: 1800px;
  table-layout: fixed;
}

.native-shell .institution-subunit-catalog-table th:nth-child(1) { width: 3.25%; }
.native-shell .institution-subunit-catalog-table th:nth-child(2) { width: 6.5%; }
.native-shell .institution-subunit-catalog-table th:nth-child(3) { width: 8.65%; }
.native-shell .institution-subunit-catalog-table th:nth-child(4) { width: 9.75%; }
.native-shell .institution-subunit-catalog-table th:nth-child(5) { width: 11.9%; }
.native-shell .institution-subunit-catalog-table th:nth-child(6) { width: 8.65%; }
.native-shell .institution-subunit-catalog-table th:nth-child(7) { width: 4.35%; }
.native-shell .institution-subunit-catalog-table th:nth-child(8) { width: 6.5%; }
.native-shell .institution-subunit-catalog-table th:nth-child(9) { width: 6.5%; }
.native-shell .institution-subunit-catalog-table th:nth-child(10) { width: 4.35%; }
.native-shell .institution-subunit-catalog-table th:nth-child(11) { width: 4.35%; }
.native-shell .institution-subunit-catalog-table th:nth-child(12) { width: 4.35%; }
.native-shell .institution-subunit-catalog-table th:nth-child(13) { width: 5.34%; }
.native-shell .institution-subunit-catalog-table th:nth-child(14) { width: 72px; }
.native-shell .institution-subunit-catalog-table th:nth-child(15) { width: 64px; }
.native-shell .institution-subunit-catalog-table th:nth-child(16) { width: 76px; }
.native-shell .institution-subunit-catalog-table th:nth-child(17) { width: 68px; }

.native-shell .institution-medication-card {
  display: flex;
  min-height: calc(100vh - 230px);
  flex-direction: column;
  margin-top: 0;
}

.native-shell .institution-medication-card > .institution-native-table-heading {
  justify-content: flex-start;
}

.native-shell .institution-medication-card > .institution-native-table-scroll {
  flex: 1 1 auto;
}

.native-shell .institution-medication-card > .institution-native-table-footer {
  margin-top: auto;
}

.native-shell .institution-medication-table {
  min-width: 1180px;
  table-layout: fixed;
}

.native-shell .institution-medication-table th:nth-child(1) { width: 6%; }
.native-shell .institution-medication-table th:nth-child(2) { width: 14%; }
.native-shell .institution-medication-table th:nth-child(3) { width: 9%; }
.native-shell .institution-medication-table th:nth-child(4) { width: 12%; }
.native-shell .institution-medication-table th:nth-child(5) { width: 12%; }
.native-shell .institution-medication-table th:nth-child(6) { width: 10%; }
.native-shell .institution-medication-table th:nth-child(7) { width: 13%; }
.native-shell .institution-medication-table th:nth-child(8) { width: 8%; }
.native-shell .institution-medication-table th:nth-child(9) { width: 16%; }

.native-shell .institution-native-table th,
.native-shell .institution-native-table td {
  padding: 18px 18px;
  border-bottom: 1px solid #dfe8e6;
  text-align: left;
  vertical-align: middle;
}

.native-shell .institution-native-table th {
  color: #0a6e66;
  background: #fbfdfc;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.native-shell .institution-table-head-control {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
}

.native-shell .institution-table-head-control > span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.native-shell .institution-table-head-buttons {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 2px;
}

.native-shell .institution-table-head-buttons button {
  display: grid;
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  place-items: center;
  padding: 0;
  border: 1px solid #cfe0df;
  border-radius: 5px;
  background: #fff;
  color: #607183;
  box-shadow: none;
  cursor: pointer;
}

.native-shell .institution-table-head-buttons button:hover,
.native-shell .institution-table-head-buttons button.is-active {
  border-color: #007d79;
  color: #007d79;
  background: #e8f8f5;
}

.native-shell .institution-table-head-buttons button svg {
  width: 11px;
  height: 11px;
  stroke-width: 2.3;
}

.native-shell .institution-table-head-buttons button[data-direction="desc"] svg {
  transform: rotate(180deg);
}

.native-shell .institution-table-filter-row[hidden] {
  display: none;
}

.native-shell .institution-table-filter-row th {
  padding-top: 12px;
  padding-bottom: 12px;
  background: #fff;
}

.native-shell .institution-table-filter-row input,
.native-shell .institution-table-filter-row select,
.native-shell .institution-table-filter-row button {
  width: 100%;
  min-height: 34px;
  box-sizing: border-box;
  padding: 0 9px;
  border: 1px solid #d1dcda;
  border-radius: 7px;
  background: #fff;
  color: #13243a;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
}

.native-shell .institution-table-filter-row button {
  color: #007d79;
  cursor: pointer;
}

.native-shell .institution-native-table td {
  color: #26374c;
  font-size: 13px;
  line-height: 1.35;
}

.native-shell .institution-native-pharmacy-table td {
  height: 72px;
}

.native-shell .institution-subunit-catalog-table td {
  height: 92px;
  overflow-wrap: anywhere;
}

.native-shell .institution-subunit-number {
  color: #0a6e66;
  font-weight: 900;
  text-align: center !important;
}

.native-shell .institution-subunit-pending {
  display: inline-block;
  margin: 0 !important;
  color: #6b7775 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.native-shell .institution-native-pharmacy-table th,
.native-shell .institution-native-pharmacy-table td {
  padding-right: 12px;
  padding-left: 12px;
}

.native-shell .institution-subunit-catalog-table th,
.native-shell .institution-subunit-catalog-table td {
  padding-right: 12px;
  padding-left: 12px;
}

.native-shell .institution-medication-table th,
.native-shell .institution-medication-table td {
  padding-right: 14px;
  padding-left: 14px;
}

.native-shell .institution-medication-table td {
  height: 66px;
}

.native-shell .institution-medication-status-toggle {
  display: flex;
  justify-content: center;
  margin: 0;
}

.native-shell .institution-medication-table td button.institution-medication-status-switch {
  display: inline-flex;
  width: 36px;
  min-width: 36px;
  height: 21px;
  min-height: 21px;
  align-items: center;
  padding: 2px;
  border: 0;
  border-radius: 12px;
  background: #8b98a3;
  box-shadow: none;
  cursor: pointer;
}

.native-shell .institution-medication-table td button.institution-medication-status-switch.is-on {
  background: #0b9287;
}

.native-shell .institution-medication-table td button.institution-medication-status-switch:disabled {
  opacity: 0.55;
  cursor: wait;
}

.native-shell .institution-medication-status-switch span {
  display: block;
  width: 17px;
  height: 17px;
  margin: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  transition: transform 0.15s ease;
}

.native-shell .institution-medication-status-switch.is-on span {
  transform: translateX(15px);
}

.native-shell .institution-native-pharmacy-table td,
.native-shell .institution-native-pharmacy-table td span,
.native-shell .institution-subunit-catalog-table td,
.native-shell .institution-subunit-catalog-table td span {
  font-size: 12px;
}

.native-shell .institution-native-pharmacy-table td strong,
.native-shell .institution-subunit-catalog-table td strong {
  line-height: 1.18;
}

.native-shell .institution-native-table td strong {
  color: #111f35;
  font-weight: 900;
}

.native-shell .institution-native-table td span {
  margin-top: 4px;
  color: #536577;
  font-size: 11px;
  font-weight: 700;
}

.native-shell .institution-native-pharmacy-table td:nth-child(6) span {
  color: #26374c;
  font-size: 12px;
  font-weight: 750;
}

.native-shell .institution-native-status {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  min-width: 112px;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: #dff4ef;
  color: #007c71;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .institution-native-table td .institution-native-status {
  color: #007c71;
}

.native-shell .institution-native-pharmacy-table .institution-native-status {
  min-width: 78px;
  padding-right: 10px;
  padding-left: 10px;
}

.native-shell .institution-subunit-catalog-table .institution-native-status {
  min-width: 78px;
  padding-right: 10px;
  padding-left: 10px;
}

.native-shell .institution-native-status.is-inactive {
  background: #fee5e2;
  color: #c12b1c;
}

.native-shell .institution-native-status.is-maintenance {
  background: #fff3d8;
  color: #a46500;
}

.native-shell .institution-native-status::before {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  content: "";
}

.native-shell .institution-native-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.native-shell .institution-native-actions form {
  margin: 0;
}

.native-shell .institution-native-actions a,
.native-shell .institution-native-actions button {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 14px;
  border: 1px solid #007d79;
  border-radius: 7px;
  background: #fff;
  color: #0d5f59;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.native-shell .institution-native-pharmacy-table .institution-native-actions {
  gap: 8px;
}

.native-shell .institution-subunit-catalog-table .institution-native-actions {
  gap: 8px;
  white-space: nowrap;
}

.native-shell .institution-subunit-catalog-table .institution-subunit-control-actions {
  display: flex;
  justify-content: center;
  white-space: normal;
}

.native-shell .institution-subunit-catalog-table .institution-subunit-control-actions button {
  width: 100%;
  min-width: 74px;
  min-height: 30px;
  gap: 4px;
  padding: 4px 5px;
  font-size: 9px;
}

.native-shell .institution-subunit-catalog-table .institution-subunit-action-cell {
  padding-right: 8px;
  padding-left: 8px;
  text-align: center;
}

.native-shell .institution-subunit-catalog-table td:nth-child(n + 15):nth-child(-n + 17) {
  padding-right: 4px;
  padding-left: 4px;
}

.native-shell .institution-subunit-catalog-table .institution-subunit-control-actions button svg {
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
}

.native-shell .institution-medication-table .institution-native-actions {
  gap: 8px;
  white-space: nowrap;
}

.native-shell .institution-native-pharmacy-table .institution-native-actions a,
.native-shell .institution-native-pharmacy-table .institution-native-actions button,
.native-shell .institution-subunit-catalog-table .institution-native-actions button,
.native-shell .institution-medication-table .institution-native-actions button {
  min-height: 32px;
  padding-right: 8px;
  padding-left: 8px;
  font-size: 11px;
}

.native-shell .institution-subunit-catalog-table .institution-subunit-control-actions button {
  width: 100%;
  min-width: 74px;
  min-height: 30px;
  gap: 4px;
  padding: 4px 5px;
  font-size: 9px;
}

.native-shell .institution-subunit-catalog-table td:nth-child(n + 14):nth-child(-n + 17) .institution-subunit-control-actions button {
  min-width: 0;
  padding-right: 4px;
  padding-left: 4px;
  white-space: nowrap;
}

.native-shell .institution-medication-table .institution-native-status {
  min-width: 92px;
}

.native-shell .institution-native-actions a svg,
.native-shell .institution-native-actions button svg {
  width: 16px;
  height: 16px;
}

.native-shell .institution-native-actions button.danger {
  border-color: #ff8f8f;
  background: #fff;
  color: #d62828;
}

.native-shell .institution-services-count-button {
  appearance: none;
  display: inline-flex;
  width: 54px;
  min-width: 54px;
  height: 34px;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0;
  border: 1px solid #007d79;
  border-radius: 8px;
  background: #fff !important;
  color: #007d79 !important;
  font: inherit;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  box-shadow: 0 8px 18px rgba(15, 148, 135, 0.08) !important;
  cursor: pointer;
}

.native-shell .institution-services-count-button:hover,
.native-shell .institution-services-count-button:focus-visible {
  border-color: #007d79;
  background: #e7f7f4 !important;
  color: #005f56 !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(15, 148, 135, 0.14) !important;
}

.native-shell .institution-unit-password-cell {
  display: flex;
  min-width: 145px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.native-shell .institution-native-table td .institution-unit-password-cell > span {
  margin: 0;
  color: #17263d;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}

.native-shell .institution-unit-password-edit {
  display: inline-grid;
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  place-items: center;
  border: 1px solid #007d79;
  border-radius: 7px;
  background: #fff;
  color: #087c72;
  cursor: pointer;
}

.native-shell .institution-unit-password-edit svg {
  width: 15px;
  height: 15px;
}

.native-shell .institution-unit-password-edit:hover,
.native-shell .institution-unit-password-edit:focus-visible {
  background: #e7f7f4;
  outline: 3px solid rgba(15, 148, 135, .13);
  outline-offset: 1px;
}

.native-shell .institution-unit-password-dialog {
  width: min(440px, calc(100vw - 32px));
  max-width: none;
  padding: 0;
  overflow: hidden;
  border: 1px solid #cedbd9;
  border-radius: 8px;
  background: #fff;
  color: #17263d;
  box-shadow: 0 28px 80px rgba(18, 31, 35, .28);
}

.native-shell .institution-unit-password-dialog::backdrop {
  background: rgba(22, 32, 34, .48);
  backdrop-filter: blur(2px);
}

.native-shell .institution-unit-password-dialog > header {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 12px;
  padding: 17px 18px;
  border-bottom: 1px solid #e0e8e7;
}

.native-shell .institution-unit-password-dialog > header > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 7px;
  background: #e4f7f3;
  color: #0b8f83;
}

.native-shell .institution-unit-password-dialog svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.native-shell .institution-unit-password-dialog h2,
.native-shell .institution-unit-password-dialog p {
  margin: 0;
}

.native-shell .institution-unit-password-dialog h2 {
  font-size: 17px;
  line-height: 1.15;
}

.native-shell .institution-unit-password-dialog p {
  margin-top: 4px;
  color: #647487;
  font-size: 11px;
  font-weight: 700;
}

.native-shell .institution-unit-password-dialog > header > button {
  display: grid;
  width: 36px;
  height: 36px;
  padding: 0;
  place-items: center;
  border: 1px solid #d4dfdd;
  border-radius: 7px;
  background: #fff;
  color: #526577;
  cursor: pointer;
}

.native-shell .institution-unit-password-dialog > form {
  display: grid;
  gap: 8px;
  padding: 18px;
}

.native-shell .institution-unit-password-dialog label {
  color: #263951;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .institution-unit-password-input {
  position: relative;
  color: #6c7e92;
}

.native-shell .institution-unit-password-input > svg {
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
}

.native-shell .institution-unit-password-input input {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  padding: 9px 12px 9px 42px;
  border: 1px solid #cbd9df;
  border-radius: 7px;
  color: #17263d;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
}

.native-shell .institution-unit-password-input input:focus {
  border-color: #007d79;
  outline: 3px solid rgba(15, 148, 135, .12);
}

.native-shell .institution-unit-password-dialog footer {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 10px;
  padding-top: 14px;
  border-top: 1px solid #e4ebea;
}

.native-shell .institution-unit-password-dialog footer button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border-radius: 7px;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .institution-unit-password-dialog footer .is-secondary {
  border: 1px solid #d2dcda;
  background: #fff;
  color: #526577;
}

.native-shell .institution-unit-password-dialog footer .is-primary {
  border: 1px solid #007d79;
  background: #007d79;
  color: #fff;
}

.native-shell .institution-unit-services-dialog {
  display: none;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(1500px, calc(100vw - 34px));
  max-width: none;
  height: min(690px, calc(100vh - 34px));
  max-height: calc(100vh - 34px);
  padding: 0;
  overflow: hidden;
  border: 1px solid #ccd8d5;
  border-radius: 8px;
  background: #f5f8f7;
  color: #082441;
  box-shadow: 0 28px 80px rgba(18, 31, 35, 0.28);
}

.native-shell .institution-unit-services-dialog[open] {
  display: grid;
}

.native-shell .institution-unit-services-dialog::backdrop {
  background: rgba(22, 32, 34, 0.48);
}

.native-shell .institution-unit-services-dialog > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-bottom: 1px solid #d7e1df;
  background: #fff;
}

.native-shell .institution-unit-services-dialog > header strong {
  color: #007d79;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.native-shell .institution-unit-services-dialog > header h2,
.native-shell .institution-unit-services-dialog > header p {
  margin: 0;
}

.native-shell .institution-unit-services-dialog > header h2 {
  margin-top: 5px;
  color: #071a34;
  font-size: 21px;
  line-height: 1.1;
}

.native-shell .institution-unit-services-dialog > header p {
  margin-top: 7px;
  color: #526372;
  font-size: 12px;
  font-weight: 700;
}

.native-shell .institution-unit-services-close-form {
  position: relative;
  z-index: 3;
  margin: 0;
}

.native-shell .institution-unit-services-dialog > header button,
.native-shell .institution-unit-services-close-form button {
  display: grid;
  width: 40px;
  min-width: 40px;
  height: 40px;
  place-items: center;
  padding: 0;
  border: 1px solid #cbd8d5;
  border-radius: 7px;
  background: #fff;
  color: #111f35;
  font: inherit;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
}

.native-shell .institution-unit-services-dialog-body {
  min-height: 0;
  max-height: none;
  overflow: auto;
  padding: 16px;
}

.native-shell .institution-unit-service-mirror .unit-service-panel {
  min-height: 370px;
}

.native-shell .institution-unit-service-mirror .unit-service-panel-actions {
  min-width: 280px;
}

.native-shell .institution-unit-services-empty {
  display: grid;
  min-height: 220px;
  place-items: center;
  align-content: center;
  gap: 7px;
  border: 1px solid #d7e1df;
  border-radius: 8px;
  background: #fff;
  color: #5c6a78;
}

.native-shell .institution-unit-services-empty strong {
  color: #071a34;
  font-size: 17px;
}

.native-shell .institution-unit-services-empty span {
  font-size: 12px;
  font-weight: 750;
}

.native-shell .institution-native-table-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 154px;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  border-top: 1px solid #d9e3e1;
  color: #536577;
  font-size: 12px;
  font-weight: 700;
}

.native-shell .institution-native-table-footer-all-results {
  grid-template-columns: minmax(0, 1fr);
}

.native-shell .institution-native-table-footer nav {
  display: flex;
  align-items: center;
  gap: 18px;
}

.native-shell .institution-native-table-footer button,
.native-shell .institution-native-table-footer strong {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0;
  background: transparent;
  color: #617184;
  font-size: 20px;
  font-weight: 900;
}

.native-shell .institution-native-table-footer nav span {
  display: grid;
  min-width: 18px;
  place-items: center;
  color: #617184;
  font-size: 13px;
  font-weight: 900;
}

.native-shell .institution-native-table-footer strong {
  border: 1px solid #007d79;
  border-radius: 7px;
  color: #007d79;
  font-size: 13px;
}

.native-shell .institution-native-table-footer select {
  min-height: 38px;
  padding: 0 12px;
}

@media (max-width: 1180px) {
  .native-shell .institution-native-screen {
    grid-template-columns: 230px minmax(0, 1fr);
  }

  .native-shell .institution-native-topbar {
    grid-template-columns: 230px minmax(0, 1fr) auto;
  }

  .native-shell .institution-native-filters {
    grid-template-columns: minmax(280px, 1fr) 140px 160px;
  }

  .native-shell .institution-native-filters button {
    width: 110px;
  }

  .native-shell .institution-native-pharmacy-table {
    min-width: 1180px;
  }
}

@media (max-width: 860px) {
  .native-shell .institution-native-screen,
  .native-shell .institution-native-topbar {
    display: block;
  }

  .native-shell .institution-native-topbar {
    padding: 14px;
  }

  .native-shell .institution-native-topbar > strong,
  .native-shell .institution-native-topbar > span {
    height: auto;
    padding: 0;
    border: 0;
  }

  .native-shell .institution-native-user {
    margin-top: 12px;
    padding: 0;
  }

  .native-shell .institution-native-sidebar {
    position: static;
    min-height: 0;
    padding: 14px;
  }

  .native-shell .institution-native-workspace {
    padding: 22px 14px 36px;
  }

  .native-shell .institution-native-header,
  .native-shell .institution-native-title,
  .native-shell .institution-native-table-footer {
    align-items: stretch;
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .native-shell .institution-native-filters {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.unit-profile-layout { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1fr); gap: 14px; align-items: start; }
.unit-profile-card { overflow: hidden; border: 1px solid #d4dcda; border-radius: 8px; background: #fff; color: #111; }
.unit-profile-card > header { padding: 16px 18px; border-bottom: 1px solid #d4dcda; }
.unit-profile-card > header h2, .unit-profile-card > header p { margin: 0; }
.unit-profile-card > header h2 { font-size: 14px; }
.unit-profile-card > header p { margin-top: 3px; color: #66716f; font-size: 11px; }
.unit-profile-form { display: grid; gap: 12px; padding: 16px 18px; }
.unit-profile-form > label { display: grid; gap: 6px; color: #596562; font-size: 10px; font-weight: 800; }
.unit-profile-form input[type="text"], .unit-profile-form input:not([type]), .unit-profile-form textarea { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #ced8d6; border-radius: 7px; background: #fff; font: inherit; }
.unit-profile-form textarea { min-height: 82px; resize: vertical; }
.unit-profile-image-row { display: grid; grid-template-columns: 135px 1fr; gap: 14px; align-items: center; }
.unit-profile-image-box { display: grid; min-height: 132px; place-items: center; overflow: hidden; border: 1px solid #ced8d6; border-radius: 7px; background: #f7f9f8; color: #53605e; font-weight: 800; }
.unit-profile-image-box img { width: 100%; height: 132px; object-fit: cover; }
.unit-profile-image-row > div:last-child { display: grid; gap: 10px; }
.unit-profile-remove { display: inline-flex; width: fit-content; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid #ced8d6; border-radius: 6px; background: #fff; font-size: 10px; font-weight: 800; }
.unit-profile-form > button { width: fit-content; min-width: 150px; padding: 11px 18px; border: 1px solid #007d79; border-radius: 7px; color: #fff; background: #007d79; font-weight: 800; }
.unit-profile-preview-card { position: sticky; top: 14px; }
.unit-profile-preview { margin: 16px; overflow: hidden; border: 1px solid #d4dcda; border-radius: 7px; }
.unit-profile-cover { display: grid; min-height: 225px; place-items: center; background: #edf7f5; }
.unit-profile-cover strong { color: #076b62; font-size: 40px; }
.unit-profile-preview-copy { display: grid; gap: 7px; padding: 20px; }
.unit-profile-preview-copy h2, .unit-profile-preview-copy p { margin: 0; }
.unit-profile-preview-copy > small, .unit-profile-preview-copy > strong, .unit-profile-preview-copy article > strong { font-size: 9px; font-weight: 900; }
.unit-profile-preview-copy > p, .unit-profile-preview-copy article p { color: #5e6967; font-size: 11px; }
.unit-profile-preview-copy article { padding: 13px; border: 1px solid #d4dcda; border-radius: 7px; background: #fafcfc; }
.unit-profile-preview-copy article p { margin-top: 6px; }
@media (max-width: 980px) { .unit-profile-layout { grid-template-columns: 1fr; } .unit-profile-preview-card { position: static; } }

/* Consulta externa: alta y edicion de consultorios */
.outpatient-room-catalog-table { width: 100%; table-layout: auto; border-collapse: collapse; color: #101b19; font-size: 12px; }
.outpatient-room-catalog-table th { height: 42px; box-sizing: border-box; padding: 10px 12px; border-bottom: 1px solid #d4dddb; color: #4f5e5a; background: #fff; text-align: left; font-size: 10px; font-weight: 900; white-space: nowrap; }
.outpatient-room-catalog-table td { height: 61px; box-sizing: border-box; padding: 12px; border-bottom: 1px solid #d4dddb; background: #fff; vertical-align: middle; white-space: nowrap; }
.outpatient-room-catalog-table td:first-child strong { color: #10211f; font-size: 12px; font-weight: 900; }
.outpatient-room-catalog-table th:nth-child(1) { width: 12%; }
.outpatient-room-catalog-table th:nth-child(2) { width: 7%; }
.outpatient-room-catalog-table th:nth-child(3) { width: 14%; }
.outpatient-room-catalog-table th:nth-child(4) { width: 19%; }
.outpatient-room-catalog-table th:nth-child(5) { width: 9%; }
.outpatient-room-catalog-table th:nth-child(6) { width: 15%; }
.outpatient-room-catalog-table th:nth-child(7) { width: 9%; }
.outpatient-room-catalog-table th:nth-child(8) { width: 15%; }
.outpatient-room-catalog-table .outpatient-status { display: inline-flex; min-height: 25px; box-sizing: border-box; align-items: center; padding: 4px 9px; border: 1px solid #f4ba70; border-radius: 7px; color: #c56c00; background: #fff8ec; font-size: 11px; font-weight: 900; }
.outpatient-room-catalog-table .outpatient-row-actions { display: flex; align-items: center; gap: 8px; }
.outpatient-room-catalog-table .outpatient-row-actions form { margin: 0; }
.outpatient-room-catalog-table .outpatient-row-action { display: inline-flex; min-height: 36px; box-sizing: border-box; align-items: center; justify-content: center; margin: 0; padding: 8px 12px; border: 1px solid #ccd8d5; border-radius: 8px; color: #101b19; background: #fff; box-shadow: none; font-size: 11px; font-weight: 900; line-height: 1; text-decoration: none; }
.outpatient-room-catalog-table button.outpatient-row-action { font-family: inherit; cursor: pointer; }
.outpatient-room-catalog-table button.outpatient-row-danger {
  border-color: #ffaaa5 !important;
  color: #d91f18 !important;
  background: #fff3f2 !important;
  box-shadow: none !important;
  filter: none !important;
}
.outpatient-room-catalog-table .outpatient-row-action:hover { border-color: #9eafab; background: #f8fbfa; }
.outpatient-room-catalog-table button.outpatient-row-danger:hover,
.outpatient-room-catalog-table button.outpatient-row-danger:focus {
  border-color: #ef7770 !important;
  color: #c91913 !important;
  background: #ffe9e7 !important;
}
.outpatient-room-form-card { margin-top: 12px; }
.outpatient-room-form { display: grid; width: min(760px, 100%); box-sizing: border-box; gap: 10px; padding: 16px; color: #13201e; font-size: 12px; }
.outpatient-room-form > h2 { margin: 0; font-size: 15px; line-height: 1.2; }
.outpatient-room-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 10px; }
.outpatient-room-fields label, .outpatient-room-availability label { display: grid; gap: 6px; color: #4f5c59; font-size: 11px; font-weight: 800; }
.outpatient-room-fields input, .outpatient-room-fields select, .outpatient-room-availability input { width: 100%; box-sizing: border-box; min-height: 36px; padding: 8px 10px; border: 1px solid #ccd7d5; border-radius: 7px; color: #111; background: #fff; font: inherit; font-weight: 700; }
.outpatient-room-availability { display: grid; gap: 8px; margin: 0; padding: 12px; border: 1px solid #ccd7d5; border-radius: 8px; }
.outpatient-room-availability legend { padding: 0 7px; font-size: 12px; font-weight: 900; }
.outpatient-room-availability > p { margin: 0 0 4px; color: #65706e; font-size: 11px; }
.outpatient-room-availability > div { display: grid; grid-template-columns: minmax(145px, .5fr) 1fr 1fr; gap: 10px; align-items: end; padding: 8px; border: 1px solid #dde3e2; border-radius: 7px; }
.outpatient-room-availability > div > label:first-child { display: flex; min-height: 39px; align-items: center; gap: 8px; }
.outpatient-room-availability input[type="checkbox"] { width: 16px; min-height: auto; height: 16px; padding: 0; }
@media (max-width: 760px) { .outpatient-room-fields { grid-template-columns: 1fr; } .outpatient-room-availability > div { grid-template-columns: 1fr; } }
.outpatient-room-calendar { padding: 14px; border: 1px solid #cbd7d5; border-radius: 7px; background: #fff; box-shadow: none; }
.outpatient-room-calendar-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.outpatient-room-calendar-head h3, .outpatient-room-calendar-head p { margin: 0 0 4px; }
.outpatient-room-calendar-head h3 { font-size: 14px; line-height: 1.2; }
.outpatient-room-calendar-head p { max-width: 330px; color: #66736f; font-size: 11px; line-height: 1.35; }
.outpatient-room-calendar-head > div:last-child { display: grid; grid-template-columns: auto auto; gap: 7px 9px; align-items: center; }
.outpatient-room-calendar-head [data-calendar-next] { grid-column: 1; }
.outpatient-room-calendar button { min-height: 0; border: 1px solid #cbd7d5 !important; border-radius: 7px; background: #fff !important; color: #10211f !important; box-shadow: none !important; filter: none !important; font: inherit; font-weight: 800; }
.outpatient-room-calendar-head button { padding: 8px 12px !important; }
.outpatient-room-calendar-head button:hover, .outpatient-room-calendar-head button:focus { border-color: #9db0ac !important; background: #f8fbfa !important; }
.outpatient-room-calendar-week, .outpatient-room-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.outpatient-room-calendar-week { margin: 14px 0 6px; text-align: center; font-size: 10px; font-weight: 900; color: #52635f; }
.outpatient-room-calendar-grid > button { display: grid; min-height: 68px; padding: 8px !important; text-align: left; align-content: space-between; }
.outpatient-room-calendar-grid > button.is-outside { opacity: .42; background: #f6f8f8; }
.outpatient-room-calendar-grid > button.is-selected { border: 2px solid #078f86 !important; background: #fff !important; }
.outpatient-room-calendar-grid small { font-size: 9px; color: #66736f; }
.outpatient-room-day-editor { display: grid; gap: 10px; margin-top: 12px; }
.outpatient-room-day-editor > div:first-child { display: flex; justify-content: space-between; align-items: center; }
.outpatient-room-day-editor > p { margin: 12px 0; text-align: center; color: #68736f; font-size: 12px; font-weight: 800; }
.outpatient-room-range-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.outpatient-room-range-fields label { display: grid; gap: 5px; font-size: 10px; font-weight: 800; }
.outpatient-room-range-fields input, .outpatient-room-range-fields select { min-height: 38px; padding: 8px; border: 1px solid #cbd7d5; border-radius: 7px; background: #fff; }
.outpatient-add-range { justify-self: start; min-height: 34px !important; padding: 7px 12px !important; }
.outpatient-room-range { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; padding: 8px; border-bottom: 1px solid #e0e7e5; }
.outpatient-room-range button { padding: 6px 9px; color: #d43b34; border-color: #f0aaa5; }
.outpatient-room-form .outpatient-form-actions { justify-content: flex-start; gap: 8px; }
.outpatient-room-form .outpatient-form-actions a,
.outpatient-room-form .outpatient-form-actions button { min-height: 36px; padding: 8px 12px; border-radius: 7px; box-shadow: none; font-size: 12px; font-weight: 800; }
.outpatient-room-form .outpatient-form-actions a { border: 1px solid #cbd7d5; color: #101b19; background: #fff; }
.outpatient-room-form .outpatient-form-actions button { border: 1px solid #007d79; color: #fff; background: #007d79; }
@media (max-width: 760px) { .outpatient-room-calendar-head { flex-direction: column; } .outpatient-room-range-fields { grid-template-columns: 1fr; } }
.outpatient-module-card-head > div:last-child { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.outpatient-module-card-head a.is-secondary { border: 1px solid #cbd6d4; color: #111; background: #fff; box-shadow: none; }
.outpatient-calendar-admin { padding: 14px 16px; border-bottom: 1px solid #d8e0de; background: #fbfcfc; }
.outpatient-calendar-admin form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; border: 1px solid #d5dddb; border-radius: 8px; background: #fff; }
.outpatient-calendar-admin label { display: grid; gap: 6px; color: #4f5c59; font-size: 11px; font-weight: 800; }
.outpatient-calendar-admin input, .outpatient-calendar-admin select { width: 100%; box-sizing: border-box; min-height: 39px; padding: 9px 11px; border: 1px solid #ccd7d5; border-radius: 7px; color: #111; background: #fff; font: inherit; }
.outpatient-appointment-form label small { color: #687370; font-size: 10px; font-weight: 400; }
@media (max-width: 700px) { .outpatient-calendar-admin form { grid-template-columns: 1fr; } .outpatient-calendar-admin .span-2 { grid-column: auto; } }

/* Patient calendar */
.native-shell .patient-calendar-shell,
.native-shell .patient-calendar-history { border: 1px solid #d8e6e7; border-radius: 18px; background: #fff; overflow: hidden; box-shadow: 0 18px 45px rgba(25, 68, 72, .07); }
.native-shell .patient-calendar-hero { position: relative; display: flex; align-items: center; gap: 26px; min-height: 150px; padding: 25px 42px; overflow: hidden; border-bottom: 1px solid #d6e6e6; background: #fff; }
.native-shell .patient-calendar-hero::after { content: ""; position: absolute; inset: 0 0 0 28%; opacity: .5; pointer-events: none; background: repeating-radial-gradient(ellipse at 68% 35%, transparent 0 13px, rgba(35, 199, 188, .22) 14px 15px); }
.native-shell .patient-calendar-hero > * { position: relative; z-index: 1; }
.native-shell .patient-calendar-hero-icon { display: grid; width: 82px; height: 82px; flex: 0 0 82px; place-items: center; overflow: hidden; border: 0; border-radius: 22px; background: transparent; }
.native-shell .patient-calendar-hero-icon img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; filter: drop-shadow(0 10px 18px rgba(0, 143, 130, .14)); }
.native-shell .patient-calendar-hero h1 { margin: 0; color: #10213c; font-size: clamp(31px, 3vw, 47px); line-height: 1; }
.native-shell .patient-calendar-toolbar { display: flex; justify-content: space-between; gap: 20px; padding: 28px 22px 18px; background: #fff; }
.native-shell .patient-calendar-filters,
.native-shell .patient-calendar-month-nav { display: flex; align-items: center; gap: 10px; }
.native-shell .patient-calendar-filters {
  align-items: stretch;
  gap: 14px;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 2px 2px 18px;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  touch-action: pan-x;
  cursor: grab;
  -webkit-overflow-scrolling: touch;
}
.native-shell .patient-calendar-filters::-webkit-scrollbar { display: none; }
.native-shell .patient-calendar-filters.is-panning { cursor: grabbing; user-select: none; }
.native-shell .patient-calendar-month-nav {
  display: grid;
  grid-template-columns: 56px minmax(250px, 1fr) 56px;
  gap: 13px 14px;
  align-items: center;
  min-width: min(570px, 100%);
  box-sizing: border-box;
  padding: 18px 20px 16px;
  border: 1px solid #edf4f4;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(24, 68, 75, .1);
}
.native-shell .patient-calendar-month-nav > button {
  display: grid;
  width: 56px;
  min-height: 56px;
  place-items: center;
  padding: 0;
  border: 1px solid #d7e4e7;
  border-radius: 16px;
  color: #07877d;
  background: #fff;
  box-shadow: 0 12px 24px rgba(23, 54, 65, .08);
  font: inherit;
  font-size: 34px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
}
.native-shell .patient-calendar-month-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 116px;
  overflow: hidden;
  border: 1px solid #dde9eb;
  border-radius: 22px;
  background: linear-gradient(180deg, #fff 0%, #fbfefe 100%);
}
.native-shell .patient-calendar-month-column {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  min-width: 0;
}
.native-shell .patient-calendar-month-column + .patient-calendar-month-column {
  border-left: 1px solid #e1eaed;
}
.native-shell .patient-calendar-month-column span,
.native-shell .patient-calendar-month-column strong {
  display: flex;
  min-width: 0;
  min-height: 0;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  overflow: hidden;
  border: 0;
  border-bottom: 1px solid #e4ecef;
  border-radius: 0;
  background: transparent;
  color: #a6b5bd;
  font: inherit;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .patient-register-image-preview {
  position: relative;
  display: grid;
  width: min(210px, 100%);
  gap: 8px;
  padding: 10px;
  border: 1px solid #d7e7e9;
  border-radius: 16px;
  background: #fff;
}

.native-shell .patient-register-image-preview[hidden] {
  display: none !important;
}

.native-shell .patient-register-image-preview img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  object-fit: cover;
  object-position: center;
  background: #f3f8f8;
}

.native-shell .patient-register-image-preview img[hidden],
.native-shell .patient-register-history-file-type[hidden] {
  display: none !important;
}

.native-shell .patient-register-history-file-type {
  display: grid;
  min-height: 92px;
  place-items: center;
  border-radius: 12px;
  background: #e5fbf6;
  color: #007d79;
  font-size: 18px;
  font-weight: 950;
}

.native-shell .patient-register-image-preview button {
  position: absolute;
  top: 6px;
  right: 6px;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 0 !important;
  border-radius: 50%;
  background: #082441 !important;
  color: #fff;
  font: inherit;
  font-size: 20px;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(20, 37, 66, .18) !important;
  cursor: pointer;
}

.native-shell .patient-register-image-preview small {
  overflow: hidden;
  color: #62728a;
  font-size: 13px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.native-shell .patient-calendar-month-column span:last-child {
  border-bottom: 0;
}
.native-shell .patient-calendar-month-column strong {
  color: #007d79;
  font-size: 26px;
  font-weight: 950;
}
.native-shell .patient-calendar-month-count {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #13213c;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.1;
  text-align: center;
}
.native-shell .patient-calendar-month-count i {
  position: relative;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border: 3px solid #079789;
  border-radius: 6px;
  box-sizing: border-box;
}
.native-shell .patient-calendar-month-count i::before {
  content: "";
  position: absolute;
  top: 5px;
  right: 2px;
  left: 2px;
  border-top: 2px solid #079789;
}
.native-shell .patient-calendar-filters button {
  --calendar-filter-color: #007d79;
  position: relative;
  display: grid;
  flex: 0 0 128px;
  width: 128px;
  min-height: 118px;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 16px 12px;
  border: 1px solid #d5e2e8 !important;
  border-radius: 18px;
  background: #fff !important;
  color: #082441;
  box-shadow: none !important;
  font: inherit;
  font-size: 20px;
  font-weight: 950;
  text-align: center;
  cursor: pointer;
  overflow: hidden;
  scroll-snap-align: start;
}
.native-shell .patient-calendar-filters button .patient-register-history-image,
.native-shell .patient-calendar-filters button .patient-register-history-glyph {
  display: grid;
  width: 50px;
  height: 46px;
  place-items: center;
  color: var(--calendar-filter-color);
  font-size: 26px;
  line-height: 1;
}
.native-shell .patient-calendar-filters button .patient-register-history-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  filter: drop-shadow(0 7px 10px rgba(18, 43, 72, .13));
}
.native-shell .patient-calendar-filters button .patient-register-history-glyph {
  border-radius: 16px;
  background: #eefbf8;
  font-weight: 950;
}
.native-shell .patient-calendar-filters button b {
  max-width: 100%;
  overflow: hidden;
  color: #082441;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.05;
  text-overflow: ellipsis;
}
.native-shell .patient-calendar-filters button.is-active {
  border-color: #009d8f !important;
  background: linear-gradient(150deg, #eafffa, #fff) !important;
  color: #082441;
  box-shadow: 0 18px 36px rgba(10, 158, 145, .11) !important;
}
.native-shell .patient-calendar-filters button.is-all,
.native-shell .patient-calendar-filters button.is-upcoming { --calendar-filter-color: #007d79; }
.native-shell .patient-calendar-filters button.is-laboratory { --calendar-filter-color: #0a9f62; }
.native-shell .patient-calendar-filters button.is-consultation { --calendar-filter-color: #1761c7; }
.native-shell .patient-calendar-list { display: grid; gap: 16px; padding: 0 22px; }
.native-shell .patient-calendar-card { display: grid; grid-template-columns: 118px minmax(0, 1fr) 230px; gap: 26px; align-items: center; padding: 26px; border: 1px solid #d6e5e7; border-radius: 20px; background: #fff; }
.native-shell .patient-calendar-type-icon { position: relative; display: grid; place-items: center; width: 106px; height: 106px; border-radius: 22px; background: #e8faf7; color: #079789; font-size: 47px; }
.native-shell .patient-calendar-type-icon::before { content: ""; position: absolute; left: -36px; width: 9px; height: 9px; border-radius: 50%; background: #28b995; }
.native-shell .patient-calendar-type-icon.is-consultation { color: #1aa663; background: #effaed; }
.native-shell .patient-calendar-card-main h2 { margin: 0 0 8px; color: #152540; font-size: 21px; }
.native-shell .patient-calendar-date { display: flex; align-items: center; gap: 8px; color: #435d78; }
.native-shell .patient-calendar-date i { font-style: normal; color: #8195a7; }
.native-shell .patient-calendar-card-main > p { margin: 17px 0; color: #506982; font-size: 13px; }
.native-shell .patient-calendar-card-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.native-shell .patient-calendar-card-meta div { min-height: 64px; padding: 12px 16px; box-sizing: border-box; border: 1px solid #d7e4e7; border-radius: 12px; background: #fff; }
.native-shell .patient-calendar-card-meta small,
.native-shell .patient-calendar-card-meta strong { display: block; }
.native-shell .patient-calendar-card-meta small { margin-bottom: 7px; color: #61788e; font-size: 9px; font-weight: 900; }
.native-shell .patient-calendar-card-meta strong { color: #1c3048; font-size: 11px; }
.native-shell .patient-calendar-card-actions { display: grid; gap: 12px; align-content: center; padding-left: 26px; border-left: 1px solid #d8e5e7; }
.native-shell .patient-calendar-card-actions button { min-height: 54px; border: 1px solid #05877c; border-radius: 14px; color: #087c72; background: #fff; font: inherit; font-weight: 900; cursor: pointer; }
.native-shell .patient-calendar-card-actions button b { float: right; margin-right: 12px; font-size: 24px; line-height: 16px; }
.native-shell .patient-calendar-card-actions button:disabled { color: #a8b6bd; border-color: #d8e2e5; background: #f8fafb; cursor: not-allowed; }
.native-shell .patient-calendar-status { justify-self: center; padding: 9px 20px; border-radius: 999px; color: #087d72; background: #e5f8f3; font-size: 11px; font-weight: 900; }
.native-shell .patient-calendar-timezone { margin: 24px 0 0; padding: 0 20px 28px; color: #60768a; text-align: center; font-size: 12px; font-weight: 700; }
.native-shell .patient-calendar-empty { padding: 55px 20px; border: 1px solid #d8e5e7; border-radius: 18px; color: #6f8290; text-align: center; background: #fff; }
.native-shell .patient-calendar-history { margin-top: 18px; }
.native-shell .patient-calendar-history > header { padding: 18px 20px; border-bottom: 1px solid #d9e5e7; }
.native-shell .patient-calendar-history h2 { margin: 0 0 4px; color: #1c2d43; font-size: 16px; }
.native-shell .patient-calendar-history p { margin: 0; color: #6e8090; font-size: 11px; }
.native-shell .patient-calendar-history-scroll { overflow-x: auto; }
.native-shell .patient-calendar-history table { width: 100%; min-width: 1450px; border-collapse: collapse; }
.native-shell .patient-calendar-history th,
.native-shell .patient-calendar-history td { padding: 16px; border-bottom: 1px solid #dbe6e8; color: #30465e; text-align: left; font-size: 11px; vertical-align: top; }
.native-shell .patient-calendar-history th { color: #5b6d7d; background: #fbfdfd; font-size: 9px; text-transform: uppercase; }
.native-shell .patient-calendar-history-status { display: inline-flex; padding: 7px 12px; border-radius: 999px; color: #078474; background: #e3f7f1; font-weight: 900; }
.native-shell .patient-calendar-dialog { width: min(680px, calc(100vw - 30px)); padding: 0; border: 0; border-radius: 16px; color: #172a42; box-shadow: 0 30px 90px rgba(13, 40, 45, .3); }
.native-shell .patient-calendar-dialog::backdrop { background: rgba(12, 28, 33, .55); }
.native-shell .patient-calendar-dialog header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid #dae5e7; }
.native-shell .patient-calendar-dialog header h2 { margin: 4px 0 0; }
.native-shell .patient-calendar-dialog header small { color: #67808c; font-weight: 900; }
.native-shell .patient-calendar-dialog header button { width: 42px; height: 42px; border: 1px solid #d4e0e2; border-radius: 10px; background: #fff; font-size: 25px; cursor: pointer; }
.native-shell .patient-calendar-dialog dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 22px; margin: 0; }
.native-shell .patient-calendar-dialog dl div { padding: 14px; border: 1px solid #d9e5e7; border-radius: 10px; }
.native-shell .patient-calendar-dialog dl .is-wide { grid-column: 1 / -1; }
.native-shell .patient-calendar-dialog dt { color: #6b7f8d; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.native-shell .patient-calendar-dialog dd { margin: 7px 0 0; font-weight: 800; }
@media (max-width: 1100px) {
  .native-shell .patient-calendar-toolbar { align-items: flex-start; flex-direction: column; }
  .native-shell .patient-calendar-card { grid-template-columns: 90px 1fr; }
  .native-shell .patient-calendar-type-icon { width: 82px; height: 82px; }
  .native-shell .patient-calendar-card-actions { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); padding: 14px 0 0; border-top: 1px solid #d8e5e7; border-left: 0; }
  .native-shell .patient-calendar-card-meta { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .native-shell .patient-calendar-hero { min-height: 110px; padding: 20px; }
  .native-shell .patient-calendar-hero-icon { width: 62px; height: 62px; flex-basis: 62px; }
  .native-shell .patient-calendar-filters {
    width: 100%;
    gap: 12px;
    margin-inline: 0;
    padding: 1px 0 10px;
    scroll-snap-type: x proximity;
  }
  .native-shell .patient-calendar-filters button {
    flex: 0 0 112px;
    width: 112px;
    min-height: 104px;
    gap: 9px;
    padding: 16px 12px;
  }
  .native-shell .patient-calendar-filters button .patient-register-history-image,
  .native-shell .patient-calendar-filters button .patient-register-history-glyph {
    width: 48px;
    height: 42px;
  }
  .native-shell .patient-calendar-filters button b {
    font-size: 9px;
    line-height: 1;
  }
  .native-shell .patient-calendar-month-nav {
    width: 100%;
    min-width: 0;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    gap: 9px 8px;
    overflow: visible;
    padding: 12px 10px 13px;
    border-radius: 21px;
  }
  .native-shell .patient-calendar-month-nav > button {
    width: 36px;
    min-height: 42px;
    border-radius: 13px;
    font-size: 26px;
  }
  .native-shell .patient-calendar-month-picker {
    min-height: 78px;
    border-radius: 15px;
  }
  .native-shell .patient-calendar-month-column span,
  .native-shell .patient-calendar-month-column strong {
    padding: 0 6px;
    font-size: 12px;
  }
  .native-shell .patient-calendar-month-column strong {
    font-size: 17px;
  }
  .native-shell .patient-calendar-month-count {
    grid-column: 1 / -1;
    gap: 7px;
    font-size: 14px;
  }
  .native-shell .patient-calendar-month-count i {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
    border-width: 2px;
    border-radius: 5px;
  }
  .native-shell .patient-calendar-month-count i::before {
    top: 4px;
    border-top-width: 2px;
  }
  .native-shell .patient-calendar-card { grid-template-columns: 1fr; padding: 18px; }
  .native-shell .patient-calendar-type-icon { width: 70px; height: 70px; }
  .native-shell .patient-calendar-card-meta, .native-shell .patient-calendar-card-actions { grid-template-columns: 1fr; }
  .native-shell .patient-calendar-dialog dl { grid-template-columns: 1fr; }
  .native-shell .patient-calendar-dialog dl .is-wide { grid-column: auto; }
}

/* Patient doctors directory */
.native-shell .patient-doctors-view {
  max-width: 820px;
  margin: 0 auto;
}

.native-shell .patient-doctors-shell {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.native-shell .patient-doctors-hero {
  position: relative;
  display: flex;
  min-height: 128px;
  align-items: center;
  gap: 22px;
  overflow: hidden;
  padding: 24px 30px;
  border: 1px solid #d5e7e8;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(20, 55, 69, .06);
}

.native-shell .patient-doctors-hero::after {
  position: absolute;
  inset: -95px -25px -110px 40%;
  opacity: .45;
  background: repeating-radial-gradient(circle at 62% 50%, transparent 0 13px, rgba(24, 189, 175, .2) 14px 15px);
  content: "";
  pointer-events: none;
}

.native-shell .patient-doctors-hero > * {
  position: relative;
  z-index: 1;
}

.native-shell .patient-doctors-hero-icon,
.native-shell .patient-doctors-location-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #bce8e3;
  background: #effbf9;
  color: #078f83;
}

.native-shell .patient-doctors-hero-icon {
  width: 72px;
  height: 72px;
  border-radius: 18px;
}

.native-shell .patient-doctors-hero-icon svg {
  width: 41px;
  height: 41px;
}

.native-shell .patient-doctors-hero svg,
.native-shell .patient-doctors-locator svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-doctors-hero h1,
.native-shell .patient-doctors-hero p {
  margin: 0;
}

.native-shell .patient-doctors-hero h1 {
  color: #10223d;
  font-size: 30px;
  font-weight: 950;
  line-height: 1.08;
  letter-spacing: 0;
}

.native-shell .patient-doctors-hero p {
  margin-top: 8px;
  color: #5f7089;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.35;
}

.native-shell .patient-doctors-locator {
  padding: 28px;
  border: 1px solid #d6e5e8;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(20, 55, 69, .05);
}

.native-shell .patient-doctors-locator > header {
  display: flex;
  align-items: flex-start;
  gap: 17px;
}

.native-shell .patient-doctors-location-icon {
  width: 52px;
  height: 52px;
  border: 0;
  border-radius: 50%;
}

.native-shell .patient-doctors-location-icon svg {
  width: 27px;
  height: 27px;
}

.native-shell .patient-doctors-locator header small,
.native-shell .patient-doctors-locator h2,
.native-shell .patient-doctors-locator header p {
  margin: 0;
}

.native-shell .patient-doctors-locator header small,
.native-shell .patient-doctors-results header small {
  color: #07988b;
  font-size: 10px;
  font-weight: 950;
  line-height: 1.2;
}

.native-shell .patient-doctors-locator h2 {
  margin-top: 9px;
  color: #162944;
  font-size: 23px;
  font-weight: 950;
  line-height: 1.15;
  letter-spacing: 0;
}

.native-shell .patient-doctors-locator header p {
  max-width: 390px;
  margin-top: 9px;
  color: #667790;
  font-size: 13px;
  line-height: 1.45;
}

.native-shell .patient-doctors-fields {
  display: grid;
  gap: 20px;
  margin-top: 25px;
}

.native-shell .patient-doctors-field-group {
  display: grid;
  gap: 9px;
  min-width: 0;
}

.native-shell .patient-doctors-field-group > label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  color: #172a43;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.3;
}

.native-shell .patient-doctors-field-group > label small {
  display: block;
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  margin-top: 3px;
  color: #718098;
  font-size: 10px;
  font-weight: 650;
}

.native-shell .patient-doctors-field-group > label em {
  display: inline-flex;
  min-height: 20px;
  align-items: center;
  margin-left: 7px;
  padding: 0 8px;
  border-radius: 999px;
  background: #e4f8f3;
  color: #078f83;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  width: max-content;
}

.native-shell .patient-doctors-select {
  position: relative;
  min-width: 0;
}

.native-shell .patient-doctors-select > svg {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 17px;
  width: 21px;
  height: 21px;
  color: #71819c;
  transform: translateY(-50%);
  pointer-events: none;
}

.native-shell .patient-doctors-select > span {
  position: absolute;
  top: 50%;
  right: 17px;
  color: #08a296;
  font-size: 21px;
  font-weight: 900;
  line-height: 1;
  transform: translateY(-58%);
  pointer-events: none;
}

.native-shell .patient-doctors-select select {
  width: 100%;
  min-height: 56px;
  overflow: hidden;
  padding: 0 48px;
  border: 1px solid #d7e4e8;
  border-radius: 14px;
  outline: 0;
  appearance: none;
  background: #fff;
  color: #263c55;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-shadow: 0 9px 22px rgba(25, 62, 77, .04);
  cursor: pointer;
}

.native-shell .patient-doctors-select select:focus {
  border-color: #16b9ad;
  box-shadow: 0 0 0 3px rgba(22, 185, 173, .12);
}

.native-shell .patient-doctors-select select:disabled {
  background: #f8fafb;
  color: #98a5b2;
  cursor: not-allowed;
}

.native-shell .patient-doctors-name-search {
  position: relative;
  min-width: 0;
}

.native-shell .patient-doctors-name-search svg {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 17px;
  width: 21px;
  height: 21px;
  color: #71819c;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  transform: translateY(-50%);
  pointer-events: none;
}

.native-shell .patient-doctors-name-search input {
  width: 100%;
  min-height: 56px;
  padding: 0 48px;
  border: 1px solid #d7e4e8;
  border-radius: 14px;
  outline: 0;
  background: #fff;
  color: #263c55;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 9px 22px rgba(25, 62, 77, .04);
}

.native-shell .patient-doctors-name-search input::placeholder {
  color: #8996a8;
  opacity: 1;
}

.native-shell .patient-doctors-name-search input:focus {
  border-color: #16b9ad;
  box-shadow: 0 0 0 3px rgba(22, 185, 173, .12);
}

.native-shell .patient-doctors-country-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.native-shell .patient-doctors-country-shortcuts > span {
  display: contents;
}

.native-shell .patient-doctors-country-shortcuts > span[hidden] {
  display: none !important;
}

.native-shell .patient-doctors-country-shortcuts button {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 13px;
  border: 1px solid #dbe6e9;
  border-radius: 999px;
  background: #fff;
  color: #33475d;
  font: inherit;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
  cursor: pointer;
}

.native-shell .patient-doctors-country-shortcuts button.is-active {
  border-color: #17b8ad;
  background: #ecfaf7;
  color: #087f76;
}

.native-shell .patient-doctors-country-shortcuts button > span {
  font-size: 15px;
  line-height: 1;
}

.native-shell .patient-doctors-country-shortcuts .patient-doctors-more {
  color: #20344b;
}

.native-shell .patient-doctors-country-shortcuts .patient-doctors-more > span {
  color: #08a296;
  font-size: 16px;
}

.native-shell .patient-doctors-insurer-shortcuts button > span {
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  background: #edf8f7;
  color: #245270;
  font-size: 7px;
  font-weight: 950;
}

.native-shell .patient-doctors-insurer-shortcuts button:nth-child(2) > span {
  background: #2346a5;
  color: #fff;
}

.native-shell .patient-doctors-insurer-shortcuts button:nth-child(3) > span {
  background: #e7f8f1;
  color: #078f63;
}

.native-shell .patient-doctors-insurer-shortcuts button:nth-child(4) > span {
  background: #fff0e2;
  color: #ef6f00;
}

.native-shell .patient-doctors-search-action {
  display: inline-flex;
  width: 100%;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #07988b;
  border-radius: 14px;
  background: #079f92;
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(7, 159, 146, .2);
  cursor: pointer;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.native-shell .patient-doctors-search-action:hover {
  background: #078f83;
  box-shadow: 0 14px 28px rgba(7, 143, 131, .25);
  transform: translateY(-1px);
}

.native-shell .patient-doctors-search-action:focus-visible {
  outline: 3px solid rgba(23, 184, 173, .25);
  outline-offset: 3px;
}

.native-shell .patient-doctors-search-action svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.native-shell .patient-doctors-hero[hidden],
.native-shell .patient-doctors-locator[hidden],
.native-shell .patient-doctors-search-summary[hidden],
.native-shell .patient-doctors-results[hidden],
.native-shell .patient-doctors-grid article[hidden],
.native-shell .patient-doctors-empty[hidden] {
  display: none !important;
}

.native-shell .patient-doctors-search-summary {
  display: grid;
  gap: 5px;
  padding: 17px 18px;
  border: 1px solid #d7e5e8;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(20, 55, 69, .04);
}

.native-shell .patient-doctors-search-summary small,
.native-shell .patient-doctors-search-summary strong,
.native-shell .patient-doctors-search-summary p {
  margin: 0;
}

.native-shell .patient-doctors-search-summary small {
  color: #60738a;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .patient-doctors-search-summary strong {
  color: #142740;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.3;
}

.native-shell .patient-doctors-search-summary p {
  color: #52677f;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}

.native-shell .patient-doctors-search-summary button {
  width: max-content;
  margin-top: 3px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #078f83;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .patient-doctors-results {
  display: grid;
  gap: 12px;
  padding-bottom: 18px;
}

.native-shell .patient-doctors-results > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 4px 2px;
}

.native-shell .patient-doctors-results h2 {
  margin: 0;
  color: #142740;
  font-size: 19px;
  font-weight: 950;
  letter-spacing: 0;
}

.native-shell .patient-doctors-results > header > button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  padding: 7px 2px;
  border: 0;
  background: transparent;
  color: #32475e;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .patient-doctors-results > header > button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-doctors-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.native-shell .patient-doctors-grid article {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d7e4e8;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(20, 55, 69, .04);
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.native-shell .patient-doctors-grid article.is-selected {
  border-color: #12b5a9;
  background: #f3fcfa;
  box-shadow: 0 12px 28px rgba(7, 143, 131, .12);
}

.native-shell .patient-doctor-result-card {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: 52px minmax(0, 1fr) 18px;
  align-items: start;
  gap: 12px;
  padding: 15px;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.native-shell .patient-doctor-result-card:focus-visible {
  box-shadow: inset 0 0 0 3px rgba(23, 184, 173, .2);
}

.native-shell .patient-doctors-avatar {
  display: grid;
  width: 52px;
  height: 52px;
  overflow: hidden;
  place-items: center;
  border: 1px solid #27c2b7;
  border-radius: 50%;
  background: #f2fdfb;
  color: #078f83;
  font-size: 12px;
  font-weight: 950;
}

.native-shell .patient-doctors-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.native-shell .patient-doctor-result-copy {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.native-shell .patient-doctor-result-name {
  overflow: hidden;
  color: #152740;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .patient-doctor-result-specialty {
  color: #4f6278;
  font-size: 10px;
  font-weight: 750;
}

.native-shell .patient-doctor-rating {
  color: #efac16;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .patient-doctor-result-service,
.native-shell .patient-doctor-result-unit {
  overflow: hidden;
  color: #687b91;
  font-size: 9px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .patient-doctor-result-availability {
  margin-top: 2px;
  color: #079f75;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .patient-doctor-result-chevron {
  width: 18px;
  height: 18px;
  align-self: center;
  fill: none;
  stroke: #162944;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: color .18s ease, transform .18s ease;
}

.native-shell .patient-doctor-result-card.is-selected .patient-doctor-result-chevron {
  stroke: #07988b;
  transform: translateX(2px);
}

.native-shell .patient-doctors-empty {
  grid-column: 1 / -1;
  padding: 34px 18px;
  border: 1px solid #d7e4e8;
  border-radius: 14px;
  background: #fff;
  color: #718195;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.native-shell .patient-doctor-booking[hidden],
.native-shell .patient-doctor-booking-step[hidden] {
  display: none !important;
}

.native-shell .patient-doctor-booking {
  display: grid;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}

.native-shell .patient-doctor-booking-step {
  display: grid;
  gap: 18px;
  animation: patientDoctorStepIn .24s ease both;
}

@keyframes patientDoctorStepIn {
  from { opacity: 0; transform: translateX(12px); }
  to { opacity: 1; transform: translateX(0); }
}

.native-shell .patient-doctor-booking-error {
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid #f0b8b4;
  border-radius: 10px;
  background: #fff5f4;
  color: #a2332d;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
}

.native-shell .patient-doctor-booking-heading {
  display: grid;
  min-height: 48px;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 10px;
}

.native-shell .patient-doctor-booking-heading.is-profile {
  grid-template-columns: 42px 1fr;
}

.native-shell .patient-doctor-booking-heading > button {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #d7e4e8;
  border-radius: 50%;
  background: #fff;
  color: #152740;
  cursor: pointer;
}

.native-shell .patient-doctor-booking-heading svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-doctor-booking-heading h2 {
  margin: 0;
  color: #142740;
  font-size: 19px;
  font-weight: 950;
  letter-spacing: 0;
  text-align: center;
}

.native-shell .patient-doctor-profile-identity {
  display: grid;
  justify-items: center;
  gap: 7px;
  text-align: center;
}

.native-shell .patient-doctor-profile-avatar {
  display: grid;
  width: 92px;
  height: 92px;
  overflow: hidden;
  place-items: center;
  border: 1px solid #cde7e4;
  border-radius: 50%;
  background: #eaf9f6;
  color: #078f83;
  font-size: 24px;
  font-weight: 950;
}

.native-shell .patient-doctor-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.native-shell .patient-doctor-profile-identity h2,
.native-shell .patient-doctor-profile-identity p {
  margin: 0;
}

.native-shell .patient-doctor-profile-identity h2 {
  color: #142740;
  font-size: 23px;
  font-weight: 950;
  letter-spacing: 0;
}

.native-shell .patient-doctor-profile-identity p {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  color: #61738a;
  font-size: 11px;
  font-weight: 700;
}

.native-shell .patient-doctor-profile-identity p i {
  font-style: normal;
}

.native-shell .patient-doctor-profile-stats {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 20px;
  padding: 12px 2px;
  border-top: 1px solid #dde8eb;
  border-bottom: 1px solid #dde8eb;
  color: #53687f;
  font-size: 10px;
  font-weight: 750;
}

.native-shell .patient-doctor-profile-stats > span:first-child {
  color: #d99a08;
}

.native-shell .patient-doctor-profile-stats span[hidden] {
  display: none !important;
}

.native-shell .patient-doctor-profile-section {
  display: grid;
  gap: 7px;
  padding-bottom: 16px;
  border-bottom: 1px solid #dde8eb;
}

.native-shell .patient-doctor-profile-section h3,
.native-shell .patient-doctor-profile-section p,
.native-shell .patient-doctor-profile-section strong {
  margin: 0;
}

.native-shell .patient-doctor-profile-section h3 {
  color: #172a43;
  font-size: 12px;
  font-weight: 950;
}

.native-shell .patient-doctor-profile-section p,
.native-shell .patient-doctor-profile-section strong {
  color: #52677f;
  font-size: 10px;
  line-height: 1.5;
}

.native-shell .patient-doctor-profile-location {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.native-shell .patient-doctor-profile-location > div {
  display: grid;
  gap: 5px;
}

.native-shell .patient-doctor-profile-location > span {
  display: grid;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: #e8f9f6;
  color: #07988b;
}

.native-shell .patient-doctor-profile-location svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
}

.native-shell .patient-doctor-availability-preview,
.native-shell .patient-doctor-date-carousel {
  display: flex;
  min-width: 0;
  gap: 8px;
  overflow-x: auto;
  padding: 3px 1px 8px;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  touch-action: pan-x;
}

.native-shell .patient-doctor-availability-preview span {
  display: grid;
  flex: 0 0 65px;
  min-height: 55px;
  place-items: center;
  scroll-snap-align: start;
  border: 1px solid #d8e5e8;
  border-radius: 10px;
  background: #fff;
  color: #53677e;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.25;
  white-space: pre-line;
  text-align: center;
}

.native-shell .patient-doctor-booking-primary,
.native-shell .patient-doctor-booking-secondary {
  display: inline-flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  border: 1px solid #07988b;
  border-radius: 10px;
  font: inherit;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
}

.native-shell .patient-doctor-booking-primary {
  background: #079f92;
  color: #fff;
  box-shadow: 0 10px 20px rgba(7, 159, 146, .15);
}

.native-shell .patient-doctor-booking-secondary {
  background: #fff;
  color: #078f83;
}

.native-shell .patient-doctor-booking-primary:disabled {
  border-color: #d6e1e4;
  background: #edf2f3;
  color: #9aa7b1;
  box-shadow: none;
  cursor: not-allowed;
}

.native-shell .patient-doctor-date-picker,
.native-shell .patient-doctor-time-picker {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid #d7e4e8;
  border-radius: 12px;
  background: #fff;
}

.native-shell .patient-doctor-date-picker h3,
.native-shell .patient-doctor-time-picker p {
  margin: 0;
  color: #172a43;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .patient-doctor-time-picker p {
  color: #60738a;
  font-size: 10px;
}

.native-shell .patient-doctor-time-picker p strong {
  display: block;
  margin-top: 3px;
  color: #142740;
  font-size: 12px;
}

.native-shell .patient-doctor-date-option {
  display: grid;
  flex: 0 0 58px;
  min-height: 66px;
  place-items: center;
  gap: 2px;
  scroll-snap-align: start;
  border: 1px solid #d8e5e8;
  border-radius: 10px;
  background: #fff;
  color: #52677f;
  font: inherit;
  cursor: pointer;
}

.native-shell .patient-doctor-date-option span {
  font-size: 9px;
  font-weight: 750;
}

.native-shell .patient-doctor-date-option strong {
  font-size: 15px;
  font-weight: 950;
}

.native-shell .patient-doctor-date-option.is-selected {
  border-color: #079f92;
  background: #079f92;
  color: #fff;
}

.native-shell .patient-doctor-time-options {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.native-shell .patient-doctor-time-option {
  min-height: 42px;
  border: 1px solid #d8e5e8;
  border-radius: 8px;
  background: #fff;
  color: #263b53;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.native-shell .patient-doctor-time-option.is-selected {
  border-color: #079f92;
  background: #079f92;
  color: #fff;
}

.native-shell .patient-doctor-booking-empty {
  padding: 16px;
  color: #6d7f92;
  font-size: 10px;
  text-align: center;
}

.native-shell .patient-doctor-reason-options {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
}

.native-shell .patient-doctor-reason-options legend {
  margin-bottom: 12px;
  color: #172a43;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .patient-doctor-reason-options label {
  display: flex;
  min-height: 45px;
  align-items: center;
  gap: 10px;
  padding: 0 13px;
  border: 1px solid #d8e5e8;
  border-radius: 9px;
  background: #fff;
  color: #3f536b;
  font-size: 10px;
  font-weight: 750;
  cursor: pointer;
}

.native-shell .patient-doctor-reason-options input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.native-shell .patient-doctor-reason-options label > span {
  width: 16px;
  height: 16px;
  border: 1px solid #aebdca;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 4px #fff;
}

.native-shell .patient-doctor-reason-options label:has(input:checked) {
  border-color: #16b9ad;
  background: #f2fcfa;
  color: #087e76;
}

.native-shell .patient-doctor-reason-options input:checked + span {
  border-color: #079f92;
  background: #079f92;
}

.native-shell .patient-doctor-reason-notes {
  display: grid;
  gap: 8px;
  color: #172a43;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .patient-doctor-reason-notes small {
  color: #6c7d91;
  font-weight: 700;
}

.native-shell .patient-doctor-reason-notes textarea {
  width: 100%;
  min-height: 122px;
  padding: 13px;
  resize: vertical;
  border: 1px solid #d8e5e8;
  border-radius: 10px;
  outline: 0;
  background: #fff;
  color: #253a52;
  font: inherit;
  font-size: 11px;
  font-weight: 650;
}

.native-shell .patient-doctor-reason-notes > span {
  justify-self: end;
  margin-top: -28px;
  padding: 0 10px 10px;
  color: #6e7e91;
  font-size: 9px;
}

.native-shell .patient-doctor-summary-list {
  display: grid;
  gap: 14px;
}

.native-shell .patient-doctor-summary-list > section {
  display: grid;
  gap: 8px;
}

.native-shell .patient-doctor-summary-list h3 {
  margin: 0;
  color: #172a43;
  font-size: 11px;
  font-weight: 950;
}

.native-shell .patient-doctor-summary-professional,
.native-shell .patient-doctor-summary-row,
.native-shell .patient-doctor-summary-value {
  display: flex;
  min-height: 60px;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid #d8e5e8;
  border-radius: 9px;
  background: #fff;
}

.native-shell .patient-doctor-summary-professional > span,
.native-shell .patient-doctor-success-professional > span {
  display: grid;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: #e9f9f6;
  color: #078f83;
  font-size: 11px;
  font-weight: 950;
}

.native-shell .patient-doctor-summary-professional div,
.native-shell .patient-doctor-summary-row div,
.native-shell .patient-doctor-success-professional div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.native-shell .patient-doctor-summary-list strong,
.native-shell .patient-doctor-summary-list small {
  display: block;
  color: #172a43;
  font-size: 10px;
  line-height: 1.4;
}

.native-shell .patient-doctor-summary-list small {
  color: #60738a;
  font-size: 9px;
}

.native-shell .patient-doctor-summary-row > span {
  color: #079f92;
  font-size: 18px;
}

.native-shell .patient-doctor-summary-value {
  min-height: 45px;
  color: #40556d;
  font-size: 10px;
  font-weight: 750;
}

.native-shell .patient-doctor-summary-list > section.is-duration > div {
  border-color: #9bddd7;
  background: #f1fcfa;
}

.native-shell .patient-doctor-booking-success {
  justify-items: stretch;
  padding-top: 36px;
  text-align: center;
}

.native-shell .patient-doctor-success-check {
  display: grid;
  width: 82px;
  height: 82px;
  place-items: center;
  justify-self: center;
  border-radius: 50%;
  background: #ddf7f2;
  color: #079f92;
}

.native-shell .patient-doctor-success-check svg {
  width: 43px;
  height: 43px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.native-shell .patient-doctor-booking-success > h2,
.native-shell .patient-doctor-booking-success > p {
  margin: 0;
}

.native-shell .patient-doctor-booking-success > h2 {
  color: #142740;
  font-size: 21px;
  font-weight: 950;
  letter-spacing: 0;
}

.native-shell .patient-doctor-booking-success > p {
  color: #60738a;
  font-size: 11px;
  line-height: 1.5;
}

.native-shell .patient-doctor-success-card {
  display: grid;
  gap: 13px;
  padding: 16px;
  border: 1px solid #d8e5e8;
  border-radius: 11px;
  background: #fff;
  text-align: left;
}

.native-shell .patient-doctor-success-professional,
.native-shell .patient-doctor-success-card > div {
  display: flex;
  align-items: center;
  gap: 11px;
}

.native-shell .patient-doctor-success-card > div:not(:first-child) > span {
  color: #079f92;
  font-size: 16px;
}

.native-shell .patient-doctor-success-card strong,
.native-shell .patient-doctor-success-card small,
.native-shell .patient-doctor-success-card p,
.native-shell .patient-doctor-success-card b {
  display: block;
  margin: 0;
  color: #172a43;
  font-size: 10px;
  line-height: 1.4;
}

.native-shell .patient-doctor-success-card small,
.native-shell .patient-doctor-success-card b {
  color: #60738a;
  font-size: 9px;
  font-weight: 700;
}

@media (max-width: 680px) {
  .native-shell .patient-doctors-shell { gap: 14px; }
  .native-shell .patient-doctors-hero { min-height: 104px; gap: 13px; padding: 16px; border-radius: 15px; }
  .native-shell .patient-doctors-hero-icon { width: 54px; height: 54px; border-radius: 14px; }
  .native-shell .patient-doctors-hero-icon svg { width: 31px; height: 31px; }
  .native-shell .patient-doctors-hero h1 { font-size: 21px; }
  .native-shell .patient-doctors-hero p { margin-top: 6px; font-size: 11px; }
  .native-shell .patient-doctors-locator { padding: 16px; border-radius: 15px; }
  .native-shell .patient-doctors-locator > header { gap: 11px; }
  .native-shell .patient-doctors-location-icon { width: 42px; height: 42px; }
  .native-shell .patient-doctors-location-icon svg { width: 22px; height: 22px; }
  .native-shell .patient-doctors-locator header small { font-size: 8px; }
  .native-shell .patient-doctors-locator h2 { margin-top: 7px; font-size: 17px; }
  .native-shell .patient-doctors-locator header p { margin-top: 7px; font-size: 11px; }
  .native-shell .patient-doctors-fields { gap: 17px; margin-top: 20px; }
  .native-shell .patient-doctors-field-group > label { font-size: 10px; }
  .native-shell .patient-doctors-field-group > label small { font-size: 8px; }
  .native-shell .patient-doctors-select select { min-height: 50px; padding: 0 42px; border-radius: 12px; font-size: 10px; }
  .native-shell .patient-doctors-select > svg { left: 14px; width: 18px; height: 18px; }
  .native-shell .patient-doctors-select > span { right: 14px; }
  .native-shell .patient-doctors-name-search input { min-height: 50px; padding: 0 42px; border-radius: 12px; font-size: 10px; }
  .native-shell .patient-doctors-name-search svg { left: 14px; width: 18px; height: 18px; }
  .native-shell .patient-doctors-country-shortcuts { gap: 6px; }
  .native-shell .patient-doctors-country-shortcuts button { min-height: 29px; gap: 5px; padding: 0 9px; font-size: 8px; }
  .native-shell .patient-doctors-country-shortcuts button > span { font-size: 12px; }
  .native-shell .patient-doctors-insurer-shortcuts button > span { width: 19px; height: 19px; font-size: 6px; }
  .native-shell .patient-doctors-search-action { min-height: 50px; border-radius: 12px; font-size: 13px; }
  .native-shell .patient-doctors-search-action svg { width: 18px; height: 18px; }
  .native-shell .patient-doctors-search-summary { padding: 14px 15px; border-radius: 13px; }
  .native-shell .patient-doctors-search-summary strong { font-size: 14px; }
  .native-shell .patient-doctors-results h2 { font-size: 16px; }
  .native-shell .patient-doctors-results > header > button { font-size: 10px; }
  .native-shell .patient-doctor-result-card { grid-template-columns: 46px minmax(0, 1fr) 16px; gap: 10px; padding: 13px; }
  .native-shell .patient-doctors-avatar { width: 46px; height: 46px; font-size: 11px; }
  .native-shell .patient-doctor-result-name { font-size: 13px; }
  .native-shell .patient-doctor-result-chevron { width: 16px; height: 16px; }
  .native-shell .patient-doctor-booking-step { gap: 15px; }
  .native-shell .patient-doctor-booking-heading h2 { font-size: 16px; }
  .native-shell .patient-doctor-profile-avatar { width: 78px; height: 78px; font-size: 20px; }
  .native-shell .patient-doctor-profile-identity h2 { font-size: 19px; }
  .native-shell .patient-doctor-profile-stats { gap: 14px; font-size: 9px; }
  .native-shell .patient-doctor-booking-primary,
  .native-shell .patient-doctor-booking-secondary { min-height: 46px; font-size: 11px; }
  .native-shell .patient-doctor-date-picker,
  .native-shell .patient-doctor-time-picker { padding: 13px; }
  .native-shell .patient-doctor-time-option { min-height: 39px; }
  .native-shell .patient-doctor-booking-success { padding-top: 24px; }
}

.superadmin-subscription-user-actions { display: flex; gap: 9px; }
.superadmin-subscription-user-actions button,
.superadmin-subscription-user-actions a { padding: 11px 14px; border: 1px solid #ccd8d5; border-radius: 9px; background: #fff; font-weight: 800; }
.superadmin-subscription-user-filters { display: grid; grid-template-columns: minmax(300px, 1fr) 150px 160px 180px; gap: 12px; align-items: end; padding: 0 0 14px; }
.superadmin-subscription-user-filters label:not(.superadmin-native-search) { display: grid; gap: 5px; font-weight: 700; }
.superadmin-subscription-user-filters select { min-height: 42px; padding: 8px; border: 1px solid #ccd8d5; border-radius: 8px; background: #fff; }
.superadmin-subscription-user-table-wrap { min-height: 385px; }
.superadmin-subscription-users.hidden,
[data-subscription-overview].hidden { display: none !important; }

@media (max-width: 1200px) {
  .superadmin-subscription-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .superadmin-subscription-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .superadmin-subscription-user-filters { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .superadmin-subscription-cards,
  .superadmin-subscription-form { grid-template-columns: 1fr; }
  .superadmin-subscription-form .is-wide { grid-column: auto; }
  .superadmin-subscription-user-filters { grid-template-columns: 1fr; }
}
.outpatient-prescription-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.outpatient-prescription-fields label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; }
.outpatient-prescription-fields input, .outpatient-prescription-fields select, .outpatient-prescription-fields textarea { border: 1px solid #d8e0df; border-radius: 8px; padding: 10px; background: #fff; }
.outpatient-prescription-fields textarea { min-height: 70px; resize: vertical; }
.outpatient-prescription-fields .span-2 { grid-column: span 2; }
.outpatient-prescription-items { padding: 0 16px 16px; }
.outpatient-prescription-items h3 { margin: 0 0 10px; font-size: 14px; }
.outpatient-prescription-items input, .outpatient-prescription-items textarea { width: 110px; min-width: 90px; border: 1px solid #d8e0df; border-radius: 7px; padding: 8px; background: #fff; }
.outpatient-prescription-items textarea { min-height: 48px; resize: vertical; }
.outpatient-prescription-items td:first-child { min-width: 48px; text-align: center; }
.outpatient-prescription-items [data-remove-prescription-item], .outpatient-add-prescription-item { border: 1px solid #d8e0df; background: #fff; border-radius: 7px; padding: 5px 9px; font-weight: 800; }
.outpatient-add-prescription-item { margin-top: 10px; font-size: 18px; }
.outpatient-row-actions { display: flex; gap: 6px; }
.outpatient-row-actions form { margin: 0; }
.outpatient-row-danger { cursor: pointer; color: #9f2419; border-color: #efb3ad; }
.outpatient-prescription-detail small, .outpatient-table-wrap td small { display: block; color: #687776; margin-top: 3px; }
@media (max-width: 760px) { .outpatient-prescription-fields { grid-template-columns: 1fr; } .outpatient-prescription-fields .span-2 { grid-column: auto; } }
.external-pharmacy-dispense-form { display: flex; align-items: center; gap: 6px; }
.external-pharmacy-dispense-form input { width: 54px; min-width: 54px; border: 1px solid #d8e0df; border-radius: 7px; padding: 7px; background: #fff; }
.doctor-prescription-editor { margin: 14px; border: 1px solid #d7e0df; border-radius: 10px; background: #fff; }
.doctor-prescription-editor > summary { padding: 12px 14px; cursor: pointer; font-weight: 800; list-style: none; }
.doctor-prescription-editor > summary::before { content: "+"; display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 8px; border: 1px solid #cbd7d5; border-radius: 6px; }
.doctor-prescription-editor[open] > summary::before { content: "âˆ’"; }
.doctor-prescription-form { display: block; padding: 0 14px 14px; }
.doctor-prescription-basics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.doctor-prescription-basics label { display: grid; gap: 5px; font-size: 12px; font-weight: 700; }
.doctor-prescription-basics .wide { grid-column: 1 / -1; }
.doctor-prescription-basics input, .doctor-prescription-basics select, .doctor-prescription-basics textarea { width: 100%; border: 1px solid #d4dddc; border-radius: 7px; padding: 9px 10px; background: #fff; }
.doctor-prescription-table-scroll { overflow-x: auto; border: 1px solid #d7e0df; border-radius: 8px; }
.doctor-prescription-table { width: 100%; min-width: 1450px; border-collapse: collapse; font-size: 11px; }
.doctor-prescription-table th { padding: 8px; text-align: left; background: #f7f9f8; border-bottom: 1px solid #d7e0df; }
.doctor-prescription-table td { padding: 7px; vertical-align: top; border-bottom: 1px solid #e2e8e7; }
.doctor-prescription-table input, .doctor-prescription-table select, .doctor-prescription-table textarea { width: 100%; min-width: 90px; border: 1px solid #d4dddc; border-radius: 6px; padding: 7px; background: #fff; }
.doctor-prescription-table td:nth-child(3) { min-width: 230px; }
.doctor-prescription-table td:nth-child(10) { min-width: 180px; }
.doctor-prescription-remove { width: 30px; height: 30px; border: 1px solid #dfb7b1; border-radius: 6px; background: #fff; color: #9e2f25; font-weight: 800; }
.doctor-prescription-actions { display: flex; justify-content: space-between; gap: 10px; padding-top: 12px; }
.doctor-prescription-actions button { padding: 9px 14px; border: 1px solid #cbd7d5; border-radius: 7px; font-weight: 800; }
.doctor-prescription-actions button[type="submit"] { background: #087f73; border-color: #087f73; color: #fff; }
@media (max-width: 760px) { .doctor-prescription-basics { grid-template-columns: 1fr; } }

/* Patient / Mi Seguro */
.native-shell .patient-insurance-shell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dce8e8;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(24, 52, 65, .07);
}
.native-shell .patient-insurance-hero {
  position: relative;
  display: flex;
  min-height: 148px;
  align-items: center;
  gap: 26px;
  padding: 25px 42px;
  border-bottom: 1px solid #dce7e7;
  background:
    radial-gradient(circle at 69% 48%, transparent 0 13px, rgba(29, 200, 190, .13) 14px 15px, transparent 16px 31px, rgba(29, 200, 190, .11) 32px 33px, transparent 34px 49px, rgba(29, 200, 190, .1) 50px 51px, transparent 52px),
    repeating-radial-gradient(ellipse at 68% 50%, rgba(22, 190, 180, .13) 0 1px, transparent 1px 12px),
    #fff;
}
.native-shell .patient-insurance-hero-icon {
  display: grid;
  width: 82px;
  height: 82px;
  flex: 0 0 82px;
  place-items: center;
  border: 1px solid #bce8e3;
  border-radius: 22px;
  background: #effcf9;
  color: #087f73;
}
.native-shell .patient-insurance-hero-icon span {
  display: grid;
  width: 39px;
  height: 45px;
  place-items: center;
  border: 4px solid currentColor;
  border-radius: 7px 7px 17px 17px;
  font-size: 20px;
  font-weight: 900;
}
.native-shell .patient-insurance-hero h1 { margin: 0 0 5px; color: #10223d; font-size: clamp(34px, 4vw, 52px); line-height: 1; }
.native-shell .patient-insurance-hero p { margin: 0; color: #60728a; font-size: 16px; font-weight: 700; }
.native-shell .patient-insurance-overview {
  display: grid;
  grid-template-columns: minmax(250px, .92fr) minmax(360px, 1.18fr) minmax(310px, 1fr);
  gap: 28px;
  align-items: center;
  padding: 20px 30px;
}
.native-shell .patient-insurance-illustration {
  position: relative;
  min-height: 225px;
  border-radius: 20px;
  background: linear-gradient(145deg, #fff 15%, #f2fffc 100%);
}
.native-shell .patient-insurance-case {
  position: absolute;
  left: 50%;
  top: 42%;
  width: 92px;
  height: 112px;
  translate: -50% -50%;
  border: 7px solid #35c9bc;
  border-radius: 19px;
  color: #35c9bc;
  font-size: 58px;
  font-weight: 300;
  line-height: 94px;
  text-align: center;
}
.native-shell .patient-insurance-case::before {
  content: "";
  position: absolute;
  left: 24px;
  top: -31px;
  width: 38px;
  height: 25px;
  border: 6px solid #35c9bc;
  border-radius: 11px;
  background: #f7fffd;
}
.native-shell .patient-insurance-shield {
  position: absolute;
  left: 50%;
  top: 57%;
  width: 82px;
  height: 74px;
  translate: -25% -10%;
  border: 6px solid #087f73;
  border-radius: 40% 40% 50% 50%;
  background: rgba(255,255,255,.83);
  color: transparent;
}
.native-shell .patient-insurance-status h2 { margin: 0 0 9px; color: #1b293c; font-size: 17px; }
.native-shell .patient-insurance-status > p { margin: 0 0 16px; color: #60728a; line-height: 1.5; }
.native-shell .patient-insurance-status > strong { display: block; margin-bottom: 8px; color: #253447; font-size: 12px; }
.native-shell .patient-insurance-alert {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  border: 1px solid #f1bb54;
  border-radius: 14px;
  background: #fffaf0;
  color: #273445;
}
.native-shell .patient-insurance-alert > span { color: #f0a100; font-size: 28px; }
.native-shell .patient-insurance-alert b,
.native-shell .patient-insurance-alert small { display: block; }
.native-shell .patient-insurance-alert small { margin-top: 3px; color: #65758a; }
.native-shell .patient-insurance-alert.is-complete { border-color: #91d9ce; background: #f3fffc; }
.native-shell .patient-insurance-alert.is-complete > span { color: #078878; }
.native-shell .patient-insurance-actions {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 9px;
  margin-top: 10px;
}
.native-shell .patient-insurance-actions button,
.native-shell .patient-insurance-advisor button,
.native-shell .patient-insurance-advisor a {
  min-height: 40px;
  padding: 9px 15px;
  border: 1px solid #d3e0e1;
  border-radius: 999px;
  background: #fff;
  color: #344359;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
}
.native-shell .patient-insurance-actions button {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding-inline: 10px;
  white-space: nowrap;
}
.native-shell .patient-insurance-actions .patient-insurance-upload { border-color: #f0c25f; color: #008f80; }
.native-shell .patient-insurance-actions .patient-insurance-upload span { color: #ffca43; }
.native-shell .patient-insurance-advisor {
  padding: 20px;
  border: 1px solid #cee8e5;
  border-radius: 20px;
  background: linear-gradient(130deg, #fff 35%, #effdfa);
}
.native-shell .patient-insurance-advisor-heading { display: flex; align-items: center; gap: 12px; }
.native-shell .patient-insurance-advisor-heading > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid #a9e2db;
  border-radius: 50%;
  background: #ecfbf8;
  color: #63758b;
  font-weight: 800;
}
.native-shell .patient-insurance-advisor small { display: block; color: #687b8f; font-size: 10px; font-weight: 800; }
.native-shell .patient-insurance-advisor strong { display: block; color: #26364a; }
.native-shell .patient-insurance-advisor > p { margin: 15px 0; color: #62758a; line-height: 1.45; }
.native-shell .patient-insurance-advisor > div:not(.patient-insurance-advisor-heading) { padding: 12px; border: 1px solid #d8e7e6; border-radius: 13px; background: #fff; }
.native-shell .patient-insurance-advisor > a,
.native-shell .patient-insurance-advisor > button { display: block; width: 100%; margin-top: 11px; border-radius: 12px; color: #008c7e; text-align: center; }
.native-shell .patient-insurance-advisor > button:disabled { opacity: .72; }
.native-shell .patient-insurance-tabs {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: scroll;
  overflow-y: hidden;
  align-items: center;
  gap: 8px;
  padding: 13px 16px 20px;
  border-block: 1px solid #dce7e7;
  background: #fff;
  overscroll-behavior-x: contain;
  scrollbar-color: #8b949f transparent;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
  scroll-behavior: auto;
  touch-action: pan-x;
  cursor: grab;
  -webkit-overflow-scrolling: touch;
}
.native-shell .patient-insurance-tabs::-webkit-scrollbar { height: 6px; }
.native-shell .patient-insurance-tabs::-webkit-scrollbar-track { background: transparent; }
.native-shell .patient-insurance-tabs::-webkit-scrollbar-thumb { border-radius: 999px; background: #8b949f; }
.native-shell .patient-insurance-tabs.is-panning {
  cursor: grabbing;
  user-select: none;
}
.native-shell .patient-insurance-tabs button {
  min-height: 40px;
  flex: 0 0 auto;
  padding: 9px 16px;
  border: 1px solid #d7e4e6;
  border-radius: 999px;
  background: #fff;
  color: #40536a;
  font-weight: 800;
  scroll-snap-align: start;
}
.native-shell .patient-insurance-tabs button.is-active { border-color: #5fd2c6; color: #008b7d; box-shadow: 0 6px 18px rgba(19, 165, 151, .09); }
.native-shell .patient-insurance-tabs button:first-child,
.native-shell .patient-insurance-tabs button:last-child { width: 42px; padding-inline: 0; color: #13a99a; font-size: 22px; }
.native-shell .patient-insurance-content { padding: 16px 20px 20px; }
.native-shell .patient-insurance-pane { display: none; min-height: 155px; border: 1px solid #dbe6e7; border-radius: 18px; background: #fff; }
.native-shell .patient-insurance-pane.is-active { display: block; }
.native-shell .patient-insurance-pane > header { display: flex; align-items: center; gap: 11px; padding: 14px 16px; border-bottom: 1px solid #e0e9e9; }
.native-shell .patient-insurance-pane > header > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #ecfbf8; color: #008f80; }
.native-shell .patient-insurance-pane h2 { margin: 0; font-size: 15px; }
.native-shell .patient-insurance-pane p { margin: 3px 0 0; color: #687a8e; font-size: 11px; }
.native-shell .patient-insurance-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0 16px 12px; }
.native-shell .patient-insurance-summary > div { display: flex; min-height: 46px; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid #e3eaea; }
.native-shell .patient-insurance-summary dt { color: #6c7c90; font-size: 11px; font-weight: 800; }
.native-shell .patient-insurance-summary dd { margin: 0; font-weight: 800; }
.native-shell .patient-insurance-summary dd.is-missing,
.native-shell .patient-insurance-summary dd.is-pending { padding: 5px 9px; border-radius: 999px; color: #b73328; background: #ffe7e3; font-size: 10px; }
.native-shell .patient-insurance-summary dd.is-pending { color: #a16b19; background: #fff1d7; }
.native-shell .patient-insurance-empty { display: grid; min-height: 105px; place-items: center; color: #728194; }
.native-shell .patient-insurance-edit-form {
  margin: 0 20px 20px;
  padding: 18px;
  border: 1px solid #d6e3e3;
  border-radius: 16px;
  background: #fff;
}
.native-shell .patient-insurance-edit-form[hidden] { display: none !important; }
.native-shell .patient-insurance-form-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.native-shell .patient-insurance-form-heading h2 { margin: 0; font-size: 18px; }
.native-shell .patient-insurance-form-heading p { margin: 4px 0 0; color: #687a8d; }
.native-shell .patient-insurance-form-heading button { width: 38px; height: 38px; border: 1px solid #d4dede; border-radius: 10px; background: #fff; font-size: 22px; }
@media (max-width: 1050px) {
  .native-shell .patient-insurance-overview { grid-template-columns: 1fr 1fr; }
  .native-shell .patient-insurance-illustration { display: none; }
}
@media (max-width: 700px) {
  .native-shell .patient-insurance-hero { min-height: auto; padding: 22px; }
  .native-shell .patient-insurance-hero-icon { width: 64px; height: 64px; flex-basis: 64px; }
  .native-shell .patient-insurance-overview { grid-template-columns: 1fr; padding: 18px; }
  .native-shell .patient-insurance-summary { grid-template-columns: 1fr; }
}

/* Patient / Historial clÃ­nico */
.native-shell .patient-history-panel {
  overflow: hidden;
  border: 1px solid #dce8ed;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(24, 52, 65, .07);
}
.native-shell .patient-history-hero {
  display: flex;
  min-height: 132px;
  align-items: center;
  gap: 25px;
  padding: 22px 42px;
  border-bottom: 1px solid #dbe7e9;
  background:
    radial-gradient(circle at 68% 38%, transparent 0 13px, rgba(29, 200, 190, .13) 14px 15px, transparent 16px 31px, rgba(29, 200, 190, .11) 32px 33px, transparent 34px 49px, rgba(29, 200, 190, .09) 50px 51px, transparent 52px),
    repeating-radial-gradient(ellipse at 68% 43%, rgba(22, 190, 180, .13) 0 1px, transparent 1px 12px),
    #fff;
}
.native-shell .patient-history-hero-icon {
  display: grid;
  width: 82px;
  height: 82px;
  flex: 0 0 82px;
  align-content: center;
  gap: 8px;
  padding: 20px 18px;
  border: 1px solid #bce8e3;
  border-radius: 22px;
  background: #effcf9;
}
.native-shell .patient-history-hero-icon i {
  position: relative;
  display: block;
  height: 4px;
  margin-left: 13px;
  border-radius: 4px;
  background: #087f73;
}
.native-shell .patient-history-hero-icon i::before {
  content: "";
  position: absolute;
  left: -13px;
  top: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #087f73;
}
.native-shell .patient-history-hero h1 { margin: 0; color: #10223d; font-size: clamp(30px, 3.6vw, 42px); line-height: 1; }
.native-shell .patient-history-hero p { margin: 0; color: #60728a; font-size: 16px; font-weight: 700; }
.native-shell .patient-history-body { padding: 16px 28px 24px; }
.native-shell .patient-history-filters {
  display: flex;
  overflow-x: auto;
  align-items: stretch;
  gap: 14px;
  min-width: 0;
  padding: 2px 2px 18px;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  cursor: grab;
  -webkit-overflow-scrolling: touch;
}
.native-shell .patient-history-filters::-webkit-scrollbar {
  display: none;
}
.native-shell .patient-history-filters.is-panning {
  cursor: grabbing;
  user-select: none;
}
.native-shell .patient-history-filters button {
  --history-color: #007d79;
  position: relative;
  display: grid;
  flex: 0 0 128px;
  width: 128px;
  min-height: 118px;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 16px 12px;
  border: 1px solid #d5e2e8 !important;
  border-radius: 18px;
  background: #fff;
  color: #082441;
  box-shadow: none !important;
  font: inherit;
  font-size: 20px;
  font-weight: 950;
  text-align: center;
  cursor: pointer;
  overflow: hidden;
  scroll-snap-align: start;
}
.native-shell .patient-history-filters button .patient-register-history-image,
.native-shell .patient-history-filters button .patient-register-history-glyph {
  display: grid;
  width: 50px;
  height: 46px;
  place-items: center;
  color: var(--history-color);
  font-size: 26px;
  line-height: 1;
}
.native-shell .patient-history-filters button .patient-register-history-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  filter: drop-shadow(0 7px 10px rgba(18, 43, 72, .13));
}
.native-shell .patient-history-filters button b {
  max-width: 100%;
  overflow: hidden;
  color: #082441;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.05;
  text-overflow: ellipsis;
}
.native-shell .patient-history-filters button.is-consultation { color: #1761c7; }
.native-shell .patient-history-filters button.is-laboratory { color: #089a52; }
.native-shell .patient-history-filters button.is-study { color: #7443e9; }
.native-shell .patient-history-filters button.is-prescription { color: #ed7700; }
.native-shell .patient-history-filters button.is-hospitalization { color: #f1383e; }
.native-shell .patient-history-filters button.is-manual { color: #007d79; }
.native-shell .patient-history-filters button.is-vaccine { color: #0b8f62; }
.native-shell .patient-history-filters button.is-all { --history-color: #007d79; }
.native-shell .patient-history-filters button.is-consultation { --history-color: #1761c7; }
.native-shell .patient-history-filters button.is-laboratory { --history-color: #0a9f62; }
.native-shell .patient-history-filters button.is-study { --history-color: #8945f4; }
.native-shell .patient-history-filters button.is-prescription { --history-color: #f47a00; }
.native-shell .patient-history-filters button.is-hospitalization { --history-color: #f0212a; }
.native-shell .patient-history-filters button.is-vaccine { --history-color: #007d79; }
.native-shell .patient-history-filters button.is-manual { --history-color: #007d79; }
.native-shell .patient-history-filters button[data-history-filter].is-active {
  border-color: #009d8f !important;
  background: linear-gradient(150deg, #eafffa, #fff) !important;
  color: #082441;
  box-shadow: 0 18px 36px rgba(10, 158, 145, .11) !important;
}
.native-shell .patient-history-filters button[data-history-filter].is-active::after {
  content: none;
  display: none;
}
.native-shell .patient-history-table-wrap { overflow-x: auto; border: 1px solid #d9e5e9; border-radius: 18px; }
.native-shell .patient-history-table { width: 100%; min-width: 1320px; border-collapse: collapse; color: #33445b; }
.native-shell .patient-history-table th { padding: 16px 22px; border-bottom: 1px solid #d9e5e9; color: #17283f; font-size: 11px; text-align: left; }
.native-shell .patient-history-table td { padding: 18px 22px; border-bottom: 1px solid #d9e5e9; vertical-align: top; line-height: 1.4; }
.native-shell .patient-history-table tbody tr:last-child td { border-bottom: 0; }
.native-shell .patient-history-table th:nth-child(1) { width: 150px; }
.native-shell .patient-history-table th:nth-child(2) { width: 215px; }
.native-shell .patient-history-table th:nth-child(3) { width: 210px; }
.native-shell .patient-history-table th:nth-child(4) { width: 235px; }
.native-shell .patient-history-table th:nth-child(5) { width: 330px; }
.native-shell .patient-history-table th:nth-child(6) { width: 360px; }
.native-shell .patient-history-date,
.native-shell .patient-history-origin,
.native-shell .patient-history-service { display: flex; align-items: flex-start; gap: 12px; }
.native-shell .patient-history-date-cell {
  position: relative;
  min-height: 30px;
  padding-right: 34px;
}
.native-shell .patient-history-favorite {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  width: 28px;
  height: 28px;
  padding: 0;
  place-items: center;
  border: 1px solid #d6e1e8;
  border-radius: 50%;
  background: #fff;
  color: #8391a3;
  font-size: 17px;
  line-height: 1;
  box-shadow: 0 7px 16px rgba(31, 50, 71, .08);
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease;
}
.native-shell .patient-history-favorite:hover,
.native-shell .patient-history-favorite:focus-visible {
  border-color: #e2b326;
  color: #dca900;
}
.native-shell .patient-history-favorite:focus-visible {
  outline: 2px solid rgba(0, 157, 143, .28);
  outline-offset: 2px;
}
.native-shell .patient-history-favorite:active { transform: scale(.94); }
.native-shell .patient-history-favorite.is-active {
  border-color: #f2c03c;
  background: #fff9e4;
  color: #e4ae00;
}
.native-shell .patient-history-date > span {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  border-radius: 12px;
  background: #e8fbf7;
  color: #08a99a;
  font-size: 22px;
}
.native-shell .patient-history-date { gap: 0; }
.native-shell .patient-history-date > span { display: none; }
.native-shell .patient-history-date strong,
.native-shell .patient-history-origin strong,
.native-shell .patient-history-service strong { color: #1e3047; }
.native-shell .patient-history-date small { display: block; margin-top: 2px; color: #6f8094; }
.native-shell .patient-history-origin > span,
.native-shell .patient-history-service > span { color: #57718b; font-size: 21px; }
.native-shell .patient-history-category {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #e7f2ff;
  color: #1761c7;
  font-size: 11px;
  font-weight: 800;
}
.native-shell .patient-history-category.is-laboratory { background: #ddf7e8; color: #06964e; }
.native-shell .patient-history-category.is-study { background: #eee8ff; color: #7140e4; }
.native-shell .patient-history-category.is-prescription { background: #fff2df; color: #db6d00; }
.native-shell .patient-history-category.is-hospitalization { background: #ffe5e5; color: #e83239; }
.native-shell .patient-history-category.is-manual { background: #e4fbf6; color: #007d79; }
.native-shell .patient-history-category.is-vaccine { background: #e2f9ef; color: #0b8f62; }
.native-shell .patient-history-manual-note { margin: 7px 0 0; color: #536783; font-size: 13px; line-height: 1.45; }
.native-shell .patient-history-manual-transcript { white-space: pre-wrap; }
.native-shell .patient-history-manual-evidence {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 13px;
  border: 1px solid #bfeee8;
  border-radius: 13px;
  background: #f0fffc;
}
.native-shell .patient-history-manual-evidence > span { color: #007d79; font-size: 18px; }
.native-shell .patient-history-manual-evidence strong { display: block; color: #17304a; font-size: 12px; }
.native-shell .patient-history-manual-evidence p { margin: 3px 0 0; color: #60738b; font-size: 12px; }
.native-shell .patient-history-manual-evidence small { display: block; margin-top: 5px; color: #007d79; font-size: 11px; font-weight: 900; }
.native-shell .patient-history-attachment-download { display: inline-block; margin-top: 8px; color: #006f66; font-size: 12px; font-weight: 900; text-decoration: underline; text-underline-offset: 2px; }
.native-shell .patient-history-attachment-download:focus-visible { outline: 2px solid #007d79; outline-offset: 2px; }
.native-shell .patient-history-indications {
  padding: 14px 16px;
  border: 1px solid #f3d2a4;
  border-radius: 14px;
  background: #fff9f0;
}
.native-shell .patient-history-indications > span { display: block; margin-bottom: 8px; color: #ee7900; font-size: 20px; }
.native-shell .patient-history-indications > div + div { margin-top: 10px; padding-top: 10px; border-top: 1px solid #f1ddc2; }
.native-shell .patient-history-indications strong { display: block; color: #27374b; }
.native-shell .patient-history-indications p { margin: 4px 0 0; color: #41516a; }
.native-shell .patient-history-not-registered { color: #8a98a8; font-size: 11px; }
@media (max-width: 700px) {
  .native-shell .patient-history-hero { min-height: auto; padding: 22px; }
  .native-shell .patient-history-hero-icon { width: 64px; height: 64px; flex-basis: 64px; padding: 15px; }
  .native-shell .patient-history-body { padding: 12px; }
  .native-shell .patient-history-filters {
    gap: 12px;
    margin-inline: 0;
    padding: 2px 0 10px;
  }
}

.native-shell .doctor-section-services .doctor-assistant-native-panels:has(.doctor-npt-history) > :not(.doctor-npt-history) { display:none; }
.native-shell .doctor-npt-history-page .doctor-assistant-native-panels > :not(.doctor-npt-history) { display:none !important; }
.native-shell .doctor-npt-history-page .doctor-assistant-native-intro { display:none; }
.native-shell .doctor-npt-history-page .doctor-assistant-native-card,
.native-shell .doctor-npt-history-page .doctor-workspace-card,
.native-shell .doctor-npt-history-page #doctor-requests,
.native-shell .doctor-npt-history-page #doctor-availability,
.native-shell .doctor-npt-history-page #doctor-video,
.native-shell .doctor-npt-history-page #doctor-encounters,
.native-shell .doctor-npt-history-page #doctor-patients { display:none !important; }
.native-shell .doctor-npt-history { width:min(1240px, 100%); margin:22px auto; border:1px solid #d8e6ea; border-radius:16px; background:#fff; overflow:hidden; }
.native-shell .doctor-npt-history > header { display:flex; align-items:center; justify-content:space-between; padding:18px; border-bottom:1px solid #e1ecef; }.native-shell .doctor-npt-history header div,.native-shell .doctor-npt-history-title div,.native-shell .doctor-npt-ai div { display:grid; gap:5px; }.native-shell .doctor-npt-history small { color:#60788a; font-size:10px; }.native-shell .doctor-npt-history > header a { padding:10px 18px; border:1px solid #d5e3e8; border-radius:10px; color:#153c55; font-size:10px; font-weight:800; text-decoration:none; }.native-shell .doctor-npt-history-title { display:flex; justify-content:space-between; align-items:center; padding:18px; }.native-shell .doctor-npt-history-title > b { padding:9px 14px; border:1px solid #f0c364; border-radius:999px; background:#fff7e4; color:#9a6100; font-size:10px; }.native-shell .doctor-npt-history-table { margin:0 18px; overflow:auto; border:1px solid #d8e6ea; border-radius:13px; }.native-shell .doctor-npt-history-table table { min-width:1120px; width:100%; border-collapse:collapse; font-size:10px; }.native-shell .doctor-npt-history-table th { padding:14px 12px; color:#426075; text-align:left; white-space:nowrap; }.native-shell .doctor-npt-history-table td { padding:90px 12px; border-top:1px solid #e4edef; text-align:center; color:#466277; }.native-shell .doctor-npt-history-table tbody tr:not(:has(td[colspan])) td { padding:13px 12px; text-align:left; }.native-shell .doctor-npt-ai { display:grid; grid-template-columns:1fr auto; gap:14px; margin:18px; padding:16px; border:1px solid #d8e6ea; border-radius:14px; }.native-shell .doctor-npt-ai > b { align-self:start; padding:8px 12px; border-radius:999px; background:#f1f6f5; color:#5a7281; font-size:9px; }.native-shell .doctor-npt-ai p { grid-column:1/-1; display:grid; gap:16px; margin:0; padding:18px; border:1px dashed #bfe6e1; border-radius:9px; color:#60788a; font-size:10px; }
/* Provider Integral NPT — visual parity with the legacy history workspace. */
.native-shell.provider-native-body {
  background: #f5f7f8;
  color: #1f2528;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 13px;
}
.native-shell .provider-native-screen { grid-template-columns: 248px minmax(0, 1fr); background: #f5f7f8; color: #1f2528; }
.native-shell .provider-native-sidebar {
  height: 100vh;
  max-height: 100vh;
  overflow-y: auto;
  padding: 20px 16px;
  border-right-color: #dbe3e3;
  background: #fbfcfc;
}
.native-shell .provider-native-brand { padding: 0 0 28px; }
.native-shell .provider-native-brand strong { color: #1f2528; font-size: 13px; }
.native-shell .provider-native-brand small { color: #667176; font-size: 10.9px; }
.native-shell .provider-native-menu { gap: 6px; }
.native-shell .provider-native-menu p { margin: 12px 0 0; padding: 0 4px; color: #667176; font-size: 8.6px; }
.native-shell .provider-native-menu strong { padding: 0 8px 1px; color: #1f2528; font-size: 10px; }
.native-shell .provider-native-menu a {
  margin: 0;
  padding: 8px 12px;
  color: #667176;
  font-size: 12px;
  font-weight: 800;
}
.native-shell .provider-native-menu a.is-active { border-color: transparent; background: #dff3ed; color: #075f58; }
.native-shell .provider-native-menu-divider { margin: 8px 0 2px; background: #dbe3e3; }
.native-shell .provider-native-card,
.native-shell .provider-native-heading { border-color: #dbe3e3; }
.native-shell .provider-native-heading h2 { color: #1f2528; font-size: 14px; }
.native-shell .provider-native-heading p,
.native-shell .provider-native-heading span { color: #667176; font-size: 11px; }
.native-shell .provider-native-count-pill {
  border-color: #f0ce86;
  background: #fff7dc;
  color: #9a520b;
  font-size: 11px;
}
.native-shell .provider-native-table-wrap { border-top: 0; }
.native-shell .provider-native-table { min-width: 1740px; font-size: 11.7px; }
.native-shell .provider-native-table th,
.native-shell .provider-native-table td {
  height: 64px;
  padding: 8px 16px;
  border-bottom-color: #dbe3e3;
}
.native-shell .provider-native-table th { height: 50px; color: #687277; font-size: 10.4px; }
.native-shell .provider-native-table tr:nth-child(2n) td { background: #fff; }
.native-shell .provider-native-table tr:hover td { background: #f7fbfa; }
.native-shell .provider-native-table strong { color: #303b42; font-weight: 800; }
.native-shell .provider-native-mini-badge::before {
  width: 7px;
  height: 7px;
  border: 1px solid currentColor;
  border-radius: 50%;
  content: "";
}
.native-shell .provider-native-mini-badge.is-success,
.native-shell .provider-native-status-pill.is-success {
  border-color: #087d42;
  background: #d5f8e2;
  color: #087d42;
}
.native-shell .provider-native-mini-badge.is-warning,
.native-shell .provider-native-status-pill.is-warning {
  border-color: #d07600;
  background: #fff5d8;
  color: #d07600;
}
.native-shell .provider-native-observation { box-shadow: none; }
.native-shell .provider-native-observation.is-neutral { border-color: #687277; color: #687277; }
.native-shell .provider-native-cta { background: #08c98b; box-shadow: none; }
.native-shell .provider-native-central-select { box-shadow: none; }
.native-shell .provider-native-central-select.is-success {
  border-color: #087d42;
  background-color: #d5f8e2;
  color: #087d42;
}
.native-shell .provider-native-central-select.is-warning {
  border-color: #d4860b;
  background-color: #fff1cf;
  color: #9b5d00;
}
.native-shell .provider-native-central-select.is-danger {
  border-color: #dc3434;
  background-color: #ffe0e0;
  color: #b51f1f;
}
.native-shell .provider-native-central-select option.is-warning {
  background-color: #fff1cf;
  color: #9b5d00;
}
.native-shell .provider-native-central-select option.is-success {
  background-color: #d5f8e2;
  color: #087d42;
}
.native-shell .provider-native-central-select option.is-danger {
  background-color: #ffe0e0;
  color: #b51f1f;
}
.native-shell .provider-native-view-button { border-color: #1d5f9f; background: #e5effa; color: #1d5f9f; box-shadow: none; }
.native-shell .provider-native-view-button.is-green,
.native-shell .provider-native-view-button.is-green:hover,
.native-shell .provider-native-view-button.is-green:focus,
.native-shell .provider-native-view-button.is-green:active {
  border-color: #087d42 !important;
  background: #d5f8e2 !important;
  color: #087d42 !important;
  box-shadow: none !important;
}
.native-shell a.provider-native-view-button:link,
.native-shell a.provider-native-view-button:visited,
.native-shell a.provider-native-view-button:hover,
.native-shell a.provider-native-view-button:focus,
.native-shell a.provider-native-view-button:active {
  border-color: #1d5f9f !important;
  background: #e5effa !important;
  color: #1d5f9f !important;
  box-shadow: none !important;
  text-decoration: none;
}

/* Ubicacion siempre conserva el tratamiento azul, incluso en enlaces visitados. */
.native-shell .provider-native-view-button.is-location,
.native-shell a.provider-native-view-button.is-location:link,
.native-shell a.provider-native-view-button.is-location:visited,
.native-shell a.provider-native-view-button.is-location:hover,
.native-shell a.provider-native-view-button.is-location:focus,
.native-shell a.provider-native-view-button.is-location:active {
  border: 1px solid #1d5f9f !important;
  background-color: #e5effa !important;
  background-image: none !important;
  color: #1d5f9f !important;
  box-shadow: none !important;
  filter: none !important;
  text-decoration: none !important;
}

.native-shell .provider-native-dialog:has(.provider-native-remission-body) {
  width: min(920px, calc(100vw - 40px));
  max-height: calc(100vh - 56px);
  overflow: auto;
  line-height: 1.35;
}

.native-shell .provider-native-dialog:has(.provider-native-remission-body) * {
  line-height: inherit;
}

.native-shell .provider-native-remission-header {
  min-height: 74px;
}

.native-shell .provider-native-remission-header div {
  display: grid;
  align-content: center;
  gap: 4px;
}

.native-shell .provider-native-remission-header small,
.native-shell .provider-native-remission-summary small {
  color: #536575;
  font-size: 9px;
  font-weight: 900;
}

.native-shell .provider-native-remission-header span,
.native-shell .provider-native-remission-summary span {
  color: #536763;
  font-size: 11px;
  line-height: 1.35;
}

.native-shell .provider-native-remission-header strong {
  font-size: 13px;
  line-height: 1.3;
}

.native-shell .provider-native-remission-header button {
  color: #172321;
  line-height: 1 !important;
}

.native-shell .provider-native-remission-body {
  padding: 14px 18px 20px;
}

.native-shell .provider-native-remission-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}

.native-shell .provider-native-remission-summary > div {
  display: grid;
  gap: 4px;
}

.native-shell .provider-native-remission-summary strong {
  line-height: 1.3;
}

.native-shell .provider-native-remission-status {
  padding: 5px 10px;
  border: 1px solid #60a878;
  border-radius: 4px;
  background: #dff8e7;
  color: #347b4a !important;
  font-size: 10px !important;
  font-weight: 800;
}

.native-shell .provider-native-dialog .provider-native-remission-data {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 0;
}

.native-shell .provider-native-dialog .provider-native-remission-data div {
  min-height: 46px;
  padding: 9px 12px;
}

.native-shell .provider-native-dialog .provider-native-remission-data dt {
  line-height: 1.2;
}

.native-shell .provider-native-dialog .provider-native-remission-data dd {
  margin-top: 4px;
  line-height: 1.25;
}

.native-shell .provider-native-remission-table-wrap {
  margin-top: 16px;
  overflow-x: auto;
}

.native-shell .provider-native-remission-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 11px;
}

.native-shell .provider-native-remission-table th,
.native-shell .provider-native-remission-table td {
  padding: 10px 9px;
  border-bottom: 1px solid #d4dfdc;
  line-height: 1.3;
  text-align: left;
  vertical-align: top;
}

.native-shell .provider-native-remission-table thead th {
  color: #566864;
  font-size: 9px;
  text-transform: uppercase;
}

.native-shell .provider-native-remission-table td small {
  display: block;
  margin-top: 3px;
  color: #667773;
  font-size: 9px;
  line-height: 1.25;
}

.native-shell .provider-native-remission-table tfoot th {
  text-align: left;
}

.native-shell .provider-native-remission-table tfoot td {
  font-weight: 900;
}

.native-shell .provider-native-remission-note {
  padding: 12px 0 !important;
  color: #536575;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.35 !important;
}

.native-shell .provider-native-remission-signatures {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 8px;
}

.native-shell .provider-native-remission-signatures span {
  padding-top: 30px;
  border-top: 1px solid #ccd9d6;
  color: #566864;
  font-size: 9px;
  font-weight: 800;
  text-align: center;
}

@media (max-width: 720px) {
  .native-shell .provider-native-dialog .provider-native-remission-data {
    grid-template-columns: 1fr;
  }
}

/* Barras superiores fijas con lectura clara sobre el contenido en scroll. */
.topbar,
.native-shell .topbar,
.native-shell .patient-assistant-native-topbar,
.native-shell .doctor-assistant-native-topbar,
.native-shell .orders-store-native-topbar,
.native-shell .messenger-native-topbar,
.native-shell .provider-native-topbar,
.native-shell .provider-chemo-native-topbar,
.native-shell .provider-import-native-topbar,
.native-shell .insurance-advisor-native-topbar {
  position: sticky;
  top: 0;
  z-index: 80;
  isolation: isolate;
  background: rgba(255, 255, 255, 0.82);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  backdrop-filter: blur(18px) saturate(150%);
  box-shadow: 0 16px 34px rgba(28, 70, 78, 0.09);
}

.topbar::after,
.native-shell .topbar::after,
.native-shell .patient-assistant-native-topbar::after,
.native-shell .doctor-assistant-native-topbar::after,
.native-shell .orders-store-native-topbar::after,
.native-shell .messenger-native-topbar::after,
.native-shell .provider-native-topbar::after,
.native-shell .provider-chemo-native-topbar::after,
.native-shell .provider-import-native-topbar::after,
.native-shell .insurance-advisor-native-topbar::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -22px;
  left: 0;
  height: 22px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(247, 251, 251, 0.7), rgba(247, 251, 251, 0));
}

.native-shell .topbar {
  margin: 0 auto;
  border-radius: 0 0 18px 18px;
}

.native-shell .patient-portal-topbar {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 90;
  width: 100%;
  margin: 0;
  border-width: 0 0 1px;
  border-radius: 0 0 22px 22px;
  background: rgba(255, 255, 255, 0.74);
  -webkit-backdrop-filter: blur(20px) saturate(155%);
  backdrop-filter: blur(20px) saturate(155%);
  box-shadow: 0 14px 32px rgba(29, 77, 86, 0.1);
}

.native-shell .patient-portal-menu {
  top: 70px;
}

.native-shell .patient-portal-layout {
  padding-top: 70px;
}

/* Mi Salud: detalle de parametros registrado desde Registro rapido. */
.native-shell .patient-health-view-switch {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  min-height: 62px;
  margin: 18px 28px 0;
  padding: 5px;
  border: 1px solid #bfe8e4;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 13px 28px rgba(17, 52, 70, .06);
  isolation: isolate;
  overflow: hidden;
}

.native-shell .patient-health-view-switch::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 5px;
  bottom: 5px;
  left: 5px;
  width: calc((100% - 15px) / 2);
  border-radius: 999px;
  background: linear-gradient(135deg, #20d1c2, #07aa9b);
  box-shadow: 0 14px 28px rgba(8, 169, 155, .22);
  transform: translateX(0);
  transition: transform 170ms cubic-bezier(.22, 1, .36, 1);
}

.native-shell .patient-health-view-switch[data-active-view="history"]::before {
  transform: translateX(calc(100% + 5px));
}

.native-shell .patient-health-view-switch button {
  position: relative;
  z-index: 1;
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #52647d;
  font: inherit;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
  transition: color 140ms ease;
}

.native-shell .patient-health-view-switch button.is-active {
  background: transparent;
  color: #fff;
  box-shadow: none;
}

.native-shell .patient-health-view-switch button:focus-visible {
  outline: 2px solid #006f66;
  outline-offset: -3px;
}

.native-shell .patient-register-view-switch {
  margin: 2px 0 24px;
}

.native-shell .patient-register-view-stage {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 154px;
  isolation: isolate;
}

.native-shell .patient-register-view-stage > [data-register-view-panel] {
  grid-area: 1 / 1;
  min-width: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 140ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 140ms;
}

.native-shell .patient-register-view-stage > [data-register-view-panel]:not(.is-active) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: clip;
}

.native-shell .patient-register-view-stage > [data-register-view-panel].is-active {
  position: relative;
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.native-shell .patient-register-view-panel .patient-register-history-selector {
  margin: 0;
}

.native-shell .patient-register-segmented.patient-health-parameter-switch {
  width: min(56%, 320px);
  min-height: 48px;
  margin: 0 auto 20px;
  padding: 3px;
}

.native-shell .patient-register-segmented.patient-health-parameter-switch button {
  min-height: 40px;
}

.native-shell .patient-register-segmented.patient-health-parameter-switch button.is-active {
  background: linear-gradient(135deg, #b6c0cc, #98a5b5) !important;
  box-shadow: 0 12px 24px rgba(77, 94, 116, .2) !important;
}

.native-shell .patient-health-view-stage {
  position: relative;
  display: grid;
  min-width: 0;
  isolation: isolate;
}

.native-shell .patient-health-view-stage > [data-health-view-panel] {
  grid-area: 1 / 1;
  min-width: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 140ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 140ms;
}

.native-shell .patient-health-view-stage > [data-health-view-panel]:not(.is-active) {
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
}

.native-shell .patient-health-view-stage > [data-health-view-panel].is-active {
  position: relative;
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.native-shell [data-health-view-panel][hidden] {
  display: none !important;
}

.native-shell .patient-health-clinical-history {
  padding: 24px 28px calc(var(--patient-bottom-nav-space, 106px) + 26px);
  background: #fff;
}

.native-shell .patient-health-clinical-history .patient-history-body {
  padding: 0;
}

.native-shell .patient-health-clinical-history .patient-history-filters {
  height: 158px;
  min-height: 158px;
  align-items: flex-start;
  padding: 2px 2px 20px;
}

.native-shell .patient-health-clinical-history .patient-history-filters button {
  flex-basis: 128px;
  width: 128px;
  height: 136px;
  min-height: 136px;
}

.native-shell .patient-health-clinical-history .patient-history-table-wrap {
  margin-top: 18px;
}

.native-shell [data-patient-view="wellness"] .patient-health-view-stage ~ .patient-health-filters,
.native-shell [data-patient-view="wellness"] .patient-health-view-stage ~ .patient-health-metrics,
.native-shell [data-patient-view="wellness"] .patient-health-view-stage ~ .patient-health-section,
.native-shell [data-patient-view="wellness"] .patient-health-view-stage ~ .patient-health-mobile-screen-layer {
  display: none !important;
}

.native-shell .patient-health-dashboard {
  display: grid;
  gap: 18px;
  padding: 24px 28px calc(var(--patient-bottom-nav-space, 106px) + 26px);
  background: #fff;
}

.native-shell .patient-health-parameter-head {
  display: grid;
  gap: 14px;
}

.native-shell .patient-health-parameter-head h2 {
  margin: 0;
  color: #082441;
  font-size: 26px;
  font-weight: 950;
  line-height: 1;
}

.native-shell .patient-health-parameter-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  width: min(68%, 440px);
  min-height: 54px;
  justify-self: center;
  padding: 4px;
  border: 1px solid #d5e0e7;
  border-radius: 999px;
  background: #fbfcfd;
  box-shadow: 0 12px 26px rgba(17, 52, 70, .07);
}

.native-shell .patient-health-parameter-switch button {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #687a8f;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.native-shell .patient-health-parameter-switch button.is-active {
  background: linear-gradient(135deg, #b6c0cc, #98a5b5);
  color: #fff;
  box-shadow: 0 12px 24px rgba(77, 94, 116, .2);
}

.native-shell .patient-history-view-switch {
  margin: 0 auto 18px;
}

.native-shell .patient-health-parameter-stage {
  --health-card-width: 128px;
  --health-card-height: 136px;
  display: grid;
  min-height: calc(var(--health-card-height) + 22px);
}

.native-shell .patient-health-parameter-block {
  grid-area: 1 / 1;
  min-width: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(5px);
  transition: opacity .24s ease, transform .24s ease, visibility .24s ease;
}

.native-shell .patient-health-parameter-block.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.native-shell .patient-health-parameter-carousel {
  display: flex;
  gap: 14px;
  min-height: calc(var(--health-card-height) + 20px);
  margin: 0 -2px;
  padding: 2px 2px 18px;
  overflow-x: auto;
  background: #fff;
  scroll-behavior: auto;
  scroll-snap-type: none;
  scrollbar-width: none;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
}

.native-shell .patient-health-parameter-carousel::-webkit-scrollbar {
  display: none;
}

.native-shell .patient-health-parameter-carousel.is-panning {
  cursor: grabbing;
  user-select: none;
}

.native-shell .patient-health-parameter-carousel button {
  --health-accent: #08a99c;
  --health-soft: #e8fbf8;
  position: relative;
  display: grid;
  flex: 0 0 var(--health-card-width);
  width: var(--health-card-width);
  min-height: var(--health-card-height);
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 18px 14px;
  border: 1px solid #d7e5ec;
  border-radius: 18px;
  background: #fff;
  color: #082441;
  box-shadow: 0 14px 28px rgba(18, 48, 64, .045);
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.native-shell .patient-health-parameter-carousel button:active {
  transform: scale(.985);
}

.native-shell .patient-health-parameter-carousel button.is-active {
  border-color: var(--health-accent);
  box-shadow: 0 16px 30px rgba(9, 169, 155, .12);
}

.native-shell .patient-health-parameter-carousel button.is-blue { --health-accent: #2f80ff; --health-soft: #eaf2ff; }
.native-shell .patient-health-parameter-carousel button.is-green { --health-accent: #12b981; --health-soft: #e7fbf2; }
.native-shell .patient-health-parameter-carousel button.is-orange { --health-accent: #ff9415; --health-soft: #fff3df; }
.native-shell .patient-health-parameter-carousel button.is-purple { --health-accent: #8f5cf6; --health-soft: #f1e9ff; }
.native-shell .patient-health-parameter-carousel button.is-rose { --health-accent: #f23f76; --health-soft: #fff0f5; }
.native-shell .patient-health-parameter-carousel button.is-red { --health-accent: #ef4444; --health-soft: #fff1f1; }
.native-shell .patient-health-parameter-carousel button.is-teal { --health-accent: #08a99c; --health-soft: #e8fbf8; }

.native-shell .patient-health-parameter-carousel button i {
  position: absolute;
  top: 10px;
  right: 10px;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #ccebea;
  border-radius: 50%;
  background: #f8fffe;
  color: #b9c5cf;
  font-size: 15px;
  font-style: normal;
  line-height: 1;
}

.native-shell .patient-health-parameter-carousel button i.is-favorite {
  border-color: rgba(245, 180, 0, .35);
  background: #fffbea;
  color: #ffc400;
}

.native-shell .patient-health-parameter-image,
.native-shell .patient-health-detail-image {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 17px;
  background: var(--health-soft, #e8fbf8);
  color: var(--health-accent, #08a99c);
}

.native-shell .patient-health-parameter-image img,
.native-shell .patient-health-detail-image img {
  display: block;
  width: 78%;
  height: 78%;
  object-fit: contain;
}

.native-shell .patient-health-parameter-image.is-glyph,
.native-shell .patient-health-detail-image.is-glyph {
  font-size: 27px;
  font-weight: 950;
}

.native-shell .patient-health-parameter-carousel button b {
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.08;
  text-align: center;
  text-overflow: ellipsis;
}

.native-shell .patient-health-empty {
  display: grid;
  min-width: 260px;
  min-height: var(--health-card-height);
  place-items: center;
  padding: 16px;
  border: 1px dashed #c9e5e4;
  border-radius: 18px;
  color: #63768b;
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}

.native-shell .patient-health-detail-card {
  display: grid;
  gap: 16px;
  padding: 20px;
  border: 1px solid #d8e7ec;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfefe 100%);
  box-shadow: 0 18px 38px rgba(20, 54, 70, .06);
}

.native-shell .patient-health-detail-header {
  display: flex;
  align-items: center;
  gap: 14px;
}

.native-shell .patient-health-detail-header small {
  display: block;
  margin-bottom: 4px;
  color: #08a99c;
  font-size: 12px;
  font-weight: 950;
}

.native-shell .patient-health-detail-header h2 {
  margin: 0;
  color: #082441;
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
}

.native-shell .patient-health-detail-icon {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  border-radius: 18px;
  background: #f5fffd;
}

.native-shell .patient-health-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.native-shell .patient-health-stat {
  display: grid;
  gap: 6px;
  min-height: 104px;
  align-content: center;
  justify-items: center;
  padding: 13px 10px;
  border: 1px solid #dfe9ee;
  border-radius: 16px;
  background: #fff;
  text-align: center;
}

.native-shell .patient-health-stat span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: #eefbfa;
  color: #159d91;
  font-size: 17px;
}

.native-shell .patient-health-stat small {
  color: #697b91;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.15;
}

.native-shell .patient-health-stat strong {
  color: #263754;
  font-size: 20px;
  font-weight: 950;
  line-height: 1;
}

.native-shell .patient-health-range-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3px;
  min-height: 44px;
  padding: 4px;
  border: 1px solid #e1eaee;
  border-radius: 999px;
  background: #fff;
}

.native-shell .patient-health-range-tabs button {
  min-width: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #687a90;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}

.native-shell .patient-health-range-tabs button.is-active {
  background: linear-gradient(135deg, #20d1c2, #07aa9b);
  color: #fff;
}

.native-shell .patient-health-date-range {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.native-shell .patient-health-date-range label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid #dfe9ee;
  border-radius: 14px;
  background: #fff;
}

.native-shell .patient-health-date-range span {
  color: #65768b;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .patient-health-date-range input {
  min-width: 0;
  border: 0;
  background: transparent;
  color: #263754;
  font-size: 13px;
  font-weight: 850;
  outline: 0;
}

.native-shell .patient-health-chart-card,
.native-shell .patient-health-history-card,
.native-shell .patient-health-insights-card {
  border: 1px solid #dfe9ee;
  border-radius: 16px;
  background: #fff;
}

.native-shell .patient-health-chart-card {
  display: grid;
  gap: 12px;
  padding: 16px 16px 12px;
}

.native-shell .patient-health-chart-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #65768b;
  font-size: 12px;
  font-weight: 850;
}

.native-shell .patient-health-chart-meta strong {
  color: #08a99c;
  font-weight: 950;
}

.native-shell .patient-health-chart {
  display: flex;
  height: 160px;
  align-items: end;
  gap: 7px;
  padding-top: 18px;
  border-bottom: 1px solid #e7eef1;
}

.native-shell .patient-health-chart-bar {
  display: grid;
  flex: 1 1 0;
  min-width: 16px;
  height: 100%;
  align-items: end;
  justify-items: center;
  gap: 7px;
}

.native-shell .patient-health-chart-bar i {
  display: block;
  width: 100%;
  max-width: 18px;
  height: var(--bar);
  min-height: 8px;
  border-radius: 8px 8px 2px 2px;
  background: linear-gradient(180deg, #7db8ff, #2f80ff);
  box-shadow: 0 8px 18px rgba(47, 128, 255, .18);
}

.native-shell .patient-health-chart-bar b {
  color: #66778c;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

.native-shell .patient-health-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 14px;
}

.native-shell .patient-health-history-card,
.native-shell .patient-health-insights-card {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 16px;
}

.native-shell .patient-health-history-card h3,
.native-shell .patient-health-insights-card h3 {
  margin: 0;
  color: #08a99c;
  font-size: 15px;
  font-weight: 950;
}

.native-shell .patient-health-history-row {
  display: grid;
  grid-template-columns: 22px minmax(0, .95fr) minmax(0, .8fr) auto;
  gap: 8px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid #edf3f5;
}

.native-shell .patient-health-history-row:last-child {
  border-bottom: 0;
}

.native-shell .patient-health-history-row span {
  color: #09a99b;
}

.native-shell .patient-health-history-row strong,
.native-shell .patient-health-history-row small {
  overflow: hidden;
  color: #566a84;
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .patient-health-history-row b {
  color: #126be9;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.native-shell .patient-health-insight-row {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 78px;
  padding: 12px;
  border: 1px solid #edf3f5;
  border-radius: 14px;
  background: #fbfefe;
}

.native-shell .patient-health-insight-row span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #e8fbf2;
  color: #11a875;
  font-size: 18px;
  font-weight: 950;
}

.native-shell .patient-health-insight-row strong {
  display: block;
  color: #263754;
  font-size: 14px;
  font-weight: 950;
}

.native-shell .patient-health-insight-row p {
  margin: 3px 0 0;
  color: #61738a;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.28;
}

@media (max-width: 1000px) {
  .native-shell .patient-health-view-switch {
    min-height: 56px;
    margin: 16px 14px 0;
  }

  .native-shell .patient-health-view-switch button {
    padding-inline: 10px;
    font-size: 13px;
  }

  .native-shell .patient-register-view-switch {
    margin: 2px 0 18px;
  }

  .native-shell .patient-register-view-stage {
    min-height: 138px;
  }

  .native-shell .patient-register-segmented.patient-health-parameter-switch {
    width: min(100%, 320px);
  }

  .native-shell .patient-health-dashboard {
    padding: 18px 14px calc(var(--patient-bottom-nav-space, 106px) + 18px);
  }

  .native-shell .patient-health-clinical-history {
    padding: 18px 14px calc(var(--patient-bottom-nav-space, 106px) + 18px);
  }

  .native-shell .patient-health-clinical-history .patient-history-filters {
    height: 128px;
    min-height: 128px;
    margin-inline: 0;
    padding: 2px 0 20px;
  }

  .native-shell .patient-health-clinical-history .patient-history-filters button {
    flex-basis: 112px;
    width: 112px;
    height: 106px;
    min-height: 106px;
  }

  .native-shell .patient-health-parameter-head h2 {
    font-size: 22px;
  }

  .native-shell .patient-health-parameter-stage {
    --health-card-width: 112px;
    --health-card-height: 106px;
  }

  .native-shell .patient-health-parameter-carousel {
    gap: 12px;
    margin-inline: -2px;
  }

  .native-shell .patient-health-parameter-carousel button {
    gap: 7px;
    padding: 14px 10px;
    border-radius: 14px;
  }

  .native-shell .patient-health-parameter-image {
    width: 42px;
    height: 42px;
    border-radius: 14px;
  }

  .native-shell .patient-health-parameter-carousel button b {
    font-size: 10px;
  }

  .native-shell .patient-health-detail-card {
    gap: 14px;
    padding: 16px 14px;
    border-radius: 18px;
  }

  .native-shell .patient-health-detail-header h2 {
    font-size: 22px;
  }

  .native-shell .patient-health-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .native-shell .patient-health-stat {
    min-height: 88px;
    padding: 11px 8px;
  }

  .native-shell .patient-health-stat strong {
    font-size: 18px;
  }

  .native-shell .patient-health-range-tabs {
    overflow-x: auto;
    grid-template-columns: repeat(5, minmax(76px, 1fr));
    scrollbar-width: none;
  }

  .native-shell .patient-health-range-tabs::-webkit-scrollbar {
    display: none;
  }

  .native-shell .patient-health-date-range,
  .native-shell .patient-health-detail-grid {
    grid-template-columns: 1fr;
  }

  .native-shell .patient-health-chart {
    height: 136px;
    gap: 5px;
  }

  .native-shell .patient-health-history-row {
    grid-template-columns: 20px minmax(0, 1fr) auto;
  }

  .native-shell .patient-health-history-row small {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .native-shell .patient-health-view-switch::before,
  .native-shell .patient-health-view-switch button,
  .native-shell .patient-health-view-stage > [data-health-view-panel],
  .native-shell .patient-register-view-stage > [data-register-view-panel] {
    transition-duration: .01ms !important;
  }
}

.native-shell .drsam-table-filter-hidden {
  display: none !important;
}

.native-shell .drsam-table-filter-cell {
  white-space: nowrap;
}

.native-shell .drsam-table-filter-head {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.native-shell .drsam-table-filter-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.native-shell button.drsam-table-filter-button {
  display: grid;
  width: 22px;
  min-width: 22px;
  height: 22px;
  min-height: 22px;
  place-items: center;
  padding: 0;
  border: 1px solid #bdd1e5;
  border-radius: 5px;
  background: #fff;
  color: #0f2a45;
  box-shadow: none;
  cursor: pointer;
}

.native-shell button.drsam-table-filter-button::before {
  content: "";
  width: 0;
  height: 0;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  border-top: 6px solid currentColor;
  transform: translateY(1px);
}

.native-shell button.drsam-table-filter-button:hover,
.native-shell button.drsam-table-filter-button.is-active {
  border-color: #2f6dd8;
  background: #f4f8ff;
  color: #2156be;
}

.native-shell .drsam-table-filter-menu {
  position: fixed;
  z-index: 2000;
  display: grid;
  gap: 7px;
  max-height: min(330px, calc(100vh - 24px));
  box-sizing: border-box;
  padding: 7px;
  border: 1px solid #b7c7dc;
  border-radius: 4px;
  background: #fff;
  color: #26374c;
  box-shadow: 0 12px 32px rgba(31, 55, 83, .18);
  font: inherit;
  font-size: 12px;
}

.native-shell .drsam-table-filter-search {
  width: 100%;
  min-height: 30px;
  box-sizing: border-box;
  padding: 0 8px;
  border: 1px solid #2f6df6;
  border-radius: 2px;
  background: #fff;
  color: #26374c;
  font: inherit;
  font-size: 12px;
  outline: 0;
}

.native-shell .drsam-table-filter-options {
  display: grid;
  max-height: 210px;
  overflow-y: auto;
  padding: 2px 0;
  border-bottom: 1px solid #e7edf4;
}

.native-shell .drsam-table-filter-option {
  display: flex;
  min-height: 24px;
  align-items: center;
  gap: 7px;
  padding: 2px 3px;
  color: #34455f;
  font-size: 12px;
  line-height: 1.25;
}

.native-shell .drsam-table-filter-option input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #315ed4;
}

.native-shell .drsam-table-filter-option span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.native-shell .drsam-table-filter-footer {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  padding-top: 2px;
}

.native-shell .drsam-table-filter-footer button {
  min-width: 72px;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #9aa9bd;
  border-radius: 2px;
  background: #fff;
  color: #082441;
  box-shadow: none;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.native-shell .drsam-table-filter-footer button:first-child {
  border-color: #082441;
  color: #07182d;
}

/* Insurance advisor workflows extend the existing homologated shell. */
.native-shell .insurance-advisor-native-heading-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.native-shell .insurance-advisor-native-heading-actions > a,
.native-shell .insurance-advisor-native-sync-bulk > summary {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 0 13px;
  border: 1px solid #b8d7dd;
  border-radius: 7px;
  background: #fff;
  color: #007d79;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.native-shell .insurance-advisor-native-heading-actions > a {
  border-color: #008a7f;
  background: #008a7f;
  color: #fff;
}

.native-shell .insurance-advisor-native-sync-bulk {
  position: relative;
}

.native-shell .insurance-advisor-native-sync-bulk > summary {
  list-style: none;
}

.native-shell .insurance-advisor-native-sync-bulk > summary::-webkit-details-marker {
  display: none;
}

.native-shell .insurance-advisor-native-sync-bulk form {
  position: absolute;
  z-index: 40;
  top: calc(100% + 7px);
  right: 0;
  display: grid;
  width: 250px;
  padding: 7px;
  border: 1px solid #c8d8dd;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(17, 45, 59, .16);
}

.native-shell .insurance-advisor-native-sync-bulk form button {
  min-height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: 5px;
  background: #fff;
  color: #193047;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.native-shell .insurance-advisor-native-sync-bulk form button:hover {
  background: #eaf8f5;
  color: #007d79;
}

.native-shell .insurance-advisor-native-table {
  min-width: 1260px;
}

.native-shell .insurance-advisor-native-row-actions button {
  white-space: nowrap;
}

.native-shell .insurance-advisor-native-sync-cell {
  display: flex;
  min-width: 105px;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.native-shell .insurance-advisor-native-sync-cell form,
.native-shell .insurance-advisor-native-policy-cards form,
.native-shell .insurance-advisor-native-claim-actions form {
  margin: 0;
}

.native-shell .insurance-advisor-native-sync-cell button {
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid #b8d7dd;
  border-radius: 6px;
  background: #fff;
  color: #007d79;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .insurance-advisor-native-detail-actions .is-wide {
  grid-column: 1 / -1;
}

.native-shell .insurance-advisor-native-claim-actions form,
.native-shell .insurance-advisor-native-claim-actions form button {
  width: 100%;
  height: 100%;
}

.native-shell .insurance-advisor-native-document-upload {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto;
  gap: 7px;
  align-items: center;
}

.native-shell .insurance-advisor-native-document-upload button,
.native-shell .insurance-advisor-native-quotation-form > button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #008a7f;
  border-radius: 6px;
  background: #008a7f;
  color: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .insurance-advisor-native-quotations {
  margin-top: 16px;
  border-top: 1px solid #d5e1e5;
  border-bottom: 1px solid #d5e1e5;
  background: #fff;
}

.native-shell .insurance-advisor-native-quotations > summary {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 0 14px;
  color: #082441;
  list-style: none;
  cursor: pointer;
}

.native-shell .insurance-advisor-native-quotations > summary::-webkit-details-marker {
  display: none;
}

.native-shell .insurance-advisor-native-quotations > summary span {
  font-size: 14px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-quotations > summary small {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-quotations > div {
  padding: 0 14px 14px;
}

.native-shell .insurance-advisor-native-quotations table {
  width: 100%;
  margin-bottom: 14px;
  border-collapse: collapse;
}

.native-shell .insurance-advisor-native-quotations th,
.native-shell .insurance-advisor-native-quotations td {
  padding: 10px;
  border: 1px solid #d5e1e5;
  color: #193047;
  font-size: 12px;
  text-align: left;
}

.native-shell .insurance-advisor-native-quotation-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid #e0e8eb;
}

.native-shell .insurance-advisor-native-quotation-form label {
  display: grid;
  gap: 6px;
  color: #536a81;
  font-size: 11px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-quotation-form input,
.native-shell .insurance-advisor-native-quotation-form select {
  width: 100%;
  min-height: 38px;
  padding: 7px 9px;
  border: 1px solid #c9d9e1;
  border-radius: 6px;
  background: #fff;
  color: #102d47;
  font: inherit;
  font-size: 12px;
}

.native-shell .insurance-advisor-native-quotation-form > button {
  align-self: end;
}

.native-shell .insurance-advisor-native-claim-notes {
  display: grid;
  gap: 7px;
  margin-top: 16px;
}

.native-shell .insurance-advisor-native-claim-notes p {
  margin: 0 !important;
  padding: 10px 12px;
  border-left: 3px solid #9ccdc7;
  background: #f5f9fa;
}

.native-shell .insurance-advisor-native-assistant {
  display: grid;
  grid-template-rows: auto minmax(260px, 1fr) auto;
  width: min(760px, 100%);
  max-height: calc(100vh - 40px);
  overflow: hidden;
  border: 1px solid #cad9df;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(18, 38, 48, .22);
}

.native-shell .insurance-advisor-native-assistant > header {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 18px;
  padding: 16px 18px;
  border-bottom: 1px solid #d9e3e7;
}

.native-shell .insurance-advisor-native-assistant-identity {
  display: flex;
  align-items: center;
  gap: 11px;
}

.native-shell .insurance-advisor-native-assistant-identity > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 8px;
  background: #008a7f;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.native-shell .insurance-advisor-native-assistant h2,
.native-shell .insurance-advisor-native-assistant small,
.native-shell .insurance-advisor-native-assistant strong {
  display: block;
  margin: 0;
}

.native-shell .insurance-advisor-native-assistant h2 {
  color: #102d47;
  font-size: 18px;
}

.native-shell .insurance-advisor-native-assistant small {
  color: #65788e;
  font-size: 11px;
  font-weight: 800;
}

.native-shell .insurance-advisor-native-assistant > header > button {
  width: 38px;
  height: 38px;
  border: 1px solid #c9d9e1;
  border-radius: 8px;
  background: #fff;
  color: #102d47;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .insurance-advisor-native-assistant-messages {
  display: flex;
  min-height: 300px;
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
  padding: 18px;
  background: #f7fafb;
}

.native-shell .insurance-advisor-native-assistant-messages p {
  width: fit-content;
  max-width: 78%;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #d5e1e5;
  border-radius: 7px;
  background: #fff;
  color: #193047;
  font-size: 13px;
  line-height: 1.45;
}

.native-shell .insurance-advisor-native-assistant-messages p.is-user {
  align-self: flex-end;
  border-color: #9fd6cf;
  background: #eaf8f5;
}

.native-shell .insurance-advisor-native-assistant-form {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 8px;
  padding: 12px;
  border-top: 1px solid #d9e3e7;
  background: #fff;
}

.native-shell .insurance-advisor-native-assistant-form input {
  min-width: 0;
  min-height: 40px;
  padding: 8px 11px;
  border: 1px solid #c9d9e1;
  border-radius: 7px;
  color: #102d47;
  font: inherit;
}

.native-shell .insurance-advisor-native-assistant-form button {
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid #b8d7dd;
  border-radius: 7px;
  background: #fff;
  color: #007d79;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.native-shell .insurance-advisor-native-assistant-form button[type="submit"] {
  border-color: #008a7f;
  background: #008a7f;
  color: #fff;
}

@media (max-width: 900px) {
  .native-shell .insurance-advisor-native-heading {
    align-items: flex-start;
  }

  .native-shell .insurance-advisor-native-heading-actions,
  .native-shell .insurance-advisor-native-claim-actions {
    flex-wrap: wrap;
  }

  .native-shell .insurance-advisor-native-claim-actions,
  .native-shell .insurance-advisor-native-quotation-form {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .native-shell .insurance-advisor-native-heading-actions,
  .native-shell .insurance-advisor-native-heading-actions > a,
  .native-shell .insurance-advisor-native-sync-bulk,
  .native-shell .insurance-advisor-native-sync-bulk > summary {
    width: 100%;
  }

  .native-shell .insurance-advisor-native-heading-actions > a,
  .native-shell .insurance-advisor-native-sync-bulk > summary {
    justify-content: center;
  }

  .native-shell .insurance-advisor-native-sync-bulk form {
    right: auto;
    left: 0;
    width: min(280px, calc(100vw - 48px));
  }

  .native-shell .insurance-advisor-native-claim-actions,
  .native-shell .insurance-advisor-native-quotation-form,
  .native-shell .insurance-advisor-native-assistant-form {
    grid-template-columns: 1fr;
  }

  .native-shell .insurance-advisor-native-assistant > header {
    grid-template-columns: 1fr auto;
  }

  .native-shell .insurance-advisor-native-assistant > header > div:nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .native-shell .insurance-advisor-native-assistant-messages p {
    max-width: 92%;
  }
}

@media (max-width: 760px) {
  .native-shell.insurance-advisor-native-body {
    overflow-x: hidden;
  }

  .native-shell .insurance-advisor-native-screen {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .insurance-advisor-native-sidebar {
    position: static;
    min-height: 0;
    padding: 12px;
    border-right: 0;
    border-bottom: 1px solid #d5e1e5;
  }

  .native-shell .insurance-advisor-native-brand {
    margin-bottom: 10px;
  }

  .native-shell .insurance-advisor-native-menu {
    display: flex;
    max-width: 100%;
    gap: 7px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: thin;
  }

  .native-shell .insurance-advisor-native-menu a {
    min-width: max-content;
    flex: 0 0 auto;
  }

  .native-shell .insurance-advisor-native-back {
    display: block;
    width: 100%;
    margin-top: 8px;
  }

  .native-shell .insurance-advisor-native-workspace {
    width: 100%;
    min-width: 0;
  }

  .native-shell .insurance-advisor-native-topbar,
  .native-shell .insurance-advisor-native-hero,
  .native-shell .insurance-advisor-native-claims-title,
  .native-shell .insurance-advisor-native-claim-summary {
    align-items: stretch;
    flex-direction: column;
  }

  .native-shell .insurance-advisor-native-topbar {
    padding: 12px 16px;
  }

  .native-shell .insurance-advisor-native-actions,
  .native-shell .insurance-advisor-native-hero-actions {
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .native-shell .insurance-advisor-native-hero {
    min-height: 0;
    padding: 24px 16px;
  }

  .native-shell .insurance-advisor-native-hero h1 {
    max-width: 100%;
    font-size: 40px;
    line-height: 1.02;
  }

  .native-shell .insurance-advisor-native-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    padding: 12px 16px;
  }

  .native-shell .insurance-advisor-native-metrics article {
    min-width: 0;
    padding: 16px 14px;
  }

  .native-shell .insurance-advisor-native-tabs {
    width: calc(100% - 32px);
    max-width: calc(100% - 32px);
    overflow-x: auto;
    margin: 2px 16px 12px;
  }

  .native-shell .insurance-advisor-native-tabs a {
    flex: 0 0 auto;
  }

  .native-shell .insurance-advisor-native-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 0 16px;
  }

  .native-shell .insurance-advisor-native-heading,
  .native-shell .insurance-advisor-native-claims-title {
    align-items: stretch;
    flex-direction: column;
  }

  .native-shell .insurance-advisor-native-heading-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .native-shell .insurance-advisor-native-filters {
    grid-template-columns: minmax(0, 1fr);
    padding: 14px;
  }

  .native-shell .insurance-advisor-native-detail-grid,
  .native-shell .insurance-advisor-native-claim-meta,
  .native-shell .insurance-advisor-native-claim-steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .native-shell .insurance-advisor-native-claims-title {
    width: calc(100% - 32px);
  }

  .native-shell .insurance-advisor-native-claim-columns {
    display: none;
  }

  .native-shell .insurance-advisor-native-claim-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 14px;
  }

  .native-shell .insurance-advisor-native-claim-summary > strong {
    width: 100%;
    height: auto;
    min-height: 44px;
    flex-basis: auto;
    border-radius: 7px;
  }

  .native-shell .insurance-advisor-native-documents,
  .native-shell .insurance-advisor-native-quotations > div {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }

  .native-shell .insurance-advisor-native-documents {
    white-space: nowrap;
  }

  .native-shell .insurance-advisor-renewal-backdrop {
    padding: 10px;
  }
}

@media (max-width: 420px) {
  .native-shell .insurance-advisor-native-claim-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Formato medico de solicitud de mezcla oncologica. */
body.doctor-oncology-modal-open {
  overflow: hidden;
}

.native-shell .doctor-oncology-request-modal {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: grid;
  place-items: center;
  padding: 18px;
}

.native-shell .doctor-oncology-request-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(21, 32, 47, 0.48);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.native-shell .doctor-oncology-request-card {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100vw - 36px));
  max-height: calc(100vh - 36px);
  overflow: hidden;
  border: 1px solid #d6e0e6;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(18, 38, 57, 0.28);
}

.native-shell .doctor-oncology-request-card > form {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  max-height: calc(100vh - 36px);
}

.native-shell .doctor-oncology-request-header {
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 24px;
  border-bottom: 1px solid #dce4e9;
  background: #fff;
}

.native-shell .doctor-oncology-request-header h1 {
  margin: 0;
  color: #101d35;
  font-size: 20px;
  line-height: 1.2;
}

.native-shell .doctor-oncology-request-header > a {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border-radius: 6px;
  color: #14233d;
  text-decoration: none;
}

.native-shell .doctor-oncology-request-header > a:hover,
.native-shell .doctor-oncology-request-header > a:focus-visible {
  background: #f1f6f7;
  outline: 2px solid #7fd3c7;
  outline-offset: 1px;
}

.native-shell .doctor-oncology-request-header svg,
.native-shell .doctor-oncology-form-section h2 svg,
.native-shell .doctor-oncology-request-footer svg,
.native-shell .doctor-oncology-upload b svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .doctor-oncology-request-body {
  min-height: 0;
  overflow-y: auto;
  padding: 0 24px;
  background: #fff;
  scrollbar-color: #a8b8c1 #f3f6f7;
  scrollbar-width: thin;
}

.native-shell .doctor-oncology-request-errors {
  display: grid;
  gap: 3px;
  margin-top: 18px;
  padding: 11px 13px;
  border: 1px solid #e7a7aa;
  border-radius: 7px;
  background: #fff5f5;
  color: #a52931;
  font-size: 12px;
}

.native-shell .doctor-oncology-form-section {
  padding: 20px 0 22px;
  border-bottom: 1px solid #dde5ea;
}

.native-shell .doctor-oncology-form-section:last-child {
  border-bottom: 0;
}

.native-shell .doctor-oncology-form-section h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  color: #111f38;
  font-size: 14px;
  line-height: 1.25;
}

.native-shell .doctor-oncology-form-section h2 svg {
  color: #00a486;
}

.native-shell .doctor-oncology-general-grid,
.native-shell .doctor-oncology-patient-grid {
  display: grid;
  gap: 16px 22px;
}

.native-shell .doctor-oncology-general-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.native-shell .doctor-oncology-patient-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.native-shell .doctor-oncology-request-body label,
.native-shell .doctor-oncology-final-grid > div > label {
  display: grid;
  min-width: 0;
  gap: 8px;
  color: #12213a;
  font-size: 11px;
  font-weight: 800;
}

.native-shell .doctor-oncology-request-body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.native-shell .doctor-oncology-request-body select,
.native-shell .doctor-oncology-request-body textarea {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #cfd9e2;
  border-radius: 6px;
  background: #fff;
  color: #15233d;
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  outline: none;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}

.native-shell .doctor-oncology-request-body input:focus,
.native-shell .doctor-oncology-request-body select:focus,
.native-shell .doctor-oncology-request-body textarea:focus {
  border-color: #13a995;
  box-shadow: 0 0 0 3px rgba(19, 169, 149, 0.12);
}

.native-shell .doctor-oncology-request-body input::placeholder,
.native-shell .doctor-oncology-request-body textarea::placeholder {
  color: #7b89a0;
  opacity: 1;
}

.native-shell .doctor-oncology-request-body textarea {
  min-height: 80px;
  resize: vertical;
}

.native-shell .doctor-oncology-patient-grid .is-patient-name {
  grid-column: span 5;
}

.native-shell .doctor-oncology-sex-field {
  position: relative;
  display: flex;
  min-width: 0;
  grid-column: span 4;
  align-items: end;
  gap: 22px;
  margin: 0;
  padding: 0 0 11px;
  border: 0;
}

.native-shell .doctor-oncology-sex-field legend {
  position: absolute;
  align-self: start;
  padding: 0;
  color: #12213a;
  font-size: 11px;
  font-weight: 800;
}

.native-shell .doctor-oncology-sex-field label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-top: 27px;
  font-weight: 500;
}

.native-shell .doctor-oncology-sex-field input,
.native-shell .doctor-oncology-medication-table input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #00a486;
}

.native-shell .doctor-oncology-patient-grid .is-age {
  grid-column: span 3;
}

.native-shell .doctor-oncology-patient-grid .is-birth-date {
  grid-column: span 4;
}

.native-shell .doctor-oncology-patient-grid .is-weight,
.native-shell .doctor-oncology-patient-grid .is-height {
  grid-column: span 2;
}

.native-shell .doctor-oncology-patient-grid .is-surface {
  grid-column: span 4;
}

.native-shell .doctor-oncology-patient-grid .is-diagnosis {
  position: relative;
  grid-column: 1 / -1;
}

.native-shell .doctor-oncology-patient-grid .is-diagnosis small,
.native-shell .doctor-oncology-observations small {
  position: absolute;
  right: 11px;
  bottom: 9px;
  color: #74839a;
  font-size: 10px;
  font-weight: 500;
}

.native-shell .doctor-oncology-input-unit {
  position: relative;
  display: block;
  min-width: 0;
}

.native-shell .doctor-oncology-input-unit > input {
  padding-right: 34px !important;
}

.native-shell .doctor-oncology-input-unit > em {
  position: absolute;
  right: 10px;
  bottom: 50%;
  color: #75839a;
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
  transform: translateY(50%);
  pointer-events: none;
}

.native-shell .doctor-oncology-medication-scroll {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid #d7e0e7;
  border-radius: 6px;
  scrollbar-color: #a8b8c1 #f3f6f7;
  scrollbar-width: thin;
}

.native-shell .doctor-oncology-medication-table {
  width: 100%;
  min-width: 860px;
  table-layout: fixed;
  border-collapse: collapse;
  background: #fff;
}

.native-shell .doctor-oncology-medication-table col.is-number { width: 34px; }
.native-shell .doctor-oncology-medication-table col.is-medicine { width: 174px; }
.native-shell .doctor-oncology-medication-table col.is-dose { width: 68px; }
.native-shell .doctor-oncology-medication-table col.is-check { width: 43px; }
.native-shell .doctor-oncology-medication-table col.is-volume { width: 84px; }
.native-shell .doctor-oncology-medication-table col.is-bolus { width: 74px; }
.native-shell .doctor-oncology-medication-table col.is-time { width: 76px; }
.native-shell .doctor-oncology-medication-table col.is-date { width: 50px; }
.native-shell .doctor-oncology-medication-table col.is-action { width: 52px; }

.native-shell .doctor-oncology-medication-table th,
.native-shell .doctor-oncology-medication-table td {
  height: 58px;
  padding: 7px 6px;
  border-right: 1px solid #dce4ea;
  border-bottom: 1px solid #dce4ea;
  color: #17253e;
  font-size: 9px;
  text-align: center;
  vertical-align: middle;
}

.native-shell .doctor-oncology-medication-table thead th {
  height: auto;
  padding: 8px 5px;
  background: #f8fafc;
  font-weight: 850;
  line-height: 1.35;
}

.native-shell .doctor-oncology-medication-table tbody th {
  background: #fbfcfd;
  font-size: 11px;
}

.native-shell .doctor-oncology-medication-table th:last-child,
.native-shell .doctor-oncology-medication-table td:last-child {
  border-right: 0;
}

.native-shell .doctor-oncology-medication-table tbody tr:last-child th,
.native-shell .doctor-oncology-medication-table tbody tr:last-child td {
  border-bottom: 0;
}

.native-shell .doctor-oncology-medication-table input:not([type="checkbox"]):not([type="date"]) {
  min-height: 37px;
  padding: 6px 7px;
  font-size: 9px;
}

.native-shell .doctor-oncology-medication-table .doctor-oncology-input-unit > input {
  padding-right: 25px !important;
}

.native-shell .doctor-oncology-medication-table .doctor-oncology-input-unit > em {
  right: 6px;
  font-size: 8px;
}

.native-shell .doctor-oncology-delivery-date {
  width: 38px !important;
  min-height: 38px !important;
  padding: 6px !important;
  color: transparent !important;
  cursor: pointer;
}

.native-shell .doctor-oncology-delivery-date::-webkit-calendar-picker-indicator {
  width: 18px;
  height: 18px;
  margin: auto;
  cursor: pointer;
  opacity: 0.9;
}

.native-shell .doctor-oncology-remove-medication {
  display: grid;
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  margin: auto;
  place-items: center;
  padding: 0;
  border: 1px solid #e8aaa5 !important;
  border-radius: 6px;
  background: #fff !important;
  color: #b42318 !important;
  box-shadow: none !important;
  cursor: pointer;
}

.native-shell .doctor-oncology-remove-medication:hover,
.native-shell .doctor-oncology-remove-medication:focus-visible {
  border-color: #c9362b !important;
  background: #fff4f3 !important;
  outline: 2px solid rgba(180, 35, 24, 0.16);
  outline-offset: 2px;
}

.native-shell .doctor-oncology-remove-medication[hidden] {
  display: none;
}

.native-shell .doctor-oncology-remove-medication svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .doctor-oncology-medication-actions {
  display: flex;
  justify-content: flex-start;
  margin-top: 12px;
}

.native-shell .doctor-oncology-medication-actions button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid #00a486;
  border-radius: 6px;
  background: #fff;
  color: #008d76;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}

.native-shell .doctor-oncology-medication-actions button:hover,
.native-shell .doctor-oncology-medication-actions button:focus-visible {
  background: #eefbf8;
  outline: 2px solid rgba(0, 164, 134, 0.18);
  outline-offset: 2px;
}

.native-shell .doctor-oncology-medication-actions button[hidden] {
  display: none;
}

.native-shell .doctor-oncology-medication-actions svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.native-shell .doctor-oncology-observations {
  position: relative;
  margin-top: 17px;
}

.native-shell .doctor-oncology-observations textarea {
  padding-bottom: 24px;
}

.native-shell .doctor-oncology-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 0;
}

.native-shell .doctor-oncology-final-grid > div {
  min-width: 0;
  padding-right: 24px;
}

.native-shell .doctor-oncology-final-grid > .doctor-oncology-responsible {
  padding-right: 0;
  padding-left: 24px;
  border-left: 1px solid #dde5ea;
}

.native-shell .doctor-oncology-glossary {
  display: grid;
  gap: 6px;
  margin: 12px 0 0;
  padding: 14px;
  border: 1px solid #cde9e3;
  border-radius: 6px;
  background: #f1fbf8;
  color: #25354d;
  font-size: 10px;
}

.native-shell .doctor-oncology-glossary div {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 7px;
}

.native-shell .doctor-oncology-glossary dt {
  font-weight: 900;
}

.native-shell .doctor-oncology-glossary dd {
  margin: 0;
}

.native-shell .doctor-oncology-upload {
  margin-top: 14px;
}

.native-shell .doctor-oncology-upload > input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.native-shell .doctor-oncology-upload > b {
  display: grid;
  min-height: 112px;
  place-items: center;
  align-content: center;
  gap: 5px;
  padding: 14px;
  border: 1px dashed #b8c8d3;
  border-radius: 6px;
  background: #fbfcfd;
  color: #00a486;
  cursor: pointer;
  text-align: center;
}

.native-shell .doctor-oncology-upload > b strong,
.native-shell .doctor-oncology-upload > b small {
  display: block;
  overflow-wrap: anywhere;
}

.native-shell .doctor-oncology-upload > b strong {
  font-size: 11px;
}

.native-shell .doctor-oncology-upload > b small {
  color: #74839a;
  font-size: 9px;
  font-weight: 500;
}

.native-shell .doctor-oncology-upload:focus-within > b {
  border-color: #13a995;
  box-shadow: 0 0 0 3px rgba(19, 169, 149, 0.12);
}

.native-shell .doctor-oncology-upload.is-received > b {
  cursor: default;
}

.native-shell .doctor-oncology-request-modal.is-operational input:not([type="checkbox"]):not([type="radio"])[readonly],
.native-shell .doctor-oncology-request-modal.is-operational select:disabled,
.native-shell .doctor-oncology-request-modal.is-operational textarea[readonly] {
  background: #f7f9fa;
  color: #26384b;
  opacity: 1;
}

.native-shell .doctor-oncology-request-footer {
  display: grid;
  min-height: 70px;
  grid-template-columns: minmax(0, 1fr) 150px 180px;
  align-items: center;
  gap: 14px;
  padding: 13px 24px;
  border-top: 1px solid #dce4e9;
  background: #f5faff;
}

.native-shell .doctor-oncology-request-footer p {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #62728a;
  font-size: 11px;
}

.native-shell .doctor-oncology-request-footer p svg {
  color: #2384ff;
}

.native-shell .doctor-oncology-request-footer a,
.native-shell .doctor-oncology-request-footer button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  border: 1px solid #00a486;
  border-radius: 6px;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}

.native-shell .doctor-oncology-request-footer a {
  background: #fff;
  color: #008d76;
}

.native-shell .doctor-oncology-request-footer button {
  background: #008d76;
  color: #fff;
  box-shadow: 0 10px 22px rgba(0, 141, 118, 0.18);
}

.native-shell .doctor-oncology-request-footer a:hover,
.native-shell .doctor-oncology-request-footer a:focus-visible,
.native-shell .doctor-oncology-request-footer button:hover,
.native-shell .doctor-oncology-request-footer button:focus-visible {
  border-color: #006e5d;
  outline: 2px solid rgba(0, 164, 134, 0.22);
  outline-offset: 2px;
}

.native-shell .doctor-oncology-section-actions {
  display: grid;
  min-height: 70px;
  grid-template-columns: minmax(0, 1fr) 150px 180px;
  align-items: center;
  gap: 14px;
  margin: 0 -24px;
  padding: 13px 24px;
  border-bottom: 1px solid #dce4e9;
  background: #f5faff;
}

.native-shell .doctor-oncology-section-actions p,
.native-shell .doctor-oncology-assignment-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #62728a;
  font-size: 11px;
}

.native-shell .doctor-oncology-section-actions svg,
.native-shell .doctor-oncology-assignment-notice svg {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.native-shell .doctor-oncology-section-actions p svg,
.native-shell .doctor-oncology-assignment-notice svg {
  color: #2384ff;
}

.native-shell .doctor-oncology-section-actions a,
.native-shell .doctor-oncology-section-actions button,
.native-shell .doctor-oncology-assignment-actions a,
.native-shell .doctor-oncology-assignment-actions button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  border: 1px solid #00a486;
  border-radius: 6px;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}

.native-shell .doctor-oncology-section-actions a,
.native-shell .doctor-oncology-assignment-actions a,
.native-shell .doctor-oncology-assignment-actions button:first-child {
  background: #fff;
  color: #008d76;
}

.native-shell .doctor-oncology-section-actions button,
.native-shell .doctor-oncology-assignment-actions button:last-child {
  background: #008d76;
  color: #fff;
  box-shadow: 0 10px 22px rgba(0, 141, 118, 0.18);
}

.native-shell .doctor-oncology-assignment-section {
  padding-top: 24px;
}

.native-shell .doctor-oncology-assignment-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px 22px;
}

.native-shell .doctor-oncology-assignment-grid .is-room-notes {
  position: relative;
  grid-column: 1 / -1;
}

.native-shell .doctor-oncology-assignment-grid .is-room-notes textarea {
  padding-bottom: 24px;
}

.native-shell .doctor-oncology-assignment-grid .is-room-notes small {
  position: absolute;
  right: 11px;
  bottom: 9px;
  color: #74839a;
  font-size: 10px;
  font-weight: 500;
}

.native-shell .doctor-oncology-assignment-notice {
  margin-top: 16px;
  padding: 13px 14px;
  border: 1px solid #d6e8f7;
  border-radius: 6px;
  background: #f4f9ff;
}

.native-shell .doctor-oncology-assignment-actions {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 14px;
}

.native-shell .doctor-oncology-assignment-actions a,
.native-shell .doctor-oncology-assignment-actions button {
  min-width: 190px;
}

.native-shell .doctor-oncology-section-actions a:hover,
.native-shell .doctor-oncology-section-actions a:focus-visible,
.native-shell .doctor-oncology-section-actions button:hover,
.native-shell .doctor-oncology-section-actions button:focus-visible,
.native-shell .doctor-oncology-assignment-actions a:hover,
.native-shell .doctor-oncology-assignment-actions a:focus-visible,
.native-shell .doctor-oncology-assignment-actions button:hover,
.native-shell .doctor-oncology-assignment-actions button:focus-visible {
  border-color: #006e5d;
  outline: 2px solid rgba(0, 164, 134, 0.22);
  outline-offset: 2px;
}

@media (max-width: 860px) {
  .native-shell .doctor-oncology-general-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .native-shell .doctor-oncology-patient-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .native-shell .doctor-oncology-patient-grid .is-patient-name,
  .native-shell .doctor-oncology-sex-field,
  .native-shell .doctor-oncology-patient-grid .is-age,
  .native-shell .doctor-oncology-patient-grid .is-birth-date,
  .native-shell .doctor-oncology-patient-grid .is-weight,
  .native-shell .doctor-oncology-patient-grid .is-height,
  .native-shell .doctor-oncology-patient-grid .is-surface {
    grid-column: span 1;
  }

  .native-shell .doctor-oncology-patient-grid .is-diagnosis {
    grid-column: 1 / -1;
  }

  .native-shell .doctor-oncology-final-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .native-shell .doctor-oncology-final-grid > div,
  .native-shell .doctor-oncology-final-grid > .doctor-oncology-responsible {
    padding: 0;
    border-left: 0;
  }

  .native-shell .doctor-oncology-final-grid > .doctor-oncology-responsible {
    padding-top: 22px;
    border-top: 1px solid #dde5ea;
  }

  .native-shell .doctor-oncology-assignment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .native-shell .doctor-oncology-request-modal {
    padding: 0;
  }

  .native-shell .doctor-oncology-request-card,
  .native-shell .doctor-oncology-request-card > form {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .native-shell .doctor-oncology-request-header,
  .native-shell .doctor-oncology-request-footer {
    padding-right: 14px;
    padding-left: 14px;
  }

  .native-shell .doctor-oncology-request-header h1 {
    font-size: 17px;
  }

  .native-shell .doctor-oncology-request-body {
    padding: 0 14px;
  }

  .native-shell .doctor-oncology-general-grid,
  .native-shell .doctor-oncology-patient-grid {
    grid-template-columns: 1fr;
  }

  .native-shell .doctor-oncology-patient-grid .is-diagnosis {
    grid-column: auto;
  }

  .native-shell .doctor-oncology-sex-field {
    min-height: 65px;
  }

  .native-shell .doctor-oncology-request-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .native-shell .doctor-oncology-request-footer p {
    grid-column: 1 / -1;
  }

  .native-shell .doctor-oncology-section-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-right: -14px;
    margin-left: -14px;
    padding-right: 14px;
    padding-left: 14px;
  }

  .native-shell .doctor-oncology-section-actions p {
    grid-column: 1 / -1;
  }

  .native-shell .doctor-oncology-assignment-grid {
    grid-template-columns: 1fr;
  }

  .native-shell .doctor-oncology-assignment-grid .is-room-notes {
    grid-column: auto;
  }

  .native-shell .doctor-oncology-assignment-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .native-shell .doctor-oncology-assignment-actions a,
  .native-shell .doctor-oncology-assignment-actions button {
    width: 100%;
    min-width: 0;
  }
}
