*{box-sizing:border-box;margin:0;padding:0}.login-page-shell{background:#faf6ee;justify-content:center;align-items:center;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex;position:relative;overflow:hidden}.container{z-index:10;width:100%;max-width:450px;margin:20px;position:relative}.form-container{background:#fdfbf7;border:1px solid #dfd6c3;border-radius:20px;padding:40px;position:relative;overflow:hidden;box-shadow:0 20px 40px #2d231414}.form-container:before{content:"";background:linear-gradient(90deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4) 0 0/400% 400%;height:4px;animation:3s infinite gradientShift;position:absolute;top:0;left:0;right:0}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.form-section{animation:.6s fadeInUp;display:none}.form-section.active{display:block}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}h2{text-align:center;color:#1c1917;justify-content:center;align-items:center;gap:10px;margin-bottom:30px;font-size:28px;font-weight:700;display:flex}.input-group{margin-bottom:20px;position:relative}.input-group i{color:#57534e;z-index:2;font-size:16px;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.input-group input{background:#fff;border:1.5px solid #cfc3ac;border-radius:12px;outline:none;width:100%;padding:15px 15px 15px 50px;font-size:16px;transition:all .3s}.input-group input:focus{background:#fff;border-color:#64748b;transform:translateY(-2px);box-shadow:0 0 0 3px #64748b1f}.input-group i.toggle-password,.toggle-password{cursor:pointer;color:#78716c;transition:color .3s;position:absolute;left:auto;right:15px}.input-group i.toggle-password:hover,.toggle-password:hover{color:#1c1917}.options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:25px;display:flex}.remember-me{cursor:pointer;color:#666;-webkit-user-select:none;user-select:none;align-items:center;font-size:14px;display:flex}.remember-me input[type=checkbox]{display:none}.checkmark{border:2px solid #ddd;border-radius:4px;width:18px;height:18px;margin-right:8px;transition:all .3s;position:relative}.remember-me input[type=checkbox]:checked+.checkmark{background:#334155;border-color:#334155}.remember-me input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.forgot-password,.terms-link{color:#b45309;font-size:14px;font-weight:500;text-decoration:none;transition:color .3s}.forgot-password:hover,.terms-link:hover{color:#92400e;text-decoration:underline}.btn-primary{color:#fff;cursor:pointer;background:#334155;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:15px;font-size:16px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 15px #0f172a33}.btn-primary:hover{background:#1e293b;transform:translateY(-2px);box-shadow:0 6px 20px #0f172a4d}.btn-primary:active{transform:translateY(0)}.switch-form{text-align:center;border-top:1px solid #dfd6c3;margin-top:25px;padding-top:25px}.switch-form p{color:#57534e;font-size:14px}.switch-form a{color:#b45309;font-weight:600;text-decoration:none;transition:color .3s}.switch-form a:hover{color:#92400e;text-decoration:underline}.input-help{margin-top:5px;padding-left:40px}.input-help small{color:#6c757d;font-size:12px;line-height:1.4}.input-group:has(#userCode){position:relative}.input-group:has(#userCode) i.fas{color:#28a745}.input-group.valid #userCode{background-color:#28a7451a;border-color:#28a745}.input-group.valid i.fas{color:#28a745}.input-group.error #userCode{background-color:#dc35451a;border-color:#dc3545}.input-group.error i.fas{color:#dc3545}.validation-message{font-size:11px;line-height:1.2;position:absolute;bottom:-20px;left:40px}.validation-message.success{color:#28a745}.validation-message.error{color:#dc3545}.bg-shapes{pointer-events:none;z-index:1;width:100%;height:100%;position:fixed;top:0;left:0}.shape{opacity:.1;border-radius:50%;animation:6s ease-in-out infinite float;position:absolute}.shape-1{background:linear-gradient(135deg,#ff6b6b,#ee5a24);width:80px;height:80px;animation-delay:0s;top:20%;left:10%}.shape-2{background:linear-gradient(135deg,#4ecdc4,#44a08d);width:120px;height:120px;animation-delay:2s;top:60%;right:15%}.shape-3{background:linear-gradient(135deg,#45b7d1,#2980b9);width:60px;height:60px;animation-delay:4s;bottom:20%;left:20%}.shape-4{background:linear-gradient(135deg,#96ceb4,#6c5ce7);width:100px;height:100px;animation-delay:1s;top:10%;right:30%}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(180deg)}}.success-message{color:#fff;text-align:center;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:8px;margin-bottom:20px;padding:12px 20px;font-weight:500;animation:.3s slideDown}.error-message{color:#fff;text-align:center;background:linear-gradient(135deg,#f44336,#d32f2f);border-radius:8px;margin-bottom:20px;padding:12px 20px;font-weight:500;animation:.3s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.login-page{height:auto;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);overflow-y:auto}body:has(.login-page){height:auto;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);overflow-y:auto}.container{max-width:100%;margin:10px}.form-container{padding:28px 22px}h2{font-size:24px}.options{flex-direction:column;align-items:flex-start;gap:15px}.input-group input{padding:12px 12px 12px 45px;font-size:16px}.btn-primary{padding:12px;font-size:15px}}
