.ct-wrap { max-width:640px; margin:0 auto; }
.ct-form { display:flex; flex-direction:column; gap:16px; background:var(--nn-bg-alt, var(--nn-bg, #ffffff)); border:1px solid var(--nn-borda, #e3e3e8); border-radius:var(--nn-raio-lg, 16px); padding:28px; }
.ct-field { display:flex; flex-direction:column; gap:6px; }
.ct-label { font-family:var(--nn-fonte-mono, ui-monospace, SFMono-Regular, Menlo, monospace); font-size:.8rem; color:var(--nn-texto-2, #52525b); }
.ct-req { color:var(--nn-acento, #2563eb); }
.ct-input, .ct-textarea { background:var(--nn-bg-alt, var(--nn-bg, #ffffff)); border:1px solid var(--nn-borda, #e3e3e8); border-radius:var(--nn-raio, 8px); padding:12px 14px; color:var(--nn-texto, #18181b); font-family:var(--nn-fonte, system-ui, -apple-system, Segoe UI, Roboto, sans-serif); font-size:.95rem; transition:var(--nn-transicao, .25s ease); width:100%; }
.ct-input:focus, .ct-textarea:focus { outline:none; border-color:var(--nn-acento, #2563eb); box-shadow:0 0 0 3px var(--nn-acento-fraco, color-mix(in srgb, var(--nn-acento, #2563eb) 12%, transparent)); }
.ct-textarea { resize:vertical; min-height:120px; }
.ct-op { display:inline-flex; align-items:center; gap:8px; color:var(--nn-texto-2, #52525b); font-size:.9rem; }
.ct-opcoes { display:flex; flex-wrap:wrap; gap:14px; }
.ct-submit { align-self:flex-start; }
.ct-success { background:var(--nn-acento-fraco, color-mix(in srgb, var(--nn-acento, #2563eb) 12%, transparent)); border:1px solid var(--nn-acento, #c8c8d0); color:var(--nn-acento, #2563eb); padding:16px 20px; border-radius:var(--nn-raio, 8px); font-family:var(--nn-fonte-mono, ui-monospace, SFMono-Regular, Menlo, monospace); font-size:.9rem; }
.ct-erro { background:var(--nn-erro-fundo, #fdeced); border:1px solid var(--nn-erro-borda, #f3b6ba); color:var(--nn-erro-texto, #b42318); padding:12px 16px; border-radius:var(--nn-raio, 8px); font-size:.9rem; margin-bottom:12px; }
.ct-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
