.auth-container{max-width:500px;margin:var(--space-4xl) auto;padding:var(--space-md)}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-xl);box-shadow:0 4px 6px #0000001a}.auth-card h2{margin-top:0;margin-bottom:var(--space-sm);font-size:var(--font-size-2xl);color:var(--color-text-primary);transition:all .3s ease}.tab-description{color:var(--color-text-secondary);margin-bottom:var(--space-xl);line-height:1.6}.auth-section{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-description{color:var(--color-text-secondary);margin-bottom:var(--space-md);line-height:1.5;font-size:var(--font-size-sm)}.auth-tabs{display:flex;gap:0;margin-bottom:var(--space-xl);border-bottom:2px solid var(--color-border)}.tab-button{flex:1;padding:var(--space-md) var(--space-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:-2px}.tab-button:hover{color:var(--color-text-primary);background:#ffffff0d}.tab-button.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tab-button:focus{outline:2px solid var(--color-focus);outline-offset:2px}.tab-panel{display:none}.tab-panel.active{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tab-panel h2{margin-top:0;margin-bottom:var(--space-sm);font-size:var(--font-size-2xl);color:var(--color-text-primary)}.auth-form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-weight:500;color:var(--color-text-primary);font-size:var(--font-size-sm)}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{padding:var(--space-sm) var(--space-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary);font-size:var(--font-size-base);transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 3px #4a90e21a}.form-group input::placeholder{color:var(--color-text-tertiary)}.form-group input:invalid:not(:placeholder-shown){border-color:var(--color-error)}.checkbox-group{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent)}.checkbox-label span{user-select:none}.form-row{display:flex;justify-content:space-between;align-items:center;margin:var(--space-md) 0}.forgot-link{font-size:var(--font-size-sm);color:var(--color-accent);text-decoration:none;transition:color .2s ease}.forgot-link:hover{color:var(--color-accent-hover);text-decoration:underline}.password-strength{margin-top:var(--space-xs)}.strength-bar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-bottom:var(--space-xs)}.strength-fill{height:100%;transition:all .3s ease;border-radius:2px}.strength-label{font-size:var(--font-size-xs);font-weight:500;text-align:right}.terms-text{font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:1.5}.terms-text a{color:var(--color-accent);text-decoration:none}.terms-text a:hover{text-decoration:underline}.btn-block{width:100%;padding:var(--space-md);font-size:var(--font-size-base);font-weight:600}.btn-primary{background:var(--color-accent);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 8px #e945604d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary:focus{outline:2px solid var(--color-focus);outline-offset:2px}.tier-info{margin-top:var(--space-xl);padding:var(--space-lg);background:#4a90e20d;border:1px solid rgba(74,144,226,.2);border-radius:4px}.tier-info h3{margin-top:0;margin-bottom:var(--space-md);font-size:var(--font-size-lg);color:var(--color-text-primary)}.tier-info ul{margin:0;padding-left:var(--space-lg);color:var(--color-text-secondary);line-height:1.8}.tier-info li{margin-bottom:var(--space-xs)}.tier-info p{margin-top:var(--space-md);margin-bottom:0;font-size:var(--font-size-sm)}.tier-info a{color:var(--color-accent);text-decoration:none;font-weight:500}.tier-info a:hover{text-decoration:underline}.auth-footer{margin-top:var(--space-xl);text-align:center;padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px}.auth-footer p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.auth-footer a{color:var(--color-accent);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.error-message,.success-message{font-size:.875rem;margin-top:.5rem;padding:.5rem;border-radius:4px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-message{color:var(--color-error);background:#e945601a;border-left:3px solid var(--color-error)}.success-message{color:var(--color-success);background:#2ecc711a;border-left:3px solid var(--color-success)}@media (max-width: 600px){.auth-container{margin:var(--space-lg) auto}.auth-card{padding:var(--space-lg)}.tab-button{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.form-row{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}}@media (prefers-contrast: high){.auth-card,.form-group input{border-width:2px}.btn-primary{border:2px solid var(--color-accent)}}.social-login-section{margin-top:var(--space-2xl);padding-top:var(--space-xl)}.divider{display:flex;align-items:center;text-align:center;margin-bottom:var(--space-xl);color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border)}.divider span{padding:0 var(--space-md)}.social-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.btn-social{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-social:hover{border-color:var(--color-accent);background:var(--color-background);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.btn-social:active{transform:translateY(0)}.btn-social:focus{outline:2px solid var(--color-focus);outline-offset:2px}.btn-social svg{flex-shrink:0}.btn-google:hover{border-color:#4285f4;background:#4285f40d}.btn-github:hover{border-color:#333;background:#0000000d}.btn-facebook:hover{border-color:#1877f2;background:#1877f20d}.btn-apple:hover{border-color:#000;background:#0000000d}@media (prefers-reduced-motion: reduce){.tab-panel,.error-message,.success-message,.strength-fill,.btn-primary,.btn-social{animation:none;transition:none}.btn-primary:hover,.btn-social:hover{transform:none}}@media (max-width: 600px){.social-buttons{grid-template-columns:1fr}}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.notification{position:fixed;top:20px;right:20px;padding:1rem 1.5rem;border-radius:4px;box-shadow:0 4px 12px #0003;z-index:10000;animation:slideIn .3s ease;font-size:var(--font-size-sm);font-weight:500}.notification-success{background:var(--color-success, #2ecc71);color:#fff}.notification-error{background:var(--color-error, #e94560);color:#fff}.notification-info{background:var(--color-info, #3498db);color:#fff}#timeout-countdown{font-size:1.25rem;font-weight:700;color:var(--color-error, #e94560);font-family:var(--font-mono, "Courier New", monospace)}.verification-banner{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:var(--space-md) var(--space-lg);box-shadow:0 2px 8px #00000026;z-index:9999;display:none}.verification-banner-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:var(--space-md)}.verification-banner-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff3;border-radius:50%}.verification-banner-icon svg{opacity:.9}.verification-banner-message{flex:1;min-width:0}.verification-banner-message strong{display:block;font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--space-xs)}.verification-banner-message p{margin:0;font-size:var(--font-size-sm);opacity:.95;line-height:1.5}.verification-email{font-weight:600;text-decoration:underline;text-decoration-style:dotted}.verification-banner-actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.btn-resend{padding:var(--space-sm) var(--space-lg);background:#fff;color:#667eea;border:none;border-radius:4px;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-resend:hover:not(:disabled){background:#ffffffe6;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.btn-resend:active:not(:disabled){transform:translateY(0)}.btn-resend:disabled{opacity:.7;cursor:not-allowed}.btn-resend:focus{outline:2px solid white;outline-offset:2px}.btn-dismiss{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-dismiss:hover{background:#fff3}.btn-dismiss:focus{outline:2px solid white;outline-offset:2px}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@media (max-width: 768px){.verification-banner{padding:var(--space-sm) var(--space-md)}.verification-banner-content{flex-wrap:wrap;gap:var(--space-sm)}.verification-banner-icon{width:32px;height:32px}.verification-banner-icon svg{width:16px;height:16px}.verification-banner-message{flex:1 1 100%;order:2}.verification-banner-message strong{font-size:var(--font-size-sm)}.verification-banner-message p{font-size:var(--font-size-xs)}.verification-banner-actions{flex:1 1 100%;order:3;justify-content:flex-end}.btn-resend{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs)}.btn-dismiss{width:28px;height:28px}}@media (prefers-reduced-motion: reduce){.verification-banner{animation:none}.btn-resend:hover{transform:none}}@media (max-width: 768px){.btn-block,.btn-primary,.btn-secondary,.tab-button{min-height:44px;padding:var(--space-sm) var(--space-lg)}.btn-social{min-height:44px;padding:var(--space-sm) var(--space-md)}.checkbox-label{min-height:44px;display:flex;align-items:center;padding:var(--space-xs) 0}.checkbox-label input[type=checkbox]{width:24px;height:24px;margin-right:var(--space-sm)}.forgot-link,.auth-footer a,.tier-info a,.terms-text a{display:inline-block;min-height:44px;line-height:44px;padding:0 var(--space-xs)}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{min-height:44px;padding:var(--space-sm) var(--space-md)}.btn-resend{min-height:44px;min-width:44px;padding:var(--space-sm) var(--space-lg)}.btn-dismiss{min-width:44px;min-height:44px}#timeout-extend-btn,#timeout-logout-btn{min-height:44px;padding:var(--space-sm) var(--space-lg)}#resend-verification-btn,#dismiss-verification-btn{min-height:44px;min-width:44px}}@media (min-width: 769px) and (max-width: 1024px){.btn-block,.btn-primary,.btn-secondary,.btn-social,.tab-button{min-height:48px}.checkbox-label{min-height:40px}.checkbox-label input[type=checkbox]{width:20px;height:20px}}
