/* =========================================================================
 * CEDAR · cedar_pac_editor_redesign.css
 * Redesign do modal "Editar paciente" — Claude Design, turno 1.
 * Fonte: projeto claude.ai/design a5cfc31c-b6de-4805-8518-c6d5600cabf9,
 *   "Modal Editar Paciente - Propostas.dc.html" (frames 1a–1f + spec 1g).
 *
 * TUDO escopado em :root[data-cedar-paceditor="on"] — o addon põe/tira esse
 * atributo, então o kill-switch reverte 100 % do visual sem reload.
 * Tokens CEDAR Fase 0 / marca CDR: marrom #785533 · areia #F4EADF ·
 * bordas #E6D8C8/#D8C4AC · texto #2B211B/#6F6258 ·
 * estados #B3261E (destrutivo) / #92610C (não salvo) / #177245 (ok).
 *
 * ⚠️ `!important` aparece SÓ onde há style inline no HTML gerado em runtime
 * pelo paciente_clinico_addon (as linhas de alergia/medicação/anticoagulante
 * nascem com display/gap/align inline). Sem ele o item removível não recebe
 * a anatomia da spec 1g. Nenhum outro seletor usa !important.
 * ========================================================================= */

:root[data-cedar-paceditor="on"] {
  --pe-brown: #785533;
  --pe-brown-dark: #66462B;
  --pe-sand: #F4EADF;
  --pe-sand-2: #FCFAF6;
  --pe-sand-3: #FCFAF7;
  --pe-surface: #FBFAF8;
  --pe-line: #E9DDCB;
  --pe-line-2: #E6D8C8;
  --pe-line-3: #D8C4AC;
  --pe-line-soft: #F0E7DA;
  --pe-ink: #2B211B;
  --pe-ink-2: #4A3F37;
  --pe-ink-soft: #6F6258;
  --pe-ink-mute: #9C8D7D;
  --pe-ink-faint: #B0A79D;
  --pe-danger: #B3261E;
  --pe-danger-bg: #FBECEA;
  --pe-danger-line: #F0C8C3;
  --pe-warn: #92610C;
  --pe-warn-bg: #FEF6E7;
  --pe-warn-line: #F3E0BD;
  --pe-warn-dot: #E8A33D;
  --pe-ok: #177245;
  --pe-ok-bg: #EAF4EE;
  --pe-ok-line: #C4E3D2;
  --pe-test: #6D28D9;
  --pe-test-bg: #F3ECFA;
  --pe-test-line: #DDCBF0;

  --pe-head-h: 58px;
  --pe-tabs-h: 42px;
  --pe-foot-h: 60px;
  --pe-field-h: 34px;
  --pe-rm-size: 28px;
}

/* spec 1g · SCROLL — página de fundo bloqueada enquanto o modal está aberto */
:root[data-cedar-pe-open="1"] body { overflow: hidden; }

/* ⚠️ Os indicadores nascem/somem pelo atributo `hidden`, e QUALQUER regra de
   `display` nesta folha vence a regra `[hidden]{display:none}` do navegador —
   foi assim que a pílula "alterações não salvas" apareceu com o formulário
   ainda limpo. Esta regra devolve a palavra final ao atributo. */
:root[data-cedar-paceditor="on"] .pe-dirty-pill[hidden],
:root[data-cedar-paceditor="on"] .pe-dirty-count[hidden],
:root[data-cedar-paceditor="on"] .pe-tab-dot[hidden],
:root[data-cedar-paceditor="on"] .pe-tab-badge[hidden],
:root[data-cedar-paceditor="on"] .pe-badge-test[hidden],
:root[data-cedar-paceditor="on"] .pe-tab[hidden] { display: none !important; }

/* =====================================================================
 * 1 · CAIXA DO MODAL — 920 px, zonas fixas, scroll só no corpo (spec 1g)
 * ===================================================================== */
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] {
  background: rgba(43, 33, 27, .5);
  padding: 16px;
}
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] > .tpl-modal {
  width: min(920px, 92vw);
  max-width: none;
  max-height: min(88vh, 1040px);
  background: var(--pe-surface);
  border-radius: 14px;
  box-shadow: 0 24px 64px rgba(20, 12, 6, .4);
  overflow: hidden;
}

/* ── cabeçalho 58 px ─────────────────────────────────────────────────── */
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] .tpl-modal-head {
  height: var(--pe-head-h);
  min-height: var(--pe-head-h);
  padding: 0 20px;
  gap: 10px;
  justify-content: flex-start;
  background: #fff;
  border-bottom: 1px solid var(--pe-line);
}
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] .tpl-modal-head h3 {
  font: 800 15px 'Inter', system-ui, sans-serif;
  color: var(--pe-ink);
  white-space: nowrap;
}
:root[data-cedar-paceditor="on"] .pe-spacer { flex: 1; }

