.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden;background:#fff;transition:all .4s cubic-bezier(.4,0,.2,1)}body.dark-theme .login-page{background:var(--primary-gradient-dark)}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(102,126,234,.1) 0,transparent 70%);animation:pulse 20s ease-in-out infinite;pointer-events:none;z-index:0}body.light-theme .login-page:before{display:none}@keyframes pulse{0%,to{transform:scale(1) rotate(0deg);opacity:.5}50%{transform:scale(1.1) rotate(180deg);opacity:.8}}.login-container{position:relative;z-index:1;width:100%;max-width:440px;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-card{background:var(--card-bg-light);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:var(--shadow-light);padding:48px 40px;border:1px solid var(--border-light);transition:all .4s cubic-bezier(.4,0,.2,1)}body.dark-theme .login-card{background:var(--card-bg-dark);box-shadow:var(--shadow-dark);border-color:var(--border-dark)}.login-header{text-align:center;margin-bottom:40px}.logo-icon{width:64px;height:64px;margin:0 auto 20px;background:transparent;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(102,126,234,.3);animation:float 3s ease-in-out infinite;overflow:hidden}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.logo-icon img{width:100%;height:100%;object-fit:contain}.logo-icon svg{width:36px;height:36px;fill:#fff}.login-header h1{font-size:28px;font-weight:700;color:var(--text-primary-light);margin-bottom:8px;letter-spacing:-.5px}body.dark-theme .login-header h1{color:var(--text-primary-dark)}.login-header .subtitle{font-size:15px;color:var(--text-secondary-light);font-weight:400}body.dark-theme .login-header .subtitle{color:var(--text-secondary-dark)}.form-group{margin-bottom:24px}.form-label{font-size:14px;font-weight:500;color:var(--text-primary-light);margin-bottom:8px;display:block}body.dark-theme .form-label{color:var(--text-primary-dark)}.form-control{width:100%;height:52px;padding:14px 16px;font-size:15px;border-radius:12px;border:1.5px solid var(--border-light);background:hsla(0,0%,100%,.8);color:var(--text-primary-light);transition:all .2s ease;font-weight:400;font-family:inherit}body.dark-theme .form-control{background:hsla(0,0%,100%,.05);border-color:var(--border-dark);color:var(--text-primary-dark)}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px rgba(102,126,234,.1);background:hsla(0,0%,100%,.95)}body.dark-theme .form-control:focus{background:hsla(0,0%,100%,.1);border-color:#667eea;box-shadow:0 0 0 4px rgba(102,126,234,.2)}.form-control::placeholder{color:var(--text-primary-light);opacity:.7}body.dark-theme .form-control::placeholder{color:var(--text-primary-dark);opacity:.7}.form-control:disabled{opacity:.6;cursor:not-allowed}.btn-primary-custom{height:52px;background:var(--primary-gradient);border:none;border-radius:12px;font-size:16px;font-weight:600;color:#fff;width:100%;transition:all .3s ease;box-shadow:0 4px 12px rgba(102,126,234,.4);position:relative;overflow:hidden;cursor:pointer;font-family:inherit}.btn-primary-custom:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.btn-primary-custom:hover:before{left:100%}.btn-primary-custom:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.5)}.btn-primary-custom:active:not(:disabled){transform:translateY(0)}.btn-primary-custom:disabled{opacity:.6;cursor:not-allowed}.divider{display:flex;align-items:center;margin:32px 0;color:var(--text-secondary-light);font-size:14px}body.dark-theme .divider{color:var(--text-secondary-dark)}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--border-light)}body.dark-theme .divider:after,body.dark-theme .divider:before{background:var(--border-dark)}.divider span{padding:0 16px}.btn-google{height:52px;background:#fff;border:1.5px solid var(--border-light);border-radius:12px;font-size:15px;font-weight:500;color:#3c4043;width:100%;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 2px 8px rgba(0,0,0,.05);cursor:pointer;font-family:inherit}body.dark-theme .btn-google{background:hsla(0,0%,100%,.05);border-color:var(--border-dark);color:var(--text-primary-dark)}.btn-google:hover:not(:disabled){background:#f8f9fa;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1);border-color:#dadce0}body.dark-theme .btn-google:hover:not(:disabled){background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.2)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.btn-google svg{width:20px;height:20px}.alert-danger{background:rgba(244,67,54,.1);border:1.5px solid rgba(244,67,54,.3);border-radius:12px;padding:12px 16px;font-size:14px;color:#f44336;margin-bottom:24px}body.dark-theme .alert-danger{background:rgba(244,67,54,.15);border-color:rgba(244,67,54,.4)}.theme-toggle{position:absolute;top:24px;right:24px;z-index:10;width:48px;height:48px;border-radius:12px;background:hsla(0,0%,100%,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}body.dark-theme .theme-toggle{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.2)}.theme-toggle:hover{background:hsla(0,0%,100%,.3);transform:scale(1.05)}body.dark-theme .theme-toggle:hover{background:hsla(0,0%,100%,.15)}.theme-toggle svg{width:20px;height:20px;fill:#fff}.btn-guest{height:52px;background:transparent;border:1.5px solid var(--border-light);border-radius:12px;font-size:15px;font-weight:500;color:var(--text-primary-light);width:100%;transition:all .3s ease;display:flex;align-items:center;justify-content:center;margin-top:12px;text-decoration:none;cursor:pointer;font-family:inherit}body.dark-theme .btn-guest{border-color:var(--border-dark);color:var(--text-primary-dark)}.btn-guest:hover:not(:disabled){background:rgba(102,126,234,.05);transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.15);border-color:#667eea;text-decoration:none;color:var(--text-primary-light)}body.dark-theme .btn-guest:hover:not(:disabled){background:rgba(102,126,234,.1);border-color:#667eea;color:var(--text-primary-dark)}.btn-guest:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:32px;text-align:center;padding-top:24px;border-top:1px solid var(--border-light)}body.dark-theme .login-footer{border-top-color:var(--border-dark)}.login-footer p{font-size:14px;color:var(--text-secondary-light);margin:0}body.dark-theme .login-footer p{color:var(--text-secondary-dark)}.link-primary{color:#667eea;text-decoration:none;font-weight:500;transition:color .2s ease}.link-primary:hover{color:#5568d3;text-decoration:underline}body.dark-theme .link-primary{color:#8b9aff}body.dark-theme .link-primary:hover{color:#a5b3ff}@media (max-width:480px){.login-card{padding:32px 24px}.login-header h1{font-size:24px}}