.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.auth-card{background:white;padding:2.5rem;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,0.1);width:100%;max-width:400px}.auth-card h1{margin:0 0 0.5rem 0;font-size:1.75rem;font-weight:700;text-align:center}.auth-subtitle{text-align:center;color:#666;margin-bottom:2rem}.auth-tabs{display:flex;background:#f8f9fa;border-radius:8px;padding:4px;margin-bottom:2rem}.tab-btn{flex:1;padding:0.75rem 1rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-weight:500;transition:all 0.2s}.tab-btn.active{background:white;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.auth-form{display:none}.auth-form.active{display:block}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:0.5rem;font-weight:500;color:#333}.form-group input,.form-group select{width:100%;padding:0.75rem;border:2px solid #e9ecef;border-radius:6px;font-size:1rem;transition:border-color 0.2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#1f6feb}.btn.full-width{width:100%}.auth-messages{margin-bottom:1.5rem}.message{padding:0.75rem 1rem;border-radius:6px;margin-bottom:1rem}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.verification-banner{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:1rem;margin-bottom:1.5rem}.banner-content{display:flex;align-items:flex-start;gap:0.75rem}.banner-icon{font-size:1.25rem;flex-shrink:0}.banner-text{flex:1}.banner-text strong{display:block;margin-bottom:0.25rem}.banner-text p{margin:0;font-size:0.875rem;color:#856404}.auth-footer{margin-top:2rem;text-align:center;font-size:0.875rem;color:#666}.auth-footer a{color:#1f6feb;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.hidden{display:none !important}.btn-loading{display:none}.btn:disabled{opacity:0.6;cursor:not-allowed}.btn-loading:not(.hidden){display:inline-block}