/* chip de identidade do paciente — fonte única no cabeçalho */
:root[data-cedar-paceditor="on"] .pe-ident {
  background: var(--pe-sand);
  border: 1px solid var(--pe-line-2);
  color: var(--pe-brown-dark);
  border-radius: 6px;
  padding: 3px 9px;
  font: 700 10px 'Inter', system-ui, sans-serif;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 42ch;
}
:root[data-cedar-paceditor="on"] .pe-ident:empty { display: none; }

:root[data-cedar-paceditor="on"] .pe-badge-test {
  background: var(--pe-test-bg);
  border: 1px solid var(--pe-test-line);
  color: var(--pe-test);
  border-radius: 5px;
  padding: 2px 7px;
  font: 800 8.5px ui-monospace, Menlo, monospace;
  letter-spacing: .04em;
  white-space: nowrap;
}

/* pílula "alterações não salvas" — zona 1 de 3 (frame 1d) */
:root[data-cedar-paceditor="on"] .pe-dirty-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--pe-warn-bg);
  border: 1px solid var(--pe-warn-line);
  color: var(--pe-warn);
  border-radius: 11px;
  padding: 3px 10px;
  font: 700 9.5px 'Inter', system-ui, sans-serif;
  white-space: nowrap;
}
:root[data-cedar-paceditor="on"] .pe-dirty-pill::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pe-warn-dot);
}

:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] .tpl-modal-close {
  width: 30px;
  height: 30px;
  border: 1px solid var(--pe-line-2);
  border-radius: 8px;
  background: #fff;
  color: var(--pe-ink-soft);
  font: 700 15px/1 'Inter', system-ui, sans-serif;
  padding: 0;
  flex: none;
}
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] .tpl-modal-close:hover {
  background: var(--pe-sand);
  color: var(--pe-ink);
}

/* ── barra de abas 42 px ─────────────────────────────────────────────── */
:root[data-cedar-paceditor="on"] .pe-tabs {
  display: flex;
  gap: 2px;
  padding: 0 14px;
  background: #fff;
  border-bottom: 1px solid var(--pe-line);
  flex: none;
  overflow-x: auto;
  scrollbar-width: none;
}
:root[data-cedar-paceditor="on"] .pe-tabs::-webkit-scrollbar { display: none; }

:root[data-cedar-paceditor="on"] .pe-tab {
  appearance: none;
  background: none;
  border: 0;
  border-bottom: 2.5px solid transparent;
  padding: 0 13px;
  height: var(--pe-tabs-h);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 12px 'Inter', system-ui, sans-serif;
  color: var(--pe-ink-soft);
  cursor: pointer;
  white-space: nowrap;
  flex: none;
}
:root[data-cedar-paceditor="on"] .pe-tab:hover { color: var(--pe-ink); }
:root[data-cedar-paceditor="on"] .pe-tab[aria-selected="true"] {
  font-weight: 700;
  color: var(--pe-ink);
  border-bottom-color: var(--pe-brown);
}
:root[data-cedar-paceditor="on"] .pe-tab:focus-visible {
  outline: 2px solid var(--pe-brown);
  outline-offset: -3px;
  border-radius: 4px 4px 0 0;
}
/* ponto âmbar na aba com alteração — zona 2 de 3 (frame 1d) */
:root[data-cedar-paceditor="on"] .pe-tab-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pe-warn-dot);
  display: inline-block;
  flex: none;
}
:root[data-cedar-paceditor="on"] .pe-tab-badge { display: inline-flex; align-items: center; }

/* ── corpo: único elemento rolável (spec 1g) ─────────────────────────── */
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] .tpl-modal-body {
  padding: 18px 20px;
  background: var(--pe-surface);
  overscroll-behavior: contain;
}
:root[data-cedar-paceditor="on"] .pe-pane { display: flex; flex-direction: column; gap: 12px; }
:root[data-cedar-paceditor="on"] .pe-pane[hidden] { display: none !important; }

/* ── rodapé 60 px ────────────────────────────────────────────────────── */
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] .tpl-modal-foot {
  height: var(--pe-foot-h);
  min-height: var(--pe-foot-h);
  padding: 0 20px;
  gap: 10px;
  background: #fff;
  border-top: 1px solid var(--pe-line);
  border-radius: 0;
}
/* contador "N campos alterados" — zona 3 de 3 (frame 1d) */
:root[data-cedar-paceditor="on"] .pe-dirty-count {
  font: 600 10.5px 'Inter', system-ui, sans-serif;
  color: var(--pe-warn);
  white-space: nowrap;
}

:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] .tpl-modal-foot .ag-btn {
  height: 34px;
  border-radius: 8px;
  font: 700 11.5px 'Inter', system-ui, sans-serif;
}
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] #pac_editor_cancel {
  padding: 0 16px;
  border: 1px solid var(--pe-line-3);
  background: #fff;
  color: var(--pe-brown);
}
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] #pac_editor_save {
  padding: 0 18px;
  border: 0;
  background: var(--pe-brown);
  color: #fff;
  font-weight: 800;
}
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] #pac_editor_save:hover {
  background: var(--pe-brown-dark);
}
/* Salvar ganha realce quando há alteração pendente (frame 1d) */
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"][data-pe-dirty="1"] #pac_editor_save {
  box-shadow: 0 0 0 3px rgba(120, 85, 51, .28);
}
/* Excluir = destrutivo isolado à esquerda, ghost vermelho (spec 1g) */
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] #pac_editor_delete {
  margin-right: auto;
  padding: 0 13px;
  border: 1px solid var(--pe-danger-line);
  background: #fff;
  color: var(--pe-danger);
}
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] #pac_editor_delete:hover {
  background: var(--pe-danger-bg);
}

/* =====================================================================
 * 2 · ABA IDENTIFICAÇÃO — grid de campos (frame 1a)
 * ===================================================================== */
/* topo: coluna fixa da foto + grade de campos (frame 1a) */
:root[data-cedar-paceditor="on"] .pe-ident-top {
  display: grid;
  grid-template-columns: 212px 1fr;
  gap: 16px;
  align-items: start;
}
:root[data-cedar-paceditor="on"] .pe-ident-fields {
  display: flex;
  flex-direction: column;
  gap: 11px;
  min-width: 0;
}
/* sem foto no sistema, a grade ocupa a largura toda em vez de deixar buraco */
:root[data-cedar-paceditor="on"] .pe-ident-top:not(:has(#cpp_block)) {
  grid-template-columns: 1fr;
}
:root[data-cedar-paceditor="on"] .pe-ident-top:not(:has(#cpp_block)) #pe_photo_slot_ident {
  display: none;
}

:root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px 12px;
  margin: 0;
}
/* linha de um campo só (nome, convênio, observação) ocupa a largura toda */
:root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-row:has(> :only-child) {
  grid-template-columns: 1fr;
}
/* linha de três campos (nascimento · sexo · CPF) */
:root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-row:has(> :nth-child(3)) {
  grid-template-columns: 1fr 1fr 1fr;
}
:root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-field {
  min-width: 0;
  max-width: none !important;   /* o HTML fixa max-width inline por campo */
  gap: 4px;
}
:root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-field > span:first-child {
  font: 700 8.5px ui-monospace, Menlo, monospace;
  color: var(--pe-ink-mute);
  letter-spacing: .06em;
  text-transform: uppercase;
}
:root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-field input[type="text"],
:root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-field input[type="email"],
:root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-field input[type="date"],
:root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-field select {
  height: var(--pe-field-h);
  padding: 0 10px;
  border: 1px solid var(--pe-line-3);
  border-radius: 8px;
  background: #fff;
  font: 500 12.5px 'Inter', system-ui, sans-serif;
  color: var(--pe-ink);
}
:root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-field textarea {
  min-height: 56px;
  padding: 8px 10px;
  border: 1px solid var(--pe-line-3);
  border-radius: 8px;
  background: #fff;
  font: 500 12px/1.5 'Inter', system-ui, sans-serif;
}
:root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-field :is(input, select, textarea):focus {
  outline: none;
  border-color: var(--pe-brown);
  box-shadow: 0 0 0 3px rgba(120, 85, 51, .14);
}

/* idade calculada ao lado da data de nascimento */
:root[data-cedar-paceditor="on"] .pe-age {
  align-self: flex-start;
  margin-top: 2px;
  background: var(--pe-sand);
  color: var(--pe-brown);
  border-radius: 5px;
  padding: 2px 7px;
  font: 700 9.5px 'Inter', system-ui, sans-serif;
}

/* os dois consentimentos/marcadores lado a lado (frame 1a) */
:root[data-cedar-paceditor="on"] #pe_toggles_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0;
}
:root[data-cedar-paceditor="on"] #pe_toggles_row > * { margin: 0; }
/* .flag-chip é `flex-direction:column; align-items:center` no styles.css —
   como chip de comorbidade faz sentido, mas aqui deixava a caixinha flutuando
   ACIMA do rótulo. Nestes dois marcadores ele vira linha: caixa à esquerda,
   texto à direita (frame 1a). */
