.pre-wrap { max-width: 640px; margin: 0 auto; padding: 1.2rem 1rem 2rem; }
.pre-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 1.1rem; text-align: left; margin-top: .8rem; }
.pre-tipos { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .8rem; }
.pre-tipo { flex: 1 1 30%; display: flex; align-items: center; gap: .4rem; background: rgba(120,180,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; padding: .5rem .6rem; cursor: pointer; font-size: .9rem; }
.pre-tipo input { accent-color: #4fd1a1; }
.pre-sec label { display: block; margin: .5rem 0; font-size: .9rem; }
.pre-sec input, .pre-sec select, .pre-card textarea, .pre-card input[type=text], .pre-card input[type=email], .pre-card input[type=number] {
  width: 100%; box-sizing: border-box; margin-top: .2rem; padding: .5rem .6rem; border-radius: 8px;
  border: 1px solid rgba(255,255,255,.18); background: rgba(0,0,0,.25); color: inherit; font-size: .95rem; }
.pre-fila { display: flex; gap: .6rem; flex-wrap: wrap; }
.pre-fila label { flex: 1 1 30%; }
.pre-estimado { margin: .9rem 0 .2rem; padding: .7rem .8rem; background: rgba(79,209,161,.12); border: 1px solid rgba(79,209,161,.5); border-radius: 10px; font-size: 1rem; }
.pre-sub { opacity: .8; font-size: .82rem; }
.pre-warn { color: #ffcf7a; font-size: .84rem; margin-top: .3rem; }
.pre-hr { border: 0; border-top: 1px solid rgba(255,255,255,.12); margin: 1rem 0; }
.pre-enviar { width: 100%; margin-top: .8rem; padding: .7rem; font-size: 1rem; }
.pre-msg { margin-top: .6rem; font-size: .9rem; min-height: 1.2rem; }
.pre-msg.ok { color: #6fe0a0; }
.pre-msg:not(.ok) { color: #ff9b9b; }
@media (max-width: 520px) { .pre-tipo, .pre-fila label { flex-basis: 100%; } }
