/* Configuracoes institucionais da clinica. Mantido isolado para nao afetar as demais telas. */
.if-clinic-config-menu-entry {
  position: fixed;
  z-index: 2147483000;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid #cce5e9;
  border-radius: 10px;
  background: #ffffff;
  color: #0d455d;
  box-shadow: 0 12px 28px rgba(17, 61, 78, .18);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

/* Modelos clínicos: anamnese, prontuários e perguntas configuráveis */
.if-clinic-config-nav [data-clinic-section="documentos"] .if-clinic-nav-icon {
  background: #e9f4ff;
  color: #3183c8;
}

.if-clinic-document-templates {
  display: grid;
  gap: 16px;
}

.if-clinic-document-templates[hidden],
.if-document-template-registry[hidden],
.if-document-template-editor[hidden],
.if-document-question-fields [hidden] {
  display: none !important;
}

.if-clinic-document-template-heading,
.if-document-template-registry-heading,
.if-document-template-editor > header,
.if-document-question-builder > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.if-clinic-document-template-heading {
  min-height: 132px;
  padding: 24px 27px;
  overflow: hidden;
  border: 1px solid #d7e8eb;
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 8%, rgba(255, 255, 255, .18) 0 70px, transparent 71px),
    linear-gradient(120deg, #0d5874, #0c9eaa);
  color: #fff;
  box-shadow: 0 14px 34px rgba(14, 90, 111, .13);
}

.if-clinic-document-template-heading .if-clinic-config-eyebrow,
.if-clinic-document-template-heading p {
  color: rgba(255, 255, 255, .78);
}

.if-clinic-document-template-heading h2 {
  margin: 3px 0 6px;
  color: #fff;
  font-size: 23px;
}

.if-clinic-document-template-heading p {
  max-width: 720px;
  margin: 0;
  font-size: 11px;
  line-height: 1.5;
}

.if-clinic-document-template-heading > span {
  padding: 9px 12px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 999px;
  background: rgba(255, 255, 255, .13);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.if-document-template-registry,
.if-document-template-editor {
  padding: 21px;
  border: 1px solid #dce8ea;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(25, 70, 86, .075);
}

.if-document-template-registry-heading > div > span,
.if-document-template-editor > header span,
.if-document-question-builder > header span {
  color: #15939a;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .09em;
}

.if-document-template-registry-heading h3,
.if-document-template-editor > header h3,
.if-document-question-builder > header h4 {
  margin: 3px 0;
  color: #173e4e;
  font-size: 17px;
}

.if-document-template-registry-heading p,
.if-document-template-editor > header p,
.if-document-question-builder > header p {
  margin: 0;
  color: #788e97;
  font-size: 9px;
  line-height: 1.45;
}

.if-document-template-registry-heading button,
.if-document-question-builder > header button,
.if-document-template-editor > footer .is-save {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 14px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, #11aa9d, #087e91);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(8, 126, 145, .18);
}

.if-document-template-registry-heading button:disabled,
.if-document-question-builder > header button:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.if-document-template-registry-heading button b,
.if-document-question-builder > header button b {
  font-size: 16px;
}

.if-document-template-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.if-document-template-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 13px;
  min-height: 84px;
  padding: 13px 15px;
  border: 1px solid #dde9eb;
  border-radius: 15px;
  background: linear-gradient(145deg, #fff, #f9fcfc);
}

.if-document-template-card.is-inactive {
  background: #f7f9fa;
  opacity: .72;
}

.if-document-template-card-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #e6f7f6;
  color: #0b9795;
  font-size: 19px;
  font-weight: 900;
}

.if-document-template-card small {
  display: block;
  color: #7e929a;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.if-document-template-card strong {
  display: block;
  margin-top: 2px;
  color: #214857;
  font-size: 11px;
}

.if-document-template-card p {
  margin: 3px 0 0;
  color: #84979e;
  font-size: 8px;
}

.if-document-template-card-meta {
  min-width: 92px;
  display: grid;
  justify-items: end;
  gap: 5px;
}

.if-document-template-card-meta b {
  color: #65808a;
  font-size: 8px;
}

.if-document-template-status-switch.status-switch {
  width: 72px;
  min-width: 72px;
  min-height: 25px;
  font-size: 8px;
}

.if-document-template-status-switch.status-switch.is-active .status-switch-knob {
  transform: translateX(46px);
}

.if-document-template-card > button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #cfe1e4;
  border-radius: 10px;
  background: #fff;
  color: #167d88;
  cursor: pointer;
  font: inherit;
  font-size: 8px;
  font-weight: 900;
}

.if-document-template-note,
.if-document-template-empty {
  margin-top: 15px;
  padding: 12px 14px;
  border: 1px solid #d9e8ea;
  border-radius: 13px;
  background: #f4fafb;
}

.if-document-template-note strong,
.if-document-template-note span,
.if-document-template-empty b,
.if-document-template-empty span {
  display: block;
}

.if-document-template-note strong,
.if-document-template-empty b {
  color: #315966;
  font-size: 9px;
}

.if-document-template-note span,
.if-document-template-empty span {
  margin-top: 3px;
  color: #7d929a;
  font-size: 8px;
  line-height: 1.45;
}

.if-document-template-editor > header {
  padding-bottom: 16px;
  border-bottom: 1px solid #e5edef;
}

.if-document-template-editor > header > button {
  width: 38px;
  height: 38px;
  border: 1px solid #dce8ea;
  border-radius: 50%;
  background: #f7fafb;
  color: #6f858e;
  cursor: pointer;
  font-size: 22px;
}

.if-document-template-main-fields,
.if-document-question-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.if-document-template-main-fields {
  padding: 18px 0;
}

.if-document-template-main-fields label,
.if-document-question-fields label {
  display: grid;
  align-content: start;
  gap: 6px;
}

.if-document-template-main-fields label.is-wide,
.if-document-question-fields label.is-wide {
  grid-column: 1 / -1;
}

.if-document-template-main-fields label > span,
.if-document-question-fields label > span {
  color: #58727d;
  font-size: 8px;
  font-weight: 900;
}

.if-document-template-main-fields input,
.if-document-template-main-fields select,
.if-document-question-fields input[type="text"],
.if-document-question-fields select,
.if-document-question-fields textarea {
  width: 100%;
  min-height: 39px;
  padding: 0 11px;
  border: 1px solid #d8e6e9;
  border-radius: 11px;
  outline: none;
  background: #fbfdfd;
  color: #1c4250;
  font: inherit;
  font-size: 9px;
}

.if-document-question-fields textarea {
  min-height: 84px;
  padding: 10px 11px;
  resize: vertical;
  line-height: 1.45;
}

.if-document-template-main-fields :focus,
.if-document-question-fields :focus {
  border-color: #55b9bc;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(32, 164, 164, .10);
}

.if-document-question-builder {
  padding: 17px;
  border: 1px solid #dce9eb;
  border-radius: 16px;
  background: #f7fafb;
}

.if-document-question-list {
  display: grid;
  gap: 12px;
  margin-top: 15px;
}

.if-document-question-item {
  overflow: hidden;
  border: 1px solid #dbe7e9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(25, 73, 87, .055);
}

.if-document-question-item > header {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border-bottom: 1px solid #e7eef0;
  background: #f8fbfc;
}

.if-document-question-item > header > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #e5f7f5;
  color: #098f8d;
  font-size: 9px;
  font-weight: 950;
}

.if-document-question-item > header small,
.if-document-question-item > header strong {
  display: block;
}

.if-document-question-item > header small {
  color: #8a9ca3;
  font-size: 6px;
  font-weight: 900;
}

.if-document-question-item > header strong {
  margin-top: 2px;
  color: #3f626e;
  font-size: 9px;
}

.if-document-question-order-actions {
  display: flex;
  gap: 5px;
}

.if-document-question-order-actions button {
  width: 29px;
  height: 29px;
  border: 1px solid #d6e4e7;
  border-radius: 8px;
  background: #fff;
  color: #50717b;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
}

.if-document-question-order-actions button.is-remove {
  color: #d95364;
}

.if-document-question-order-actions button:disabled {
  cursor: not-allowed;
  opacity: .35;
}

.if-document-question-fields {
  padding: 13px;
}

.if-document-question-required {
  min-height: 39px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 9px !important;
  padding: 7px 10px;
  border: 1px solid #dce8ea;
  border-radius: 11px;
  background: #f8fbfc;
}