:root[data-cedar-paceditor="on"] #pe_toggles_row .flag-chip {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  text-align: left;
  border: 1px solid var(--pe-line);
  border-radius: 10px;
  background: #fff;
  padding: 10px 12px;
  margin: 0 !important;
  font: 700 11.5px 'Inter', system-ui, sans-serif;
  color: var(--pe-ink);
  width: 100%;
}
:root[data-cedar-paceditor="on"] #pe_toggles_row .flag-chip input[type="checkbox"] {
  width: 17px;
  min-width: 17px;
  height: 17px;
  margin: 0;
  flex: none;
  accent-color: var(--pe-brown);
}
:root[data-cedar-paceditor="on"] #pe_toggles_row #pac_is_test_row .flag-chip input[type="checkbox"] {
  accent-color: var(--pe-warn);
}
:root[data-cedar-paceditor="on"] #pe_toggles_row #pac_is_test_row .flag-chip {
  border-color: var(--pe-warn-line);
  background: #FFFDF7;
  color: var(--pe-warn);
}

/* campo alterado — filete âmbar + tag "editado" (frame 1d) */
:root[data-cedar-paceditor="on"] [data-pe-edited="1"] :is(input, select, textarea) {
  border-color: #E3C98F;
  box-shadow: inset 3px 0 0 var(--pe-warn-dot);
  background: #FFFDF7;
}
:root[data-cedar-paceditor="on"] .pe-edited-tag {
  background: var(--pe-warn-bg);
  border: 1px solid var(--pe-warn-line);
  color: var(--pe-warn);
  border-radius: 4px;
  padding: 0 5px;
  margin-left: 6px;
  font: 700 8px 'Inter', system-ui, sans-serif;
  text-transform: none;
  letter-spacing: 0;
}

/* =====================================================================
 * 3 · ABA DADOS CLÍNICOS — 2 colunas de seções (frame 1b)
 * ===================================================================== */
/* o <details> vira container mudo: o addon força open e a aba já é o título */
:root[data-cedar-paceditor="on"] #pe_pane_clin #pac_flags_details {
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin #pac_flags_details > summary { display: none; }
:root[data-cedar-paceditor="on"] #pe_pane_clin .flags-body { padding: 0; }
:root[data-cedar-paceditor="on"] #pe_pane_clin .flags-hint { display: none; }

:root[data-cedar-paceditor="on"] .pe-clin-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
  align-items: start;
}
:root[data-cedar-paceditor="on"] .pe-clin-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
:root[data-cedar-paceditor="on"] .pe-clin-wide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
:root[data-cedar-paceditor="on"] .pe-clin-wide .flags-group { margin: 0; }

/* seção (card): cabeçalho com título à esquerda e "+ Adicionar" à direita */
:root[data-cedar-paceditor="on"] #pe_pane_clin .flags-group {
  border: 1px solid var(--pe-line);
  border-radius: 10px;
  background: #fff;
  padding: 0 0 10px;
  margin: 0;
  min-width: 0;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flags-group > legend {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  float: left;                    /* WebKit: legend só respeita flex fora do fluxo de legend */
  padding: 8px 12px;
  margin: 0;
  border-bottom: 1px solid var(--pe-line-soft);
  border-radius: 10px 10px 0 0;
  background: var(--pe-sand-2);
  font: 800 12px 'Inter', system-ui, sans-serif;
  color: var(--pe-ink);
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flags-group > legend + * { clear: both; }
:root[data-cedar-paceditor="on"] #pe_pane_clin .flags-group > :not(legend) {
  padding-left: 12px;
  padding-right: 12px;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flags-group > :not(legend):first-of-type {
  padding-top: 10px;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flags-group p {
  font: 500 9px/1.5 'Inter', system-ui, sans-serif !important;
  color: var(--pe-ink-mute) !important;
  background: #F6F2EC;
  border-radius: 6px;
  padding: 5px 8px;
  margin: 8px 0 0 !important;
}

/* botão "+ Adicionar" — padrão ÚNICO (spec 1g): sempre à direita, 28 px */
:root[data-cedar-paceditor="on"] #pe_pane_clin .flags-group > legend .ag-btn,
:root[data-cedar-paceditor="on"] #pe_pane_clin .pe-add-host .ag-btn {
  margin-left: auto;
  height: 28px;
  padding: 0 11px;
  border: 1px solid var(--pe-line-3);
  border-radius: 8px;
  background: #fff;
  color: var(--pe-brown);
  font: 700 11px 'Inter', system-ui, sans-serif;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: none;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flags-group > legend .ag-btn:hover,
:root[data-cedar-paceditor="on"] #pe_pane_clin .pe-add-host .ag-btn:hover {
  background: var(--pe-sand);
  border-color: var(--pe-brown);
}
/* "Outras comorbidades" tem cabeçalho próprio (div, não legend) */
:root[data-cedar-paceditor="on"] #pe_pane_clin #pc_comorb_outras_wrap > div:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin: 10px -12px 8px;
  border-top: 1px solid var(--pe-line-soft);
  border-bottom: 1px solid var(--pe-line-soft);
  background: var(--pe-sand-2);
}
:root[data-cedar-paceditor="on"] #pe_pane_clin #pc_comorb_outras_wrap > div:first-child > span {
  font: 800 11px 'Inter', system-ui, sans-serif !important;
  color: var(--pe-ink-2) !important;
}

