:root{--fed-blue: #213F99;--fed-red: #d0242b;--fed-yellow: #F7D31E;--fed-blue-dark: #162d72;--fed-blue-light: #2d52c4;--fed-red-dark: #a81c22;--fed-white: #ffffff;--fed-gray-50: #f8fafc;--fed-gray-100: #f1f5f9;--fed-gray-200: #e2e8f0;--fed-gray-300: #cbd5e1;--fed-gray-400: #94a3b8;--fed-gray-500: #64748b;--fed-gray-600: #475569;--fed-gray-700: #334155;--fed-gray-800: #1e293b;--fed-gray-900: #0f172a;--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden;height:100vh}html{overflow:hidden;height:100%;scroll-behavior:smooth}@media(max-width:1024px){body,html{overflow-y:auto;overflow-x:hidden;height:auto}}.login-page{min-height:100vh;height:100vh;display:flex;flex-direction:column;position:relative;background:linear-gradient(135deg,#213f99,#2563eb);overflow:hidden}@media(max-width:1024px){.login-page{height:auto;min-height:100vh;overflow-y:auto}}.bg-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}.bg-image{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/modules/authentication/images/Background.png);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.07;display:none}.gradient-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(247,211,30,.1) 0%,transparent 50%),radial-gradient(circle at 80% 30%,rgba(37,99,235,.07) 0%,transparent 50%)}.floating-shapes{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.shape{position:absolute;border-radius:50%;filter:blur(120px);opacity:.12;animation:floatShape 30s ease-in-out infinite}.shape-1{width:600px;height:600px;background:var(--fed-blue);top:-10%;left:-10%;animation-delay:0s}.shape-2{width:500px;height:500px;background:#2563eb;bottom:-10%;left:20%;animation-delay:10s}.shape-3{width:400px;height:400px;background:var(--fed-yellow);top:30%;right:10%;animation-delay:20s}@keyframes floatShape{0%,to{transform:translate(0)}33%{transform:translate(30px,-30px)}66%{transform:translate(-20px,20px)}}.login-container{position:relative;z-index:10;flex:1;display:flex;flex-direction:row;align-items:center;min-height:100vh;height:100vh;max-width:1600px;margin:0 auto;width:100%;overflow:hidden}@media(max-width:1024px){.login-container{flex-direction:column;height:auto;min-height:100vh;overflow-y:visible;padding:0}}.logo-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 6rem;text-align:center}.logo-glow-wrapper{display:inline-flex;align-items:center;justify-content:center;margin-bottom:2.25rem;position:relative}.logo-glow-wrapper:before{content:"";position:absolute;width:280px;height:280px;background:radial-gradient(circle,rgba(247,211,30,.22) 0%,rgba(37,99,235,.15) 50%,transparent 70%);border-radius:50%}.collab-logo-wrapper{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:1.75rem;height:210px;width:360px;margin-left:auto;margin-right:auto}.collab-logo-wrapper .logo-glow-wrapper{margin-bottom:0;position:absolute;top:50%;transform:translateY(-50%)}.collab-logo-wrapper .logo-left{left:0;z-index:1}.collab-logo-wrapper .logo-right{right:0;z-index:2}.collab-logo-wrapper .logo-glow-wrapper:before{width:250px;height:250px}.collab-logo{width:210px;height:210px;object-fit:contain;border-radius:50%;background:#fffffffa;padding:.9rem;border:4px solid rgba(255,255,255,.92);position:relative;z-index:1;filter:drop-shadow(0 16px 32px rgba(33,63,153,.24));box-shadow:0 8px 28px #0000001f}.brand-title{font-size:3.1rem;font-weight:900;color:var(--fed-white);letter-spacing:-.03em;line-height:1.12;margin-bottom:.6rem;text-shadow:0 4px 22px rgba(0,0,0,.3);white-space:nowrap}.brand-subtitle{font-size:1.2rem;font-weight:600;color:var(--fed-yellow);letter-spacing:.01em;text-shadow:0 2px 12px rgba(0,0,0,.3);line-height:1.3;text-align:center;white-space:nowrap;max-width:100%}.login-form-container{width:480px;display:flex;align-items:center;justify-content:center;padding:1.75rem;margin-left:auto;margin-right:5.5rem;overflow-y:auto;overflow-x:hidden}.login-form-container::-webkit-scrollbar{width:6px}.login-form-container::-webkit-scrollbar-track{background:transparent}.login-form-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.login-card-inner{width:100%;background:#fffffffa;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border-radius:22px;padding:2rem 2.15rem;box-shadow:none;border:none;position:relative;overflow:hidden}.login-card-inner:before{display:none}.login-card-inner:after{content:"";position:absolute;top:-80px;right:-80px;width:160px;height:160px;background:radial-gradient(circle,rgba(33,63,153,.06) 0%,transparent 70%);border-radius:50%}.form-header{margin-bottom:1.25rem}.form-header h2{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--fed-blue-dark) 0%,var(--fed-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.625rem;letter-spacing:-.03em;line-height:1.2}.form-header p{font-size:.95rem;color:var(--fed-gray-600);font-weight:500;letter-spacing:.01em}.form-group{margin-bottom:0;display:flex;flex-direction:column;gap:.5rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--fed-gray-700);letter-spacing:.01em}.label-icon{width:18px;height:18px;max-width:18px;max-height:18px;color:var(--fed-blue);flex-shrink:0;display:inline-block}.form-control{width:100%;padding:.9rem 1.15rem;font-size:.95rem;border:2px solid var(--fed-gray-200);border-radius:12px;background:var(--fed-white);color:var(--fed-gray-900);transition:all var(--transition-base);font-family:inherit;font-weight:500;background-image:none!important}.form-control:hover{border-color:var(--fed-gray-300)}.form-control:focus{outline:none;border-color:var(--fed-blue)!important;box-shadow:0 0 0 4px #213f991f!important;background-image:none!important}.form-control::placeholder{color:var(--fed-gray-400);font-weight:400}.form-control:valid,.form-control:invalid{background-image:none!important;box-shadow:none!important}.form-control:not(.is-invalid):focus{border-color:var(--fed-blue)!important;box-shadow:0 0 0 4px #213f991f!important}.form-control:-webkit-autofill,.form-control:-webkit-autofill:hover,.form-control:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:var(--fed-gray-900)!important;border:2px solid var(--fed-gray-200)!important;transition:background-color 5000s ease-in-out 0s!important;background-image:none!important}.form-control:-webkit-autofill:not(.is-invalid):focus{border-color:var(--fed-blue)!important;-webkit-box-shadow:0 0 0 4px rgba(33,63,153,.12),0 0 0 30px white inset!important}.form-control.is-invalid,.form-control.is-invalid:hover,.form-control.is-invalid:focus,.form-control.is-invalid:valid,.form-control.is-invalid:-webkit-autofill{border-color:#dc3545!important;background-image:none!important;-webkit-box-shadow:0 0 0 30px white inset!important;box-shadow:0 0 0 4px #dc35451a!important}.invalid-feedback{display:block!important;font-size:.8rem;color:#dc3545;margin-top:.25rem;font-weight:500;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.login-btn{width:100%;padding:.95rem 1.5rem;font-size:1rem;font-weight:700;color:var(--fed-white);background:linear-gradient(135deg,var(--fed-blue) 0%,#2563eb 100%);border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);box-shadow:0 8px 24px #213f994d;position:relative;overflow:hidden;margin-top:.5rem;letter-spacing:.02em}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .6s}.login-btn:hover:before{left:100%}.login-btn:hover,.login-btn:active{transform:none}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}button.login-btn.btn-primary,button.login-btn.btn-primary:hover,button.login-btn.btn-primary:focus,button.login-btn.btn-primary:active{background:linear-gradient(135deg,var(--fed-blue) 0%,#2563eb 100%)!important;border:none!important;color:var(--fed-white)!important;box-shadow:0 8px 24px #213f994d!important;transform:none!important}button.login-btn.btn-primary:disabled{opacity:.6;transform:none}.form-control:disabled,.login-btn:disabled{opacity:.6;cursor:not-allowed}.form-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--fed-gray-200);text-align:center}.form-footer p{font-size:.85rem;color:var(--fed-gray-600);font-weight:500}.form-footer a,.back-link{font-size:.95rem;color:var(--fed-blue-dark);text-decoration:none;font-weight:600;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:.25rem;position:relative}.form-footer a:after,.back-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:#2563eb;transition:width var(--transition-base)}.form-footer a:hover,.back-link:hover{color:#2563eb}.form-footer a:hover:after,.back-link:hover:after{width:100%}.alert-info{background:linear-gradient(135deg,#213f9914,#213f991f);color:var(--fed-blue-dark);border:1.5px solid rgba(33,63,153,.2);border-radius:14px;padding:.875rem 1.125rem;font-size:.9rem;font-weight:500}.password-rules{list-style:none;padding:0;margin:.75rem 0 0;font-size:.8rem;display:flex;flex-direction:column;gap:.35rem}.password-rules li{display:flex;align-items:center;gap:.5rem;color:var(--fed-gray-500);font-weight:500;transition:all var(--transition-fast)}.password-rules li:before{content:"○";width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--fed-gray-400);flex-shrink:0}.password-rules li.valid:before,.password-rules li.ok:before{content:"✓";color:#22c55e;font-weight:700}.password-rules li.valid,.password-rules li.ok{color:#22c55e}@media(max-width:1200px){.logo-container{padding:2.5rem}.brand-title{font-size:2.7rem}.brand-subtitle{font-size:1.08rem}.login-form-container{width:460px;padding:1.5rem;margin-right:3.5rem}.collab-logo{width:190px;height:190px}.collab-logo-wrapper{height:190px;width:330px}.collab-logo-wrapper .logo-glow-wrapper:before{width:230px;height:230px}}@media(max-width:1024px){.login-container{flex-direction:column}.logo-container{padding:2.25rem 2rem 1.35rem;flex:none}.login-form-container{width:100%;max-width:480px;margin:0 auto;padding:0 1.5rem 3rem;overflow-y:visible}.brand-title{font-size:2.45rem}.brand-subtitle{font-size:1.02rem}.collab-logo{width:170px;height:170px}.collab-logo-wrapper{height:170px;width:295px}.logo-glow-wrapper:before{width:210px;height:210px}.collab-logo-wrapper .logo-glow-wrapper:before{width:200px;height:200px}}@media(max-width:768px){.logo-container{padding:2rem 1.5rem 1.25rem}.brand-title{font-size:2.15rem}.brand-subtitle{font-size:.92rem}.collab-logo{width:145px;height:145px}.collab-logo-wrapper{height:145px;width:250px;margin-bottom:1.15rem}.logo-glow-wrapper:before{width:180px;height:180px}.collab-logo-wrapper .logo-glow-wrapper:before{width:170px;height:170px}.login-form-container{padding:0 1.25rem 2.5rem;max-width:480px}.login-card-inner{padding:1.65rem 1.5rem;border-radius:20px}.form-header h2{font-size:1.5rem}}@media(max-width:640px){.logo-container{padding:1.75rem 1.15rem 1rem}.brand-title{font-size:1.85rem}.brand-subtitle{font-size:.82rem}.collab-logo{width:120px;height:120px;padding:.6rem}.collab-logo-wrapper{height:120px;width:210px;margin-bottom:1rem}.logo-glow-wrapper:before{width:150px;height:150px}.collab-logo-wrapper .logo-glow-wrapper:before{width:140px;height:140px}.logo-glow-wrapper{margin-bottom:1.25rem}.login-form-container{padding:0 1rem 2rem}.login-card-inner{padding:1.4rem 1.2rem;border-radius:18px}.form-header h2{font-size:1.35rem}}@media(max-width:480px){.logo-container{padding:1.5rem 1rem .85rem}.brand-title{font-size:1.55rem}.brand-subtitle{font-size:.72rem}.collab-logo{width:100px;height:100px;padding:.5rem}.collab-logo-wrapper{height:100px;width:175px;margin-bottom:.85rem}.logo-glow-wrapper:before{width:125px;height:125px}.collab-logo-wrapper .logo-glow-wrapper:before{width:118px;height:118px}.logo-glow-wrapper{margin-bottom:1rem}.login-form-container{padding:0 .85rem 1.75rem}.login-card-inner{padding:1.25rem 1.05rem;border-radius:16px}.form-header h2{font-size:1.25rem}.form-control{padding:.8rem .9rem;font-size:.95rem}.login-btn{padding:.9rem 1.25rem;font-size:.95rem}}@media(max-width:390px){.login-form-container{padding:0 1rem 1.75rem}.login-card-inner{padding:1.75rem 1.25rem;border-radius:18px}}@media(max-width:360px){.login-form-container{padding:0 .75rem 1.5rem}.login-card-inner{padding:1.5rem 1rem;border-radius:16px}.login-btn{padding:.875rem 1.25rem;font-size:.95rem}}@media screen and (max-width:768px){input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{font-size:16px!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.logo-container,.logo-container *,.collab-logo-wrapper,.collab-logo,.logo-glow-wrapper,.logo-glow-wrapper:before{animation:none!important;transition:none!important}*:focus-visible{outline:3px solid var(--fed-yellow);outline-offset:3px}::selection{background:var(--fed-yellow);color:var(--fed-blue-dark)}::-moz-selection{background:var(--fed-yellow);color:var(--fed-blue-dark)}