.if-document-question-required input {
  width: 17px;
  height: 17px;
  accent-color: #0aa294;
}

.if-document-question-required b,
.if-document-question-required small {
  display: block;
}

.if-document-question-required b {
  color: #43636e;
  font-size: 8px;
}

.if-document-question-required small {
  margin-top: 1px;
  color: #87999f;
  font-size: 7px;
}

.if-document-template-editor > footer {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding-top: 17px;
}

.if-document-template-editor > footer button {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #d4e3e6;
  border-radius: 11px;
  background: #f7fafb;
  color: #58727c;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
}

.if-document-template-editor > footer .is-status {
  border-color: #f0d8aa;
  background: #fff9eb;
  color: #a36c14;
}

@media (max-width: 760px) {
  .if-clinic-document-template-heading,
  .if-document-template-registry-heading,
  .if-document-question-builder > header {
    align-items: stretch;
    flex-direction: column;
  }

  .if-document-template-card {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .if-document-template-card-meta,
  .if-document-template-card > button {
    grid-column: 2;
    justify-self: start;
  }

  .if-document-template-card-meta {
    justify-items: start;
  }

  .if-document-template-main-fields,
  .if-document-question-fields {
    grid-template-columns: 1fr;
  }

  .if-document-template-main-fields label.is-wide,
  .if-document-question-fields label.is-wide {
    grid-column: auto;
  }
}

.if-clinic-config-menu-entry:hover {
  background: #effcff;
  border-color: #12b8d1;
}

.if-clinic-config-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483001;
  overflow: auto;
  background: #f4fbfc;
  color: #102b43;
}

.if-clinic-config-topbar {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 76px;
  padding: 12px clamp(20px, 4vw, 66px);
  border-bottom: 1px solid #d4e7ea;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 3px 16px rgba(20, 69, 79, .08);
}

.if-clinic-config-global-menu {
  position: sticky;
  top: 0;
  z-index: 5;
  min-height: 74px;
  border-bottom: 1px solid #d6e7eb;
  background: #fff;
}
.if-clinic-config-global-menu .clinic-home-menu {
  width: 100%;
  min-height: 74px;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}
.if-clinic-config-global-menu + .if-clinic-config-topbar { position: relative; top: auto; z-index: 1; }

.if-clinic-config-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}

.if-clinic-config-brand-mark {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 12px;
  background: #e3f8f5;
  color: #009c86;
  font-size: 20px;
  font-weight: 900;
}

