*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.6;color:#374151;background:linear-gradient(135deg,#f3f4f6 0,#e5e7eb 100%);min-height:100vh;margin:0;padding:0;display:flex;align-items:center;justify-content:center}.container{max-width:1200px;margin:0 auto;padding:0 1rem;width:100%;display:flex;align-items:center;justify-content:center;min-height:100vh}.auth-container{background:#fff;border-radius:12px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);display:grid;grid-template-columns:1fr 1fr;max-width:900px;width:100%;min-height:600px;overflow:hidden}.auth-brand{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);position:relative;display:flex;align-items:center;justify-content:center;padding:2rem;color:#fff;text-align:center;overflow:hidden}.brand-content{position:relative;z-index:10}.brand-content .brand-logo{width:120px;height:120px;object-fit:contain;margin-bottom:1.5rem;border-radius:12px;background:rgba(255,255,255,.1);padding:1rem;backdrop-filter:blur(10px)}@media (max-width:768px){.auth-container{grid-template-columns:1fr;max-width:400px}.auth-brand{padding:1.5rem;min-height:200px}.brand-content .brand-logo{width:80px;height:80px;margin-bottom:1rem}}.brand-content .brand-icon{margin-bottom:1.5rem}.brand-content .brand-icon i{font-size:4rem;opacity:.9}.brand-content .brand-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}@media (max-width:768px){.brand-content .brand-icon i{font-size:3rem}.brand-content .brand-title{font-size:1.5rem}}.brand-content .brand-subtitle{font-size:1rem;opacity:.9;font-weight:300}.brand-decoration{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.brand-decoration .decoration-circle{position:absolute;border-radius:50%;background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}.brand-decoration .decoration-circle.decoration-circle-1{width:100px;height:100px;top:10%;right:10%;animation:6s ease-in-out infinite float}.brand-decoration .decoration-circle.decoration-circle-2{width:60px;height:60px;bottom:20%;left:15%;animation:4s ease-in-out infinite reverse float}.brand-decoration .decoration-circle.decoration-circle-3{width:80px;height:80px;top:60%;right:20%;animation:5s ease-in-out infinite float}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}.auth-form-panel{padding:2.5rem;display:flex;align-items:center;justify-content:center;background:#fff}@media (max-width:768px){.brand-content .brand-subtitle{font-size:.875rem}.auth-form-panel{padding:2rem}}@media (max-width:480px){.auth-form-panel{padding:1.5rem}}.form-wrapper{width:100%;max-width:380px}.form-header{text-align:center;margin-bottom:2rem}.form-header .form-title{font-size:1.75rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}@media (max-width:768px){.form-header .form-title{font-size:1.5rem}}.form-header .form-subtitle{color:#6b7280;font-size:.875rem}.form-group{margin-bottom:1.5rem}.form-group.has-error .form-input{border-color:#ef4444;background-color:#fef2f2}.form-group.has-error .form-input:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem;transition:.3s cubic-bezier(.4, 0, .2, 1)}.form-input{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transition:.3s cubic-bezier(.4, 0, .2, 1);background:#f9fafb;color:#1f2937}.form-input:focus{outline:0;border-color:#4f46e5;background:#fff;box-shadow:0 0 0 3px rgba(79,70,229,.1)}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.input-with-icon .form-input{padding-left:2.75rem}.input-with-icon .password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:0 0;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:4px;transition:.3s cubic-bezier(.4, 0, .2, 1)}.input-with-icon .password-toggle:hover{color:#4f46e5;background:rgba(79,70,229,.1)}.checkbox-group{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.checkbox-group input[type=checkbox]{width:1rem;height:1rem;margin-right:.5rem;accent-color:#4f46e5}.checkbox-group label{font-size:.875rem;color:#6b7280;cursor:pointer;user-select:none;display:flex;align-items:center;gap:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:12px;font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;transition:.3s cubic-bezier(.4, 0, .2, 1)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.btn-primary{background:#4f46e5;color:#fff}.btn.btn-primary:hover:not(:disabled){background:#4338ca;transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.btn.btn-full{width:100%;margin-bottom:1.5rem}.form-footer{text-align:center}.form-footer p{margin-bottom:.75rem}.form-footer p:last-child{margin-bottom:0}.form-footer .form-link{color:#4f46e5;text-decoration:none;font-size:.875rem;font-weight:500;transition:.3s cubic-bezier(.4, 0, .2, 1)}.form-footer .form-link:hover{color:#4338ca;text-decoration:underline}.form-footer .form-link i{margin-right:.25rem}.powered-by{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #f3f4f6;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.75rem;color:#9ca3af}.powered-by .powered-text{font-weight:400}.powered-by .powered-link{display:flex;align-items:center;justify-content:center;gap:.375rem;text-decoration:none;color:#6b7280;transition:.3s cubic-bezier(.4, 0, .2, 1);border-radius:.375rem;padding:.25rem .5rem}.powered-by .powered-link:hover{color:#4f46e5;background-color:#f8fafc;text-decoration:none}.powered-by .powered-link .powered-logo{width:24px;height:24px;object-fit:contain;filter:grayscale(.2);transition:.3s cubic-bezier(.4, 0, .2, 1)}.powered-by .powered-link:hover .powered-logo{filter:grayscale(0);transform:scale(1.05)}.alert{padding:1rem;border-radius:12px;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;line-height:1.5}.alert i{flex-shrink:0;margin-top:.125rem}.alert ul{margin:0;padding-left:1.25rem}.alert ul li{margin-bottom:.25rem}.alert ul li:last-child{margin-bottom:0}.alert.alert-danger{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert.alert-danger i{color:#ef4444}.alert.alert-success{background-color:#f0f9ff;border:1px solid #a7f3d0;color:#059669}.alert.alert-success i{color:#10b981}.alert.alert-warning{background-color:#fffbeb;border:1px solid #fed7aa;color:#d97706}.alert.alert-warning i{color:#f59e0b}.alert.alert-info{background-color:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}.alert.alert-info i{color:#4f46e5}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1100;transition:opacity .3s}.loading-overlay.hidden{display:none}.loading-overlay .loading-spinner{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem}.loading-overlay .loading-spinner .spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-left-color:#fff;border-radius:50%;animation:1s linear infinite spin}.loading-overlay .loading-spinner .loading-text{color:#fff;font-size:.875rem}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:1050;max-width:400px}.toast{background:#fff;border-radius:12px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);margin-bottom:.5rem;border-left:4px solid;overflow:hidden;transform:translateX(100%);transition:transform .3s}.toast.animate-slide-in{transform:translateX(0)}.toast.animate-slide-out{transform:translateX(100%)}.toast .toast-content{padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.toast .toast-content .toast-message{flex:1;font-size:.875rem;line-height:1.4}.toast .toast-content .toast-close{background:0 0;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:4px;transition:.3s cubic-bezier(.4, 0, .2, 1)}.toast .toast-content .toast-close:hover{background:#f3f4f6;color:#374151}.toast.toast-success{border-left-color:#10b981}.toast.toast-error{border-left-color:#ef4444}.toast.toast-warning{border-left-color:#f59e0b}.toast.toast-info{border-left-color:#4f46e5}@media (max-width:768px){.auth-container{margin:1rem}.form-input{font-size:16px}}@media (max-width:480px){.toast-container{left:1rem;right:1rem;max-width:none}.container{padding:.5rem}.auth-brand .brand-title{font-size:1.25rem}.auth-brand .brand-subtitle{font-size:.8rem}.powered-by{flex-direction:column;gap:.25rem;font-size:.7rem}}