body{margin:0;padding:0;overflow-x:hidden}.authentication-basic{min-height:100vh;width:100vw;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;display:flex;align-items:center;justify-content:center;padding:0;margin:0;position:fixed;top:0;left:0;transition:background-image 0.5s ease-in-out}.authentication-basic::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.4);backdrop-filter:blur(8px);z-index:1}.version-badge{position:absolute;top:20px;left:20px;background:rgba(102,126,234,0.9);color:white;padding:0.5rem 1rem;border-radius:25px;font-size:0.8rem;font-weight:600;backdrop-filter:blur(10px);z-index:3;border:1px solid rgba(255,255,255,0.2)}.login-container{width:100%;max-width:400px;padding:20px;position:relative;z-index:2}.custom-card{background:rgba(255,255,255,0.15)!important;backdrop-filter:blur(25px) saturate(200%)!important;-webkit-backdrop-filter:blur(25px) saturate(200%)!important;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.4);border:1px solid rgba(255,255,255,0.3)!important;width:100%}.card-body{padding:2rem!important}.logo-container{text-align:center;margin-bottom:1.5rem}.desktop-logo{height:3rem!important;width:auto}.welcome-title{font-size:1.5rem!important;font-weight:600!important;color:#ffffff!important;text-shadow:0 1px 3px rgba(0,0,0,0.3);text-align:center;margin-bottom:0.5rem!important;display:flex;align-items:center;justify-content:center;gap:0.5rem;position:relative}.welcome-title::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:60px;height:3px;background:linear-gradient(45deg,var(--primary-color),rgba(34,197,94,0.8));border-radius:2px}.welcome-title .text-primary{color:var(--primary-color)!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.1))}.welcome-subtitle{color:rgba(255,255,255,0.9)!important;text-shadow:0 1px 3px rgba(0,0,0,0.2);text-align:center;margin-bottom:1.5rem!important;font-size:0.9rem;line-height:1.5;font-weight:500;max-width:350px;margin-left:auto;margin-right:auto}.form-group{margin-bottom:1rem}.form-label{color:#ffffff!important;text-shadow:0 1px 2px rgba(0,0,0,0.2);font-weight:600;margin-bottom:0.5rem;font-size:0.9rem;display:block}.form-control{width:100%;border-radius:8px!important;border:1px solid rgba(0,0,0,0.1)!important;padding:0.7rem 1rem!important;font-size:0.95rem;transition:all 0.2s ease;background:rgba(255,255,255,0.3)!important;backdrop-filter:blur(15px)!important;-webkit-backdrop-filter:blur(15px)!important;color:#1a202c!important}.form-control::placeholder{color:rgba(0,0,0,0.45)!important}.form-control:focus{border-color:rgba(0,0,0,0.2)!important;box-shadow:none!important;outline:none!important;background:rgba(255,255,255,0.45)!important}#signin-username{text-transform:lowercase}@media (prefers-color-scheme:dark){.custom-card{background:rgba(255,255,255,0.1)!important;backdrop-filter:blur(20px) saturate(180%)!important;-webkit-backdrop-filter:blur(20px) saturate(180%)!important;border:1px solid rgba(255,255,255,0.2)!important;box-shadow:0 8px 32px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.2)!important}.welcome-title{color:#ffffff!important;text-shadow:0 2px 10px rgba(0,0,0,0.3)}.welcome-subtitle{color:rgba(255,255,255,0.9)!important;text-shadow:0 1px 4px rgba(0,0,0,0.2)}.form-label{color:rgba(255,255,255,0.95)!important;text-shadow:0 1px 3px rgba(0,0,0,0.2)}.form-control{background:rgba(255,255,255,0.1)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;border:1px solid rgba(255,255,255,0.3)!important;color:#ffffff!important;box-shadow:none!important}.form-control::placeholder{color:rgba(255,255,255,0.5)!important}.form-control:focus{background:rgba(255,255,255,0.15)!important;border-color:rgba(255,255,255,0.5)!important;color:#ffffff!important;box-shadow:none!important;outline:none!important}.input-group .form-control{border-right:none!important}.input-group .btn{background:rgba(255,255,255,0.1)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;border:1px solid rgba(255,255,255,0.3)!important;border-left:none!important;color:rgba(255,255,255,0.8)!important;box-shadow:none!important;outline:none!important}.input-group .btn:hover{background:rgba(255,255,255,0.2)!important;color:#ffffff!important}.input-group .btn:focus{outline:none!important;box-shadow:none!important}.btn-primary{background:rgba(102,126,234,0.4)!important;backdrop-filter:blur(15px)!important;-webkit-backdrop-filter:blur(15px)!important;border:1px solid rgba(255,255,255,0.3)!important;box-shadow:0 4px 15px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.2)!important}.btn-primary:hover{background:rgba(102,126,234,0.5)!important;box-shadow:0 6px 20px rgba(102,126,234,0.3),inset 0 1px 0 rgba(255,255,255,0.3)!important}.forgot-password-link{color:#ffffff!important;text-shadow:0 1px 3px rgba(0,0,0,0.3)}.forgot-password-link:hover{color:#ffffff!important;text-decoration:underline!important}.footer-message{background:rgba(34,197,94,0.1)!important;border:1px solid rgba(34,197,94,0.2)!important}.footer-message p{color:rgba(34,197,94,0.9)!important}.captcha-box{background:rgba(255,255,255,0.1)!important;backdrop-filter:blur(10px)!important;border-color:rgba(255,255,255,0.3)!important}.captcha-display{color:#ffffff!important;background:rgba(255,255,255,0.15)!important;backdrop-filter:blur(10px)!important}}.captcha-box{display:flex;align-items:center;gap:0.5rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:0.5rem}.captcha-display{flex:1;background:linear-gradient(45deg,#e9ecef,#f8f9fa);padding:0.8rem 1rem;border-radius:4px;font-family:'Courier New',monospace;font-size:1.2rem;font-weight:bold;letter-spacing:0.2rem;text-align:center;color:#495057;user-select:none;min-height:45px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.captcha-display::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);animation:captchaShine 2s infinite}@keyframes captchaShine{0%{left:-100%}50%{left:100%}100%{left:100%}}.captcha-refresh{background:none;border:none;color:var(--primary-color);cursor:pointer;padding:0.5rem;border-radius:4px;transition:all 0.15s ease-in-out;display:flex;align-items:center;justify-content:center}.captcha-refresh:hover{background:var(--primary-color-10);transform:rotate(180deg)}.captcha-refresh i{font-size:1.2rem}.lockout-message{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:white;padding:1rem;border-radius:8px;text-align:center;margin-bottom:1rem;animation:pulse 2s infinite;border:2px solid #ff4757}.rate-limit-message{background:linear-gradient(135deg,#ffa726,#ff8f00);color:white;padding:1rem;border-radius:8px;text-align:center;margin-bottom:1rem;animation:pulse 2s infinite;border:2px solid #ff8f00}@keyframes pulse{0%{opacity:1}50%{opacity:0.8}100%{opacity:1}}.lockout-timer,.rate-limit-timer{font-size:1.2rem;font-weight:bold;color:#fff200}.spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.secure-loader{position:relative;width:60px;height:60px;display:flex;align-items:center;justify-content:center}.loader-shield{position:absolute;z-index:3;font-size:24px;color:var(--primary-color);animation:shieldPulse 2s ease-in-out infinite}.loader-rings{position:absolute;width:100%;height:100%}.ring{position:absolute;border-radius:50%;border:2px solid transparent;animation:ringRotate 3s linear infinite}.ring-1{width:45px;height:45px;top:50%;left:50%;transform:translate(-50%,-50%);border-top-color:var(--primary-color);border-right-color:var(--primary-color);animation-duration:2s}.ring-2{width:35px;height:35px;top:50%;left:50%;transform:translate(-50%,-50%);border-bottom-color:rgba(34,197,94,0.8);border-left-color:rgba(34,197,94,0.8);animation-duration:1.5s;animation-direction:reverse}.ring-3{width:55px;height:55px;top:50%;left:50%;transform:translate(-50%,-50%);border-top-color:rgba(59,130,246,0.6);animation-duration:3s}@keyframes ringRotate{0%{transform:translate(-50%,-50%) rotate(0deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes shieldPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:0.8}}.secure-loader[aria-hidden="true"]{pointer-events:none}@media (prefers-reduced-motion:reduce){.ring,.loader-shield{animation:none}.spin{animation:none}}.bg-success-transparent{background-color:rgba(34,197,94,0.1)!important;border:1px solid rgba(34,197,94,0.2)!important;color:rgb(21,128,61)!important}.bg-danger-transparent{background-color:rgba(239,68,68,0.1)!important;border:1px solid rgba(239,68,68,0.2)!important;color:rgb(153,27,27)!important}.bg-info-transparent{background-color:rgba(59,130,246,0.1)!important;border:1px solid rgba(59,130,246,0.2)!important;color:rgb(30,64,175)!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn:focus,.forgot-password-link:focus{outline:none!important;box-shadow:none!important}.form-control:focus{outline:none!important;box-shadow:none!important}@media (prefers-contrast:high){.form-control{border:2px solid #000!important}.btn-primary{border:2px solid #000!important}.welcome-title{color:#000!important}}.error-message{color:#dc3545;font-size:0.85rem;margin-top:0.25rem;display:flex;align-items:center;gap:0.25rem}.form-control.is-invalid{border-color:#dc3545!important;box-shadow:0 0 0 0.2rem rgba(220,53,69,0.25)!important}.form-control.is-valid{border-color:#28a745!important;box-shadow:0 0 0 0.2rem rgba(40,167,69,0.25)!important}.text-danger{color:#dc3545!important}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:4px}@keyframes loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-form{opacity:0.7}.skeleton-input{height:45px;margin-bottom:1rem}.skeleton-button{height:45px;margin-bottom:0.5rem}.skeleton-text{height:20px;margin-bottom:0.5rem}.skeleton-text.short{width:60%}.input-group{display:flex;width:100%;position:relative}.input-group .form-control{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:none!important;flex:1}.input-group .btn{border:1px solid rgba(0,0,0,0.1)!important;border-left:none!important;background:rgba(255,255,255,0.3)!important;backdrop-filter:blur(15px)!important;-webkit-backdrop-filter:blur(15px)!important;color:rgba(0,0,0,0.6)!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-top-right-radius:8px!important;border-bottom-right-radius:8px!important;padding:0.7rem 1rem;transition:all 0.2s ease;cursor:pointer;box-shadow:none!important;outline:none!important}.input-group .btn:hover{background:rgba(255,255,255,0.5)!important;color:rgba(0,0,0,0.8)!important}.input-group .btn:focus{box-shadow:none!important;outline:none!important}.btn-primary{background:var(--primary-color)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;border:1px solid rgba(255,255,255,0.2)!important;border-radius:8px!important;padding:0.75rem 1.5rem!important;font-weight:600!important;transition:all 0.2s ease!important;width:100%;color:white!important;box-shadow:0 4px 15px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.2)}.btn-primary:hover{background:var(--primary-color-dark)!important;transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,0.25),inset 0 1px 0 rgba(255,255,255,0.25)}.btn-primary:disabled{background:#6c757d!important;cursor:not-allowed!important;transform:none!important}.footer-message{text-align:center;margin-top:1rem;padding:0.75rem;background:rgba(34,197,94,0.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(34,197,94,0.25);border-radius:8px;position:relative;overflow:hidden}.footer-message::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(34,197,94,0.15),transparent);animation:securityScan 3s infinite}@keyframes securityScan{0%{left:-100%}50%{left:100%}100%{left:100%}}.footer-message p{color:#28a745!important;font-size:0.85rem;margin:0;font-weight:500;position:relative;z-index:1}.footer-message .text-success{color:#28a745!important;animation:securityPulse 2s ease-in-out infinite}@keyframes securityPulse{0%,100%{opacity:1}50%{opacity:0.7}}.forgot-password-link{color:#ffffff;text-decoration:none;font-size:0.85rem;font-weight:600;transition:all 0.2s ease;display:inline-flex;align-items:center;gap:0.3rem;padding:0.3rem 0.5rem}.forgot-password-link:hover{color:rgba(255,255,255,0.8);text-decoration:underline}.forgot-password-link:focus{outline:2px solid var(--primary-color-25);outline-offset:2px;border-radius:4px}.forgot-password-link i{font-size:0.95rem;opacity:0.8}@media (prefers-color-scheme:dark){.forgot-password-link,.forgot-password-link:hover{color:#ffffff!important}}@media (max-width:768px){.authentication-basic{align-items:flex-start;padding-top:20px;min-height:100vh;padding-bottom:60px}.login-container{padding:15px;max-width:95%}.card-body{padding:1.8rem!important}.logo-container{margin-bottom:1.5rem}.desktop-logo{height:2.8rem!important}.welcome-title{font-size:1.3rem!important;margin-bottom:0.3rem!important}.welcome-subtitle{font-size:0.85rem;margin-bottom:1.5rem!important}.version-badge{top:10px;left:10px;font-size:0.7rem;padding:0.4rem 0.8rem}}@media (max-width:480px){.authentication-basic{padding-top:15px;min-height:100vh;padding-bottom:50px}.login-container{padding:10px}.card-body{padding:1.5rem!important}.logo-container{margin-bottom:1.2rem}.desktop-logo{height:2.5rem!important}.welcome-title{font-size:1.2rem!important;margin-bottom:0.2rem!important}.welcome-subtitle{font-size:0.8rem;margin-bottom:1.2rem!important}.form-group{margin-bottom:1rem}}.copyright-footer{position:fixed;bottom:0;left:0;right:0;text-align:center;padding:10px 20px;z-index:1}.copyright-footer p{color:rgba(255,255,255,0.7)!important;font-size:0.75rem;margin:0;text-shadow:0 1px 2px rgba(0,0,0,0.3)}.copyright-footer a{color:rgba(255,255,255,0.9)!important;text-decoration:none;transition:color 0.15s ease-in-out}.copyright-footer a:hover{color:white!important;text-decoration:underline}@media (max-width:768px){.copyright-footer{padding:6px 15px}.copyright-footer p{font-size:0.65rem}}.inline-alert{margin-bottom:1.5rem;padding:1rem 1.2rem;border-radius:12px;backdrop-filter:blur(15px) saturate(150%);-webkit-backdrop-filter:blur(15px) saturate(150%);border:1px solid;display:flex;align-items:center;gap:0.8rem;animation:slideInDown 0.4s ease-out,shake 0.5s ease-in-out 0.4s;box-shadow:0 4px 20px rgba(0,0,0,0.15),inset 0 1px 0 rgba(255,255,255,0.2);position:relative;overflow:hidden}.inline-alert::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);animation:alertShine 2s infinite}@keyframes slideInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes alertShine{0%{left:-100%}50%,100%{left:100%}}.inline-alert-error{background:rgba(239,68,68,0.15)!important;border-color:rgba(239,68,68,0.4)!important;color:#7f1d1d!important}.inline-alert-success{background:rgba(34,197,94,0.15)!important;border-color:rgba(34,197,94,0.4)!important;color:#14532d!important}.inline-alert-info{background:rgba(59,130,246,0.15)!important;border-color:rgba(59,130,246,0.4)!important;color:#1e3a5f!important}.inline-alert-warning{background:rgba(245,158,11,0.15)!important;border-color:rgba(245,158,11,0.4)!important;color:#78350f!important}@media (prefers-color-scheme:dark){.inline-alert-error,.inline-alert-success,.inline-alert-info,.inline-alert-warning{color:#ffffff!important}.inline-alert-title,.inline-alert-message{text-shadow:0 1px 3px rgba(0,0,0,0.3)}}.inline-alert-icon{font-size:1.5rem;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3))}.inline-alert-error .inline-alert-icon{color:#ef4444}.inline-alert-success .inline-alert-icon{color:#22c55e}.inline-alert-info .inline-alert-icon{color:#3b82f6}.inline-alert-warning .inline-alert-icon{color:#f59e0b}.inline-alert-content{flex:1;position:relative;z-index:1}.inline-alert-title{font-weight:600;font-size:0.95rem;margin-bottom:0.25rem}.inline-alert-message{font-size:0.85rem;opacity:0.95;line-height:1.4}.inline-alert-close{background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer;opacity:0.7;transition:opacity 0.2s ease;padding:0.25rem;flex-shrink:0;position:relative;z-index:1}.inline-alert-close:hover{opacity:1}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:rgba(30,30,30,0.98);color:white;padding:1rem 1.5rem;z-index:10000;border-top:3px solid var(--primary-color);backdrop-filter:blur(20px);transform:translateY(100%);transition:transform 0.4s ease-in-out;box-shadow:0 -4px 20px rgba(0,0,0,0.3)}.cookie-banner.show{transform:translateY(0)}.cookie-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.cookie-banner-text{flex:1;font-size:0.9rem;line-height:1.4}.cookie-banner-text strong{color:var(--primary-color);font-weight:600}.cookie-banner-text a{color:var(--primary-color);text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:border-color 0.2s ease}.cookie-banner-text a:hover{border-bottom-color:var(--primary-color)}.cookie-banner-buttons{display:flex;gap:0.75rem;flex-shrink:0}.cookie-btn{padding:0.6rem 1.2rem;border:none;border-radius:6px;font-size:0.85rem;font-weight:500;cursor:pointer;transition:all 0.2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:0.4rem}.cookie-btn-accept{background:var(--primary-color);color:white}.cookie-btn-accept:hover{background:var(--primary-color-dark);transform:translateY(-1px)}.cookie-btn-settings{background:transparent;color:#ccc;border:1px solid #555}.cookie-btn-settings:hover{background:rgba(255,255,255,0.1);border-color:#777;color:white}@media (max-width:768px){.cookie-banner{padding:1rem}.cookie-banner-content{flex-direction:column;align-items:stretch;text-align:center;gap:1rem}.cookie-banner-text{font-size:0.85rem}.cookie-banner-buttons{justify-content:center;flex-wrap:wrap}.cookie-btn{flex:1;min-width:120px;justify-content:center}}@media (max-width:480px){.cookie-banner{padding:0.8rem}.cookie-banner-text{font-size:0.8rem}.cookie-btn{padding:0.7rem 1rem;font-size:0.8rem}}