.if-clinic-config-eyebrow,
.if-clinic-config-section-kicker {
  margin: 0 0 3px;
  color: #008ebd;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.if-clinic-config-brand h1 {
  overflow: hidden;
  margin: 0;
  color: #102b43;
  font-size: 19px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.if-clinic-config-close,
.if-clinic-config-save,
.if-clinic-config-cancel,
.if-clinic-logo-upload {
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.if-clinic-config-close {
  padding: 11px 16px;
  border-color: #ccdde2;
  background: #f5f9fa;
  color: #4f6d7c;
}

.if-clinic-config-close:hover { background: #edf4f5; transform: translateY(-1px); }

.if-clinic-config-content {
  width: min(1180px, calc(100% - 36px));
  margin: 30px auto 56px;
}

.if-clinic-config-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px;
  border: 1px solid #d5eaed;
  border-radius: 16px;
  background: linear-gradient(100deg, #e9fbfa, #f7fdff 68%);
}

.if-clinic-config-intro h2 {
  margin: 0;
  color: #102b43;
  font-size: clamp(22px, 3vw, 30px);
}

.if-clinic-config-intro p:not(.if-clinic-config-eyebrow) {
  max-width: 660px;
  margin: 8px 0 0;
  color: #577082;
  line-height: 1.5;
}

.if-clinic-config-id {
  flex: none;
  padding: 9px 12px;
  border-radius: 999px;
  background: #ffffff;
  color: #007e9c;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 2px 7px rgba(16, 74, 89, .08);
}

.if-clinic-config-form {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.if-clinic-config-card {
  padding: 24px;
  border: 1px solid #d9e9ed;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 25px rgba(25, 79, 91, .05);
}

.if-clinic-config-card h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 5px;
  color: #12334b;
  font-size: 18px;
}

.if-clinic-config-card > p {
  margin: 0 0 20px;
  color: #688092;
  font-size: 13px;
}

.if-clinic-logo-row {
  display: grid;
  grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
}

.if-clinic-logo-preview {
  display: grid;
  width: 172px;
  height: 172px;
  place-items: center;
  overflow: hidden;
  border: 2px dashed #b8dfe3;
  border-radius: 18px;
  background: #f8feff;
  color: #5d7786;
  font-weight: 800;
  text-align: center;
}

.if-clinic-logo-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.if-clinic-logo-upload {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 0 15px;
  background: #179dcc;
  color: #fff;
}

.if-clinic-logo-upload:hover { background: #087da7; }
.if-clinic-logo-upload input { display: none; }
.if-clinic-logo-help { margin-top: 11px; color: #60798a; font-size: 12px; }

.if-clinic-fields {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}

.if-clinic-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.if-clinic-field label {
  color: #324d62;
  font-size: 12px;
  font-weight: 900;
}

.if-clinic-field input,
.if-clinic-field select {
  width: 100%;
  min-height: 43px;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #bfd9df;
  border-radius: 9px;
  outline: none;
  background: #fff;
  color: #14344b;
  font: inherit;
}

.if-clinic-field select option {
  background: #fff;
  color: #14344b;
}

.if-clinic-field input:focus,
.if-clinic-field select:focus {
  border-color: #10bed0;
  box-shadow: 0 0 0 3px rgba(16, 190, 208, .16);
}

.if-col-12 { grid-column: span 12; }
.if-col-8 { grid-column: span 8; }
.if-col-7 { grid-column: span 7; }
.if-col-6 { grid-column: span 6; }
.if-col-5 { grid-column: span 5; }
.if-col-4 { grid-column: span 4; }
.if-col-3 { grid-column: span 3; }
.if-col-2 { grid-column: span 2; }

.if-clinic-config-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 4px;
}

.if-clinic-config-readonly-note {
  margin-right: auto;
  padding: 10px 13px;
  border: 1px solid #bce5ea;
  border-radius: 999px;
  background: #eefafb;
  color: #087d8a;
  font-size: .78rem;
  font-weight: 800;
}

.if-clinic-config-cancel {
  min-height: 44px;
  padding: 0 16px;
  border-color: #ccdde2;
  background: #f5f9fa;
  color: #4f6d7c;
}

.if-clinic-config-save {
  min-height: 44px;
  padding: 0 18px;
  border-color: #087f92;
  background: linear-gradient(135deg, #08779b, #0badaa);
  color: #fff;
  box-shadow: 0 9px 20px rgba(7, 133, 151, .22);
}

.if-clinic-config-save:hover,
.if-clinic-config-cancel:hover { transform: translateY(-1px); }
.if-clinic-config-save:hover { box-shadow: 0 12px 24px rgba(7, 133, 151, .27); }
.if-clinic-config-cancel:hover { background: #edf4f5; }
.if-clinic-config-save:focus-visible,
.if-clinic-config-cancel:focus-visible,
.if-clinic-config-close:focus-visible { outline: 3px solid rgba(13, 170, 171, .24); outline-offset: 3px; }

.if-clinic-config-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 3;
  padding: 14px 17px;
  border-radius: 11px;
  background: #087b51;
  color: #fff;
  box-shadow: 0 12px 25px rgba(6, 73, 50, .22);
  font-weight: 800;
}

.if-clinic-config-toast.is-global { z-index: 10000; }

.if-clinic-card-custom-logo {
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  object-fit: contain;
  border: 1px solid #cce9e7;
  border-radius: 12px;
  background: #fff;
}

@media (max-width: 760px) {
  .if-clinic-config-content { width: min(100% - 22px, 1180px); margin-top: 14px; }
  .if-clinic-config-topbar { padding: 10px 12px; }
  .if-clinic-config-brand-mark { display: none; }
  .if-clinic-config-intro, .if-clinic-logo-row { grid-template-columns: 1fr; }
  .if-clinic-config-intro { align-items: flex-start; }
  .if-clinic-logo-preview { width: 140px; height: 140px; }
  .if-col-12, .if-col-8, .if-col-7, .if-col-6, .if-col-5, .if-col-4, .if-col-3, .if-col-2 { grid-column: span 12; }
}

/* Central de configurações da clínica */
.if-clinic-config-topbar {
  min-height: 72px;
  padding: 12px 26px;
  border-bottom: 1px solid #d7e8ec;
  background: linear-gradient(105deg, rgba(255,255,255,.98), rgba(239,251,252,.98));
}

.if-clinic-config-top-actions { display: flex; align-items: center; gap: 14px; }
.if-clinic-config-top-clinic { color: #577184; font-size: 13px; font-weight: 800; }

.if-clinic-config-layout {
  display: grid;
  grid-template-columns: 272px minmax(0, 1fr);
  min-height: calc(100vh - 74px);
}

.if-clinic-config-sidebar {
  position: sticky;
  top: 74px;
  display: flex;
  flex-direction: column;
  align-self: start;
  height: calc(100vh - 74px);
  padding: 24px 16px 18px;
  border-right: 1px solid #d8e8ec;
  background: #fff;
  box-sizing: border-box;
}

.if-clinic-config-sidebar-heading { padding: 0 11px 20px; }
.if-clinic-config-sidebar-heading span { display: block; color: #8294a2; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.if-clinic-config-sidebar-heading strong { display: block; margin-top: 3px; color: #12334b; font-size: 22px; }
.if-clinic-config-nav { display: grid; gap: 7px; }
.if-clinic-config-nav button {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  width: 100%;
  min-height: 62px;
  padding: 9px 11px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: #4e687a;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: .18s ease;
}
.if-clinic-config-nav button:hover { border-color: #d4eaed; background: #f2fbfb; transform: translateX(2px); }
.if-clinic-config-nav button.is-active { border-color: #a9e2df; background: linear-gradient(100deg, #e5f9f6, #f4fcfc); color: #087b77; box-shadow: inset 4px 0 #12ad9b; }
.if-clinic-config-nav button > span:last-child { min-width: 0; }
.if-clinic-config-nav strong, .if-clinic-config-nav small { display: block; }
.if-clinic-config-nav strong { overflow: hidden; font-size: 13px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.if-clinic-config-nav small { margin-top: 3px; color: #8295a2; font-size: 10px; }
.if-clinic-nav-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; background: #edf5f6; color: #168bad; font-size: 17px; font-weight: 900; }
.if-clinic-config-nav button.is-active .if-clinic-nav-icon { background: #fff; color: #0b9b8c; box-shadow: 0 4px 12px rgba(15,118,112,.1); }
.if-clinic-nav-icon.is-whatsapp { color: #159b65; font-size: 11px; }
.if-clinic-config-sidebar-note { margin-top: auto; padding: 14px; border-radius: 12px; background: #f0f8f9; color: #688190; }
.if-clinic-config-sidebar-note strong, .if-clinic-config-sidebar-note span { display: block; }
.if-clinic-config-sidebar-note strong { color: #078a8d; font-size: 12px; }
.if-clinic-config-sidebar-note span { margin-top: 4px; font-size: 10px; line-height: 1.4; }

.if-clinic-config-layout .if-clinic-config-content { width: min(1120px, calc(100% - 48px)); margin: 26px auto 52px; }
.if-clinic-config-form[hidden], .if-clinic-config-intro[hidden], .if-clinic-config-placeholder[hidden], .if-clinic-operation-config[hidden], .if-clinic-patient-config[hidden], .if-clinic-ortho-config[hidden], .if-clinic-contract-config[hidden], .if-clinic-contract-panel[hidden], .if-clinic-map-signature-config[hidden] { display: none !important; }
.if-clinic-config-placeholder { min-height: 430px; padding: 54px 30px; border: 1px solid #d7e9ec; border-radius: 18px; background: radial-gradient(circle at 80% 20%, #e6faf8, transparent 35%), #fff; box-shadow: 0 12px 30px rgba(22,72,85,.06); text-align: center; }
.if-clinic-placeholder-icon { display: block; width: 68px; height: 68px; margin: 42px auto 20px; border-radius: 20px; object-fit: cover; box-shadow: 0 14px 28px rgba(17,151,160,.22); }
.if-clinic-config-placeholder h2 { margin: 4px 0 8px; color: #12334b; font-size: 28px; }
.if-clinic-config-placeholder > p:not(.if-clinic-config-eyebrow) { margin: 0 auto; max-width: 530px; color: #5d7586; font-size: 15px; }
.if-clinic-config-placeholder > span { display: inline-block; margin-top: 22px; padding: 8px 12px; border-radius: 999px; background: #eef8f7; color: #148076; font-size: 11px; font-weight: 800; }

.if-clinic-map-signature-config { display: grid; gap: 18px; }
.if-clinic-map-signature-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 28px;
  border: 1px solid #d7e9ec;
  border-radius: 18px;
  background: radial-gradient(circle at 90% 0, rgba(33, 196, 191, .14), transparent 35%), #fff;
  box-shadow: 0 12px 30px rgba(22,72,85,.06);
}
.if-clinic-map-signature-heading h2 { margin: 5px 0 6px; color: #12334b; font-size: 28px; }
.if-clinic-map-signature-heading p:not(.if-clinic-config-eyebrow) { max-width: 680px; margin: 0; color: #607986; font-size: 13px; line-height: 1.55; }
.if-clinic-map-signature-heading > span { padding: 8px 12px; border-radius: 999px; background: #e6f8f5; color: #07867e; font-size: 10px; font-weight: 950; letter-spacing: .08em; }

.if-clinic-map-signature-toggle {
  display: flex;
  gap: 13px;
  align-items: flex-start;
  padding: 20px 22px;
  border: 1px solid #bfe4df;
  border-radius: 16px;
  background: linear-gradient(135deg, #effbf8, #f8fdfc);
  cursor: pointer;
}
.if-clinic-map-signature-toggle > i { width: 23px; height: 23px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 7px; background: #079d8d; color: #fff; font-size: 13px; font-style: normal; font-weight: 950; }
.if-clinic-map-signature-toggle span { display: grid; gap: 4px; }
.if-clinic-map-signature-toggle strong { color: #144558; font-size: 14px; }
.if-clinic-map-signature-toggle small { color: #66808c; font-size: 11px; line-height: 1.5; }

.if-clinic-map-signature-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 22px; border: 1px solid #d9e8eb; border-radius: 18px; background: #fff; }
.if-clinic-patient-signature-rules { grid-template-columns: 1fr; }
.if-clinic-patient-signature-rules .if-clinic-operation-rule { margin-top: 2px; }
.if-clinic-map-signature-methods-heading { grid-column: 1 / -1; }
.if-clinic-map-signature-methods-heading > span { color: #07989a; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.if-clinic-map-signature-methods-heading h3 { margin: 5px 0 4px; color: #183b4d; font-size: 19px; }
.if-clinic-map-signature-methods-heading p { margin: 0; color: #68808b; font-size: 11px; line-height: 1.55; }

.if-clinic-clinical-signature-models { display: grid; gap: 16px; padding: 22px; border: 1px solid #d9e8eb; border-radius: 18px; background: #fff; }
.if-clinic-clinical-signature-list { display: grid; gap: 10px; }
.if-clinic-clinical-signature-row {
  display: grid;
  grid-template-columns: 42px minmax(190px, 1fr) minmax(270px, 390px);
  gap: 14px;
  align-items: center;
  padding: 15px;
  border: 1px solid #dbe9ec;
  border-radius: 14px;
  background: linear-gradient(135deg, #fbfdfd, #f5fafb);
}
.if-clinic-clinical-signature-row.is-inactive { opacity: .66; background: #f6f8f8; }
.if-clinic-clinical-signature-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #e5f7f5; color: #078e89; font-size: 20px; font-weight: 950; }
.if-clinic-clinical-signature-copy { display: grid; gap: 3px; min-width: 0; }
.if-clinic-clinical-signature-copy small { color: #089195; font-size: 8px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.if-clinic-clinical-signature-copy strong { overflow: hidden; color: #173e50; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.if-clinic-clinical-signature-copy span { color: #78909a; font-size: 9px; }
.if-clinic-clinical-signature-row > label { display: grid; gap: 6px; }
.if-clinic-clinical-signature-row > label > span { color: #55717d; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.if-clinic-clinical-signature-row select {
  width: 100%;
  min-height: 42px;
  padding: 0 36px 0 12px;
  border: 1px solid #cfe1e5;
  border-radius: 11px;
  background: #fff;
  color: #16475a;
  font-size: 11px;
  font-weight: 800;
}
.if-clinic-clinical-signature-row select:focus { border-color: #16a9a4; outline: 3px solid rgba(22, 169, 164, .12); }
.if-clinic-clinical-signature-row select:disabled { cursor: not-allowed; opacity: .62; }
.if-clinic-clinical-signature-empty { display: grid; gap: 5px; padding: 19px; border: 1px dashed #cbdfe3; border-radius: 13px; background: #f8fbfc; text-align: center; }
.if-clinic-clinical-signature-empty strong { color: #315465; font-size: 12px; }
.if-clinic-clinical-signature-empty span { color: #748a94; font-size: 10px; }

.if-clinic-map-signature-method { position: relative; cursor: pointer; }
.if-clinic-map-signature-method > input { position: absolute; opacity: 0; pointer-events: none; }
.if-clinic-map-signature-method > span { min-height: 150px; display: grid; align-content: start; gap: 7px; padding: 19px; box-sizing: border-box; border: 2px solid #e0eaec; border-radius: 16px; background: #f9fbfc; transition: .18s ease; }
.if-clinic-map-signature-method > span > b { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #e8f1f3; color: #3e6777; font-size: 18px; }
.if-clinic-map-signature-method strong { color: #1a4051; font-size: 14px; }
.if-clinic-map-signature-method small { color: #6f858e; font-size: 10px; line-height: 1.5; }
.if-clinic-map-signature-method > input:checked + span { border-color: #21b5ae; background: linear-gradient(135deg, #eaf9f6, #f4fbff); box-shadow: 0 9px 22px rgba(19, 143, 139, .1); }
.if-clinic-map-signature-method > input:checked + span > b { background: #0b9d94; color: #fff; }
.if-clinic-map-signature-method > input:disabled + span, .if-clinic-map-signature-toggle input:disabled + span { opacity: .58; cursor: not-allowed; }

.if-clinic-map-signature-note { display: flex; gap: 12px; align-items: center; padding: 15px 18px; border: 1px solid #d8e8f3; border-radius: 14px; background: #f2f8fd; }
.if-clinic-map-signature-note strong { color: #176184; font-size: 11px; white-space: nowrap; }
.if-clinic-map-signature-note span { color: #617a89; font-size: 10px; line-height: 1.5; }
.if-clinic-map-signature-actions { display: flex; justify-content: flex-end; }
.if-clinic-map-signature-actions button { min-height: 44px; padding: 0 18px; border: 1px solid #087f92; border-radius: 12px; background: linear-gradient(135deg, #08779b, #0badaa); color: #fff; cursor: pointer; font-size: 11px; font-weight: 950; box-shadow: 0 9px 20px rgba(7, 133, 151, .22); }
.if-clinic-map-signature-actions button:disabled { cursor: not-allowed; opacity: .55; }

.if-clinic-operation-config { display: grid; gap: 18px; }
.if-clinic-operation-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 28px;
  border: 1px solid #d7e9ec;
  border-radius: 18px;
  background: radial-gradient(circle at 90% 0, rgba(29, 178, 199, .15), transparent 36%), #fff;
  box-shadow: 0 12px 30px rgba(22,72,85,.06);
}
.if-clinic-operation-heading h2 { margin: 5px 0 6px; color: #12334b; font-size: 28px; }
.if-clinic-operation-heading p:not(.if-clinic-config-eyebrow) { max-width: 690px; margin: 0; color: #607986; font-size: 13px; line-height: 1.55; }
.if-clinic-operation-heading > span { padding: 8px 12px; border-radius: 999px; background: #e8f8fb; color: #087f9c; font-size: 10px; font-weight: 950; letter-spacing: .08em; }
.if-clinic-operation-card { display: grid; gap: 18px; padding: 24px; border: 1px solid #d9e8eb; border-radius: 18px; background: #fff; }
.if-clinic-operation-card-heading > span { color: #07989a; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.if-clinic-operation-card-heading h3 { margin: 5px 0 4px; color: #183b4d; font-size: 19px; }
.if-clinic-operation-card-heading p { margin: 0; color: #6b818d; font-size: 11px; }
.if-clinic-operation-rule { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 14px; align-items: center; padding: 20px 22px; border: 2px solid #dce9eb; border-radius: 16px; background: #f9fbfc; cursor: pointer; transition: .18s ease; }
.if-clinic-operation-rule:hover { border-color: #b8dfe2; background: #f5fbfc; }
.if-clinic-operation-rule > input { position: absolute; opacity: 0; pointer-events: none; }
.if-clinic-operation-switch { position: relative; width: 46px; height: 26px; border-radius: 999px; background: #aab9c0; box-shadow: inset 0 1px 3px rgba(27, 58, 70, .18); transition: .18s ease; }
.if-clinic-operation-switch::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(28, 67, 80, .25); transition: .18s ease; }
.if-clinic-operation-rule > input:checked + .if-clinic-operation-switch { background: #079d8d; }
.if-clinic-operation-rule > input:checked + .if-clinic-operation-switch::after { transform: translateX(20px); }
.if-clinic-operation-rule:has(> input:checked) { border-color: #61cfc4; background: linear-gradient(135deg, #eaf9f6, #f6fcfd); box-shadow: 0 9px 22px rgba(19, 143, 139, .09); }
.if-clinic-operation-rule:has(> input:focus-visible) { outline: 3px solid rgba(16, 190, 208, .2); outline-offset: 2px; }
.if-clinic-operation-rule-copy { display: grid; gap: 5px; }
.if-clinic-operation-rule-copy strong { color: #164457; font-size: 14px; }
.if-clinic-operation-rule-copy small { color: #647e8b; font-size: 11px; line-height: 1.55; }
.if-clinic-operation-rule:has(> input:disabled) { cursor: not-allowed; opacity: .6; }
.if-clinic-operation-note { display: flex; gap: 12px; align-items: center; padding: 15px 18px; border: 1px solid #f0dfb3; border-radius: 14px; background: #fffaf0; }
.if-clinic-operation-note strong { color: #966514; font-size: 11px; white-space: nowrap; }
.if-clinic-operation-note span { color: #766c59; font-size: 10px; line-height: 1.5; }
.if-clinic-operation-actions { display: flex; justify-content: flex-end; }
.if-clinic-operation-actions button { min-height: 44px; padding: 0 18px; border: 1px solid #087f92; border-radius: 12px; background: linear-gradient(135deg, #08779b, #0badaa); color: #fff; cursor: pointer; font-size: 11px; font-weight: 950; box-shadow: 0 9px 20px rgba(7, 133, 151, .22); }
.if-clinic-operation-actions button:disabled { cursor: not-allowed; opacity: .55; }

.if-clinic-patient-config { display: grid; gap: 18px; }
.if-clinic-patient-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 25px 26px;
  border: 1px solid #d9e8eb;
  border-radius: 18px;
  background: radial-gradient(circle at 90% 0, rgba(8, 125, 176, .16), transparent 36%), #fff;
  box-shadow: 0 12px 30px rgba(22,72,85,.06);
}
.if-clinic-patient-heading h2 { margin: 5px 0 6px; color: #12334b; font-size: 28px; }
.if-clinic-patient-heading p:not(.if-clinic-config-eyebrow) { max-width: 690px; margin: 0; color: #607986; font-size: 13px; line-height: 1.55; }
.if-clinic-patient-heading > span { padding: 8px 12px; border-radius: 999px; background: #e8f5fb; color: #087aa2; font-size: 10px; font-weight: 950; letter-spacing: .08em; }
.if-clinic-patient-card { display: grid; gap: 20px; padding: 24px; border: 1px solid #d9e8eb; border-radius: 18px; background: #fff; }
.if-clinic-patient-card-heading > span { color: #087ca1; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.if-clinic-patient-card-heading h3 { margin: 5px 0 4px; color: #183b4d; font-size: 19px; }
.if-clinic-patient-card-heading p { margin: 0; color: #6b818d; font-size: 11px; }
.if-clinic-record-mode-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.if-clinic-record-mode-options label { position: relative; cursor: pointer; }
.if-clinic-record-mode-options input { position: absolute; opacity: 0; pointer-events: none; }
.if-clinic-record-mode-options label > span { min-height: 104px; display: grid; align-content: center; gap: 7px; padding: 18px 20px; border: 2px solid #dce8ec; border-radius: 15px; background: #f8fbfc; transition: .18s ease; }
.if-clinic-record-mode-options b { color: #214b5d; font-size: 14px; }
.if-clinic-record-mode-options small { color: #687f8b; font-size: 10px; line-height: 1.5; }
.if-clinic-record-mode-options label:hover > span { border-color: #b9dce8; background: #f3fafc; }
.if-clinic-record-mode-options input:checked + span { border-color: #18ad9d; background: linear-gradient(135deg, #eaf9f6, #f6fcfd); box-shadow: 0 9px 22px rgba(19, 143, 139, .1); }
.if-clinic-record-mode-options input:checked + span b { color: #087968; }
.if-clinic-record-mode-options input:focus-visible + span { outline: 3px solid rgba(16, 190, 208, .2); outline-offset: 2px; }
.if-clinic-record-mode-options label:has(input:disabled) { cursor: not-allowed; opacity: .6; }
.if-clinic-patient-note { display: flex; gap: 12px; align-items: center; padding: 15px 18px; border: 1px solid #cfe4ec; border-radius: 14px; background: #f3f9fc; }
.if-clinic-patient-note strong { color: #08769b; font-size: 11px; white-space: nowrap; }
.if-clinic-patient-note span { color: #617b87; font-size: 10px; line-height: 1.5; }
.if-clinic-patient-actions { display: flex; justify-content: flex-end; }
.if-clinic-patient-actions button { min-height: 44px; padding: 0 18px; border: 1px solid #087f92; border-radius: 12px; background: linear-gradient(135deg, #08779b, #0badaa); color: #fff; cursor: pointer; font-size: 11px; font-weight: 950; box-shadow: 0 9px 20px rgba(7, 133, 151, .22); }
.if-clinic-patient-actions button:disabled { cursor: not-allowed; opacity: .55; }

.if-clinic-ortho-config { display: grid; gap: 18px; }
.if-clinic-ortho-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 28px;
  border: 1px solid #d7e9ec;
  border-radius: 18px;
  background: radial-gradient(circle at 90% 0, rgba(16, 173, 164, .17), transparent 37%), #fff;
  box-shadow: 0 12px 30px rgba(22,72,85,.06);
}
.if-clinic-ortho-heading h2 { margin: 5px 0 6px; color: #12334b; font-size: 28px; }
.if-clinic-ortho-heading p:not(.if-clinic-config-eyebrow) { max-width: 690px; margin: 0; color: #607986; font-size: 13px; line-height: 1.55; }
.if-clinic-ortho-heading > span { padding: 8px 12px; border-radius: 999px; background: #e5f8f5; color: #087f78; font-size: 10px; font-weight: 950; letter-spacing: .08em; }
.if-clinic-ortho-card { display: grid; gap: 20px; padding: 24px; border: 1px solid #d9e8eb; border-radius: 18px; background: #fff; }
.if-clinic-ortho-card-heading > span { color: #07989a; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.if-clinic-ortho-card-heading h3 { margin: 5px 0 4px; color: #183b4d; font-size: 19px; }
.if-clinic-ortho-card-heading p { margin: 0; color: #6b818d; font-size: 11px; }
.if-clinic-ortho-field { display: grid; gap: 8px; max-width: 620px; }
.if-clinic-ortho-field > span { color: #274e5d; font-size: 12px; font-weight: 900; }
.if-clinic-ortho-field select { width: 100%; min-height: 48px; box-sizing: border-box; padding: 10px 13px; border: 1px solid #abd7d8; border-radius: 11px; outline: none; background: #f9fdfd; color: #173d49; font: inherit; font-weight: 800; }
.if-clinic-ortho-field select:focus { border-color: #0ba79d; box-shadow: 0 0 0 3px rgba(11, 167, 157, .14); }
.if-clinic-ortho-field small { color: #718892; font-size: 10px; line-height: 1.45; }
.if-clinic-ortho-note { display: flex; gap: 12px; align-items: center; padding: 15px 18px; border: 1px solid #cce7e3; border-radius: 14px; background: #f2fbf9; }
.if-clinic-ortho-note strong { color: #087c73; font-size: 11px; white-space: nowrap; }
.if-clinic-ortho-note span { color: #617b82; font-size: 10px; line-height: 1.5; }
.if-clinic-ortho-actions { display: flex; justify-content: flex-end; }
.if-clinic-ortho-actions button { min-height: 44px; padding: 0 18px; border: 1px solid #087f92; border-radius: 12px; background: linear-gradient(135deg, #08779b, #0badaa); color: #fff; cursor: pointer; font-size: 11px; font-weight: 950; box-shadow: 0 9px 20px rgba(7, 133, 151, .22); }
.if-clinic-ortho-actions button:disabled { cursor: not-allowed; opacity: .55; }

.if-clinic-contract-config { display: grid; gap: 18px; }
.if-clinic-contract-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 24px;
  border: 1px solid #d9e8eb;
  border-radius: 18px;
  background: radial-gradient(circle at 90% 0, rgba(9, 151, 165, .17), transparent 37%), #fff;
  box-shadow: 0 12px 30px rgba(22,72,85,.06);
}
.if-clinic-contract-heading h2 { margin: 5px 0 6px; color: #12334b; font-size: 28px; }
.if-clinic-contract-heading p:not(.if-clinic-config-eyebrow) { max-width: 690px; margin: 0; color: #607986; font-size: 13px; line-height: 1.55; }
.if-clinic-contract-heading > span { padding: 8px 12px; border-radius: 999px; background: #e5f8f5; color: #087f78; font-size: 10px; font-weight: 950; letter-spacing: .08em; }
.if-clinic-contract-tabs {
  display: flex;
  width: fit-content;
  gap: 8px;
  padding: 6px;
  border: 1px solid #dce8ea;
  border-radius: 14px;
  background: #f4f8f9;
}
.if-clinic-contract-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 20px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #426272;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.if-clinic-contract-tabs button:hover { color: #087f89; background: #e8f5f6; }
.if-clinic-contract-tabs button.is-active { color: #fff; background: linear-gradient(135deg, #0699a5, #087c86); box-shadow: 0 8px 18px rgba(8, 127, 137, .2); }
.if-clinic-contract-tab-icon { display: grid; width: 19px; height: 19px; place-items: center; font-size: 15px; font-weight: 950; }
.if-clinic-contract-panel { display: grid; gap: 20px; padding: 24px; border: 1px solid #d9e8eb; border-radius: 18px; background: #fff; }
.if-clinic-contract-panel-heading > span { color: #07989a; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.if-clinic-contract-panel-heading h3 { margin: 5px 0 4px; color: #183b4d; font-size: 19px; }
.if-clinic-contract-panel-heading p { margin: 0; color: #6b818d; font-size: 11px; }
.if-clinic-contract-start-card { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 18px; border: 1px dashed #aedadd; border-radius: 15px; background: linear-gradient(120deg, #f4fbfb, #fbfefe); }
.if-clinic-contract-start-card.is-link { border-color: #c8d7ed; background: linear-gradient(120deg, #f5f8fd, #fbfdff); }
.if-clinic-contract-start-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: #def5f3; color: #078d86; font-size: 23px; font-weight: 950; }
.if-clinic-contract-start-card.is-link .if-clinic-contract-start-icon { background: #e9effc; color: #4f70bb; }
.if-clinic-contract-start-card strong, .if-clinic-contract-start-card small { display: block; }
.if-clinic-contract-start-card strong { color: #183b4d; font-size: 13px; }
.if-clinic-contract-start-card small { margin-top: 4px; max-width: 620px; color: #6b818d; font-size: 10px; line-height: 1.45; }
.if-clinic-contract-start-card button { min-height: 42px; padding: 0 16px; border: 1px solid #087f92; border-radius: 11px; background: linear-gradient(135deg, #08779b, #0badaa); color: #fff; cursor: pointer; font: inherit; font-size: 11px; font-weight: 900; box-shadow: 0 8px 18px rgba(7, 133, 151, .18); }
.if-contract-link-card { display: grid; gap: 16px; padding: 19px; border: 1px solid #d4e5e8; border-radius: 17px; background: linear-gradient(145deg, #fff, #f8fbfc); transition: border-color .18s ease, box-shadow .18s ease; }
.if-contract-link-card.is-enabled { border-color: #9edbd2; box-shadow: 0 12px 28px rgba(8, 127, 137, .09); }
.if-contract-link-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.if-contract-link-card-heading span { color: #078f98; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.if-contract-link-card-heading h4 { margin: 5px 0 5px; color: #173b4d; font-size: 17px; }
.if-contract-link-card-heading p { max-width: 690px; margin: 0; color: #6b818d; font-size: 11px; line-height: 1.5; }
.if-contract-link-status { flex: none; display: inline-flex; min-height: 29px; align-items: center; padding: 0 10px; border-radius: 999px; font-size: 9px; font-weight: 950; letter-spacing: .07em; }
.if-contract-link-status.is-active { background: #e3f7ef; color: #08795f; }
.if-contract-link-status.is-inactive { background: #f1f5f6; color: #71858e; }
.if-contract-link-toggle { border: 1px solid #d8e7e9; border-radius: 13px; background: #f8fbfc; }
.if-contract-link-fields { display: grid; grid-template-columns: minmax(280px, 1.1fr) minmax(260px, .9fr); gap: 13px; }
.if-contract-link-fields > label { display: grid; gap: 6px; padding: 14px; border: 1px solid #dce9eb; border-radius: 13px; background: #fff; }
.if-contract-link-fields > label > span { color: #607784; font-size: 9px; font-weight: 950; letter-spacing: .07em; text-transform: uppercase; }
.if-contract-link-fields select { width: 100%; min-height: 43px; box-sizing: border-box; padding: 9px 12px; border: 1px solid #c8dce0; border-radius: 10px; outline: none; background: #fff; color: #173d4d; font: inherit; font-size: 12px; font-weight: 800; }
.if-contract-link-fields select:focus { border-color: #08a79e; box-shadow: 0 0 0 3px rgba(8, 167, 158, .12); }
.if-contract-link-fields select:disabled { cursor: not-allowed; background: #f2f5f6; color: #8b9aa1; }
.if-contract-link-fields label small { color: #7a9099; font-size: 9px; line-height: 1.4; }
.if-contract-link-flow { display: grid; align-content: center; gap: 7px; padding: 15px; border: 1px solid #cce8e4; border-radius: 13px; background: #f1faf8; }
.if-contract-link-flow b { color: #087d75; font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.if-contract-link-flow span { color: #486875; font-size: 10px; font-weight: 750; line-height: 1.55; }
.if-contract-link-flow i { padding: 0 3px; color: #08a299; font-style: normal; font-weight: 950; }
.if-contract-link-actions { display: flex; justify-content: flex-end; }
.if-contract-link-actions button { min-height: 42px; padding: 0 16px; border: 1px solid #087f92; border-radius: 11px; background: linear-gradient(135deg, #08779b, #0badaa); color: #fff; cursor: pointer; font: inherit; font-size: 11px; font-weight: 950; box-shadow: 0 8px 18px rgba(7, 133, 151, .16); }
.if-contract-link-actions button:disabled { cursor: not-allowed; opacity: .55; }

.if-contract-registry[hidden],
.if-contract-editor-form[hidden],
.if-contract-variable-group[hidden],
.if-contract-variable-list > button[hidden] { display: none !important; }
.if-contract-registry { display: grid; gap: 16px; }
.if-contract-registry-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.if-contract-registry-heading > div > span,
.if-contract-editor-heading > div > span,
.if-contract-variable-heading span,
.if-contract-compose-label > span { color: #078f98; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.if-contract-registry-heading h3 { margin: 5px 0 4px; color: #183b4d; font-size: 20px; }
.if-contract-registry-heading p { margin: 0; color: #6b818d; font-size: 11px; }
.if-contract-registry-heading > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding: 0 17px;
  border: 1px solid #087f92;
  border-radius: 12px;
  background: linear-gradient(135deg, #08779b, #0badaa);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(7, 133, 151, .18);
}
.if-contract-registry-heading > button b { font-size: 17px; line-height: 1; }
.if-contract-registry-filters { display: grid; grid-template-columns: 180px minmax(260px, 1fr); gap: 12px; padding: 14px; border: 1px solid #dbe9eb; border-radius: 14px; background: #f7fbfb; }
.if-contract-registry-filters label { display: grid; gap: 5px; }
.if-contract-registry-filters label > span,
.if-contract-editor-fields label > span { color: #607784; font-size: 9px; font-weight: 950; letter-spacing: .07em; text-transform: uppercase; }
.if-contract-registry-filters :is(input, select),
.if-contract-editor-fields :is(input, select) { width: 100%; min-height: 43px; box-sizing: border-box; padding: 9px 12px; border: 1px solid #c8dce0; border-radius: 10px; outline: none; background: #fff; color: #173d4d; font: inherit; font-size: 12px; font-weight: 750; }
.if-contract-registry-filters :is(input, select):focus,
.if-contract-editor-fields :is(input, select):focus { border-color: #08a79e; box-shadow: 0 0 0 3px rgba(8, 167, 158, .12); }
.if-contract-registry-table-wrap { overflow-x: auto; border: 1px solid #dce9eb; border-radius: 14px; }
.if-contract-registry-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.if-contract-registry-table th { padding: 11px 13px; border-bottom: 1px solid #dce9eb; background: #f5f9fa; color: #6a7e88; font-size: 9px; font-weight: 950; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.if-contract-registry-table td { padding: 12px 13px; border-bottom: 1px solid #e6eef0; color: #496675; font-size: 11px; font-weight: 750; vertical-align: middle; }
.if-contract-registry-table tr:last-child td { border-bottom: 0; }
.if-contract-registry-table tr.is-inactive td { background: #fafcfc; opacity: .76; }
.if-contract-registry-table td:first-child { min-width: 290px; }
.if-contract-registry-table td:first-child strong,
.if-contract-registry-table td:first-child small { display: block; }
.if-contract-registry-table td:first-child strong { color: #143b4e; font-size: 12px; }
.if-contract-registry-table td:first-child small { max-width: 390px; margin-top: 3px; overflow: hidden; color: #7a9099; font-size: 9px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.if-contract-type-pill { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: #e8f5f5; color: #087d82; font-size: 9px; font-weight: 950; letter-spacing: .05em; }
.if-contract-status-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 9px; border: 1px solid transparent; border-radius: 999px; cursor: pointer; font: inherit; font-size: 9px; font-weight: 950; }
.if-contract-status-pill i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.if-contract-status-pill.is-active { border-color: #bde4d8; background: #eaf8f3; color: #087c62; }
.if-contract-status-pill.is-inactive { border-color: #e7d4d2; background: #fff5f4; color: #bc5149; }
.if-contract-status-pill:disabled { cursor: default; }
.if-contract-status-switch { flex: none; min-width: 80px; }
.if-contract-edit-button { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #b9dcda; border-radius: 10px; background: #eef9f7; color: #07847d; cursor: pointer; font: inherit; font-size: 15px; font-weight: 950; }
.if-contract-edit-button:hover { border-color: #66c8bf; background: #daf4ef; transform: translateY(-1px); }
.if-contract-registry-empty { padding: 40px 18px !important; text-align: center; }
.if-contract-registry-empty b,
.if-contract-registry-empty span { display: block; }
.if-contract-registry-empty b { color: #254c5d; font-size: 13px; }
.if-contract-registry-empty span { margin-top: 5px; color: #7c929b; font-size: 10px; }

.if-contract-editor-form { display: grid; gap: 18px; }
.if-contract-editor-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.if-contract-editor-heading h3 { margin: 4px 0; color: #173b4d; font-size: 21px; }
.if-contract-editor-heading p { margin: 0; color: #6d838e; font-size: 11px; }
.if-contract-editor-heading-actions { display: flex; align-items: center; gap: 10px; }
.if-contract-editor-status { display: inline-flex; align-items: center; min-height: 30px; padding: 0 11px; border-radius: 999px; font-size: 9px; font-weight: 950; letter-spacing: .07em; }
.if-contract-editor-status.is-active { background: #e5f7f0; color: #08795f; }
.if-contract-editor-status.is-inactive { background: #fff1f0; color: #bb4d47; }
.if-contract-editor-close { display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 1px solid #cddde1; border-radius: 12px; background: #fff; color: #58717c; cursor: pointer; font: inherit; font-size: 25px; font-weight: 500; line-height: 1; transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease; }
.if-contract-editor-close:hover { border-color: #e5b9b7; background: #fff4f3; color: #bd4540; transform: translateY(-1px); }
.if-contract-editor-close:focus-visible { outline: 3px solid rgba(8, 167, 158, .18); outline-offset: 2px; }
.if-contract-editor-fields { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 12px; padding: 15px; border: 1px solid #dbe8ea; border-radius: 14px; background: #f8fbfc; }
.if-contract-editor-fields label { display: grid; gap: 6px; }
.if-contract-editor-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .75fr); align-items: start; gap: 16px; }
.if-contract-compose-card { overflow: hidden; border: 1px solid #d5e5e8; border-radius: 15px; background: #fff; }
.if-contract-compose-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; border-bottom: 1px solid #dce8ea; background: #f7fbfb; }
.if-contract-compose-label small { color: #718993; font-size: 9px; }
.if-contract-editor-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; padding: 8px 10px; border-bottom: 1px solid #dbe7e9; background: #f2f7f8; }
.if-contract-editor-toolbar button { min-width: 34px; min-height: 32px; padding: 0 9px; border: 1px solid #d2e0e3; border-radius: 8px; background: #fff; color: #294e5e; cursor: pointer; font: inherit; font-size: 10px; font-weight: 900; }
.if-contract-editor-toolbar button:hover { border-color: #77c9c3; background: #e9f7f5; color: #087c76; }
.if-contract-editor-toolbar > span { width: 1px; height: 22px; margin: 0 2px; background: #cfdee1; }
.if-contract-rich-editor { min-height: 500px; box-sizing: border-box; padding: 24px 27px; outline: none; background: #fff; color: #182f3c; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.65; }
.if-contract-rich-editor:focus { box-shadow: inset 0 0 0 2px rgba(9, 168, 159, .2); }
.if-contract-rich-editor:empty::before { color: #98a9af; content: attr(data-placeholder); pointer-events: none; }
.if-contract-rich-editor h1,
.if-contract-rich-editor h2,
.if-contract-rich-editor h3 { color: #143a4b; }

.if-contract-variable-library { position: sticky; top: 0; display: grid; grid-template-rows: auto auto minmax(0, 1fr); max-height: 680px; overflow: hidden; border: 1px solid #d4e5e7; border-radius: 15px; background: #f8fbfb; }
.if-contract-variable-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 14px; border-bottom: 1px solid #dce8ea; background: linear-gradient(135deg, #edf9f7, #f6fbfb); }
.if-contract-variable-heading h4 { margin: 4px 0 0; color: #173d4d; font-size: 14px; }
.if-contract-variable-heading > b { padding: 6px 8px; border-radius: 999px; background: #dff3ef; color: #087f75; font-size: 8px; white-space: nowrap; }
.if-contract-variable-search { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; margin: 10px 10px 0; border: 1px solid #cce0e2; border-radius: 10px; background: #fff; }
.if-contract-variable-search > span { color: #6d8791; font-size: 16px; text-align: center; }
.if-clinic-config-overlay .if-contract-variable-search input[type="search"] { width: 100%; min-height: 38px; box-sizing: border-box; padding: 7px 9px 7px 0; border: 0; border-radius: 0; outline: none; background: transparent; box-shadow: none; color: #254c5c; font: inherit; font-size: 10px; font-weight: 700; }
.if-clinic-config-overlay .if-contract-variable-search input[type="search"]:focus { border: 0; outline: none; background: transparent; box-shadow: none; }
.if-contract-variable-groups { display: grid; grid-auto-rows: max-content; align-content: start; gap: 8px; min-height: 0; padding: 10px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.if-contract-variable-group { min-height: 41px; overflow: hidden; border: 1px solid #dce8ea; border-radius: 11px; background: #fff; }
.if-contract-variable-group-title { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 7px; width: 100%; min-height: 39px; padding: 0 10px; border: 0; background: #f5fafa; color: #254d5c; cursor: pointer; font: inherit; text-align: left; }
.if-contract-variable-group-title span { font-size: 10px; font-weight: 950; }
.if-contract-variable-group-title b { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 999px; background: #e0f2ef; color: #087d75; font-size: 8px; }
.if-contract-variable-group-title i { color: #77909a; font-size: 10px; font-style: normal; transition: transform .16s ease; }
.if-contract-variable-group.is-collapsed .if-contract-variable-group-title i { transform: rotate(180deg); }
.if-contract-variable-group.is-collapsed .if-contract-variable-list { display: none; }
.if-contract-variable-list { display: grid; gap: 1px; padding: 5px; }
.if-contract-variable-list > button { display: grid; gap: 2px; padding: 8px 9px; border: 0; border-radius: 8px; background: transparent; color: #214757; cursor: pointer; font: inherit; text-align: left; }
.if-contract-variable-list > button:hover { background: #eaf7f5; }
.if-contract-variable-list > button strong { color: #07867f; font-family: Consolas, "Courier New", monospace; font-size: 10px; }
.if-contract-variable-list > button small { overflow: hidden; color: #7c919a; font-size: 8px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.if-contract-editor-actions { position: sticky; bottom: -1px; z-index: 2; display: flex; justify-content: flex-end; gap: 8px; padding: 13px 0 2px; background: linear-gradient(180deg, rgba(255,255,255,0), #fff 30%); }
.if-contract-editor-actions button { min-height: 43px; padding: 0 16px; border-radius: 11px; cursor: pointer; font: inherit; font-size: 11px; font-weight: 950; }
.if-contract-editor-actions .is-back { margin-right: auto; border: 1px solid #cbdce0; background: #f5f9fa; color: #526f7d; }
.if-contract-editor-actions .is-status { border: 1px solid #e4bfc0; background: #fff4f3; color: #bb4946; }
.if-contract-editor-actions .is-status.will-activate { border-color: #b8ddcf; background: #edf9f4; color: #08775d; }
.if-contract-editor-actions .is-delete { border: 1px solid #dfaaa9; background: #fff; color: #bd3938; }
.if-contract-editor-actions .is-save { border: 1px solid #087f92; background: linear-gradient(135deg, #08779b, #0badaa); color: #fff; box-shadow: 0 8px 18px rgba(7, 133, 151, .18); }
.if-contract-editor-actions button:disabled { cursor: not-allowed; opacity: .55; }

/* O editor contratual usa a janela inteira para oferecer uma área de escrita ampla. */
.if-clinic-config-overlay.is-contract-editor-fullscreen {
  overflow: hidden;
}
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-config-global-menu,
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-config-sidebar,
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-contract-heading,
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-contract-tabs {
  display: none;
}
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-config-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  height: 100dvh;
  min-height: 0;
}
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-config-content {
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 16px clamp(18px, 2.5vw, 38px);
  overflow: hidden;
  box-sizing: border-box;
}
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-contract-config,
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-contract-panel[data-clinic-contract-panel="cadastro"] {
  height: 100%;
  min-height: 0;
}
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-contract-panel[data-clinic-contract-panel="cadastro"] {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-editor-form {
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  height: 100%;
  min-height: 0;
  gap: 12px;
}
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-editor-layout {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  align-items: stretch;
  min-height: 0;
}
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-compose-card {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  min-height: 0;
}
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-rich-editor {
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-variable-library {
  position: static;
  height: 100%;
  min-height: 0;
  max-height: none;
}
.if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-editor-actions {
  position: static;
  padding: 0;
  background: transparent;
}

@media (max-width: 900px) {
  .if-clinic-config-top-clinic { display: none; }
  .if-clinic-config-layout { display: block; }
  .if-clinic-config-sidebar { position: sticky; top: 68px; z-index: 2; display: block; width: 100%; height: auto; padding: 9px 12px; overflow-x: auto; border-right: 0; border-bottom: 1px solid #d8e8ec; }
  .if-clinic-config-sidebar-heading, .if-clinic-config-sidebar-note { display: none; }
  .if-clinic-config-nav { display: flex; width: max-content; }
  .if-clinic-config-nav button { grid-template-columns: 30px auto; width: auto; min-height: 48px; padding: 6px 10px; }
  .if-clinic-nav-icon { width: 30px; height: 30px; }
  .if-clinic-config-nav small { display: none; }
  .if-clinic-config-layout .if-clinic-config-content { width: min(100% - 22px, 1120px); margin-top: 14px; }
  .if-clinic-map-signature-heading { flex-direction: column; }
  .if-clinic-operation-heading { flex-direction: column; }
  .if-clinic-patient-heading { flex-direction: column; }
  .if-clinic-ortho-heading { flex-direction: column; }
  .if-clinic-contract-heading { flex-direction: column; }
  .if-clinic-contract-tabs { width: 100%; box-sizing: border-box; }
  .if-clinic-contract-tabs button { flex: 1; justify-content: center; }
  .if-clinic-contract-start-card { grid-template-columns: 42px minmax(0, 1fr); }
  .if-clinic-contract-start-card button { grid-column: 1 / -1; }
  .if-contract-link-fields { grid-template-columns: 1fr; }
  .if-contract-editor-layout { grid-template-columns: 1fr; }
  .if-contract-variable-library { position: static; max-height: 560px; }
  .if-contract-rich-editor { min-height: 420px; }
  .if-contract-editor-heading-actions { align-self: stretch; justify-content: space-between; }
  .if-clinic-operation-rule { grid-template-columns: auto minmax(0, 1fr); }
  .if-clinic-record-mode-options { grid-template-columns: 1fr; }
  .if-clinic-map-signature-methods { grid-template-columns: 1fr; }
  .if-clinic-clinical-signature-row { grid-template-columns: 42px minmax(0, 1fr); }
  .if-clinic-clinical-signature-row > label { grid-column: 1 / -1; }
  .if-clinic-config-overlay.is-contract-editor-fullscreen {
    overflow-y: auto;
  }
  .if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-config-layout,
  .if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-config-content,
  .if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-contract-config,
  .if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-contract-panel[data-clinic-contract-panel="cadastro"],
  .if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-editor-form {
    height: auto;
    min-height: 100dvh;
  }
  .if-clinic-config-overlay.is-contract-editor-fullscreen .if-clinic-config-content {
    padding: 14px;
    overflow: visible;
  }
  .if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-editor-form {
    grid-template-rows: auto;
  }
  .if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-editor-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-rich-editor {
    height: auto;
    min-height: 55dvh;
  }
  .if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-variable-library {
    height: auto;
    max-height: 520px;
  }
  .if-clinic-config-overlay.is-contract-editor-fullscreen .if-contract-editor-actions {
    position: sticky;
    bottom: 0;
    padding: 12px 0 2px;
    background: linear-gradient(180deg, rgba(244,251,252,0), #f4fbfc 28%);
  }
}

@media (max-width: 620px) {
  .if-clinic-contract-panel { padding: 16px; }
  .if-contract-registry-heading,
  .if-contract-editor-heading,
  .if-contract-compose-label,
  .if-contract-link-card-heading { align-items: stretch; flex-direction: column; }
  .if-contract-link-status { align-self: flex-start; }
  .if-contract-link-actions button { width: 100%; }
  .if-contract-registry-heading > button { width: 100%; }
  .if-contract-registry-filters,
  .if-contract-editor-fields { grid-template-columns: 1fr; }
  .if-contract-rich-editor { min-height: 360px; padding: 18px 16px; }
  .if-contract-editor-actions { flex-wrap: wrap; }
  .if-contract-editor-actions .is-back { width: 100%; margin-right: 0; }
  .if-contract-editor-actions button:not(.is-back) { flex: 1; }
}

/* Menu da clínica — lista compacta inspirada no iPhone, com rolagem própria */
@media (min-width: 901px) {
  .if-clinic-config-overlay {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }

  .if-clinic-config-global-menu {
    position: relative;
    top: auto;
  }

  .if-clinic-config-layout {
    grid-template-columns: 248px minmax(0, 1fr);
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .if-clinic-config-sidebar {
    position: static;
    top: auto;
    height: 100%;
    min-height: 0;
    padding: 10px 12px 11px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    background: linear-gradient(180deg, #fbfdfd, #f4f8f9);
    scrollbar-color: #bfd3d8 transparent;
    scrollbar-width: thin;
  }

  .if-clinic-config-layout .if-clinic-config-content {
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 26px max(24px, calc((100% - 1120px) / 2)) 52px;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  .if-clinic-config-sidebar::-webkit-scrollbar {
    width: 6px;
  }

  .if-clinic-config-sidebar::-webkit-scrollbar-track {
    background: transparent;
  }

  .if-clinic-config-sidebar::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #bfd3d8;
  }

  .if-clinic-config-sidebar-heading {
    flex: 0 0 auto;
    padding: 0 9px 7px;
  }

  .if-clinic-config-sidebar-heading span {
    font-size: 8px;
    letter-spacing: .12em;
  }

  .if-clinic-config-sidebar-heading strong {
    margin-top: 1px;
    font-size: 17px;
    letter-spacing: -.02em;
  }

  .if-clinic-config-nav {
    display: grid;
    flex: 0 0 auto;
    gap: 0;
    overflow: hidden;
    border: 1px solid #dfeaec;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(32, 68, 84, .075);
  }

  .if-clinic-config-nav button {
    position: relative;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 8px;
    min-height: 40px;
    padding: 4px 25px 4px 8px;
    border: 0;
    border-bottom: 1px solid #e8eff1;
    border-radius: 0;
    background: #ffffff;
    color: #34586a;
    transition: background-color .16s ease, color .16s ease;
  }

  .if-clinic-config-nav button:last-child {
    border-bottom: 0;
  }

  .if-clinic-config-nav button::after {
    content: "\203A";
    position: absolute;
    right: 10px;
    top: 50%;
    color: #a7b7be;
    font-size: 19px;
    font-weight: 500;
    line-height: 1;
    transform: translateY(-52%);
  }

  .if-clinic-config-nav button:hover {
    border-color: #e8eff1;
    background: #f6fafb;
    color: #0b7380;
    transform: none;
  }

  .if-clinic-config-nav button.is-active {
    border-color: #e8eff1;
    background: linear-gradient(90deg, #edfafa, #f8fdfd);
    color: #076f79;
    box-shadow: inset 3px 0 0 #10a8a3;
  }

  .if-clinic-config-nav button.is-active::after {
    color: #0e9ba0;
  }

  .if-clinic-config-nav strong {
    font-size: 10.5px;
    font-weight: 850;
  }

  .if-clinic-config-nav small {
    margin-top: 1px;
    overflow: hidden;
    color: #8295a2;
    font-size: 7.5px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .if-clinic-nav-icon {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: #e9f5ff;
    color: #1684d6;
    font-size: 12px;
  }

  .if-clinic-config-nav button:nth-child(2) .if-clinic-nav-icon {
    background: #e9f8f5;
    color: #07977e;
  }

  .if-clinic-config-nav button:nth-child(3) .if-clinic-nav-icon {
    background: #f0edff;
    color: #7357d8;
  }

  .if-clinic-config-nav button:nth-child(4) .if-clinic-nav-icon {
    background: #fff3e5;
    color: #e78816;
  }

  .if-clinic-config-nav button:nth-child(5) .if-clinic-nav-icon {
    background: #e7f8fb;
    color: #089cac;
  }

  .if-clinic-config-nav button:nth-child(6) .if-clinic-nav-icon {
    background: #fff0f2;
    color: #df5261;
  }

  .if-clinic-config-nav button:nth-child(7) .if-clinic-nav-icon {
    background: #edf7e8;
    color: #42a637;
  }

  .if-clinic-config-nav button:nth-child(8) .if-clinic-nav-icon {
    background: #e8f7ee;
    color: #159b65;
  }

  .if-clinic-config-nav button:nth-child(9) .if-clinic-nav-icon {
    background: #e8f7ee;
    color: #159b65;
  }

  .if-clinic-config-nav .if-clinic-nav-icon.is-contract {
    background: #edf0fc;
    color: #536fc0;
  }

  .if-clinic-config-nav button.is-active .if-clinic-nav-icon {
    background: linear-gradient(145deg, #16b9b2, #078a99);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(8, 138, 153, .20);
  }

  .if-clinic-config-sidebar-note {
    margin-top: 7px;
    padding: 7px 9px;
    border: 1px solid #dfebed;
    border-radius: 13px;
    background: rgba(255, 255, 255, .78);
  }

  .if-clinic-config-sidebar-note strong {
    font-size: 10px;
  }

  .if-clinic-config-sidebar-note span {
    margin-top: 2px;
    font-size: 8px;
    line-height: 1.25;
  }

  /* Em notebooks e janelas baixas, prioriza as oito opções sem exigir rolagem. */
  @media (max-height: 720px) {
    .if-clinic-config-sidebar-note {
      display: none;
    }
  }
}