/* contador de itens ao lado do título da seção */
:root[data-cedar-paceditor="on"] .pe-count {
  border-radius: 8px;
  padding: 1px 7px;
  font: 800 9px 'Inter', system-ui, sans-serif;
  background: var(--pe-sand);
  color: var(--pe-brown);
  flex: none;
}
:root[data-cedar-paceditor="on"] .pe-count[data-tone="danger"] {
  background: var(--pe-danger-bg);
  border: 1px solid var(--pe-danger-line);
  color: var(--pe-danger);
}
:root[data-cedar-paceditor="on"] .pe-count:empty { display: none; }

/* campos dentro das seções clínicas */
:root[data-cedar-paceditor="on"] #pe_pane_clin .tpl-form-field {
  max-width: none !important;
  min-width: 0;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .tpl-form-field > span:first-child {
  font: 700 8px ui-monospace, Menlo, monospace;
  color: var(--pe-ink-mute);
  letter-spacing: .06em;
  text-transform: uppercase;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin :is(input[type="text"], input[type="number"], input[type="date"], select, textarea) {
  height: 32px;
  padding: 0 9px;
  border: 1px solid var(--pe-line-3);
  border-radius: 8px;
  background: #fff;
  font: 500 12px 'Inter', system-ui, sans-serif;
  color: var(--pe-ink);
  min-width: 0;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin textarea {
  height: auto;
  min-height: 52px;
  padding: 7px 10px;
  line-height: 1.5;
  font-size: 11px;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin #pc_imc {
  background: #F6F2EC;
  border-color: #EFE6DB;
  font-weight: 700;
  color: var(--pe-brown);
}
:root[data-cedar-paceditor="on"] #pe_pane_clin :is(input, select, textarea):focus {
  outline: none;
  border-color: var(--pe-brown);
  box-shadow: 0 0 0 3px rgba(120, 85, 51, .14);
}

/* antropometria em 4 colunas (frame 1b) */
:root[data-cedar-paceditor="on"] #pe_pane_clin .flags-group:has(#pc_peso_kg) > div:first-of-type {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr 1.2fr;
  gap: 10px !important;
  align-items: start !important;
}

