body{justify-content:center;align-items:center;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.page-welcome{color:#e2e8f0;background:#0f172a}.page-welcome .container{text-align:center;padding:2rem}.page-welcome h1{margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.page-welcome p{color:#94a3b8;font-size:1.125rem}.page-login{color:#0f172a;background:#f8fafc;padding:1rem;position:relative;overflow:hidden}.page-login.dark{color:#f1f5f9;background:#0f172a}.page-login .theme-toggle{z-index:50;color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:all .2s;display:inline-flex;position:fixed;top:1rem;right:1rem;box-shadow:0 1px 3px #0000001a}.page-login .theme-toggle:hover{color:#0f172a;background:#f1f5f9}.page-login.dark .theme-toggle{color:#94a3b8;background:#1e293b;border-color:#334155}.page-login.dark .theme-toggle:hover{color:#f1f5f9;background:#334155}.page-login .theme-toggle svg{width:1.25rem;height:1.25rem}.page-login .bg-circle-top{filter:blur(128px);pointer-events:none;background:#6366f133;border-radius:50%;width:500px;height:500px;position:absolute;top:0;right:0;transform:translate(33%,-33%)}.page-login .bg-circle-bottom{filter:blur(128px);pointer-events:none;background:#6366f11a;border-radius:50%;width:500px;height:500px;position:absolute;bottom:0;left:0;transform:translate(-33%,33%)}.page-login .card-wrapper{z-index:10;opacity:0;width:100%;max-width:64rem;position:relative}.page-login .card{background:#fff;border:1px solid #e2e8f0;border-radius:2.5rem;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.page-login.dark .card{background:#1e293b;border-color:#334155}@media (width>=768px){.page-login .card{flex-direction:row}}.page-login .panel-left{opacity:0;border-right:1px solid #e2e8f0;flex-direction:column;flex:1;justify-content:space-between;padding:3rem;display:none;position:relative;overflow:hidden}.page-login.dark .panel-left{border-right-color:#334155}@media (width>=768px){.page-login .panel-left{display:flex}}.page-login .panel-right{opacity:0;flex-direction:column;flex:1;justify-content:center;padding:2rem;display:flex;position:relative}@media (width>=768px){.page-login .panel-right{padding:4rem}}.page-login .logo{align-items:center;gap:.625rem;width:fit-content;text-decoration:none;display:inline-flex}.page-login .logo img{object-fit:contain;width:2.25rem;height:2.25rem}.page-login .logo span{color:#0f172a;font-size:1.125rem;font-weight:700}.page-login.dark .logo span{color:#f8fafc}.page-login .panel-title{color:#0f172a;font-size:1.5rem;font-weight:700;line-height:1.3}.page-login.dark .panel-title{color:#f8fafc}.page-login .panel-desc{color:#64748b;margin-top:.5rem;font-size:.875rem;line-height:1.6}.page-login.dark .panel-desc{color:#94a3b8}.page-login .feature-list{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.page-login .feature-item{color:#64748b;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.page-login.dark .feature-item{color:#94a3b8}.page-login .feature-icon{color:#6366f1;background:#6366f11a;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.75rem;display:flex}.page-login .mobile-logo{justify-content:center;align-items:center;gap:.625rem;margin-bottom:1rem;text-decoration:none;display:flex}.page-login .mobile-logo img{object-fit:contain;width:2rem;height:2rem}.page-login .mobile-logo span{color:#0f172a;font-size:1.125rem;font-weight:700}.page-login.dark .mobile-logo span{color:#f8fafc}@media (width>=768px){.page-login .mobile-logo{display:none}}.page-login .form-title{color:#0f172a;font-size:1.25rem;font-weight:700}.page-login.dark .form-title{color:#f8fafc}.page-login .form-subtitle{color:#64748b;margin-top:.25rem;margin-bottom:1.5rem;font-size:.875rem}.page-login.dark .form-subtitle{color:#94a3b8}.page-login .error-banner{color:#ef4444;background:#ef44441a;border:1px solid #ef444433;border-radius:.75rem;align-items:center;gap:.75rem;margin-bottom:2rem;padding:1rem;font-size:.875rem;font-weight:500;display:none}.page-login .error-banner.visible{display:flex}.page-login .error-banner svg{flex-shrink:0;width:1.25rem;height:1.25rem}.page-login .form-group{margin-bottom:1.25rem}.page-login .form-label{color:#0f172a;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.page-login.dark .form-label{color:#f1f5f9}.page-login .input-wrapper{position:relative}.page-login .input-icon{color:#94a3b8;pointer-events:none;display:flex;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.page-login .input-icon svg{width:1.25rem;height:1.25rem}.page-login .form-input{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;outline:none;width:100%;padding:.75rem 1rem .75rem 2.75rem;font-size:.875rem;transition:all .2s}.page-login.dark .form-input{color:#f1f5f9;background:#0f172a;border-color:#334155}.page-login .form-input::placeholder{color:#94a3b8}.page-login .form-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.page-login .form-input:disabled{opacity:.6;cursor:not-allowed}.page-login .password-toggle{cursor:pointer;color:#94a3b8;background:0 0;border:none;padding:.25rem;transition:color .2s;display:flex;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.page-login .password-toggle:hover{color:#0f172a}.page-login.dark .password-toggle:hover{color:#f1f5f9}.page-login .password-toggle svg{width:1rem;height:1rem}.page-login .submit-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1rem;padding:.875rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.page-login .submit-btn:hover{background:#4f46e5}.page-login .submit-btn:disabled{opacity:.7;cursor:not-allowed}.page-login .submit-btn .spinner{width:1rem;height:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}.page-login .animate-card{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards scaleIn}.page-login .animate-left{animation:.5s .15s forwards fadeIn}.page-login .animate-right{animation:.5s .25s forwards slideUp}.page-login .animate-field{animation:.4s both slideUp}.page-login .animate-field:first-child{animation-delay:.3s}.page-login .animate-field:nth-child(2){animation-delay:.38s}.page-login .animate-field:nth-child(3){animation-delay:.46s}
