.login-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:var(--spacing-md) var(--spacing-md);background:linear-gradient(to bottom right,var(--color-blue-lighter),#3b82f6,var(--color-blue-600));background-image:url(/images/bg-login.svg),linear-gradient(to bottom right,var(--color-blue-lighter),#3b82f6,var(--color-blue-600));background-size:cover;background-repeat:no-repeat;background-position:100%;background-attachment:fixed;position:relative;overflow:hidden;transition:padding .3s ease}@media (min-width:480px){.login-container{padding:var(--spacing-lg) var(--spacing-lg)}}@media (min-width:768px){.login-container{padding:var(--spacing-xl) 2.5rem}}@media (min-width:1024px){.login-container{padding:var(--spacing-xl) 2.5rem}}.language-selector{position:absolute;top:1rem;right:1rem;z-index:20;background-color:var(--color-white-diffused);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-300);padding:var(--spacing-sm);display:flex;align-items:center}.login-form-container{position:relative;z-index:10;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;width:calc(100% - 2rem);max-width:380px;gap:1rem;background-color:var(--color-white);backdrop-filter:none;padding:1.5rem 1.25rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);border:none;animation:translate-login .5s ease-out;transition:all .3s ease}@media (min-width:640px){.login-form-container{width:100%;max-width:400px;padding:2rem;gap:1.25rem}}.logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem;animation:scaleIn .6s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.by-text{display:flex;justify-content:center;text-align:center;font-size:.875rem;color:var(--color-gray-600);margin-bottom:.5rem;animation:fadeIn .6s ease-out .3s both}.login-form{width:100%;display:flex;flex-direction:column;gap:1rem;animation:fadeIn .6s ease-out .2s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.global-error{background-color:var(--color-red-50);border:2px solid var(--color-red-200);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);color:var(--color-red-700);font-size:clamp(12px,2vw,14px);line-height:1.4;margin-bottom:var(--spacing-sm);text-align:center;animation:slideDown .3s ease-out;word-break:keep-all;white-space:normal}.error-text{font-weight:var(--font-weight-medium);display:inline}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fieldset-container{width:100%}.fieldset-legend{color:var(--color-primary);font-size:.875rem;line-height:1.25rem;font-weight:var(--font-weight-semibold);margin-bottom:.375rem}.input-field{width:100%;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:.625rem .75rem;background-color:var(--color-white);color:var(--color-black);transition:all .2s ease;box-shadow:var(--shadow-input-inset);font-size:.9375rem}.input-field:focus,.input-field:hover{border-color:var(--color-accent-teal)}.input-field:focus{outline:none;box-shadow:0 0 0 2px rgba(0,123,171,.12)}.password-input{width:100%;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:.625rem 2.5rem .625rem .75rem;background-color:var(--color-white);color:var(--color-black);transition:all .2s ease;box-shadow:var(--shadow-input-inset);font-size:.9375rem}.password-input:focus,.password-input:hover{border-color:var(--color-accent-teal)}.password-input:focus{outline:none;box-shadow:0 0 0 2px rgba(0,123,171,.12)}.password-input::-webkit-reveal-button{display:none}.password-input::-ms-reveal{display:none}.password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);color:var(--color-gray-500);padding:.25rem;background:transparent;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;z-index:1;outline:none;font-size:.875rem;width:1.5rem;height:1.5rem;border:none}.password-toggle:focus,.password-toggle:hover{color:var(--color-accent-teal);background-color:rgba(0,123,171,.1)}.password-toggle:focus{outline:none;box-shadow:0 0 0 2px rgba(0,123,171,.2)}.field-error{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-red-50);border:2px solid var(--color-red-200);border-radius:var(--radius-md);color:var(--color-red-700);font-size:clamp(11px,1.8vw,13px);line-height:1.25rem;animation:slideDown .3s ease-out}.login-button{width:100%;margin-top:.5rem;background:linear-gradient(135deg,var(--color-primary),var(--color-light-primary));color:var(--color-white);border:none;border-radius:var(--radius-lg);padding:.75rem 1rem;font-size:.9375rem;line-height:1.25rem;font-weight:var(--font-weight-semibold);box-shadow:0 4px 12px rgba(0,123,171,.25);transition:all .2s ease;cursor:pointer}.login-button:hover{box-shadow:0 6px 20px rgba(0,123,171,.35);transform:translateY(-1px)}.login-button:active{transform:translateY(0)}.login-button:focus{outline:2px solid var(--color-white);outline-offset:2px}.login-button.loading{opacity:.7;cursor:not-allowed}.footer{position:absolute;bottom:var(--spacing-md);left:50%;transform:translateX(-50%);color:var(--color-white);font-size:var(--font-sm);line-height:1.25rem;opacity:.8}@keyframes translate-login{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}