*{box-sizing:border-box}
body{margin:0;background:#eaf0f6;font-family:Inter,Arial,sans-serif;color:#183153}
.app{max-width:430px;margin:0 auto;min-height:100vh;padding:18px}
.topo{background:linear-gradient(160deg,#0b2f63,#0d6efd);border-radius:22px;padding:22px 18px;color:white;text-align:center;box-shadow:0 12px 28px rgba(13,110,253,.28)}
.logo{width:180px;max-width:80%;background:white;border-radius:14px;padding:10px;margin-bottom:16px}
.tag{font-size:24px;font-weight:800;letter-spacing:-.4px;display:flex;align-items:center;justify-content:center;gap:6px}
.vendedor{margin:14px auto 0;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:12px;font-size:13px;text-transform:uppercase;letter-spacing:.8px}
.vendedor strong{display:block;font-size:22px;letter-spacing:1px;margin-top:3px}
.card{background:#fff;border-radius:22px;margin-top:16px;padding:18px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.grupo{margin-bottom:18px;animation:entrar .18s ease-out}
.titulo{display:block;font-weight:800;font-size:15px;margin-bottom:10px;color:#183153}
.opcoes{display:grid;gap:10px}.opcoes.dois{grid-template-columns:1fr 1fr}
.opcao{display:flex;align-items:center;justify-content:center;text-align:center;min-height:70px;padding:12px;border-radius:16px;border:2px solid #dfe6ee;background:#f8fafc;font-weight:800;cursor:pointer;transition:.15s}
.opcao small{font-weight:600;color:#60758d}.opcao input{display:none}
.opcao:has(input:checked){border-color:#0d6efd;background:#eaf3ff;color:#0b5ed7;box-shadow:0 6px 14px rgba(13,110,253,.18)}
input[type=number],input[type=password]{width:100%;height:56px;border:2px solid #dfe6ee;background:#f8fafc;border-radius:16px;padding:0 16px;font-size:22px;font-weight:800;color:#183153;outline:none;text-align:center}
input[type=password]{text-align:left;font-size:20px}
input[type=number]:focus,input[type=password]:focus{border-color:#0d6efd;background:white}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{appearance:textfield;-moz-appearance:textfield}
.info,.aviso{border-radius:14px;padding:12px;margin-top:10px;font-size:14px;font-weight:700}.info{background:#fff3cd;color:#664d03}.aviso{background:#ffe3e3;color:#9b1c1c}
.padrao{margin:-4px 0 10px;background:#eef6ff;color:#0b5ed7;border-radius:12px;padding:9px 12px;font-size:13px;font-weight:800;text-align:center}
.stepper{display:grid;grid-template-columns:56px 1fr 56px;gap:10px;align-items:center}
.step-btn{height:56px;border:0;border-radius:16px;background:#183153;color:#fff;font-size:30px;font-weight:800;line-height:1;box-shadow:0 6px 14px rgba(24,49,83,.18);cursor:pointer}
.step-btn:active{transform:scale(.96)}
.resumo{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px;margin:12px 0 16px;animation:entrar .18s ease-out}
.resumo div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #e2e8f0;font-size:14px}
.resumo div:last-child{border-bottom:0}.resumo strong{color:#183153;text-align:right}
.preco{background:linear-gradient(160deg,#198754,#0f6b41);color:#fff;text-align:center;padding:22px 16px;border-radius:20px;box-shadow:0 10px 22px rgba(25,135,84,.28)}
.preco span{font-size:14px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.preco h2{margin:8px 0 0;font-size:36px;letter-spacing:-1px;transition:.16s}
.preco h2.pulse{transform:scale(1.035);opacity:.85}
.detalhar{width:100%;margin-top:12px;height:48px;border:2px solid #198754;border-radius:16px;background:#effaf4;color:#0f6b41;font-size:15px;font-weight:800;cursor:pointer}
.limpar{width:100%;margin-top:14px;height:52px;border:0;border-radius:16px;background:#183153;color:white;font-size:16px;font-weight:800;cursor:pointer}
footer{text-align:center;color:#6b7c90;font-size:12px;margin:14px 0 4px}footer a{color:#6b7c90;text-decoration:none;font-weight:800}.oculto{display:none!important}
.login-app{display:flex;align-items:center}.login-card{width:100%;margin-top:0}.login-topo{text-align:center}.login-topo h1{margin:6px 0 6px;font-size:26px}.login-topo p{margin:0 0 20px;color:#60758d;font-weight:600}.login-aviso{margin-bottom:14px}
@keyframes entrar{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

input[readonly]{cursor:default;caret-color:transparent;user-select:none}
.stepper input{text-align:center}


/* V1.4.0 - trava zoom por duplo toque e melhora toque no celular */
html, body, .app {
  touch-action: manipulation;
  overscroll-behavior: none;
}

button, .opcao, .step-btn, input {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
}

.step-btn {
  -webkit-touch-callout: none;
}
