:root{--accent:#14b8a6;--accent-soft:#2dd4bf;--ink:#f3f2ee;--muted:#a3a4a8}*{box-sizing:border-box}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:#08090b;margin:0;font-family:Inter Variable,system-ui,sans-serif}.login{isolation:isolate;place-items:center;min-height:100svh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.login__dots{z-index:-2;pointer-events:none;opacity:.7;background-image:radial-gradient(circle,#14b8a657 1.1px,#0000 1.8px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(125% 105% at 50% 40%,#000 0%,#0000 82%);mask-image:radial-gradient(125% 105% at 50% 40%,#000 0%,#0000 82%)}.login__dots--glow{z-index:-1;-webkit-mask-image:radial-gradient(220px circle at var(--mx,-999px) var(--my,-999px), #000 0%, #00000059 46%, transparent 72%);-webkit-mask-image:radial-gradient(220px circle at var(--mx,-999px) var(--my,-999px), #000 0%, #00000059 46%, transparent 72%);mask-image:radial-gradient(220px circle at var(--mx,-999px) var(--my,-999px), #000 0%, #00000059 46%, transparent 72%);opacity:0;background-image:radial-gradient(circle,#2dd4bfe6 1.2px,#0000 1.9px);transition:opacity .5s}.login.is-pointer .login__dots--glow{opacity:1}@media (pointer:coarse){.login__dots--glow{display:none}}.login:before{content:"";inset-inline:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 100% at 50% 0,#14b8a629,#0000 70%);height:22rem;position:absolute;top:0}.login:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(120% 80%,#0000 40%,#08090bb3 100%);position:absolute;inset:0}.login__card{z-index:1;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(#16181beb,#0f1013eb);border:1px solid #ffffff17;border-radius:1.4rem;flex-direction:column;width:100%;max-width:24rem;padding:2.4rem 2.1rem 2.1rem;animation:.7s cubic-bezier(.16,1,.3,1) both cardIn;display:flex;position:relative;box-shadow:0 30px 80px -20px #000000b3,inset 0 1px #ffffff0d}.login__card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-soft), transparent);height:1px;position:absolute;top:-1px;left:15%;right:15%}.login__brand{justify-content:center;margin-bottom:1.6rem;display:flex}.login__badge{width:3rem;height:3rem;color:var(--accent-soft);background:#14b8a61f;border:1px solid #14b8a640;border-radius:999px;place-items:center;margin:0 auto 1rem;display:grid}.login__badge svg{width:1.4rem;height:1.4rem}.login__badge--ok{color:#6ee7b7;background:#34d3991f;border-color:#34d39940}.login__title{text-align:center;letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.35rem;font-weight:650}.login__sub{text-align:center;color:var(--muted);margin:0 0 1.6rem;font-size:.9rem;line-height:1.5}.login__field{margin-bottom:.85rem;position:relative}.login__ic{width:1.15rem;height:1.15rem;color:var(--muted);pointer-events:none;transition:color .2s;position:absolute;top:50%;left:.95rem;transform:translateY(-50%)}.login__input{width:100%;height:3rem;color:var(--ink);font:inherit;background:#ffffff09;border:1px solid #ffffff1f;border-radius:.8rem;outline:none;padding:0 2.9rem;font-size:.95rem;transition:border-color .2s,background .2s,box-shadow .2s}.login__input::placeholder{color:#6b6d72}.login__input:focus{border-color:var(--accent);background:#14b8a60d;box-shadow:0 0 0 3px #14b8a629}.login__field:focus-within .login__ic{color:var(--accent-soft)}.login__eye{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:.4rem;display:grid;position:absolute;top:50%;right:.7rem;transform:translateY(-50%)}.login__eye svg{width:1.15rem;height:1.15rem}.login__eye:hover{color:var(--ink)}.login__code{text-align:center;letter-spacing:.55em;font-variant-numeric:tabular-nums;padding:0 1rem;font-size:1.5rem}.login__btn{background:linear-gradient(180deg, var(--accent-soft), var(--accent));color:#04201c;cursor:pointer;border:0;border-radius:.8rem;justify-content:center;align-items:center;gap:.5rem;width:100%;height:3rem;margin-top:.8rem;font-size:.98rem;font-weight:700;transition:transform .12s,box-shadow .2s,opacity .2s;display:flex;box-shadow:0 8px 20px -6px #14b8a680}.login__btn svg{width:1.15rem;height:1.15rem;transition:transform .2s}.login__btn:hover{box-shadow:0 12px 28px -6px #14b8a6a6}.login__btn:hover svg{transform:translate(3px)}.login__btn:active{transform:translateY(1px)}.login__btn:disabled{opacity:.6;cursor:default}.login__link{width:100%;color:var(--muted);font:inherit;cursor:pointer;text-align:center;background:0 0;border:0;margin-top:.9rem;font-size:.85rem;text-decoration:none;transition:color .2s;display:block}.login__link:hover{color:var(--ink)}.login__err{text-align:center;color:#f98a8a;background:#f98a8a14;border:1px solid #f98a8a33;border-radius:.6rem;margin:1rem 0 0;padding:.55rem .7rem;font-size:.85rem}.login__ok{text-align:center;color:#6ee7b7;background:#34d39914;border:1px solid #34d39933;border-radius:.6rem;margin:1rem 0 0;padding:.55rem .7rem;font-size:.85rem;line-height:1.5}.login__foot{z-index:1;color:#56585d;letter-spacing:.14em;text-transform:uppercase;text-align:center;margin-top:1.6rem;font-size:.72rem;position:relative}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.login__card{animation:none}.login__dots--glow{display:none}}
