.skip-link{position:absolute;top:-40px;left:0;background:var(--ws-white);color:var(--ws-gray-13);padding:var(--ws-space-2) var(--ws-space-4);text-decoration:none;border-radius:0 0 .25rem;z-index:100;font-weight:var(--ws-font-semibold)}.skip-link:focus{top:0;outline:3px solid var(--ws-color-interactive);outline-offset:2px}.logo-link{text-decoration:none;color:inherit;display:block}.logo-section{text-align:center;margin-bottom:var(--ws-space-10)}.logo-icon{width:80px;height:80px;margin:0 auto var(--ws-space-6)}.logo-icon .logo-image{width:100%;height:100%;object-fit:contain}.logo-section h1{color:var(--ws-color-dark);font-weight:var(--ws-font-bold);font-size:var(--ws-text-3xl);margin-bottom:var(--ws-space-2)}.logo-section p{color:var(--ws-color-text-tertiary);font-size:var(--ws-text-base);margin:0}.auth-greeting{text-align:center;color:var(--ws-color-text-tertiary);font-size:.9375rem;margin:-1rem 0 var(--ws-space-6) 0}.greeting-primary,.greeting-secondary{display:block}.greeting-secondary{margin-top:var(--ws-space-2)}.auth-badge{display:inline-block;background:var(--ws-color-bg-subtle);color:var(--ws-color-dark);padding:var(--ws-space-1) var(--ws-space-3);border-radius:var(--ws-radius-sm);font-weight:var(--ws-font-semibold)}.auth-container{width:100%;max-width:480px;animation:authFadeInUp .6s ease}@keyframes authFadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-card{background:var(--ws-white);backdrop-filter:blur(20px);border-radius:var(--ws-radius-2xl);padding:var(--ws-space-12) var(--ws-space-10);box-shadow:0 20px 60px var(--ws-overlay-dark-30);border:var(--ws-border-width) solid var(--ws-overlay-white-30)}*{margin:0;padding:0;box-sizing:border-box}body{background:linear-gradient(135deg,var(--ws-color-dark) 0%,var(--ws-color-dark-light) 100%);min-height:100vh;font-family:var(--ws-font-family);display:flex;align-items:center;justify-content:center;padding:var(--ws-space-8) var(--ws-space-4)}.form-group{margin-bottom:var(--ws-space-6)}.form-label{display:block;color:var(--ws-color-dark);font-weight:var(--ws-font-semibold);font-size:.9rem;margin-bottom:var(--ws-space-2)}.form-control{width:100%;padding:.875rem var(--ws-space-4);border:var(--ws-border-width-md) solid var(--ws-color-border-subtle);border-radius:12px;font-size:var(--ws-text-base);font-family:inherit;transition:all var(--ws-transition-base);background:var(--ws-white);color:var(--ws-color-text-primary)}.form-control:focus{outline:none;border-color:var(--ws-color-interactive);box-shadow:0 0 0 4px var(--ws-overlay-accent)}.form-control::placeholder{color:var(--ws-color-text-tertiary);opacity:1}.form-control.is-invalid{border-color:var(--ws-color-error)}.form-control.is-valid{border-color:var(--ws-color-success)}.alert{padding:var(--ws-space-4);border-radius:12px;margin-bottom:var(--ws-space-6);font-size:var(--ws-text-sm)}.alert-danger{background:var(--ws-color-error-bg);color:var(--ws-color-error-text);border-left:var(--ws-border-width-lg) solid var(--ws-color-error)}.alert-success{background:var(--ws-color-success-bg);color:var(--ws-color-success-text);border-left:var(--ws-border-width-lg) solid var(--ws-color-success)}.text-danger{color:var(--ws-color-error);font-size:var(--ws-text-sm);margin-top:var(--ws-space-1);display:block}.invalid-feedback{color:var(--ws-color-error);font-size:.8125rem;margin-top:var(--ws-space-1);display:block}.valid-feedback{display:none}.password-field{position:relative}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--ws-color-text-tertiary);padding:var(--ws-space-2);border-radius:.5rem;transition:all .2s ease;background:none;border:none}.password-toggle:hover{background-color:var(--ws-overlay-dark-10);color:var(--ws-color-dark)}.password-toggle svg{pointer-events:none;width:20px;height:20px}.divider{display:flex;align-items:center;text-align:center;margin:var(--ws-space-6) 0;color:var(--ws-color-text-tertiary);font-size:var(--ws-text-sm)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--ws-color-border-subtle)}.divider span{padding:0 var(--ws-space-4)}.btn-primary-auth{position:relative;width:100%;background:linear-gradient(135deg,var(--ws-color-interactive) 0%,var(--ws-primary-3) 100%);border:none;color:var(--ws-color-dark);font-weight:var(--ws-font-bold);font-size:var(--ws-text-base);padding:var(--ws-space-4);border-radius:12px;cursor:pointer;transition:all var(--ws-transition-base);margin-top:var(--ws-space-4)}.btn-primary-auth:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px var(--ws-shadow-primary-hover)}.btn-primary-auth:disabled{opacity:.6;cursor:not-allowed}.btn-primary-auth.loading .btn-text{display:none}.btn-primary-auth.loading .spinner{display:block}.spinner{display:none;width:20px;height:20px;border:3px solid var(--ws-overlay-dark-30);border-top-color:var(--ws-color-dark);border-radius:var(--ws-radius-full);animation:authSpin .8s linear infinite;margin:0 auto}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-link{text-align:center;color:var(--ws-color-text-tertiary);font-size:.9rem}.auth-link a{color:var(--ws-color-dark);font-weight:var(--ws-font-semibold);text-decoration:none;transition:color .3s ease}.auth-link a:hover{color:var(--ws-color-interactive)}@media(max-width:576px){body{padding:var(--ws-space-4) var(--ws-space-2)}.logo-icon{width:64px;height:64px}.logo-section h1{font-size:var(--ws-text-2xl)}.auth-card{padding:var(--ws-space-8) var(--ws-space-6)}}
