/* Entrada do sistema: palco azul-marinho com rede viva à esquerda, formulário claro à direita. */
* { box-sizing: border-box; }
body.ent { margin: 0; min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr; font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #0f1b2d; background: #f3f5f8; -webkit-font-smoothing: antialiased; }
.ent-palco { position: relative; overflow: hidden; background: radial-gradient(80% 70% at 20% 10%, #1d4ed8 0%, transparent 60%), radial-gradient(70% 60% at 90% 100%, #0e7490 0%, transparent 55%), #0f2a52; color: #fff; display: flex; align-items: center; padding: clamp(2rem, 6vw, 5rem); }
#ent-rede { position: absolute; inset: 0; }
.ent-palco::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px) 0 0 / 100% 2.4rem, linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px) 0 0 / 2.4rem 100%; pointer-events: none; -webkit-mask-image: radial-gradient(70% 80% at 40% 40%, #000 30%, transparent 100%); mask-image: radial-gradient(70% 80% at 40% 40%, #000 30%, transparent 100%); }
.ent-conteudo { position: relative; z-index: 1; max-width: 34rem; animation: ent-sobe .9s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes ent-sobe { from { opacity: 0; transform: translateY(22px); } }
.ent-selo { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1.2rem; font-size: .8rem; padding: .3rem .85rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: 999px; background: rgba(255, 255, 255, .08); backdrop-filter: blur(6px); }
.ent-selo i { width: .5rem; height: .5rem; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 0 rgba(74, 222, 128, .6); animation: ent-bate 2s infinite; } @keyframes ent-bate { 70% { box-shadow: 0 0 0 9px rgba(74, 222, 128, 0); } 100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); } }
.ent-palco h2 { margin: 0; font-size: clamp(2rem, 4.2vw, 3.3rem); line-height: 1.08; letter-spacing: -.025em; font-weight: 700; }
.ent-palco h2 em { font-style: normal; background: linear-gradient(100deg, #93c5fd, #67e8f9, #93c5fd); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: ent-brilho 6s linear infinite; } @keyframes ent-brilho { to { background-position: -220% 0; } }
.ent-sub { margin: 1.1rem 0 0; font-size: 1.05rem; line-height: 1.55; color: rgba(255, 255, 255, .78); max-width: 30rem; }
.ent-numeros { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.ent-numeros li { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); border-radius: 14px; padding: .9rem .8rem; backdrop-filter: blur(6px); }
.ent-numeros b { display: block; font-size: 2rem; letter-spacing: -.02em; font-variant-numeric: tabular-nums; } .ent-numeros span { font-size: .72rem; color: rgba(255, 255, 255, .7); line-height: 1.3; display: block; margin-top: .15rem; }
.ent-agentes { display: flex; gap: .6rem; margin-top: 1.6rem; } .ent-agentes span { width: 2.6rem; height: 2.6rem; border-radius: 50%; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22); display: grid; place-items: center; font-size: 1.2rem; animation: ent-flutua 4.5s ease-in-out infinite alternate; }
.ent-agentes span:nth-child(2n) { animation-duration: 5.6s; animation-delay: -1.2s; } .ent-agentes span:nth-child(3n) { animation-duration: 3.8s; animation-delay: -2.2s; } @keyframes ent-flutua { from { transform: translateY(-3px); } to { transform: translateY(4px); } }

.ent-form { display: grid; place-items: center; padding: 2rem 1.2rem; }
.ent-cartao { width: min(100%, 26rem); background: #fff; border: 1px solid #dfe3ea; border-radius: 18px; padding: 2rem 1.8rem 1.4rem; box-shadow: 0 20px 60px rgba(15, 27, 45, .10), 0 2px 6px rgba(15, 27, 45, .05); animation: ent-sobe .8s .15s cubic-bezier(.2, .8, .2, 1) both; }
.ent-marca { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.4rem; } .ent-marca svg { width: 2.2rem; height: 2.2rem; } .ent-marca b { display: block; letter-spacing: .12em; color: #1e3a8a; } .ent-marca small { color: #5b6778; font-size: .78rem; }
.ent-cartao h1 { margin: 0; font-size: 1.5rem; letter-spacing: -.02em; } .ent-dica { margin: .3rem 0 1.2rem; color: #5b6778; font-size: .92rem; }
.ent-cartao label { display: block; font-size: .78rem; font-weight: 600; color: #475569; margin: .9rem 0 .3rem; }
.ent-cartao input { width: 100%; padding: .75rem .9rem; border: 1px solid #cfd6e0; border-radius: 10px; font: inherit; font-size: 1rem; background: #fff; transition: border-color .15s, box-shadow .15s; }
.ent-cartao input:focus { outline: 0; border-color: #1e3a8a; box-shadow: 0 0 0 4px rgba(30, 58, 138, .12); }
.ent-cartao button { width: 100%; margin-top: 1.3rem; padding: .85rem 1rem; border: 0; border-radius: 10px; font: inherit; font-weight: 700; color: #fff; background: #1e3a8a; cursor: pointer; position: relative; overflow: hidden; transition: background .15s, transform .1s; }
.ent-cartao button:hover { background: #1d4ed8; } .ent-cartao button:active { transform: scale(.985); } .ent-cartao button span { display: inline-block; transition: transform .2s; } .ent-cartao button:hover span { transform: translateX(4px); }
.ent-cartao button::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .3) 50%, transparent 65%); background-size: 250% 100%; animation: ent-brilho 3.5s linear infinite; }
.ent-aviso { border-radius: 10px; padding: .6rem .8rem; font-size: .88rem; margin-bottom: .6rem; } .ent-aviso.erro { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; } .ent-aviso.ok { background: #ecfdf5; border: 1px solid #bbf7d0; color: #166534; }
.ent-pe { margin: 1.2rem 0 0; text-align: center; font-size: .74rem; color: #8592a6; }
@media (max-width: 860px) { body.ent { grid-template-columns: 1fr; } .ent-palco { padding: 2rem 1.4rem 2.4rem; } .ent-numeros { grid-template-columns: repeat(3, 1fr); } .ent-palco h2 { font-size: 1.8rem; } .ent-agentes { display: none; } }
@media (prefers-reduced-motion: reduce) { .ent-conteudo, .ent-cartao, .ent-selo i, .ent-palco h2 em, .ent-agentes span, .ent-cartao button::after { animation: none !important; } }