/* comorbidades: chips-pílula (frame 1b) */
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-chip {
  border: 1px solid #E1CFB4;
  border-radius: 13px;
  background: #fff;
  padding: 4px 11px;
  font: 600 10.5px 'Inter', system-ui, sans-serif;
  color: var(--pe-ink-2);
  cursor: pointer;
  white-space: nowrap;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-chip input { display: none; }
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-chip:has(input:checked) {
  background: var(--pe-brown);
  border-color: var(--pe-brown);
  color: #fff;
  font-weight: 700;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-chip:has(input:checked) > span::after { content: ' ✓'; }
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-chip:has(input:focus-visible) {
  outline: 2px solid var(--pe-brown);
  outline-offset: 2px;
}

/* =====================================================================
 * 4 · ITEM REMOVÍVEL — componente único (anatomia da spec 1g)
 * alergia · medicação · anticoagulante · outra comorbidade
 * O × é flex:none e nunca encolhe; quando falta largura, são os CAMPOS que
 * quebram para a linha de baixo — o botão de remover nunca sai de vista.
 * ===================================================================== */
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-alergias-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-alergia-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px 10px !important;
  margin-bottom: 0 !important;
  padding: 6px 7px 6px 11px;
  min-height: 42px;
  background: var(--pe-sand-3);
  border: 1px solid var(--pe-line-2);
  border-radius: 8px;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-alergia-row > :is(input, select) {
  min-width: 120px;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-alergia-row > :is(input, select):focus-within,
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-alergia-row:focus-within {
  border-color: var(--pe-brown);
}
/* o × — 28×28 no desktop, sempre visível, sempre à direita */
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-alergia-row > .ag-btn {
  flex: none !important;
  margin-left: auto;
  width: var(--pe-rm-size);
  height: var(--pe-rm-size);
  min-width: var(--pe-rm-size);
  padding: 0;
  border: 1px solid #E0D6C8;
  border-radius: 7px;
  background: #fff;
  color: #8A7F73;
  font: 700 14px/1 'Inter', system-ui, sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-alergia-row > .ag-btn:hover {
  background: var(--pe-danger-bg);
  border-color: var(--pe-danger-line);
  color: var(--pe-danger);
}
:root[data-cedar-paceditor="on"] #pe_pane_clin .flag-alergia-row > .ag-btn:focus-visible {
  outline: 2px solid var(--pe-danger);
  outline-offset: 2px;
}

/* =====================================================================
 * 5 · ABA DOCUMENTOS — foto + anexos (frame 1c)
 * ===================================================================== */
:root[data-cedar-paceditor="on"] #pe_pane_docs {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 16px;
  align-items: start;
}
:root[data-cedar-paceditor="on"] #pe_pane_docs[hidden] { display: none !important; }
:root[data-cedar-paceditor="on"] #pe_pane_docs > * { min-width: 0; }
:root[data-cedar-paceditor="on"] #pe_pane_docs .pe-docs-card {
  border: 1px solid var(--pe-line);
  border-radius: 10px;
  background: #fff;
  margin: 0;
  overflow: hidden;
}
/* O #cpp_block nasceu para ocupar a largura toda no topo do modal (avatar à
   esquerda, controles à direita). Dentro de um hospedeiro — a coluna de 212 px
   da Identificação ou o cartão da aba Documentos — ele perde a moldura própria
   e empilha: avatar centrado, botões em linha que quebra, avisos por último.
   Nenhum botão é escondido: esconder affordance seria mudar função. */
:root[data-cedar-paceditor="on"] .pe-photo-host #cpp_block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 14px 12px;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  margin: 0;
}
:root[data-cedar-paceditor="on"] .pe-photo-host #cpp_block .cpp-av {
  width: 108px;
  height: 108px;
  flex: none;
}
:root[data-cedar-paceditor="on"] .pe-photo-host #cpp_block .cpp-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}
:root[data-cedar-paceditor="on"] .pe-photo-host #cpp_block .cpp-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}
:root[data-cedar-paceditor="on"] .pe-photo-host #cpp_block .cpp-btn {
  height: 28px;
  padding: 0 11px;
  border-radius: 8px;
  font: 700 10.5px 'Inter', system-ui, sans-serif;
  white-space: nowrap;
}
:root[data-cedar-paceditor="on"] .pe-photo-host #cpp_block :is(.cpp-meta, .cpp-lgpd, .cpp-perm) {
  text-align: center;
  width: 100%;
  margin: 0;
}
:root[data-cedar-paceditor="on"] .pe-photo-host #cpp_block .cpp-lgpd {
  font: 500 9px/1.5 'Inter', system-ui, sans-serif;
  color: #8A7F73;
}
:root[data-cedar-paceditor="on"] .pe-photo-host #cpp_block .cpp-perm {
  font: 600 8px/1.6 ui-monospace, Menlo, monospace;
  color: var(--pe-ink-faint);
}

/* hospedeiro da foto — o MESMO #cpp_block, compacto aqui e amplo em Documentos */
:root[data-cedar-paceditor="on"] .pe-photo-host--compacto {
  border: 1px solid var(--pe-line);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
:root[data-cedar-paceditor="on"] .pe-photo-host--compacto #cpp_block {
  padding: 14px 12px;
  gap: 9px;
}
:root[data-cedar-paceditor="on"] .pe-photo-host--compacto #cpp_block .cpp-av {
  width: 84px;
  height: 84px;
}
:root[data-cedar-paceditor="on"] .pe-photo-host--compacto #cpp_block .cpp-btn {
  height: 26px;
  padding: 0 9px;
  font-size: 10px;
}
:root[data-cedar-paceditor="on"] .pe-photo-host--compacto #cpp_block .cpp-lgpd {
  font-size: 8.5px;
}


