.cfg-secao { display: block; padding: 20px; margin-bottom: 16px; }
.cfg-secao h3 { margin: 0 0 16px; }
.cfg-campo { border: 0; padding: 0; margin: 0 0 18px; }
.cfg-campo legend, .cfg-campo > label { display: block; padding: 0; margin-bottom: 8px; color: var(--ink); font-size: 13px; font-weight: 600; }
.cfg-campo select, .cfg-campo input[type="date"], .cfg-campo input[type="number"] {
  width: 100%; max-width: 320px; min-height: 44px; padding: 8px 10px; box-sizing: border-box;
  border: 1.5px solid var(--line); border-radius: 10px; background: var(--panel-strong); color: var(--ink); font: inherit; font-size: 13px;
}
.cfg-campo input[type="range"] { width: 100%; max-width: 420px; min-height: 44px; accent-color: var(--brand); }
.cfg-opcoes { display: flex; flex-wrap: wrap; gap: 8px; }
.cfg-opcoes label { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: 10px; cursor: pointer; }
.cfg-pontos { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 2px 12px; margin-bottom: 8px; }
.cfg-pontos[hidden] { display: none; }
.cfg-pontos label { display: flex; align-items: flex-start; gap: 8px; min-height: 44px; padding: 8px 0; box-sizing: border-box; font-size: 13px; cursor: pointer; }
.cfg-interruptor { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; padding: 8px 0; box-sizing: border-box; font-size: 13px; cursor: pointer; }
.cfg-interruptor small { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }
.cfg-dica { display: block; margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.cfg-erro { margin: 0 0 12px; color: var(--tema-vermelho-texto, #dc2626); font-size: 13px; }
