:root{--mouse-x:50%;--mouse-y:50%}.login-container,body .login-container,html body .login-container{position:relative!important;min-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;overflow:hidden!important;background:var(--bg)!important;margin:0!important;max-width:100%!important;width:100%!important}.login-background{position:absolute;inset:0;z-index:0;overflow:hidden}.animated-shapes{position:absolute;inset:0;opacity:.4}.shape{position:absolute;border-radius:50%;filter:blur(60px);animation:shapeFloat 25s ease-in-out infinite}.shape-1{width:500px;height:500px;background:radial-gradient(circle,rgba(15,157,120,.5) 0,transparent 70%);top:-150px;left:-150px;animation-delay:0s}.shape-2{width:450px;height:450px;background:radial-gradient(circle,rgba(233,138,47,.45) 0,transparent 70%);bottom:-120px;right:-120px;animation-delay:8s}.shape-3{width:380px;height:380px;background:radial-gradient(circle,rgba(15,157,120,.3) 0,transparent 70%);top:50%;right:10%;animation-delay:16s}.shape-4{width:320px;height:320px;background:radial-gradient(circle,rgba(233,138,47,.35) 0,transparent 70%);bottom:20%;left:15%;animation-delay:24s}@keyframes shapeFloat{0%,to{transform:translate(0) scale(1) rotate(0deg)}25%{transform:translate(40px,-40px) scale(1.15) rotate(90deg)}50%{transform:translate(-30px,30px) scale(.95) rotate(180deg)}75%{transform:translate(20px,-20px) scale(1.05) rotate(270deg)}}.gradient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5;animation:orbFloat 30s ease-in-out infinite;pointer-events:none}.orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(15,157,120,.6) 0,transparent 70%);top:-200px;left:-200px;animation-delay:0s}.orb-2{width:550px;height:550px;background:radial-gradient(circle,rgba(233,138,47,.5) 0,transparent 70%);bottom:-150px;right:-150px;animation-delay:10s}.orb-3{width:480px;height:480px;background:radial-gradient(circle,rgba(15,157,120,.4) 0,transparent 70%);top:50%;right:5%;animation-delay:20s}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.2)}66%{transform:translate(-40px,40px) scale(.85)}}.grid-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(18,32,51,.04) 1px,transparent 0),linear-gradient(90deg,rgba(18,32,51,.04) 1px,transparent 0);background-size:60px 60px;opacity:.6;animation:gridMove 30s linear infinite;-webkit-mask-image:radial-gradient(ellipse at center,black 40%,transparent 80%);mask-image:radial-gradient(ellipse at center,black 40%,transparent 80%)}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(60px,60px)}}.noise-overlay{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");opacity:.5;pointer-events:none}.login-content{position:relative;z-index:1;width:100%;max-width:480px;animation:fadeInUp .8s cubic-bezier(.16,1,.3,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}body .login-card{position:relative;background:rgba(255,255,255,.92)!important;-webkit-backdrop-filter:blur(32px) saturate(200%)!important;backdrop-filter:blur(32px) saturate(200%)!important;border:1px solid rgba(255,255,255,.5)!important;border-radius:36px!important;padding:56px 48px!important;box-shadow:0 25px 80px rgba(18,32,51,.15),inset 0 0 0 1px rgba(255,255,255,.6),inset 0 1px 0 rgba(255,255,255,.9)!important;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1)!important;max-width:none!important;margin:0!important;overflow:hidden}body .login-container .panel.hero-card,body .login-container .shell{display:none!important}.card-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),rgba(15,157,120,.15) 0,transparent 50%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:0}body .login-card:hover{transform:translateY(-4px) scale(1.01)!important;box-shadow:0 32px 100px rgba(18,32,51,.2),inset 0 0 0 1px rgba(255,255,255,.7),inset 0 2px 0 rgba(255,255,255,.95)!important}body .login-card:hover .card-glow{opacity:1}.login-header{text-align:center;margin-bottom:40px;position:relative;z-index:1}.brand-logo{display:flex;justify-content:center;margin-bottom:28px}.logo-icon{position:relative;width:72px;height:72px;animation:logoEntrance .8s cubic-bezier(.16,1,.3,1) .2s both}@keyframes logoEntrance{0%{opacity:0;transform:scale(.5) rotate(-180deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.logo-shine{position:absolute;inset:-4px;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.4),transparent 50%,rgba(15,157,120,.2));opacity:0;animation:logoShine 3s ease-in-out infinite;pointer-events:none}@keyframes logoShine{0%,to{opacity:0;transform:translateX(-100%) translateY(-100%)}50%{opacity:1;transform:translateX(100%) translateY(100%)}}.logo-icon svg{width:100%;height:100%;filter:drop-shadow(0 8px 20px rgba(15,157,120,.35));transition:transform .3s ease}.logo-icon:hover svg{transform:scale(1.1) rotate(5deg)}.login-title{margin:0 0 16px;font-size:2.25rem;font-weight:900;letter-spacing:-.04em;line-height:1.2;position:relative;z-index:1}.title-line{display:block;background:linear-gradient(135deg,#122033,#617081 50%,#122033);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:titleShimmer 4s ease-in-out infinite}.title-accent,.title-line{-webkit-text-fill-color:transparent}.title-accent{background:linear-gradient(135deg,#0f9d78,#35c39a 50%,#0f9d78);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:titleShimmer 4s ease-in-out .5s infinite}@keyframes titleShimmer{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.login-subtitle{margin:0;color:var(--muted);font-size:1rem;line-height:1.7;animation:fadeIn .8s ease-out .4s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-divider{display:flex;align-items:center;gap:20px;margin:40px 0;position:relative;z-index:1}.divider-line{flex:1 1;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);position:relative}.divider-line:after{content:"";position:absolute;left:0;top:0;width:0;height:100%;background:linear-gradient(90deg,transparent,var(--brand),transparent);animation:dividerExpand 1.5s ease-out forwards}@keyframes dividerExpand{to{width:100%}}.divider-text{color:var(--muted);font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;padding:0 8px;position:relative}.login-form{margin-bottom:32px;animation:fadeInUp .8s ease-out .6s both}.login-footer,.login-form{position:relative;z-index:1}.login-footer{text-align:center;animation:fadeInUp .8s ease-out .8s both}.security-note{display:inline-flex;align-items:center;gap:12px;margin:0;padding:16px 20px;background:linear-gradient(135deg,rgba(15,157,120,.1),rgba(15,157,120,.05));border:1px solid rgba(15,157,120,.2);border-radius:16px;color:var(--brand-dark);font-size:.875rem;line-height:1.6;transition:all .3s ease;position:relative;overflow:hidden}.security-note:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,157,120,.15),transparent);opacity:0;transition:opacity .3s ease}.security-note:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,157,120,.2);border-color:rgba(15,157,120,.3)}.security-note:hover:before{opacity:1}.security-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;position:relative;z-index:1}.security-icon svg{animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.security-note span{position:relative;z-index:1}.google-login-wrapper{width:100%}.google-button-container{position:relative;display:flex;justify-content:center;min-height:52px;margin-bottom:8px}.google-signin-button{width:100%;max-width:380px;display:flex;justify-content:center;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease!important;margin:0 auto;filter:drop-shadow(0 4px 12px rgba(18,32,51,.1))}.google-signin-button>div{width:100%!important}.google-signin-button iframe{width:100%!important;max-width:380px!important}.google-signin-button:hover{transform:scale(1.03) translateY(-2px)!important;filter:drop-shadow(0 8px 20px rgba(18,32,51,.15))!important}.google-signin-button:active{transform:scale(.98) translateY(0)!important}.loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:28px;z-index:10;animation:fadeIn .3s ease}.loading-spinner{width:36px;height:36px;border:3px solid rgba(15,157,120,.2);border-top:3px solid var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-overlay span{color:var(--brand-dark);font-size:.95rem;font-weight:700}.login-error{display:flex;align-items:center;gap:12px;margin-top:20px;padding:16px 20px;background:linear-gradient(135deg,rgba(216,91,66,.12),rgba(216,91,66,.06));border:1px solid rgba(216,91,66,.25);border-radius:16px;color:var(--danger);font-size:.9rem;animation:shake .5s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-8px)}20%,40%,60%,80%{transform:translateX(8px)}}.login-error svg{flex-shrink:0;animation:iconShake .5s ease}@keyframes iconShake{0%,to{transform:rotate(0deg)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@media (max-width:640px){body .login-card{padding:44px 32px!important;border-radius:28px!important}.login-title{font-size:1.875rem}.logo-icon{width:64px;height:64px}.shape-1,.shape-2,.shape-3,.shape-4{filter:blur(40px)}.orb-1,.orb-2,.orb-3{filter:blur(70px)}.google-button-container{min-height:48px}.security-note{padding:14px 18px;font-size:.8125rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}