.auth-root{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(circle at top,var(--brand-accent) 0%,var(--secondary) 50%,var(--secondaryh) 100%);font-family:var(--ff)}.auth-card{position:relative;width:100%;max-width:1120px;min-height:520px;background:var(--bg);border-radius:24px;box-shadow:0 24px 75px #000000a6;display:flex;overflow:hidden}.auth-loading{position:absolute;inset:0;background:#0f172aa6;display:flex;align-items:center;justify-content:center;z-index:10}.auth-spinner{width:48px;height:48px;border-radius:999px;border:3px solid rgba(148,163,184,.4);border-top-color:var(--secondary);animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-illustration{flex:1;position:relative;background:radial-gradient(circle at top,var(--primary) 0,var(--primary) 55%,var(--primaryh) 100%);display:flex;align-items:center;justify-content:center;padding:2.5rem;color:var(--w)}.auth-illustration-shape{position:absolute;inset:-20%;background:radial-gradient(circle at 0% 0%,rgba(255,255,255,.16) 0,transparent 55%),radial-gradient(circle at 100% 100%,rgba(255,255,255,.22) 0,transparent 60%);opacity:.9;filter:blur(2px)}.auth-illustration-content{position:relative;z-index:1;max-width:320px;text-align:center}.auth-device-wrapper{position:relative;display:inline-block;margin-bottom:2rem}.auth-device{width:180px;height:320px;margin:0 auto 1rem;border-radius:32px;background:radial-gradient(circle at top,var(--secondary) 0%,var(--secondaryh) 70%);padding:.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 40px #174b5fb3,0 0 0 1px #1badc740;position:relative;overflow:visible;animation:device-float 5.2s ease-in-out infinite;transform-origin:center}.auth-device-glow{position:absolute;inset:18%;border-radius:999px;background:radial-gradient(circle,rgba(165,248,56,.35),transparent 70%);filter:blur(16px);opacity:.7;z-index:-1}.auth-device-inner{width:100%;height:100%;border-radius:24px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 0 0 1px #0f172a14,0 0 20px #0f172a73}.auth-device-inner:before{content:"";position:absolute;inset:-40%;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.6) 40%,transparent 80%);opacity:0;transform:translate(-120%) rotate(12deg);animation:device-shine 6.5s ease-in-out infinite}.auth-device-image{max-width:100%;max-height:100%;height:auto;display:block;object-fit:contain;margin:0 auto;transform-origin:center;animation:device-screen 7s ease-in-out infinite alternate}.auth-device-badge{position:absolute;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;border-radius:999px;font-size:.75rem;background:#0f172ae6;color:#e5e7eb;backdrop-filter:blur(10px);box-shadow:0 10px 25px #0f172ab3;white-space:nowrap}.auth-device-badge i{font-size:.9rem;color:#38bdf8}.auth-device-badge-top{top:12%;right:-40%;animation:badge-float-top 4.8s ease-in-out infinite}.auth-device-badge-bottom{bottom:5%;left:-35%;animation:badge-float-bottom 5.4s ease-in-out infinite}.auth-illustration-title{font-size:1.4rem;font-weight:700;margin-bottom:.5rem}.auth-illustration-subtitle{font-size:.95rem;line-height:1.5;opacity:.96}.auth-form-wrapper{flex:1;padding:3rem 3.2rem;display:flex;flex-direction:column;align-items:stretch;justify-content:center;background:var(--bg)}.auth-avatar-circle{width:72px;height:72px;border-radius:50%;background:var(--hb);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2rem;color:var(--en-bg)}.auth-title{text-align:center;font-size:1.9rem;font-weight:700;color:var(--tc);margin-bottom:.4rem}.auth-subtitle{text-align:center;font-size:.95rem;color:var(--sc);margin-bottom:1.6rem}.auth-form-fields{width:100%}.auth-form-fields>form,.auth-form-fields>div{width:100%}.auth-actions{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.auth-primary-button{width:100%;border-radius:999px!important;padding:.8rem 1.2rem!important;font-weight:600!important;background:linear-gradient(135deg,var(--secondary),var(--info))!important;color:var(--w)!important;border:none!important;transition:transform .15s ease-out,box-shadow .15s ease-out}.auth-primary-button:hover:enabled{background:linear-gradient(135deg,var(--secondaryh),var(--infoh))!important;transform:translateY(-1px);box-shadow:0 10px 25px #2563eb59}.auth-links{margin-top:1.25rem;text-align:center}.auth-link-underline{font-size:.9rem;color:var(--info);text-decoration:none}.auth-link-underline:hover{text-decoration:underline;color:var(--infoh)}.auth-bottom-text{margin-top:.9rem;font-size:.9rem;color:var(--sc)}.auth-link-highlight{color:var(--info);font-weight:600;text-decoration:none}.auth-link-highlight:hover{text-decoration:underline;color:var(--infoh)}.auth-footer{margin-top:1.5rem;font-size:.75rem;color:var(--notif-muted);text-align:center}@media(max-width:992px){.auth-card{flex-direction:column;min-height:auto}.auth-illustration{order:2;padding:2rem 2.4rem}.auth-form-wrapper{padding:2.4rem 2.4rem 2rem}}@media(max-width:768px){.auth-root{padding:1rem}.auth-card{border-radius:20px}.auth-form-wrapper{padding:2rem 1.75rem 1.75rem}.auth-title{font-size:1.7rem}.auth-illustration{display:none}}@media(max-width:480px){.auth-form-wrapper{padding:1.75rem 1.25rem 1.5rem}.auth-avatar-circle{width:64px;height:64px;font-size:1.7rem}.auth-title{font-size:1.5rem}.auth-subtitle{font-size:.9rem}}@keyframes device-float{0%{transform:translateY(0) rotate(-2deg) scale(1)}50%{transform:translateY(-10px) rotate(2deg) scale(1.02)}to{transform:translateY(0) rotate(-2deg) scale(1)}}@keyframes device-shine{0%{opacity:0;transform:translate(-120%) rotate(12deg)}35%{opacity:0}45%{opacity:.8}60%{opacity:0;transform:translate(120%) rotate(12deg)}to{opacity:0;transform:translate(120%) rotate(12deg)}}@keyframes device-screen{0%{transform:scale(1);filter:saturate(1) brightness(1)}50%{transform:scale(1.03);filter:saturate(1.1) brightness(1.02)}to{transform:scale(1);filter:saturate(1) brightness(1)}}@keyframes badge-float-top{0%,to{transform:translateY(0);opacity:.95}50%{transform:translateY(-6px);opacity:1}}@keyframes badge-float-bottom{0%,to{transform:translateY(0);opacity:.9}50%{transform:translateY(5px);opacity:1}}
