/* Registro de Procedimentos — estrutura, abas e seleção de nomes. */
.preg-main { max-width: 1180px; margin: 0 auto; padding: 24px; color: var(--d-texto, #1f2937); }
.preg-main input, .preg-main select, .preg-main textarea { padding: 9px 12px; font-size: 14px; }
.preg-abas { display: flex; gap: 8px; margin-bottom: 20px; }
.preg-vista { padding: 24px; border: 1px solid var(--d-borda, #d0dae8); border-radius: 12px; background: var(--d-bg-card, #fff); }
.preg-ac-wrap { position: relative; min-width: 0; }
.preg-ac-wrap input { width: 100%; }
.preg-ac-lista { position: absolute; top: 100%; left: 0; right: 0; z-index: 2; max-height: 240px; overflow-y: auto; background: var(--d-bg-card, #fff); color: var(--d-texto, #1f2937); border: 1px solid var(--d-borda, #d0dae8); border-radius: 8px; box-shadow: 0 4px 14px rgba(0,0,0,.15); }
.preg-ac-item { padding: 9px 12px; cursor: pointer; font-size: 14px; overflow-wrap: anywhere; }
.preg-ac-item:hover, .preg-ac-ativo { background: var(--d-azul-claro, #e8f0f9); }
.preg-ac-off { opacity: .45; cursor: not-allowed; }
#preg-modal-root .emerg-overlay, #preg-acesso-root .emerg-overlay { z-index: 99990; }
@media (max-width: 760px) {
  .preg-main { padding: 16px; }
  .preg-main input, .preg-main select, .preg-main textarea, .preg-ac-item { font-size: 16px; }
}

/* Apresentação restrita ao modal deste módulo. */
#preg-acesso-root .emerg-modal { text-align: center; color: var(--d-texto, #1f2937); }
#preg-acesso-titulo { font-size: 22px; font-weight: 700; line-height: 1.3; margin: 0 0 24px; color: var(--d-primary, #0a3d6b); }
#preg-acesso-root .emerg-campo { display: block; text-align: center; }
#preg-acesso-root input, #preg-acesso-root .preg-ac-item { text-align: center; }
#preg-acesso-root .emerg-modal-btns { justify-content: center; }

/* O card é uma ação: o toque não deve selecionar seu texto no navegador móvel. */
.preg-home-card, .preg-home-card * {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.preg-home-card { touch-action: manipulation; }

/* Formulário e lista dos dois plantões. */
.preg-titulo { margin: 0 0 20px; font-size: 22px; font-weight: 700; line-height: 1.3; }
.preg-grade { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 14px; }
.preg-campo { min-width: 0; margin-bottom: 16px; }
.preg-campo > label, .preg-rotulo, .preg-local legend { display: block; margin: 0 0 6px; color: var(--d-texto, #1f2937); font-size: 13px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.preg-campo input, .preg-campo textarea { display: block; width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid var(--d-borda, #d0dae8); border-radius: 8px; background: var(--d-bg-card, #f8fafc); color: var(--d-texto, #1f2937); }
.preg-campo textarea { resize: vertical; }
.preg-campo input[readonly] { background: var(--d-cinza-claro, #eef2f7); }
.preg-campo [aria-invalid="true"] { border-color: var(--d-fg-erro, #c0392b); }
.preg-campo input:focus, .preg-campo textarea:focus { outline: 2px solid var(--d-azul-medio, #1a5fa8); outline-offset: 1px; }
.preg-erro { margin: 5px 0 10px; font-size: 13px; color: var(--d-fg-erro, #c0392b); line-height: 1.4; }
.preg-erro:empty { display: none; }
.preg-local { padding: 0; margin: 0 0 16px; border: 0; }
.preg-local input[type="radio"] { padding: 0; }
.preg-aux-linha { display: flex; align-items: flex-start; gap: 8px; }
.preg-aux-linha > .preg-campo { flex: 1; margin-bottom: 10px; }
.preg-aux-linha > button { flex: 0 0 auto; }
.preg-lista { margin-top: 32px; border-top: 1px solid var(--d-borda, #d0dae8); padding-top: 8px; }
.preg-plantao { margin-top: 20px; }
.preg-plantao h3 { margin: 0 0 10px; font-size: 17px; font-weight: 700; line-height: 1.4; }
.preg-contagem, .preg-vazio { color: var(--d-cinza, #6b7280); font-size: 13px; font-weight: 400; }
.preg-registro { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 11px 0; border-bottom: 1px solid var(--d-borda, #e8ecf0); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.preg-hora { font-variant-numeric: tabular-nums; }
.preg-procedimento { font-weight: 600; }
.preg-equipe { color: var(--d-cinza, #6b7280); }
.preg-selo { display: inline-block; padding: 1px 7px; border-radius: 10px; font-size: 11px; font-weight: 700; background: var(--d-azul-claro, #e8f0f9); color: var(--d-texto, #1f2937); }
.preg-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.preg-form [hidden], .preg-vista[hidden], .preg-form .preg-ac-lista[hidden] { display: none; }
@media (max-width: 760px) {
  .preg-grade { grid-template-columns: 1fr; gap: 0; }
  .preg-vista { padding: 16px; }
  .preg-campo input, .preg-campo textarea { font-size: 16px; }
  .preg-form > button[type="submit"] { width: 100%; }
  .preg-plantao h3 { font-size: 15px; }
}
