/* painel Elite — tela de login */
body.el-login { min-height: 100vh; overflow-x: hidden; display: flex; align-items: center; justify-content: center; }
body.el-login:after { opacity: .8; }

.el-orb { position: fixed; border-radius: 50%; filter: blur(70px); pointer-events: none; z-index: -1; animation: el-float 14s ease-in-out infinite alternate; }
.el-orb.o1 { width: 520px; height: 520px; left: -140px; top: -160px; background: rgba(255, 31, 45, .28); }
.el-orb.o2 { width: 460px; height: 460px; right: -120px; bottom: -160px; background: rgba(60, 110, 255, .22); animation-delay: -5s; }
.el-orb.o3 { width: 300px; height: 300px; left: 42%; top: 60%; background: rgba(155, 123, 255, .16); animation-delay: -9s; }
@keyframes el-float { to { transform: translate(60px, 40px) scale(1.12); } }

.el-login-wrap { width: min(1180px, calc(100% - 32px)); margin: 32px auto; display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px; align-items: stretch; }

/* lado da vitrine */
.el-login-show { position: relative; padding: 48px 46px; border-radius: 30px; overflow: hidden;
    background: linear-gradient(160deg, rgba(255, 31, 45, .16), rgba(17, 22, 36, .5) 45%, rgba(10, 13, 22, .6));
    border: 1px solid rgba(255,255,255,.07); box-shadow: 0 40px 100px rgba(0,0,0,.45);
    animation: el-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.el-login-brand { display: flex; align-items: center; gap: 14px; }
.el-login-brand .el-logo { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; overflow: hidden; color: #fff; font-size: 26px;
    background: radial-gradient(circle at 30% 25%, #ff5a63, #b0060f); box-shadow: 0 10px 30px var(--el-red-glow), inset 0 1px 0 rgba(255,255,255,.35); }
.el-login-brand .el-logo img { width: 100%; height: 100%; object-fit: cover; }
.el-login-brand b { font-size: 22px; font-weight: 900; letter-spacing: .08em; color: #fff; }
.el-login-show h1 { margin: 64px 0 18px; font-size: clamp(32px, 3.6vw, 50px); line-height: 1.06; font-weight: 900; letter-spacing: -.035em; color: #fff; }
.el-login-show h1 span { background: linear-gradient(90deg, #ff4a55, #ffb36b); -webkit-background-clip: text; background-clip: text; color: transparent; }
.el-login-show p { max-width: 460px; font-size: 16px; line-height: 1.6; color: #a9b1c6; margin: 0; }

.el-devices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 40px; max-width: 460px; }
.el-dev { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; font-weight: 700; color: #e9edf6;
    background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.08); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    animation: el-glow 6s ease-in-out infinite; animation-delay: var(--d); }
.el-dev i { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; font-size: 19px; background: rgba(255,31,45,.14); color: #ff6b74; }
.el-dev span { flex: 1; }
.el-dev:after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--el-green); box-shadow: 0 0 10px var(--el-green); }
@keyframes el-glow { 0%, 70%, 100% { border-color: rgba(255,255,255,.08); } 80% { border-color: rgba(255,31,45,.5); box-shadow: 0 0 24px rgba(255,31,45,.18); } }

.el-signal { position: absolute; right: 46px; top: 48px; display: flex; align-items: flex-end; gap: 5px; height: 70px; opacity: .55; }
.el-signal i { width: 5px; border-radius: 3px; background: linear-gradient(#ff4a55, rgba(255,31,45,.1)); animation: el-eq 1.4s ease-in-out infinite alternate; }
.el-signal i:nth-child(odd) { animation-duration: 1.1s; }
.el-signal i:nth-child(3n) { animation-duration: 1.7s; }
.el-signal i:nth-child(1) { animation-delay: -.2s } .el-signal i:nth-child(2) { animation-delay: -.5s } .el-signal i:nth-child(3) { animation-delay: -.9s }
.el-signal i:nth-child(4) { animation-delay: -.3s } .el-signal i:nth-child(5) { animation-delay: -1.1s } .el-signal i:nth-child(6) { animation-delay: -.7s }
.el-signal i:nth-child(7) { animation-delay: -.1s } .el-signal i:nth-child(8) { animation-delay: -1.3s } .el-signal i:nth-child(9) { animation-delay: -.6s }
.el-signal i:nth-child(10) { animation-delay: -.4s } .el-signal i:nth-child(11) { animation-delay: -1s } .el-signal i:nth-child(12) { animation-delay: -.8s }
.el-signal i:nth-child(13) { animation-delay: -1.2s } .el-signal i:nth-child(14) { animation-delay: -.25s } .el-signal i:nth-child(15) { animation-delay: -.95s } .el-signal i:nth-child(16) { animation-delay: -.55s }
@keyframes el-eq { from { height: 12%; } to { height: 100%; } }

/* cartão do formulário */
.el-login-card { padding: 48px 44px 30px; border-radius: 30px; display: flex; flex-direction: column; justify-content: center;
    background: linear-gradient(180deg, rgba(23, 29, 46, .82), rgba(13, 17, 28, .86)); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
    border: 1px solid rgba(255,255,255,.09); box-shadow: 0 40px 100px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
    animation: el-rise .7s .1s cubic-bezier(.2,.8,.2,1) both; }
.el-login-head { margin-bottom: 28px; }
.el-lock { width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center; font-size: 26px; color: #fff; margin-bottom: 22px;
    background: linear-gradient(135deg, #ff4a55, #c4000c); box-shadow: 0 14px 34px var(--el-red-glow), inset 0 1px 0 rgba(255,255,255,.3); }
.el-login-head h2 { font-size: 28px; font-weight: 900; color: #fff; margin: 0 0 6px; }
.el-login-head p { color: var(--el-dim); margin: 0; }

.el-field { display: block; margin-bottom: 18px; }
.el-field > span { display: block; font-size: 12.5px; font-weight: 700; color: #cfd5e3; margin-bottom: 8px; letter-spacing: .02em; }
.el-field > div { position: relative; display: flex; align-items: center; height: 56px; border-radius: 16px; background: rgba(5, 8, 15, .6); border: 1px solid rgba(255,255,255,.1); transition: border-color .2s, box-shadow .2s; }
.el-field > div:focus-within { border-color: rgba(255,31,45,.65); box-shadow: 0 0 0 5px rgba(255,31,45,.14); }
.el-field > div > i { width: 52px; text-align: center; font-size: 19px; color: var(--el-dim); transition: color .2s; }
.el-field > div:focus-within > i { color: #ff6b74; }
.el-field input { flex: 1; min-width: 0; height: 100%; background: transparent; border: 0; outline: 0; color: #fff; font-size: 15.5px; font-family: inherit; padding-right: 14px; }
.el-field input::placeholder { color: rgba(139,148,171,.55); }
.el-field input:-webkit-autofill { -webkit-text-fill-color: #fff; -webkit-box-shadow: 0 0 0 100px #0b0f19 inset; caret-color: #fff; }
.el-field button { width: 48px; height: 100%; background: transparent; border: 0; color: var(--el-dim); font-size: 19px; cursor: pointer; }
.el-field button:hover { color: #fff; }

.el-caps { display: none; align-items: center; gap: 6px; font-size: 12.5px; color: var(--el-gold); margin: -6px 0 14px; }
.el-caps.on { display: flex; }

.el-go { position: relative; overflow: hidden; width: 100%; height: 58px; margin-top: 10px; border: 0; border-radius: 16px; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 16px; font-weight: 800; letter-spacing: .02em; color: #fff;
    background: linear-gradient(135deg, #ff3442, #c3000b); box-shadow: 0 16px 36px var(--el-red-glow), inset 0 1px 0 rgba(255,255,255,.25); transition: transform .2s, box-shadow .2s; }
.el-go:hover { transform: translateY(-2px); box-shadow: 0 20px 44px var(--el-red-glow), inset 0 1px 0 rgba(255,255,255,.25); }
.el-go:before { content: ''; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; transform: skewX(-20deg);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent); animation: el-shine 3.6s ease-in-out infinite; }
@keyframes el-shine { 0%, 60% { left: -60%; } 100% { left: 130%; } }
.el-go i { font-size: 20px; transition: transform .25s; }
.el-go:hover i { transform: translateX(4px); }
.el-go.busy { pointer-events: none; opacity: .85; }
.el-go.busy i { animation: el-spin 1s linear infinite; }
@keyframes el-spin { to { transform: rotate(360deg); } }

.el-login-alert { display: flex; align-items: center; gap: 10px; padding: 12px 14px; margin-bottom: 18px; border-radius: 14px; font-size: 14px; font-weight: 600;
    color: #ffb3b8; background: rgba(255,31,45,.1); border: 1px solid rgba(255,31,45,.3); animation: el-shake .45s; }
.el-login-alert i { font-size: 19px; }
@keyframes el-shake { 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
.el-login-foot { margin: 28px 0 0; text-align: center; font-size: 12.5px; color: #66708a; }

@media (max-width: 991.98px) {
    .el-login-wrap { grid-template-columns: 1fr; max-width: 520px; }
    .el-login-show { display: none; }
    .el-login-card { padding: 40px 28px 26px; }
}
.el-remember { display: flex; align-items: center; gap: 10px; margin: -4px 0 14px; font-size: 13.5px; color: #a3a9b8; cursor: pointer; text-transform: none; letter-spacing: 0; }
.el-remember input { width: 18px; height: 18px; accent-color: #ff2a2a; }