:root[data-cedar-paceditor="on"] .pe-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--pe-line-soft);
  background: var(--pe-sand-2);
  font: 800 12px 'Inter', system-ui, sans-serif;
  color: var(--pe-ink);
}
:root[data-cedar-paceditor="on"] .pe-card-body { padding: 12px; }
:root[data-cedar-paceditor="on"] #pe_pane_docs .cdp-inline-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0;
}
:root[data-cedar-paceditor="on"] #pe_pane_docs .cdp-inline-btn {
  height: 34px;
  padding: 0 14px;
  border: 1px solid var(--pe-line-3);
  border-radius: 8px;
  background: #fff;
  color: var(--pe-brown);
  font: 700 11.5px 'Inter', system-ui, sans-serif;
  cursor: pointer;
}
:root[data-cedar-paceditor="on"] #pe_pane_docs .cdp-inline-btn:hover {
  background: var(--pe-sand);
  border-color: var(--pe-brown);
}
/* 31/08 · a LISTA de documentos anexados dentro do card. Antes o card só hospedava o
 * botão e o hint tracejado — quem anexava via a lista, quem abria o editor via o vazio. */
:root[data-cedar-paceditor="on"] .pe-docs-lista:empty { display: none; }
:root[data-cedar-paceditor="on"] .pe-docs-lista {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
:root[data-cedar-paceditor="on"] .pe-doc-item {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  border: 1px solid var(--pe-line-3);
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;
}
:root[data-cedar-paceditor="on"] .pe-doc-nome {
  font: 700 11px/1.3 'Inter', system-ui, sans-serif;
  color: var(--pe-ink, #3D3630);
  flex: 1 1 auto;
}
:root[data-cedar-paceditor="on"] .pe-doc-quem {
  font: 500 10px/1.3 'Inter', system-ui, sans-serif;
  color: #8A7F73;
}
:root[data-cedar-paceditor="on"] .pe-doc-selo {
  font: 700 9.5px/1 'Inter', system-ui, sans-serif;
  text-transform: lowercase;
  border-radius: 999px;
  padding: 4px 8px;
  white-space: nowrap;
}
:root[data-cedar-paceditor="on"] .pe-doc-selo.pe-tone-ok      { background:#E7F3EC; color:#177245; }
:root[data-cedar-paceditor="on"] .pe-doc-selo.pe-tone-atencao { background:#FDF3E0; color:#8A5A11; }
:root[data-cedar-paceditor="on"] .pe-doc-selo.pe-tone-erro    { background:#FBE9E9; color:#9B2C2C; }
:root[data-cedar-paceditor="on"] .pe-doc-selo.pe-tone-neutro  { background:#F1EEE9; color:#6B6259; }

:root[data-cedar-paceditor="on"] .pe-docs-hint {
  margin-top: 10px;
  border: 1.5px dashed var(--pe-line-3);
  border-radius: 8px;
  padding: 12px;
  text-align: center;
  color: #8A7F73;
  font: 600 10.5px/1.5 'Inter', system-ui, sans-serif;
}

/* =====================================================================
 * 6 · DIÁLOGOS DE CONFIRMAÇÃO — descarte (1d) e exclusão (1e)
 * ===================================================================== */
:root[data-cedar-paceditor="on"] .pe-confirm-scrim {
  position: absolute;
  inset: 0;
  background: rgba(43, 33, 27, .38);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  padding: 16px;
}
:root[data-cedar-paceditor="on"] .pe-confirm {
  width: min(440px, 100%);
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 28px 70px rgba(20, 12, 6, .5);
  overflow: hidden;
}
:root[data-cedar-paceditor="on"] .pe-confirm-top {
  padding: 18px 20px 0;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
:root[data-cedar-paceditor="on"] .pe-confirm-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  font-size: 17px;
  background: var(--pe-danger-bg);
  border: 1px solid var(--pe-danger-line);
  color: var(--pe-danger);
}
:root[data-cedar-paceditor="on"] .pe-confirm--warn .pe-confirm-icon {
  background: var(--pe-warn-bg);
  border-color: var(--pe-warn-line);
  color: var(--pe-warn);
}
:root[data-cedar-paceditor="on"] .pe-confirm-title {
  font: 800 14.5px 'Inter', system-ui, sans-serif;
  color: var(--pe-ink);
}
:root[data-cedar-paceditor="on"] .pe-confirm-text {
  font: 500 11.5px/1.55 'Inter', system-ui, sans-serif;
  color: var(--pe-ink-2);
  margin-top: 5px;
}
:root[data-cedar-paceditor="on"] .pe-confirm-note {
  font: 600 9px ui-monospace, Menlo, monospace;
  color: var(--pe-ink-mute);
  margin-top: 7px;
}
:root[data-cedar-paceditor="on"] .pe-confirm-ack {
  display: flex;
  flex-direction: row;      /* <label> herda column das folhas do app */
  gap: 9px;
  align-items: flex-start;
  margin: 14px 20px 0;
  padding: 10px 12px;
  background: var(--pe-sand-3);
  border: 1px solid var(--pe-line-2);
  border-radius: 9px;
  cursor: pointer;
  font: 600 11px/1.5 'Inter', system-ui, sans-serif;
  color: var(--pe-ink);
}
/* largura explícita: as folhas do app estiram input[width:100%] e o checkbox
   virava uma barra, empurrando o texto do aceite para a linha de baixo */
:root[data-cedar-paceditor="on"] .pe-confirm-ack input[type="checkbox"] {
  width: 16px;
  min-width: 16px;
  height: 16px;
  margin: 2px 0 0;
  flex: none;
  accent-color: var(--pe-brown);
}
:root[data-cedar-paceditor="on"] .pe-confirm-acts {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 20px 18px;
}
:root[data-cedar-paceditor="on"] .pe-confirm-acts button {
  height: 34px;
  padding: 0 16px;
  border-radius: 8px;
  font: 700 11.5px 'Inter', system-ui, sans-serif;
  cursor: pointer;
}
:root[data-cedar-paceditor="on"] .pe-btn-ghost {
  border: 1px solid var(--pe-line-3);
  background: #fff;
  color: var(--pe-brown);
}
:root[data-cedar-paceditor="on"] .pe-btn-ghost:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(120, 85, 51, .28);
}
:root[data-cedar-paceditor="on"] .pe-btn-danger {
  border: 0;
  background: var(--pe-danger);
  color: #fff;
  font-weight: 800;
}
:root[data-cedar-paceditor="on"] .pe-btn-danger[disabled] {
  background: #E9C7C3;
  cursor: not-allowed;
}
:root[data-cedar-paceditor="on"] .pe-btn-warn {
  border: 0;
  background: var(--pe-warn);
  color: #fff;
  font-weight: 800;
}
/* o modal atrás recua enquanto a confirmação está aberta (frame 1e) */
:root[data-cedar-paceditor="on"] .tpl-modal[data-pe-confirm="1"] > :not(.pe-confirm-scrim) {
  filter: blur(1px);
  opacity: .75;
  pointer-events: none;
}
:root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] > .tpl-modal {
  position: relative;
}

/* =====================================================================
 * 7 · TOUCH / iPad (frame 1f) — alvos ≥ 36 px, seções em 1 coluna
 * ===================================================================== */
@media (max-width: 1080px), (pointer: coarse) {
  :root[data-cedar-paceditor="on"] {
    --pe-field-h: 40px;
    --pe-rm-size: 36px;
    --pe-head-h: 56px;
    --pe-tabs-h: 46px;
    --pe-foot-h: 64px;
  }
  :root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] > .tpl-modal {
    width: 94vw;
    max-height: 90vh;
  }
  :root[data-cedar-paceditor="on"] .pe-tab { font-size: 12.5px; padding: 0 14px; }
  :root[data-cedar-paceditor="on"] #pe_pane_clin .flags-group > legend .ag-btn,
  :root[data-cedar-paceditor="on"] #pe_pane_clin .pe-add-host .ag-btn {
    height: 36px;
    padding: 0 14px;
    font-size: 12px;
  }
  :root[data-cedar-paceditor="on"] #pe_pane_clin :is(input[type="text"], input[type="number"], input[type="date"], select) {
    height: 40px;
    font-size: 13px;
  }
  :root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] .tpl-modal-foot .ag-btn { height: 40px; }
  :root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] .tpl-modal-close { width: 38px; height: 38px; }
}

/* seções em 1 coluna quando a largura útil não comporta duas (spec 1g) */
@media (max-width: 900px) {
  :root[data-cedar-paceditor="on"] .pe-clin-grid { grid-template-columns: 1fr; }
  :root[data-cedar-paceditor="on"] .pe-clin-wide { grid-template-columns: 1fr; }
  :root[data-cedar-paceditor="on"] #pe_pane_docs { grid-template-columns: 1fr; }
  :root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-row,
  :root[data-cedar-paceditor="on"] #pe_pane_ident .tpl-form-row:has(> :nth-child(3)),
  :root[data-cedar-paceditor="on"] #pe_toggles_row { grid-template-columns: 1fr; }
}

/* impressão: o modal não é superfície de impressão */
@media print {
  :root[data-cedar-paceditor="on"] #pac_editor_overlay[data-cedar-pe="on"] { display: none !important; }
}
