.login-container{display:flex;height:100vh;width:100%}.login-container .info-message{background-color:#e3f2fd;border:1px solid #2196f3;color:#1976d2;padding:12px;border-radius:4px;margin-bottom:16px;font-size:14px}.login-container .login-form-container{flex:2 1;display:flex;flex-direction:column;justify-content:center;padding:2rem;background-color:var(--background);color:var(--foreground);transition:background-color var(--transition-normal),color var(--transition-normal)}@media(min-width:768px){.login-container .login-form-container{max-width:40%;padding:3rem}}.login-container .login-form-container .login-form-content{max-width:400px;margin:0 auto;width:100%}.login-container .login-image-container{display:none;position:relative}@media(min-width:768px){.login-container .login-image-container{display:block;flex:3 1}}.login-container .login-image-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.2);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:1}.login-container .login-image-container .login-image{object-fit:cover;object-position:center;z-index:0}.login-container .logo-container{display:flex;align-items:center;margin-bottom:2rem}.login-container .logo-container .logo{width:40px;height:40px;margin-right:.75rem;display:flex;align-items:center;justify-content:center}.login-container .logo-container .logo img{max-width:100%;height:auto}.login-container .logo-container .logo-text{font-size:1.25rem}.login-container .login-title,.login-container .logo-container .logo-text{font-weight:600;color:var(--foreground);transition:color var(--transition-normal)}.login-container .login-title{font-size:1.5rem;margin-bottom:2rem}.login-container .form-group{margin-bottom:1rem}.login-container .form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;color:var(--foreground);transition:color var(--transition-normal)}.login-container .password-label-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.login-container .password-label-container .forgot-password{font-size:.75rem;color:var(--color-gray-500);text-decoration:none;transition:color var(--transition-fast)}.login-container .password-label-container .forgot-password:hover{color:var(--color-primary);text-decoration:underline}.login-container .input-container{position:relative}.login-container .input-container.error input{border-color:var(--color-error)}.login-container .input-container input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid var(--input-border);border-radius:var(--radius-md);font-size:.875rem;background-color:var(--input-bg);color:var(--foreground);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-normal),color var(--transition-normal)}.login-container .input-container input::placeholder{color:var(--input-placeholder)}.login-container .input-container input:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 2px rgba(0,64,128,.1)}.login-container .input-container input:disabled{opacity:.7;cursor:not-allowed}.login-container .input-container .input-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--color-gray-500);transition:color var(--transition-normal)}.login-container .field-error{color:var(--color-error);font-size:.75rem;margin-top:.25rem}.login-container .error-message{color:var(--color-error);font-size:.875rem;margin-bottom:1rem;padding:.75rem;background-color:rgba(239,68,68,.1);border-radius:var(--radius-md);text-align:center}.login-container .login-button{width:100%;padding:.75rem;background-color:var(--button-primary-bg);color:var(--button-primary-text);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);height:45px;display:flex;align-items:center;justify-content:center}.login-container .login-button:hover:not(:disabled){filter:brightness(1.1)}.login-container .login-button:disabled{opacity:.7;cursor:not-allowed}.login-container .login-button.loading{opacity:.9}.login-container .login-button .loading-spinner{display:flex;align-items:center;justify-content:center}.login-container .login-button .loading-spinner .spinner{animation:rotate 2s linear infinite;width:20px;height:20px;margin-right:8px}.login-container .login-button .loading-spinner .spinner .path{stroke:currentColor;stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(1turn)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.login-container .session-expired-message{background-color:#fff3cd;color:#856404;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid #ffeeba;border-radius:.25rem;text-align:center}.login-container .dark .session-expired-message{background-color:#332d1a;color:#ffe484;border-color:#665c33}.remember-me-container .remember-me-label{display:flex;align-items:center;font-size:.875rem;color:var(--foreground);transition:color var(--transition-normal)}.remember-me-container .remember-me-label span{margin-left:.5rem}.login-theme-toggle{position:absolute;top:var(--space-4);right:var(--space-4);z-index:10}